Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jun 2012 17:09:05 +0400
From:      iZEN <izen@mail.ru>
To:        x11@FreeBSD.org
Subject:   Stop in /usr/ports/x11-servers/xorg-server
Message-ID:  <4FD890F1.8090803@mail.ru>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------010607050900080705070502
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

% cd /usr/ports/x11-servers/xorg-server/ && make
By default, the X Server installs as a set-user-id root binary. When run by
a normal user, it checks arguments and environment as done in the 
x11/wrapper
port before handling them normally.  If you are concerned about the security
of this, but still want to run an X Server (for example using xdm/kdm/gdm,
which will still run the server as root), you can cancel the build and set
xorg-server_UNSET=SUID in /etc/make.conf.
===>  License check disabled, port has not defined LICENSE
===>  Found saved configuration for xorg-server-1.7.7_5,1
===>  Extracting for xorg-server-1.7.7_5,1
=> SHA256 Checksum OK for xorg/xserver/xorg-server-1.7.7.tar.bz2.
===>   xorg-server-1.7.7_5,1 depends on file: /usr/local/bin/perl5.12.4 
- found
===>  Patching for xorg-server-1.7.7_5,1
===>   xorg-server-1.7.7_5,1 depends on file: /usr/local/bin/perl5.12.4 
- found
===>  Applying extra patch 
/usr/ports/x11-servers/xorg-server/files/extra-dix_events.c
===>  Applying extra patch 
/usr/ports/x11-servers/xorg-server/files/extra-include_eventstr.h
===>  Applying extra patch 
/usr/ports/x11-servers/xorg-server/files/extra-patch-os-utils.c
===>  Applying FreeBSD patches for xorg-server-1.7.7_5,1
===>   xorg-server-1.7.7_5,1 depends on executable: gmake - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xf86driproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/glproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/randrproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/renderproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/fixesproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/damageproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/dri2proto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xcmiscproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xextproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xtrans.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xf86miscproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xf86vidmodeproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xf86bigfontproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/scrnsaverproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/bigreqsproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/resourceproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/fontsproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/inputproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xf86dgaproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/videoproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/compositeproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/trapproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/recordproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xineramaproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/evieproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/dri.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xdmcp.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/x11.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xkbfile.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xxf86misc.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xxf86vm.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xaw7.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xmu.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xt.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xpm.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xext.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xproto.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xinerama.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xfont.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/fontenc.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/xkbui.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/pixman-1.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/pciaccess.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: 
/usr/local/libdata/pkgconfig/pciaccess.pc - found
===>   xorg-server-1.7.7_5,1 depends on file: /usr/local/bin/perl5.12.4 
- found
===>   xorg-server-1.7.7_5,1 depends on shared library: drm - found
===>   xorg-server-1.7.7_5,1 depends on shared library: GL.1 - found
===>  Configuring for xorg-server-1.7.7_5,1
configure: WARNING: unrecognized options: --without-xmlto, 
--disable-docs, --disable-devel-docs
checking for a BSD-compatible install... /usr/bin/install -c -o root -g 
wheel
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... gawk
checking whether gmake sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for style of include used by gmake... GNU
checking dependency style of cc... gcc3
checking dependency style of cc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c -o root -g 
wheel
checking whether ln -s works... yes
checking build system type... amd64-portbld-freebsd9.0
checking host system type... amd64-portbld-freebsd9.0
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... (cached) 262144
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking how to run the C preprocessor... cpp
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... yes
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld) supports shared 
libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... freebsd9.0 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for bash... /usr/local/bin/bash
checking if dolt supports this host... yes, replacing libtool
checking whether gmake sets $(MAKE)... (cached) yes
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for cpp... /usr/bin/cpp
checking if /usr/bin/cpp requires -undef... yes
checking if /usr/bin/cpp requires -traditional... configure: error: 
/usr/bin/cpp does not preserve whitespace with or without -traditional.  
I don't know what to do.
===>  Script "configure" failed unexpectedly.
Please report the problem to x11@FreeBSD.org [maintainer] and attach the
"/usr/ports/x11-servers/xorg-server/work/xorg-server-1.7.7/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. an `ls /var/db/pkg`).
*** [do-configure] Error code 1

Stop in /usr/ports/x11-servers/xorg-server.
*** [build] Error code 1

Stop in /usr/ports/x11-servers/xorg-server.
%


% cat /etc/make.conf
KERNCONF=ROXY
MAKE_JOBS_NUMBER=6
LOADER_ZFS_SUPPORT=true
LOCALIZED_LANG=ru
WITH_LCD_FILTERING=true
WITH_XFT=true
WITHOUT_TTF_BYTECODE_ENABLED=false
WITH_TTF_BYTECODE_ENABLED=true
WITH_MSWINDOWS_LICENSE=true
WITH_VPX=true
WITH_A4SIZE=true
WITHOUT_DEBUG=true
WITHOUT_NOUVEAU=true
WITHOUT_MYSQL=true
WITHOUT_NAUTILUS=true
# Keep ruby 1.9 as default version.
RUBY_DEFAULT_VER=1.9
# added by use.perl 2012-06-12 20:19:53
PERL_VERSION=5.12.4



% uname -a
FreeBSD roxy.fire 9.0-STABLE FreeBSD 9.0-STABLE #0: Tue Jun 12 18:08:42 
VOLT 2012     root@roxy.fire:/usr/obj/usr/src/sys/ROXY amd64

% cat /etc/src.conf
WITHOUT_AMD=true
WITHOUT_ASSERT_DEBUG=true
WITHOUT_ATM=true
WITHOUT_BIND_DNSSEC=true
WITHOUT_BIND_ETC=true
WITHOUT_BIND_LIBS_LWRES=true
WITHOUT_BIND_MTREE=true
WITHOUT_BIND_NAMED=true
WITHOUT_BLUETOOTH=true
WITH_BSD_GREP=true
WITHOUT_BSNMP=true
WITH_CLANG=true
WITH_CLANG_IS_CC=true
WITHOUT_EXAMPLES=true
WITHOUT_FLOPPY=true
WITHOUT_FREEBSD_UPDATE=true
WITHOUT_GAMES=true
WITHOUT_GDB=true
WITHOUT_HTML=true
WITH_IDEA=true
WITHOUT_IPFILTER=true
WITHOUT_IPFW=true
WITHOUT_IPX=true
WITHOUT_IPX_SUPPORT=true
WITHOUT_LIB32=true
WITHOUT_LPR=true
WITHOUT_NDIS=true
WITHOUT_NETGRAPH=true
WITHOUT_NETGRAPH_SUPPORT=true
WITHOUT_PPP=true
WITHOUT_PROFILE=true
WITHOUT_RCS=true
WITHOUT_SENDMAIL=true
WITHOUT_SYSINSTALL=true
WITHOUT_TELNET=true
WITHOUT_WIRELESS=true
WITHOUT_WIRELESS_SUPPORT=true



--------------010607050900080705070502
Content-Type: text/plain; charset=UTF-8;
 name="config.log"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="config.log"

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMg
d2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJl
IG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IHhvcmctc2VydmVyIGNvbmZp
Z3VyZSAxLjcuNywgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42My4g
IEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tZGlzYWJs
ZS1kbXggLS1kaXNhYmxlLXh2ZmIgLS1kaXNhYmxlLXhuZXN0IC0td2l0aG91dC14bWx0byAt
LWRpc2FibGUtZG9jcyAtLWRpc2FibGUtZGV2ZWwtZG9jcyAtLWxvY2Fsc3RhdGVkaXI9L3Zh
ciAtLXdpdGhvdXQtZHRyYWNlIC0tZGlzYWJsZS14ZXBoeXIgLS1lbmFibGUtcmVjb3JkPXll
cyAtLXdpdGgteGtiLXBhdGg9L3Vzci9sb2NhbC9zaGFyZS9YMTEveGtiIC0tZW5hYmxlLWNv
bmZpZy1oYWw9bm8gLS1lbmFibGUtYWlnbHg9eWVzIC0tZW5hYmxlLWluc3RhbGwtc2V0dWlk
PXllcyAtLXgtbGlicmFyaWVzPS91c3IvbG9jYWwvbGliIC0teC1pbmNsdWRlcz0vdXNyL2xv
Y2FsL2luY2x1ZGUgLS1wcmVmaXg9L3Vzci9sb2NhbCAtLW1hbmRpcj0vdXNyL2xvY2FsL21h
biAtLWluZm9kaXI9L3Vzci9sb2NhbC9pbmZvLyAtLWJ1aWxkPWFtZDY0LXBvcnRibGQtZnJl
ZWJzZDkuMAoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0g
IyMKCmhvc3RuYW1lID0gcm94eS5maXJlCnVuYW1lIC1tID0gYW1kNjQKdW5hbWUgLXIgPSA5
LjAtU1RBQkxFCnVuYW1lIC1zID0gRnJlZUJTRAp1bmFtZSAtdiA9IEZyZWVCU0QgOS4wLVNU
QUJMRSAjMDogVHVlIEp1biAxMiAxODowODo0MiBWT0xUIDIwMTIgICAgIHJvb3RAcm94eS5m
aXJlOi91c3Ivb2JqL3Vzci9zcmMvc3lzL1JPWFkgCgovdXNyL2Jpbi91bmFtZSAtcCA9IGFt
ZDY0Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAg
ICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252
ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25v
d24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAg
ICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6
IC9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBBVEg6
IC91c3IvZ2FtZXMKUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmlu
ClBBVEg6IC9yb290L2JpbgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMj
CiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6Mjg0NzogY2hlY2tpbmcgZm9yIGEgQlNE
LWNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1cmU6MjkxNTogcmVzdWx0OiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1vIHJvb3QgLWcgd2hlZWwKY29uZmlndXJlOjI5MjY6IGNoZWNraW5nIHdo
ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6Mjk4NjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjMxMjc6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly
IC1wCmNvbmZpZ3VyZTozMTY2OiByZXN1bHQ6IC4vaW5zdGFsbC1zaCAtYyAtZApjb25maWd1
cmU6MzE3OTogY2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJlOjMxOTU6IGZvdW5kIC91c3Iv
bG9jYWwvYmluL2dhd2sKY29uZmlndXJlOjMyMDY6IHJlc3VsdDogZ2F3awpjb25maWd1cmU6
MzIxNzogY2hlY2tpbmcgd2hldGhlciBnbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJlOjMy
Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzIyOiBjaGVja2luZyB3aGV0aGVyIHRvIGVu
YWJsZSBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlcwpjb25maWd1
cmU6MzMzMTogcmVzdWx0OiBubwpjb25maWd1cmU6MzQyNzogY2hlY2tpbmcgZm9yIGdjYwpj
b25maWd1cmU6MzQ1NDogcmVzdWx0OiBjYwpjb25maWd1cmU6MzY4NjogY2hlY2tpbmcgZm9y
IEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MzY5NDogY2MgLS12ZXJzaW9uID4mNQpG
cmVlQlNEIGNsYW5nIHZlcnNpb24gMy4xIChicmFuY2hlcy9yZWxlYXNlXzMxIDE1Njg2Mykg
MjAxMjA1MjMKVGFyZ2V0OiB4ODZfNjQtdW5rbm93bi1mcmVlYnNkOS4wClRocmVhZCBtb2Rl
bDogcG9zaXgKY29uZmlndXJlOjM2OTg6ICQ/ID0gMApjb25maWd1cmU6MzcwNTogY2MgLXYg
PiY1CkZyZWVCU0QgY2xhbmcgdmVyc2lvbiAzLjEgKGJyYW5jaGVzL3JlbGVhc2VfMzEgMTU2
ODYzKSAyMDEyMDUyMwpUYXJnZXQ6IHg4Nl82NC11bmtub3duLWZyZWVic2Q5LjAKVGhyZWFk
IG1vZGVsOiBwb3NpeApjb25maWd1cmU6MzcwOTogJD8gPSAwCmNvbmZpZ3VyZTozNzE2OiBj
YyAtViA+JjUKY2M6IGVycm9yOiBhcmd1bWVudCB0byAnLVYnIGlzIG1pc3NpbmcgKGV4cGVj
dGVkIDEgdmFsdWUpCmNjOiBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29uZmlndXJlOjM3MjA6
ICQ/ID0gMQpjb25maWd1cmU6Mzc0MzogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs
dCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTozNzY1OiBjYyAtTzIgLXBpcGUgLWZuby1z
dHJpY3QtYWxpYXNpbmcgICAtcnBhdGg9L3Vzci9saWI6L3Vzci9sb2NhbC9saWIgY29uZnRl
c3QuYyAgPiY1CmNjOiB3YXJuaW5nOiBhcmd1bWVudCB1bnVzZWQgZHVyaW5nIGNvbXBpbGF0
aW9uOiAnLXJwYXRoPS91c3IvbGliOi91c3IvbG9jYWwvbGliJwpjb25maWd1cmU6Mzc2OTog
JD8gPSAwCmNvbmZpZ3VyZTozODA3OiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTozODI2OiBj
aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3VyZTozODM2OiAu
L2Eub3V0CmNvbmZpZ3VyZTozODQwOiAkPyA9IDAKY29uZmlndXJlOjM4NTk6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTozODY2OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w
aWxpbmcKY29uZmlndXJlOjM4Njg6IHJlc3VsdDogbm8KY29uZmlndXJlOjM4NzE6IGNoZWNr
aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjM4Nzg6IGNjIC1vIGNv
bmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgIC1ycGF0aD0vdXNyL2xp
YjovdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY2M6IHdhcm5pbmc6IGFyZ3VtZW50
IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcnBhdGg9L3Vzci9saWI6L3Vzci9sb2Nh
bC9saWInCmNvbmZpZ3VyZTozODgyOiAkPyA9IDAKY29uZmlndXJlOjM5MDg6IHJlc3VsdDog
CmNvbmZpZ3VyZTozOTE0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpj
b25maWd1cmU6Mzk0MDogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6Mzk0NDogJD8gPSAwCmNvbmZpZ3VyZTozOTY5OiBy
ZXN1bHQ6IG8KY29uZmlndXJlOjM5NzM6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n
IHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6NDAwMjogY2MgLWMgLU8yIC1waXBlIC1m
bm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDAwOTogJD8g
PSAwCmNvbmZpZ3VyZTo0MDI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDAzNTogY2hlY2tp
bmcgd2hldGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo0MDY1OiBjYyAtYyAtZyAgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjQwNzI6ICQ/ID0gMApjb25maWd1cmU6NDE3MzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQxOTA6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8gYWNj
ZXB0IElTTyBDODkKY29uZmlndXJlOjQyNjQ6IGNjICAtYyAtTzIgLXBpcGUgLWZuby1zdHJp
Y3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjcxOiAkPyA9IDAKY29u
ZmlndXJlOjQyOTQ6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjQzMjM6IGNoZWNr
aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgZ21ha2UKY29uZmlndXJlOjQzNTE6
IHJlc3VsdDogR05VCmNvbmZpZ3VyZTo0Mzc2OiBjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl
IG9mIGNjCmNvbmZpZ3VyZTo0NDg2OiByZXN1bHQ6IGdjYzMKY29uZmlndXJlOjQ1MTA6IGNo
ZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgY2MKY29uZmlndXJlOjQ2MTg6IHJlc3VsdDog
Z2NjMwpjb25maWd1cmU6NDY0NzogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z
dGFsbApjb25maWd1cmU6NDcxNTogcmVzdWx0OiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1vIHJv
b3QgLWcgd2hlZWwKY29uZmlndXJlOjQ3MjY6IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29y
a3MKY29uZmlndXJlOjQ3MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NzQzOiBjaGVja2lu
ZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6NDc2MTogcmVzdWx0OiBhbWQ2NC1wb3J0
YmxkLWZyZWVic2Q5LjAKY29uZmlndXJlOjQ3ODM6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5
cGUKY29uZmlndXJlOjQ3OTg6IHJlc3VsdDogYW1kNjQtcG9ydGJsZC1mcmVlYnNkOS4wCmNv
bmZpZ3VyZTo1MTc5OiBjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0
ZSBvdXRwdXQKY29uZmlndXJlOjUyNDU6IHJlc3VsdDogL3Vzci9iaW4vc2VkCmNvbmZpZ3Vy
ZTo1MjYzOiBjaGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQg
LWUKY29uZmlndXJlOjUzMjM6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcApjb25maWd1cmU6NTMy
ODogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo1MzkyOiByZXN1bHQ6IC91c3IvYmlu
L2dyZXAgLUUKY29uZmlndXJlOjUzOTc6IGNoZWNraW5nIGZvciBmZ3JlcApjb25maWd1cmU6
NTQ2MTogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1GCmNvbmZpZ3VyZTo1NDk2OiBjaGVja2lu
ZyBmb3IgbGQgdXNlZCBieSBjYwpjb25maWd1cmU6NTU2MzogcmVzdWx0OiAvdXNyL2Jpbi9s
ZApjb25maWd1cmU6NTU3MjogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoL3Vzci9iaW4vbGQp
IGlzIEdOVSBsZApjb25maWd1cmU6NTU4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU1OTk6
IGNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKQpj
b25maWd1cmU6NTY0ODogcmVzdWx0OiAvdXNyL2Jpbi9ubSAtQgpjb25maWd1cmU6NTc2Njog
Y2hlY2tpbmcgdGhlIG5hbWUgbGlzdGVyICgvdXNyL2Jpbi9ubSAtQikgaW50ZXJmYWNlCmNv
bmZpZ3VyZTo1NzczOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1Nzc2OiAvdXNyL2Jpbi9ubSAtQiAiY29uZnRlc3Qu
byIKY29uZmlndXJlOjU3Nzk6IG91dHB1dAowMDAwMDAwMDAwMDAwMDAwIEIgc29tZV92YXJp
YWJsZQpjb25maWd1cmU6NTc4NjogcmVzdWx0OiBCU0Qgbm0KY29uZmlndXJlOjU3OTA6IGNo
ZWNraW5nIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBjb21tYW5kIGxpbmUgYXJndW1lbnRzCmNv
bmZpZ3VyZTo1OTEwOiByZXN1bHQ6IDI2MjE0NApjb25maWd1cmU6NTkyNzogY2hlY2tpbmcg
d2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cwpjb25m
aWd1cmU6NTkzNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5NDE6IGNoZWNraW5nIHdoZXRo
ZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzICIrPSIKY29uZmlndXJlOjU5NDc6IHJlc3VsdDog
bm8KY29uZmlndXJlOjU5ODI6IGNoZWNraW5nIGZvciAvdXNyL2Jpbi9sZCBvcHRpb24gdG8g
cmVsb2FkIG9iamVjdCBmaWxlcwpjb25maWd1cmU6NTk4OTogcmVzdWx0OiAtcgpjb25maWd1
cmU6NjA1ODogY2hlY2tpbmcgZm9yIG9iamR1bXAKY29uZmlndXJlOjYwODU6IHJlc3VsdDog
b2JqZHVtcApjb25maWd1cmU6NjExNDogY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBl
bmRlbnQgbGlicmFyaWVzCmNvbmZpZ3VyZTo2MzEwOiByZXN1bHQ6IHBhc3NfYWxsCmNvbmZp
Z3VyZTo2MzcwOiBjaGVja2luZyBmb3IgYXIKY29uZmlndXJlOjYzODY6IGZvdW5kIC91c3Iv
YmluL2FyCmNvbmZpZ3VyZTo2Mzk3OiByZXN1bHQ6IGFyCmNvbmZpZ3VyZTo2NDc1OiBjaGVj
a2luZyBmb3Igc3RyaXAKY29uZmlndXJlOjY0OTE6IGZvdW5kIC91c3IvYmluL3N0cmlwCmNv
bmZpZ3VyZTo2NTAyOiByZXN1bHQ6IHN0cmlwCmNvbmZpZ3VyZTo2NTc0OiBjaGVja2luZyBm
b3IgcmFubGliCmNvbmZpZ3VyZTo2NTkwOiBmb3VuZCAvdXNyL2Jpbi9yYW5saWIKY29uZmln
dXJlOjY2MDE6IHJlc3VsdDogcmFubGliCmNvbmZpZ3VyZTo2NjkxOiBjaGVja2luZyBjb21t
YW5kIHRvIHBhcnNlIC91c3IvYmluL25tIC1CIG91dHB1dCBmcm9tIGNjIG9iamVjdApjb25m
aWd1cmU6NjgwOTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6NjgxMjogJD8gPSAwCmNvbmZpZ3VyZTo2ODE2OiAvdXNy
L2Jpbi9ubSAtQiBjb25mdGVzdC5vIFx8IHNlZCAtbiAtZSAncy9eLipbCSBdXChbQUJDREdJ
UlNUV11bQUJDREdJUlNUV10qXClbCSBdWwkgXSpcKFtfQS1aYS16XVtfQS1aYS16MC05XSpc
KSQvXDEgXDIgXDIvcCcgXD4gY29uZnRlc3Qubm0KY29uZmlndXJlOjY4MTk6ICQ/ID0gMApj
b25maWd1cmU6Njg3MzogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFs
aWFzaW5nICAgLXJwYXRoPS91c3IvbGliOi91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgY29u
ZnRzdG0ubyA+JjUKY2M6IHdhcm5pbmc6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGls
YXRpb246ICctcnBhdGg9L3Vzci9saWI6L3Vzci9sb2NhbC9saWInCmNvbmZpZ3VyZTo2ODc2
OiAkPyA9IDAKY29uZmlndXJlOjY5MTQ6IHJlc3VsdDogb2sKY29uZmlndXJlOjc3ODE6IGNo
ZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZTo3ODk5OiBy
ZXN1bHQ6IGNwcApjb25maWd1cmU6NzkyODogY3BwICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo3
OTM1OiAkPyA9IDAKY29uZmlndXJlOjc5NjY6IGNwcCAgY29uZnRlc3QuYwpjb25mdGVzdC5j
OjEwOjEwOiBmYXRhbCBlcnJvcjogJ2FjX25vbmV4aXN0ZW50LmgnIGZpbGUgbm90IGZvdW5k
CiNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgogICAgICAgICBeCjEgZXJyb3IgZ2VuZXJh
dGVkLgpjb25maWd1cmU6Nzk3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJ4b3Jn
LXNlcnZlciIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAieG9yZy1zZXJ2ZXIiCnwgI2Rl
ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuNy43Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg
Inhvcmctc2VydmVyIDEuNy43Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHBz
Oi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhvcmciCnwg
I2RlZmluZSBQQUNLQUdFICJ4b3JnLXNlcnZlciIKfCAjZGVmaW5lIFZFUlNJT04gIjEuNy43
Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQu
aD4KY29uZmlndXJlOjgwMTM6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNv
bmZpZ3VyZTo4MDQzOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4MDUwOiAkPyA9IDAKY29uZmlndXJlOjgxNDk6IGNj
IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgIC1ycGF0aD0v
dXNyL2xpYjovdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY2M6IHdhcm5pbmc6IGFy
Z3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcnBhdGg9L3Vzci9saWI6L3Vz
ci9sb2NhbC9saWInCmNvbmZpZ3VyZTo4MTUzOiAkPyA9IDAKY29uZmlndXJlOjgxNTk6IC4v
Y29uZnRlc3QKY29uZmlndXJlOjgxNjM6ICQ/ID0gMApjb25maWd1cmU6ODE4MTogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjgyMDU6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1
cmU6ODIyNjogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6ODIzMzogJD8gPSAwCmNvbmZpZ3VyZTo4MjUwOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6ODIwNTogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJl
OjgyMjY6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjgyMzM6ICQ/ID0gMApjb25maWd1cmU6ODI1MDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjgyMDU6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6ODIy
NjogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4m
NQpjb25maWd1cmU6ODIzMzogJD8gPSAwCmNvbmZpZ3VyZTo4MjUwOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6ODIwNTogY2hlY2tpbmcgZm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo4MjI2OiBj
YyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZTo4MjMzOiAkPyA9IDAKY29uZmlndXJlOjgyNTA6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo4MjA1OiBjaGVja2luZyBmb3IgbWVtb3J5LmgKY29uZmlndXJlOjgyMjY6IGNjIC1j
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjgyMzM6ICQ/ID0gMApjb25maWd1cmU6ODI1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjgyMDU6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJlOjgyMjY6IGNjIC1jIC1P
MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjgyMzM6ICQ/ID0gMApjb25maWd1cmU6ODI1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjgy
MDU6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo4MjI2OiBjYyAtYyAtTzIg
LXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo4
MjMzOiAkPyA9IDAKY29uZmlndXJlOjgyNTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjA1
OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjgyMjY6IGNjIC1jIC1PMiAtcGlw
ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjgyMzM6
ICQ/ID0gMApjb25maWd1cmU6ODI1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjgyMDU6IGNo
ZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6ODIyNjogY2MgLWMgLU8yIC1waXBlIC1m
bm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODIzMzogJD8g
PSAwCmNvbmZpZ3VyZTo4MjUwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODI2ODogY2hlY2tp
bmcgZm9yIGRsZmNuLmgKY29uZmlndXJlOjgyODk6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0
cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjgyOTY6ICQ/ID0gMApj
b25maWd1cmU6ODMxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg0Njc6IGNoZWNraW5nIGZv
ciBvYmpkaXIKY29uZmlndXJlOjg0ODI6IHJlc3VsdDogLmxpYnMKY29uZmlndXJlOjg3Nzg6
IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMKY29u
ZmlndXJlOjg3OTY6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZu
by1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODgwMDog
JD8gPSAwCmNvbmZpZ3VyZTo4ODEzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODgzMzogY2hl
Y2tpbmcgZm9yIGNjIG9wdGlvbiB0byBwcm9kdWNlIFBJQwpjb25maWd1cmU6OTEwNTogcmVz
dWx0OiAtZlBJQyAtRFBJQwpjb25maWd1cmU6OTExNzogY2hlY2tpbmcgaWYgY2MgUElDIGZs
YWcgLWZQSUMgLURQSUMgd29ya3MKY29uZmlndXJlOjkxMzU6IGNjIC1jIC1PMiAtcGlwZSAt
Zm5vLXN0cmljdC1hbGlhc2luZyAgLWZQSUMgLURQSUMgLURQSUMgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjkxMzk6ICQ/ID0gMApjb25maWd1cmU6OTE1MjogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjkxNzY6IGNoZWNraW5nIGlmIGNjIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MK
Y2M6IHdhcm5pbmc6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcnBh
dGg9L3Vzci9saWI6L3Vzci9sb2NhbC9saWInCmNvbmZpZ3VyZTo5MjA0OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6OTIxOTogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5v
CmNvbmZpZ3VyZTo5MjQwOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg
IC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6OTI0NDogJD8g
PSAwCmNvbmZpZ3VyZTo5MjY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTI3NDogY2hlY2tp
bmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTo5MzIxOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6OTM1NDogY2hlY2tpbmcgd2hldGhlciB0aGUgY2MgbGlua2VyICgv
dXNyL2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTA0Mjg6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDQ2NTogY2hlY2tpbmcgd2hldGhlciAtbGMgc2hv
dWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluCmNvbmZpZ3VyZToxMDQ3MDogY2MgLWMgLU8y
IC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6
MTA0NzM6ICQ/ID0gMApjb25maWd1cmU6MTA0ODg6IGNjIC1zaGFyZWQgY29uZnRlc3QubyAg
LXYgLVdsLC1zb25hbWUgLVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwmMSBcfCAvdXNy
L2Jpbi9ncmVwICAtbGMgIFw+L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6MTA0OTE6ICQ/
ID0gMApjb25maWd1cmU6MTA1MDM6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNjY3OiBjaGVj
a2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MKY29uZmlndXJlOjExMzUzOiBy
ZXN1bHQ6IGZyZWVic2Q5LjAgbGQuc28KY29uZmlndXJlOjExNDU1OiBjaGVja2luZyBob3cg
dG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZpZ3VyZToxMTQ4
MDogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjEyMzEzOiBjaGVja2luZyB3aGV0aGVy
IHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUKY29uZmlndXJlOjEyMzE4OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTIzNTM6IGNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMg
c2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTIzNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToxMjM1ODogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzCmNv
bmZpZ3VyZToxMjM3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMzgyOiBjaGVja2luZyB3
aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjEyMzg2OiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZToxMjQyNzogY2hlY2tpbmcgZm9yIGJhc2gKY29uZmlndXJlOjEy
NDQ1OiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi9iYXNoCmNvbmZpZ3VyZToxMjQ1NzogcmVzdWx0
OiAvdXNyL2xvY2FsL2Jpbi9iYXNoCmNvbmZpZ3VyZToxMjQ2NTogY2hlY2tpbmcgaWYgZG9s
dCBzdXBwb3J0cyB0aGlzIGhvc3QKY29uZmlndXJlOjEyNDk1OiByZXN1bHQ6IHllcywgcmVw
bGFjaW5nIGxpYnRvb2wKY29uZmlndXJlOjEyNjIyOiBjaGVja2luZyB3aGV0aGVyIGdtYWtl
IHNldHMgJChNQUtFKQpjb25maWd1cmU6MTI2NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
MjcwMjogY2hlY2tpbmcgZm9yIHBrZy1jb25maWcKY29uZmlndXJlOjEyNzIwOiBmb3VuZCAv
dXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZToxMjczMjogcmVzdWx0OiAvdXNy
L2xvY2FsL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZToxMjc1NzogY2hlY2tpbmcgcGtnLWNv
bmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uIDAuOS4wCmNvbmZpZ3VyZToxMjc2MDogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjEyNzczOiBjaGVja2luZyBmb3IgZmxleApjb25maWd1cmU6MTI3
ODk6IGZvdW5kIC91c3IvYmluL2ZsZXgKY29uZmlndXJlOjEyODAwOiByZXN1bHQ6IGZsZXgK
Y29uZmlndXJlOjEyODM3OiBmbGV4IGNvbmZ0ZXN0LmwKY29uZmlndXJlOjEyODQxOiAkPyA9
IDAKY29uZmlndXJlOjEyODQzOiBjaGVja2luZyBsZXggb3V0cHV0IGZpbGUgcm9vdApjb25m
aWd1cmU6MTI4NTk6IHJlc3VsdDogbGV4Lnl5CmNvbmZpZ3VyZToxMjg2NDogY2hlY2tpbmcg
bGV4IGxpYnJhcnkKY29uZmlndXJlOjEyODgzOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUg
LWZuby1zdHJpY3QtYWxpYXNpbmcgICAtcnBhdGg9L3Vzci9saWI6L3Vzci9sb2NhbC9saWIg
Y29uZnRlc3QuYyAgID4mNQpjYzogd2FybmluZzogYXJndW1lbnQgdW51c2VkIGR1cmluZyBj
b21waWxhdGlvbjogJy1ycGF0aD0vdXNyL2xpYjovdXNyL2xvY2FsL2xpYicKY29uZnRlc3Qu
bDo2OjIwOiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdl
ciAoJ2NoYXIgKicgYW5kICdpbnQnKQp7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0KICB+
fn5+fn5+fn5+fn5+fn5+fl5+fn5+CmNvbmZ0ZXN0LmM6MTM4OjMyOiBub3RlOiBleHBhbmRl
ZCBmcm9tIG1hY3JvICd5eWxlc3MnCiAgICAgICAgICAgICAgICB5eV9jX2J1Zl9wID0geXlf
Y3AgPSB5eV9icCArIG4gLSBZWV9NT1JFX0FESjsgXAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfn5+fn5+fn5efn5+fn5+fn5+fn5+fn5+fn4KY29uZnRlc3QubDo2
OjM6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lv
biBhc3NpZ25pbmcgdG8gJ2NoYXIgKicgZnJvbSAnaW50JyBbLVdpbnQtY29udmVyc2lvbl0K
eyB5eWxlc3MgKGlucHV0ICgpICE9IDApOyB9CiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpj
b25mdGVzdC5jOjEzODoyMjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAneXlsZXNzJwog
ICAgICAgICAgICAgICAgeXlfY19idWZfcCA9IHl5X2NwID0geXlfYnAgKyBuIC0gWVlfTU9S
RV9BREo7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+CjIgd2FybmluZ3MgZ2VuZXJhdGVkLgovdG1wL2NvbmZ0ZXN0
LUpCZEJycy5vOiBJbiBmdW5jdGlvbiBgeXlsZXgnOgpjb25mdGVzdC5jOigudGV4dCsweDNm
Myk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHl5d3JhcCcKY29uZnRlc3QuYzooLnRleHQr
MHg2N2MpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB5eXdyYXAnCi90bXAvY29uZnRlc3Qt
SkJkQnJzLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZnRlc3QuYzooLnRleHQrMHgxMDlh
KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeXl3cmFwJwpjYzogZXJyb3I6IGxpbmtlciBj
b21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxICh1c2UgLXYgdG8gc2VlIGludm9jYXRp
b24pCmNvbmZpZ3VyZToxMjg5MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIEEgbGV4aWNhbCBzY2FubmVyIGdlbmVyYXRlZCBieSBmbGV4ICovCnwgCnwg
LyogU2Nhbm5lciBza2VsZXRvbiB2ZXJzaW9uOgp8ICAqICRIZWFkZXI6IC9ob21lL2RhZmZ5
L3UwL3Zlcm4vZmxleC9SQ1MvZmxleC5za2wsdiAyLjkxIDk2LzA5LzEwIDE2OjU4OjQ4IHZl
cm4gRXhwICQKfCAgKiAkRnJlZUJTRDogc3JjL3Vzci5iaW4vbGV4L2ZsZXguc2tsLHYgMS4x
My4yLjEgMjAxMS8wOS8yMyAwMDo1MTozNyBrZW5zbWl0aCBFeHAgJAp8ICAqLwp8IAp8ICNp
ZiBkZWZpbmVkKF9fRnJlZUJTRF9fKQp8ICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KfCAjZWxz
ZQp8ICNkZWZpbmUgX191bnVzZWQKfCAjZGVmaW5lIF9fZGVhZDIKfCAjZW5kaWYKfCAKfCAj
ZGVmaW5lIEZMRVhfU0NBTk5FUgp8ICNkZWZpbmUgWVlfRkxFWF9NQUpPUl9WRVJTSU9OIDIK
fCAjZGVmaW5lIFlZX0ZMRVhfTUlOT1JfVkVSU0lPTiA1CnwgCnwgI2luY2x1ZGUgPHN0ZGlv
Lmg+CnwgCnwgCnwgLyogY2Zyb250IDEuMiBkZWZpbmVzICJjX3BsdXNwbHVzIiBpbnN0ZWFk
IG9mICJfX2NwbHVzcGx1cyIgKi8KfCAjaWZkZWYgY19wbHVzcGx1cwp8ICNpZm5kZWYgX19j
cGx1c3BsdXMKfCAjZGVmaW5lIF9fY3BsdXNwbHVzCnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwg
CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNs
dWRlIDx1bmlzdGQuaD4KfCAKfCAvKiBVc2UgcHJvdG90eXBlcyBpbiBmdW5jdGlvbiBkZWNs
YXJhdGlvbnMuICovCnwgI2RlZmluZSBZWV9VU0VfUFJPVE9TCnwgCnwgLyogVGhlICJjb25z
dCIgc3RvcmFnZS1jbGFzcy1tb2RpZmllciBpcyB2YWxpZC4gKi8KfCAjZGVmaW5lIFlZX1VT
RV9DT05TVAp8IAp8ICNlbHNlCS8qICEgX19jcGx1c3BsdXMgKi8KfCAKfCAjaWYgX19TVERD
X18KfCAKfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAjZGVmaW5lIFlZX1VTRV9DT05TVAp8
IAp8ICNlbmRpZgkvKiBfX1NURENfXyAqLwp8ICNlbmRpZgkvKiAhIF9fY3BsdXNwbHVzICov
CnwgCnwgI2lmZGVmIF9fVFVSQk9DX18KfCAgI3ByYWdtYSB3YXJuIC1yY2gKfCAgI3ByYWdt
YSB3YXJuIC11c2UKfCAjaW5jbHVkZSA8aW8uaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+Cnwg
I2RlZmluZSBZWV9VU0VfQ09OU1QKfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAjZW5kaWYK
fCAKfCAjaWZkZWYgWVlfVVNFX0NPTlNUCnwgI2RlZmluZSB5eWNvbnN0IGNvbnN0CnwgI2Vs
c2UKfCAjZGVmaW5lIHl5Y29uc3QKfCAjZW5kaWYKfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BS
T1RPUwp8ICNkZWZpbmUgWVlfUFJPVE8ocHJvdG8pIHByb3RvCnwgI2Vsc2UKfCAjZGVmaW5l
IFlZX1BST1RPKHByb3RvKSAoKQp8ICNlbmRpZgp8IAp8IC8qIFJldHVybmVkIHVwb24gZW5k
LW9mLWZpbGUuICovCnwgI2RlZmluZSBZWV9OVUxMIDAKfCAKfCAvKiBQcm9tb3RlcyBhIHBv
c3NpYmx5IG5lZ2F0aXZlLCBwb3NzaWJseSBzaWduZWQgY2hhciB0byBhbiB1bnNpZ25lZAp8
ICAqIGludGVnZXIgZm9yIHVzZSBhcyBhbiBhcnJheSBpbmRleC4gIElmIHRoZSBzaWduZWQg
Y2hhciBpcyBuZWdhdGl2ZSwKfCAgKiB3ZSB3YW50IHRvIGluc3RlYWQgdHJlYXQgaXQgYXMg
YW4gOC1iaXQgdW5zaWduZWQgY2hhciwgaGVuY2UgdGhlCnwgICogZG91YmxlIGNhc3QuCnwg
ICovCnwgI2RlZmluZSBZWV9TQ19UT19VSShjKSAoKHVuc2lnbmVkIGludCkgKHVuc2lnbmVk
IGNoYXIpIGMpCnwgCnwgLyogRW50ZXIgYSBzdGFydCBjb25kaXRpb24uICBUaGlzIG1hY3Jv
IHJlYWxseSBvdWdodCB0byB0YWtlIGEgcGFyYW1ldGVyLAp8ICAqIGJ1dCB3ZSBkbyBpdCB0
aGUgZGlzZ3VzdGluZyBjcnVmdHkgd2F5IGZvcmNlZCBvbiB1cyBieSB0aGUgKCktbGVzcwp8
ICAqIGRlZmluaXRpb24gb2YgQkVHSU4uCnwgICovCnwgI2RlZmluZSBCRUdJTiB5eV9zdGFy
dCA9IDEgKyAyICoKfCAKfCAvKiBUcmFuc2xhdGUgdGhlIGN1cnJlbnQgc3RhcnQgc3RhdGUg
aW50byBhIHZhbHVlIHRoYXQgY2FuIGJlIGxhdGVyIGhhbmRlZAp8ICAqIHRvIEJFR0lOIHRv
IHJldHVybiB0byB0aGUgc3RhdGUuICBUaGUgWVlTVEFURSBhbGlhcyBpcyBmb3IgbGV4Cnwg
ICogY29tcGF0aWJpbGl0eS4KfCAgKi8KfCAjZGVmaW5lIFlZX1NUQVJUICgoeXlfc3RhcnQg
LSAxKSAvIDIpCnwgI2RlZmluZSBZWVNUQVRFIFlZX1NUQVJUCnwgCnwgLyogQWN0aW9uIG51
bWJlciBmb3IgRU9GIHJ1bGUgb2YgYSBnaXZlbiBzdGFydCBzdGF0ZS4gKi8KfCAjZGVmaW5l
IFlZX1NUQVRFX0VPRihzdGF0ZSkgKFlZX0VORF9PRl9CVUZGRVIgKyBzdGF0ZSArIDEpCnwg
CnwgLyogU3BlY2lhbCBhY3Rpb24gbWVhbmluZyAic3RhcnQgcHJvY2Vzc2luZyBhIG5ldyBm
aWxlIi4gKi8KfCAjZGVmaW5lIFlZX05FV19GSUxFIHl5cmVzdGFydCggeXlpbiApCnwgCnwg
I2RlZmluZSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgMAp8IAp8IC8qIFNpemUgb2YgZGVmYXVs
dCBpbnB1dCBidWZmZXIuICovCnwgI2RlZmluZSBZWV9CVUZfU0laRSAxNjM4NAp8IAp8IHR5
cGVkZWYgc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSAqWVlfQlVGRkVSX1NUQVRFOwp8IAp8IGV4
dGVybiBpbnQgeXlsZW5nOwp8IGV4dGVybiBGSUxFICp5eWluLCAqeXlvdXQ7CnwgCnwgI2Rl
ZmluZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU4gMAp8ICNkZWZpbmUgRU9CX0FDVF9FTkRfT0Zf
RklMRSAxCnwgI2RlZmluZSBFT0JfQUNUX0xBU1RfTUFUQ0ggMgp8IAp8IC8qIFRoZSBmdW5r
eSBkby13aGlsZSBpbiB0aGUgZm9sbG93aW5nICNkZWZpbmUgaXMgdXNlZCB0byB0dXJuIHRo
ZSBkZWZpbml0aW9uCnwgICogaW50IGEgc2luZ2xlIEMgc3RhdGVtZW50ICh3aGljaCBuZWVk
cyBhIHNlbWktY29sb24gdGVybWluYXRvcikuICBUaGlzCnwgICogYXZvaWRzIHByb2JsZW1z
IHdpdGggY29kZSBsaWtlOgp8ICAqCnwgICogCWlmICggY29uZGl0aW9uX2hvbGRzICkKfCAg
KgkJeXlsZXNzKCA1ICk7CnwgICoJZWxzZQp8ICAqCQlkb19zb21ldGhpbmdfZWxzZSgpOwp8
ICAqCnwgICogUHJpb3IgdG8gdXNpbmcgdGhlIGRvLXdoaWxlIHRoZSBjb21waWxlciB3b3Vs
ZCBnZXQgdXBzZXQgYXQgdGhlCnwgICogImVsc2UiIGJlY2F1c2UgaXQgaW50ZXJwcmV0ZWQg
dGhlICJpZiIgc3RhdGVtZW50IGFzIGJlaW5nIGFsbAp8ICAqIGRvbmUgd2hlbiBpdCByZWFj
aGVkIHRoZSAnOycgYWZ0ZXIgdGhlIHl5bGVzcygpIGNhbGwuCnwgICovCnwgCnwgLyogUmV0
dXJuIGFsbCBidXQgdGhlIGZpcnN0ICduJyBtYXRjaGVkIGNoYXJhY3RlcnMgYmFjayB0byB0
aGUgaW5wdXQgc3RyZWFtLiAqLwp8IAp8ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8
IAkJeyBcCnwgCQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwK
fCAJCSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsgXAp8IAkJWVlfUkVTVE9SRV9ZWV9NT1JFX09G
RlNFVCBcCnwgCQl5eV9jX2J1Zl9wID0geXlfY3AgPSB5eV9icCArIG4gLSBZWV9NT1JFX0FE
SjsgXAp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAq
LyBcCnwgCQl9IFwKfCAJd2hpbGUgKCAwICkKfCAKfCAjZGVmaW5lIHVucHV0KGMpIHl5dW5w
dXQoIGMsIHl5dGV4dF9wdHIgKQp8IAp8IC8qIFRoZSBmb2xsb3dpbmcgaXMgYmVjYXVzZSB3
ZSBjYW5ub3QgcG9ydGFibHkgZ2V0IG91ciBoYW5kcyBvbiBzaXplX3QKfCAgKiAod2l0aG91
dCBhdXRvY29uZidzIGhlbHAsIHdoaWNoIGlzbid0IGF2YWlsYWJsZSBiZWNhdXNlIHdlIHdh
bnQKfCAgKiBmbGV4LWdlbmVyYXRlZCBzY2FubmVycyB0byBjb21waWxlIG9uIHRoZWlyIG93
bikuCnwgICovCnwgdHlwZWRlZiB1bnNpZ25lZCBpbnQgeXlfc2l6ZV90Owp8IAp8IAp8IHN0
cnVjdCB5eV9idWZmZXJfc3RhdGUKfCAJewp8IAlGSUxFICp5eV9pbnB1dF9maWxlOwp8IAp8
IAljaGFyICp5eV9jaF9idWY7CQkvKiBpbnB1dCBidWZmZXIgKi8KfCAJY2hhciAqeXlfYnVm
X3BvczsJCS8qIGN1cnJlbnQgcG9zaXRpb24gaW4gaW5wdXQgYnVmZmVyICovCnwgCnwgCS8q
IFNpemUgb2YgaW5wdXQgYnVmZmVyIGluIGJ5dGVzLCBub3QgaW5jbHVkaW5nIHJvb20gZm9y
IEVPQgp8IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJeXlfc2l6ZV90IHl5X2J1Zl9zaXpl
Owp8IAp8IAkvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyByZWFkIGludG8geXlfY2hfYnVmLCBu
b3QgaW5jbHVkaW5nIEVPQgp8IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJaW50IHl5X25f
Y2hhcnM7CnwgCnwgCS8qIFdoZXRoZXIgd2UgIm93biIgdGhlIGJ1ZmZlciAtIGkuZS4sIHdl
IGtub3cgd2UgY3JlYXRlZCBpdCwKfCAJICogYW5kIGNhbiByZWFsbG9jKCkgaXQgdG8gZ3Jv
dyBpdCwgYW5kIHNob3VsZCBmcmVlKCkgaXQgdG8KfCAJICogZGVsZXRlIGl0Lgp8IAkgKi8K
fCAJaW50IHl5X2lzX291cl9idWZmZXI7CnwgCnwgCS8qIFdoZXRoZXIgdGhpcyBpcyBhbiAi
aW50ZXJhY3RpdmUiIGlucHV0IHNvdXJjZTsgaWYgc28sIGFuZAp8IAkgKiBpZiB3ZSdyZSB1
c2luZyBzdGRpbyBmb3IgaW5wdXQsIHRoZW4gd2Ugd2FudCB0byB1c2UgZ2V0YygpCnwgCSAq
IGluc3RlYWQgb2YgZnJlYWQoKSwgdG8gbWFrZSBzdXJlIHdlIHN0b3AgZmV0Y2hpbmcgaW5w
dXQgYWZ0ZXIKfCAJICogZWFjaCBuZXdsaW5lLgp8IAkgKi8KfCAJaW50IHl5X2lzX2ludGVy
YWN0aXZlOwp8IAp8IAkvKiBXaGV0aGVyIHdlJ3JlIGNvbnNpZGVyZWQgdG8gYmUgYXQgdGhl
IGJlZ2lubmluZyBvZiBhIGxpbmUuCnwgCSAqIElmIHNvLCAnXicgcnVsZXMgd2lsbCBiZSBh
Y3RpdmUgb24gdGhlIG5leHQgbWF0Y2gsIG90aGVyd2lzZQp8IAkgKiBub3QuCnwgCSAqLwp8
IAlpbnQgeXlfYXRfYm9sOwp8IAp8IAkvKiBXaGV0aGVyIHRvIHRyeSB0byBmaWxsIHRoZSBp
bnB1dCBidWZmZXIgd2hlbiB3ZSByZWFjaCB0aGUKfCAJICogZW5kIG9mIGl0Lgp8IAkgKi8K
fCAJaW50IHl5X2ZpbGxfYnVmZmVyOwp8IAp8IAlpbnQgeXlfYnVmZmVyX3N0YXR1czsKfCAj
ZGVmaW5lIFlZX0JVRkZFUl9ORVcgMAp8ICNkZWZpbmUgWVlfQlVGRkVSX05PUk1BTCAxCnwg
CS8qIFdoZW4gYW4gRU9GJ3MgYmVlbiBzZWVuIGJ1dCB0aGVyZSdzIHN0aWxsIHNvbWUgdGV4
dCB0byBwcm9jZXNzCnwgCSAqIHRoZW4gd2UgbWFyayB0aGUgYnVmZmVyIGFzIFlZX0VPRl9Q
RU5ESU5HLCB0byBpbmRpY2F0ZSB0aGF0IHdlCnwgCSAqIHNob3VsZG4ndCB0cnkgcmVhZGlu
ZyBmcm9tIHRoZSBpbnB1dCBzb3VyY2UgYW55IG1vcmUuICBXZSBtaWdodAp8IAkgKiBzdGls
bCBoYXZlIGEgYnVuY2ggb2YgdG9rZW5zIHRvIG1hdGNoLCB0aG91Z2gsIGJlY2F1c2Ugb2YK
fCAJICogcG9zc2libGUgYmFja2luZy11cC4KfCAJICoKfCAJICogV2hlbiB3ZSBhY3R1YWxs
eSBzZWUgdGhlIEVPRiwgd2UgY2hhbmdlIHRoZSBzdGF0dXMgdG8gIm5ldyIKfCAJICogKHZp
YSB5eXJlc3RhcnQoKSksIHNvIHRoYXQgdGhlIHVzZXIgY2FuIGNvbnRpbnVlIHNjYW5uaW5n
IGJ5CnwgCSAqIGp1c3QgcG9pbnRpbmcgeXlpbiBhdCBhIG5ldyBpbnB1dCBmaWxlLgp8IAkg
Ki8KfCAjZGVmaW5lIFlZX0JVRkZFUl9FT0ZfUEVORElORyAyCnwgCX07CnwgCnwgc3RhdGlj
IFlZX0JVRkZFUl9TVEFURSB5eV9jdXJyZW50X2J1ZmZlciA9IDA7CnwgCnwgLyogV2UgcHJv
dmlkZSBtYWNyb3MgZm9yIGFjY2Vzc2luZyBidWZmZXIgc3RhdGVzIGluIGNhc2UgaW4gdGhl
CnwgICogZnV0dXJlIHdlIHdhbnQgdG8gcHV0IHRoZSBidWZmZXIgc3RhdGVzIGluIGEgbW9y
ZSBnZW5lcmFsCnwgICogInNjYW5uZXIgc3RhdGUiLgp8ICAqLwp8ICNkZWZpbmUgWVlfQ1VS
UkVOVF9CVUZGRVIgeXlfY3VycmVudF9idWZmZXIKfCAKfCAKfCAvKiB5eV9ob2xkX2NoYXIg
aG9sZHMgdGhlIGNoYXJhY3RlciBsb3N0IHdoZW4geXl0ZXh0IGlzIGZvcm1lZC4gKi8KfCBz
dGF0aWMgY2hhciB5eV9ob2xkX2NoYXI7CnwgCnwgc3RhdGljIGludCB5eV9uX2NoYXJzOwkJ
LyogbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCBpbnRvIHl5X2NoX2J1ZiAqLwp8IAp8IAp8
IGludCB5eWxlbmc7CnwgCnwgLyogUG9pbnRzIHRvIGN1cnJlbnQgY2hhcmFjdGVyIGluIGJ1
ZmZlci4gKi8KfCBzdGF0aWMgY2hhciAqeXlfY19idWZfcCA9IChjaGFyICopIDA7Cnwgc3Rh
dGljIGludCB5eV9pbml0ID0gMTsJCS8qIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXpl
ICovCnwgc3RhdGljIGludCB5eV9zdGFydCA9IDA7CS8qIHN0YXJ0IHN0YXRlIG51bWJlciAq
Lwp8IAp8IC8qIEZsYWcgd2hpY2ggaXMgdXNlZCB0byBhbGxvdyB5eXdyYXAoKSdzIHRvIGRv
IGJ1ZmZlciBzd2l0Y2hlcwp8ICAqIGluc3RlYWQgb2Ygc2V0dGluZyB1cCBhIGZyZXNoIHl5
aW4uICBBIGJpdCBvZiBhIGhhY2sgLi4uCnwgICovCnwgc3RhdGljIGludCB5eV9kaWRfYnVm
ZmVyX3N3aXRjaF9vbl9lb2Y7CnwgCnwgdm9pZCB5eXJlc3RhcnQgWVlfUFJPVE8oKCBGSUxF
ICppbnB1dF9maWxlICkpOwp8IAp8IHZvaWQgeXlfc3dpdGNoX3RvX2J1ZmZlciBZWV9QUk9U
TygoIFlZX0JVRkZFUl9TVEFURSBuZXdfYnVmZmVyICkpOwp8IHZvaWQgeXlfbG9hZF9idWZm
ZXJfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8IFlZX0JVRkZFUl9TVEFURSB5eV9jcmVh
dGVfYnVmZmVyIFlZX1BST1RPKCggRklMRSAqZmlsZSwgaW50IHNpemUgKSk7Cnwgdm9pZCB5
eV9kZWxldGVfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRFIGIgKSk7Cnwgdm9p
ZCB5eV9pbml0X2J1ZmZlciBZWV9QUk9UTygoIFlZX0JVRkZFUl9TVEFURSBiLCBGSUxFICpm
aWxlICkpOwp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NU
QVRFIGIgKSk7CnwgI2RlZmluZSBZWV9GTFVTSF9CVUZGRVIgeXlfZmx1c2hfYnVmZmVyKCB5
eV9jdXJyZW50X2J1ZmZlciApCnwgCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnVmZmVy
IFlZX1BST1RPKCggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUgKSk7CnwgWVlfQlVGRkVS
X1NUQVRFIHl5X3NjYW5fc3RyaW5nIFlZX1BST1RPKCggeXljb25zdCBjaGFyICp5eV9zdHIg
KSk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMgWVlfUFJPVE8oKCB5eWNvbnN0
IGNoYXIgKmJ5dGVzLCBpbnQgbGVuICkpOwp8IAp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2Fs
bG9jIFlZX1BST1RPKCggeXlfc2l6ZV90ICkpOwp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X3Jl
YWxsb2MgWVlfUFJPVE8oKCB2b2lkICosIHl5X3NpemVfdCApKSBfX3VudXNlZDsKfCBzdGF0
aWMgdm9pZCB5eV9mbGV4X2ZyZWUgWVlfUFJPVE8oKCB2b2lkICogKSk7CnwgCnwgI2RlZmlu
ZSB5eV9uZXdfYnVmZmVyIHl5X2NyZWF0ZV9idWZmZXIKfCAKfCAjZGVmaW5lIHl5X3NldF9p
bnRlcmFjdGl2ZShpc19pbnRlcmFjdGl2ZSkgXAp8IAl7IFwKfCAJaWYgKCAhIHl5X2N1cnJl
bnRfYnVmZmVyICkgXAp8IAkJeXlfY3VycmVudF9idWZmZXIgPSB5eV9jcmVhdGVfYnVmZmVy
KCB5eWluLCBZWV9CVUZfU0laRSApOyBcCnwgCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9pc19p
bnRlcmFjdGl2ZSA9IGlzX2ludGVyYWN0aXZlOyBcCnwgCX0KfCAKfCAjZGVmaW5lIHl5X3Nl
dF9ib2woYXRfYm9sKSBcCnwgCXsgXAp8IAlpZiAoICEgeXlfY3VycmVudF9idWZmZXIgKSBc
CnwgCQl5eV9jdXJyZW50X2J1ZmZlciA9IHl5X2NyZWF0ZV9idWZmZXIoIHl5aW4sIFlZX0JV
Rl9TSVpFICk7IFwKfCAJeXlfY3VycmVudF9idWZmZXItPnl5X2F0X2JvbCA9IGF0X2JvbDsg
XAp8IAl9CnwgCnwgI2RlZmluZSBZWV9BVF9CT0woKSAoeXlfY3VycmVudF9idWZmZXItPnl5
X2F0X2JvbCkKfCAKfCAKfCAjZGVmaW5lIFlZX1VTRVNfUkVKRUNUCnwgdHlwZWRlZiB1bnNp
Z25lZCBjaGFyIFlZX0NIQVI7CnwgRklMRSAqeXlpbiA9IChGSUxFICopIDAsICp5eW91dCA9
IChGSUxFICopIDA7CnwgdHlwZWRlZiBpbnQgeXlfc3RhdGVfdHlwZTsKfCBleHRlcm4gY2hh
ciAqeXl0ZXh0Owp8ICNkZWZpbmUgeXl0ZXh0X3B0ciB5eXRleHQKfCAKfCBzdGF0aWMgeXlf
c3RhdGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8
IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxfdHJhbnMgWVlfUFJPVE8oKCB5eV9z
dGF0ZV90eXBlIGN1cnJlbnRfc3RhdGUgKSk7Cnwgc3RhdGljIGludCB5eV9nZXRfbmV4dF9i
dWZmZXIgWVlfUFJPVE8oKCB2b2lkICkpOwp8IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vycm9y
IFlZX1BST1RPKCggeXljb25zdCBjaGFyIG1zZ1tdICkpIF9fZGVhZDI7CnwgCnwgLyogRG9u
ZSBhZnRlciB0aGUgY3VycmVudCBwYXR0ZXJuIGhhcyBiZWVuIG1hdGNoZWQgYW5kIGJlZm9y
ZSB0aGUKfCAgKiBjb3JyZXNwb25kaW5nIGFjdGlvbiAtIHNldHMgdXAgeXl0ZXh0Lgp8ICAq
Lwp8ICNkZWZpbmUgWVlfRE9fQkVGT1JFX0FDVElPTiBcCnwgCXl5dGV4dF9wdHIgPSB5eV9i
cDsgXAp8IAl5eXRleHRfcHRyIC09IHl5X21vcmVfbGVuOyBcCnwgCXl5bGVuZyA9IChpbnQp
ICh5eV9jcCAtIHl5dGV4dF9wdHIpOyBcCnwgCXl5X2hvbGRfY2hhciA9ICp5eV9jcDsgXAp8
IAkqeXlfY3AgPSAnXDAnOyBcCnwgCXl5X2NfYnVmX3AgPSB5eV9jcDsKfCAKfCAjZGVmaW5l
IFlZX05VTV9SVUxFUyA4CnwgI2RlZmluZSBZWV9FTkRfT0ZfQlVGRkVSIDkKfCBzdGF0aWMg
eXljb25zdCBzaG9ydCBpbnQgeXlfYWNjbGlzdFsyM10gPQp8ICAgICB7ICAgMCwKfCAgICAg
ICAgIDksICAgIDcsICAgIDgsICAgIDgsICAgIDEsICAgIDcsICAgIDgsICAgIDIsICAgIDcs
ICAgIDgsCnwgICAgICAgICAzLCAgICA3LCAgICA4LCAgICA0LCAgICA3LCAgICA4LCAgICA1
LCAgICA3LCAgICA4LCAgICA2LAp8ICAgICAgICAgNywgICAgOAp8ICAgICB9IDsKfCAKfCBz
dGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfYWNjZXB0WzE0XSA9CnwgICAgIHsgICAwLAp8
ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMiwgICAgNCwgICAgNSwgICAgOCwgICAxMSwg
ICAxNCwgICAxNywKfCAgICAgICAgMjAsICAgMjMsICAgMjMKfCAgICAgfSA7CnwgCnwgc3Rh
dGljIHl5Y29uc3QgaW50IHl5X2VjWzI1Nl0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDIs
CnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8
ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAg
ICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDMsICAgIDQsICAg
IDUsICAgIDYsCnwgCnwgICAgICAgICA3LCAgICA4LCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwg
ICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAg
ICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8IAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAg
ICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAg
ICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5
eWNvbnN0IGludCB5eV9tZXRhWzldID0KfCAgICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxCnwgICAgIH0gOwp8IAp8IHN0
YXRpYyB5eWNvbnN0IHNob3J0IGludCB5eV9iYXNlWzEzXSA9CnwgICAgIHsgICAwLAp8ICAg
ICAgICAgMCwgICAgMCwgICAgOSwgICAxMCwgICAxMCwgICAxMCwgICAxMCwgICAxMCwgICAx
MCwgICAxMCwKfCAgICAgICAgMTAsICAgMTAKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29u
c3Qgc2hvcnQgaW50IHl5X2RlZlsxM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgMTIsICAg
IDEsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsCnwg
ICAgICAgIDEyLCAgICAwCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGlu
dCB5eV9ueHRbMTldID0KfCAgICAgeyAgIDAsCnwgICAgICAgICA0LCAgICA1LCAgICA2LCAg
ICA3LCAgICA4LCAgICA5LCAgIDEwLCAgIDExLCAgIDEyLCAgICAzLAp8ICAgICAgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMgp8ICAgICB9IDsKfCAK
fCBzdGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfY2hrWzE5XSA9CnwgICAgIHsgICAwLAp8
ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMywgICAxMiwKfCAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIs
ICAgMTIsICAgMTIKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfc3Rh
dGVfYnVmW1lZX0JVRl9TSVpFICsgMl0sICp5eV9zdGF0ZV9wdHI7Cnwgc3RhdGljIGNoYXIg
Knl5X2Z1bGxfbWF0Y2g7Cnwgc3RhdGljIGludCB5eV9scDsKfCAjZGVmaW5lIFJFSkVDVCBc
CnwgeyBcCnwgKnl5X2NwID0geXlfaG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0
dGluZyB1cCB5eXRleHQgKi8gXAp8IHl5X2NwID0geXlfZnVsbF9tYXRjaDsgLyogcmVzdG9y
ZSBwb3NzLiBiYWNrZWQtb3ZlciB0ZXh0ICovIFwKfCArK3l5X2xwOyBcCnwgZ290byBmaW5k
X3J1bGU7IFwKfCB9Cnwgc3RhdGljIGludCB5eV9tb3JlX2ZsYWcgPSAwOwp8IHN0YXRpYyBp
bnQgeXlfbW9yZV9sZW4gPSAwOwp8ICNkZWZpbmUgeXltb3JlKCkgKHl5X21vcmVfZmxhZyA9
IDEpCnwgI2RlZmluZSBZWV9NT1JFX0FESiB5eV9tb3JlX2xlbgp8ICNkZWZpbmUgWVlfUkVT
VE9SRV9ZWV9NT1JFX09GRlNFVAp8IGNoYXIgKnl5dGV4dDsKfCAjbGluZSAxICJjb25mdGVz
dC5sIgp8ICNkZWZpbmUgSU5JVElBTCAwCnwgI2xpbmUgMzkxICJsZXgueXkuYyIKfCAKfCAv
KiBNYWNyb3MgYWZ0ZXIgdGhpcyBwb2ludCBjYW4gYWxsIGJlIG92ZXJyaWRkZW4gYnkgdXNl
ciBkZWZpbml0aW9ucyBpbgp8ICAqIHNlY3Rpb24gMS4KfCAgKi8KfCAKfCAjaWZuZGVmIFlZ
X1NLSVBfWVlXUkFQCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiBpbnQgeXl3
cmFwIFlZX1BST1RPKCggdm9pZCApKTsKfCAjZWxzZQp8IGV4dGVybiBpbnQgeXl3cmFwIFlZ
X1BST1RPKCggdm9pZCApKTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAjaWZuZGVmIFlZX05P
X1VOUFVUCnwgc3RhdGljIHZvaWQgeXl1bnB1dCBZWV9QUk9UTygoIGludCBjLCBjaGFyICpi
dWZfcHRyICkpOwp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgeXl0ZXh0X3B0cgp8IHN0YXRpYyB2
b2lkIHl5X2ZsZXhfc3RybmNweSBZWV9QUk9UTygoIGNoYXIgKiwgeXljb25zdCBjaGFyICos
IGludCApKTsKfCAjZW5kaWYKfCAKfCAjaWZkZWYgWVlfTkVFRF9TVFJMRU4KfCBzdGF0aWMg
aW50IHl5X2ZsZXhfc3RybGVuIFlZX1BST1RPKCggeXljb25zdCBjaGFyICogKSk7CnwgI2Vu
ZGlmCnwgCnwgI2lmbmRlZiBZWV9OT19JTlBVVAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IHN0
YXRpYyBpbnQgeXlpbnB1dCBZWV9QUk9UTygoIHZvaWQgKSk7CnwgI2Vsc2UKfCBzdGF0aWMg
aW50IGlucHV0IFlZX1BST1RPKCggdm9pZCApKTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAj
aWYgWVlfU1RBQ0tfVVNFRAp8IHN0YXRpYyBpbnQgeXlfc3RhcnRfc3RhY2tfcHRyID0gMDsK
fCBzdGF0aWMgaW50IHl5X3N0YXJ0X3N0YWNrX2RlcHRoID0gMDsKfCBzdGF0aWMgaW50ICp5
eV9zdGFydF9zdGFjayA9IDA7CnwgI2lmbmRlZiBZWV9OT19QVVNIX1NUQVRFCnwgc3RhdGlj
IHZvaWQgeXlfcHVzaF9zdGF0ZSBZWV9QUk9UTygoIGludCBuZXdfc3RhdGUgKSk7CnwgI2Vu
ZGlmCnwgI2lmbmRlZiBZWV9OT19QT1BfU1RBVEUKfCBzdGF0aWMgdm9pZCB5eV9wb3Bfc3Rh
dGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8ICNlbmRpZgp8ICNpZm5kZWYgWVlfTk9fVE9QX1NU
QVRFCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8ICNl
bmRpZgp8IAp8ICNlbHNlCnwgI2RlZmluZSBZWV9OT19QVVNIX1NUQVRFIDEKfCAjZGVmaW5l
IFlZX05PX1BPUF9TVEFURSAxCnwgI2RlZmluZSBZWV9OT19UT1BfU1RBVEUgMQp8ICNlbmRp
Zgp8IAp8ICNpZmRlZiBZWV9NQUxMT0NfREVDTAp8IFlZX01BTExPQ19ERUNMCnwgI2Vsc2UK
fCAjaWYgX19TVERDX18KfCAjaWZuZGVmIF9fY3BsdXNwbHVzCnwgI2luY2x1ZGUgPHN0ZGxp
Yi5oPgp8ICNlbmRpZgp8ICNlbHNlCnwgLyogSnVzdCB0cnkgdG8gZ2V0IGJ5IHdpdGhvdXQg
ZGVjbGFyaW5nIHRoZSByb3V0aW5lcy4gIFRoaXMgd2lsbCBmYWlsCnwgICogbWlzZXJhYmx5
IG9uIG5vbi1BTlNJIHN5c3RlbXMgZm9yIHdoaWNoIHNpemVvZihzaXplX3QpICE9IHNpemVv
ZihpbnQpCnwgICogb3Igc2l6ZW9mKHZvaWQqKSAhPSBzaXplb2YoaW50KS4KfCAgKi8KfCAj
ZW5kaWYKfCAjZW5kaWYKfCAKfCAvKiBBbW91bnQgb2Ygc3R1ZmYgdG8gc2x1cnAgdXAgd2l0
aCBlYWNoIHJlYWQuICovCnwgI2lmbmRlZiBZWV9SRUFEX0JVRl9TSVpFCnwgI2RlZmluZSBZ
WV9SRUFEX0JVRl9TSVpFIDgxOTIKfCAjZW5kaWYKfCAKfCAvKiBDb3B5IHdoYXRldmVyIHRo
ZSBsYXN0IHJ1bGUgbWF0Y2hlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAqLwp8IAp8ICNp
Zm5kZWYgRUNITwp8IC8qIFRoaXMgdXNlZCB0byBiZSBhbiBmcHV0cygpLCBidXQgc2luY2Ug
dGhlIHN0cmluZyBtaWdodCBjb250YWluIE5VTCdzLAp8ICAqIHdlIG5vdyB1c2UgZndyaXRl
KCkuCnwgICovCnwgI2RlZmluZSBFQ0hPICh2b2lkKSBmd3JpdGUoIHl5dGV4dCwgeXlsZW5n
LCAxLCB5eW91dCApCnwgI2VuZGlmCnwgCnwgLyogR2V0cyBpbnB1dCBhbmQgc3R1ZmZzIGl0
IGludG8gImJ1ZiIuICBudW1iZXIgb2YgY2hhcmFjdGVycyByZWFkLCBvciBZWV9OVUxMLAp8
ICAqIGlzIHJldHVybmVkIGluICJyZXN1bHQiLgp8ICAqLwp8ICNpZm5kZWYgWVlfSU5QVVQK
fCAjZGVmaW5lIFlZX0lOUFVUKGJ1ZixyZXN1bHQsbWF4X3NpemUpIFwKfCAJaWYgKCB5eV9j
dXJyZW50X2J1ZmZlci0+eXlfaXNfaW50ZXJhY3RpdmUgKSBcCnwgCQl7IFwKfCAJCWludCBj
ID0gJyonLCBuOyBcCnwgCQlmb3IgKCBuID0gMDsgbiA8IG1heF9zaXplICYmIFwKfCAJCQkg
ICAgIChjID0gZ2V0YyggeXlpbiApKSAhPSBFT0YgJiYgYyAhPSAnXG4nOyArK24gKSBcCnwg
CQkJYnVmW25dID0gKGNoYXIpIGM7IFwKfCAJCWlmICggYyA9PSAnXG4nICkgXAp8IAkJCWJ1
ZltuKytdID0gKGNoYXIpIGM7IFwKfCAJCWlmICggYyA9PSBFT0YgJiYgZmVycm9yKCB5eWlu
ICkgKSBcCnwgCQkJWVlfRkFUQUxfRVJST1IoICJpbnB1dCBpbiBmbGV4IHNjYW5uZXIgZmFp
bGVkIiApOyBcCnwgCQlyZXN1bHQgPSBuOyBcCnwgCQl9IFwKfCAJZWxzZSBpZiAoICgocmVz
dWx0ID0gZnJlYWQoIGJ1ZiwgMSwgbWF4X3NpemUsIHl5aW4gKSkgPT0gMCkgXAp8IAkJICAm
JiBmZXJyb3IoIHl5aW4gKSApIFwKfCAJCVlZX0ZBVEFMX0VSUk9SKCAiaW5wdXQgaW4gZmxl
eCBzY2FubmVyIGZhaWxlZCIgKTsKfCAjZW5kaWYKfCAKfCAvKiBObyBzZW1pLWNvbG9uIGFm
dGVyIHJldHVybjsgY29ycmVjdCB1c2FnZSBpcyB0byB3cml0ZSAieXl0ZXJtaW5hdGUoKTsi
IC0KfCAgKiB3ZSBkb24ndCB3YW50IGFuIGV4dHJhICc7JyBhZnRlciB0aGUgInJldHVybiIg
YmVjYXVzZSB0aGF0IHdpbGwgY2F1c2UKfCAgKiBzb21lIGNvbXBpbGVycyB0byBjb21wbGFp
biBhYm91dCB1bnJlYWNoYWJsZSBzdGF0ZW1lbnRzLgp8ICAqLwp8ICNpZm5kZWYgeXl0ZXJt
aW5hdGUKfCAjZGVmaW5lIHl5dGVybWluYXRlKCkgcmV0dXJuIFlZX05VTEwKfCAjZW5kaWYK
fCAKfCAvKiBOdW1iZXIgb2YgZW50cmllcyBieSB3aGljaCBzdGFydC1jb25kaXRpb24gc3Rh
Y2sgZ3Jvd3MuICovCnwgI2lmbmRlZiBZWV9TVEFSVF9TVEFDS19JTkNSCnwgI2RlZmluZSBZ
WV9TVEFSVF9TVEFDS19JTkNSIDI1CnwgI2VuZGlmCnwgCnwgLyogUmVwb3J0IGEgZmF0YWwg
ZXJyb3IuICovCnwgI2lmbmRlZiBZWV9GQVRBTF9FUlJPUgp8ICNkZWZpbmUgWVlfRkFUQUxf
RVJST1IobXNnKSB5eV9mYXRhbF9lcnJvciggbXNnICkKfCAjZW5kaWYKfCAKfCAvKiBEZWZh
dWx0IGRlY2xhcmF0aW9uIG9mIGdlbmVyYXRlZCBzY2FubmVyIC0gYSBkZWZpbmUgc28gdGhl
IHVzZXIgY2FuCnwgICogZWFzaWx5IGFkZCBwYXJhbWV0ZXJzLgp8ICAqLwp8ICNpZm5kZWYg
WVlfREVDTAp8ICNkZWZpbmUgWVlfREVDTCBpbnQgeXlsZXggWVlfUFJPVE8oKCB2b2lkICkp
CnwgI2VuZGlmCnwgCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVh
Y2ggcnVsZSwgYWZ0ZXIgeXl0ZXh0IGFuZCB5eWxlbmcKfCAgKiBoYXZlIGJlZW4gc2V0IHVw
Lgp8ICAqLwp8ICNpZm5kZWYgWVlfVVNFUl9BQ1RJT04KfCAjZGVmaW5lIFlZX1VTRVJfQUNU
SU9OCnwgI2VuZGlmCnwgCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgZW5kIG9mIGVhY2gg
cnVsZS4gKi8KfCAjaWZuZGVmIFlZX0JSRUFLCnwgI2RlZmluZSBZWV9CUkVBSyBicmVhazsK
fCAjZW5kaWYKfCAKfCAjZGVmaW5lIFlZX1JVTEVfU0VUVVAgXAp8IAlZWV9VU0VSX0FDVElP
Tgp8IAp8IFlZX0RFQ0wKfCAJewp8IAl5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7
CnwgCWNoYXIgKnl5X2NwLCAqeXlfYnA7CnwgCWludCB5eV9hY3Q7CnwgCnwgI2xpbmUgMSAi
Y29uZnRlc3QubCIKfCAKfCAjbGluZSA1NDQgImxleC55eS5jIgp8IAp8IAlpZiAoIHl5X2lu
aXQgKQp8IAkJewp8IAkJeXlfaW5pdCA9IDA7CnwgCnwgI2lmZGVmIFlZX1VTRVJfSU5JVAp8
IAkJWVlfVVNFUl9JTklUOwp8ICNlbmRpZgp8IAp8IAkJaWYgKCAhIHl5X3N0YXJ0ICkKfCAJ
CQl5eV9zdGFydCA9IDE7CS8qIGZpcnN0IHN0YXJ0IHN0YXRlICovCnwgCnwgCQlpZiAoICEg
eXlpbiApCnwgCQkJeXlpbiA9IHN0ZGluOwp8IAp8IAkJaWYgKCAhIHl5b3V0ICkKfCAJCQl5
eW91dCA9IHN0ZG91dDsKfCAKfCAJCWlmICggISB5eV9jdXJyZW50X2J1ZmZlciApCnwgCQkJ
eXlfY3VycmVudF9idWZmZXIgPQp8IAkJCQl5eV9jcmVhdGVfYnVmZmVyKCB5eWluLCBZWV9C
VUZfU0laRSApOwp8IAp8IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAJCX0KfCAKfCAJ
d2hpbGUgKCAxICkJCS8qIGxvb3BzIHVudGlsIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQgKi8K
fCAJCXsKfCAJCXl5X21vcmVfbGVuID0gMDsKfCAJCWlmICggeXlfbW9yZV9mbGFnICkKfCAJ
CQl7CnwgCQkJeXlfbW9yZV9sZW4gPSB5eV9jX2J1Zl9wIC0geXl0ZXh0X3B0cjsKfCAJCQl5
eV9tb3JlX2ZsYWcgPSAwOwp8IAkJCX0KfCAJCXl5X2NwID0geXlfY19idWZfcDsKfCAKfCAJ
CS8qIFN1cHBvcnQgb2YgeXl0ZXh0LiAqLwp8IAkJKnl5X2NwID0geXlfaG9sZF9jaGFyOwp8
IAp8IAkJLyogeXlfYnAgcG9pbnRzIHRvIHRoZSBwb3NpdGlvbiBpbiB5eV9jaF9idWYgb2Yg
dGhlIHN0YXJ0IG9mCnwgCQkgKiB0aGUgY3VycmVudCBydW4uCnwgCQkgKi8KfCAJCXl5X2Jw
ID0geXlfY3A7CnwgCnwgCQl5eV9jdXJyZW50X3N0YXRlID0geXlfc3RhcnQ7CnwgCQl5eV9z
dGF0ZV9wdHIgPSB5eV9zdGF0ZV9idWY7CnwgCQkqeXlfc3RhdGVfcHRyKysgPSB5eV9jdXJy
ZW50X3N0YXRlOwp8IHl5X21hdGNoOgp8IAkJZG8KfCAJCQl7CnwgCQkJWVlfQ0hBUiB5eV9j
ID0geXlfZWNbWVlfU0NfVE9fVUkoKnl5X2NwKV07CnwgCQkJd2hpbGUgKCB5eV9jaGtbeXlf
YmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9IHl5X2N1cnJlbnRfc3RhdGUgKQp8
IAkJCQl7CnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSAoaW50KSB5eV9kZWZbeXlfY3VycmVu
dF9zdGF0ZV07CnwgCQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAxMyApCnwgCQkJCQl5
eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCQkJfQp8IAkJCXl5X2N1
cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1bnNp
Z25lZCBpbnQpIHl5X2NdOwp8IAkJCSp5eV9zdGF0ZV9wdHIrKyA9IHl5X2N1cnJlbnRfc3Rh
dGU7CnwgCQkJKyt5eV9jcDsKfCAJCQl9CnwgCQl3aGlsZSAoIHl5X2Jhc2VbeXlfY3VycmVu
dF9zdGF0ZV0gIT0gMTAgKTsKfCAKfCB5eV9maW5kX2FjdGlvbjoKfCAJCXl5X2N1cnJlbnRf
c3RhdGUgPSAqLS15eV9zdGF0ZV9wdHI7CnwgCQl5eV9scCA9IHl5X2FjY2VwdFt5eV9jdXJy
ZW50X3N0YXRlXTsKfCBnb3RvIGZpbmRfcnVsZTsgLyogYXZvaWQgYGRlZmluZWQgYnV0IG5v
dCB1c2VkJyB3YXJuaW5nICovCnwgZmluZF9ydWxlOiAvKiB3ZSBicmFuY2ggdG8gdGhpcyBs
YWJlbCB3aGVuIGJhY2tpbmcgdXAgKi8KfCAJCWZvciAoIDsgOyApIC8qIHVudGlsIHdlIGZp
bmQgd2hhdCBydWxlIHdlIG1hdGNoZWQgKi8KfCAJCQl7CnwgCQkJaWYgKCB5eV9scCAmJiB5
eV9scCA8IHl5X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlICsgMV0gKQp8IAkJCQl7CnwgCQkJ
CXl5X2FjdCA9IHl5X2FjY2xpc3RbeXlfbHBdOwp8IAkJCQkJewp8IAkJCQkJeXlfZnVsbF9t
YXRjaCA9IHl5X2NwOwp8IAkJCQkJYnJlYWs7CnwgCQkJCQl9CnwgCQkJCX0KfCAJCQktLXl5
X2NwOwp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSAqLS15eV9zdGF0ZV9wdHI7CnwgCQkJeXlf
bHAgPSB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJfQp8IAp8IAkJWVlfRE9f
QkVGT1JFX0FDVElPTjsKfCAKfCAKfCBkb19hY3Rpb246CS8qIFRoaXMgbGFiZWwgaXMgdXNl
ZCBvbmx5IHRvIGFjY2VzcyBFT0YgYWN0aW9ucy4gKi8KfCAKfCAKfCAJCXN3aXRjaCAoIHl5
X2FjdCApCnwgCXsgLyogYmVnaW5uaW5nIG9mIGFjdGlvbiBzd2l0Y2ggKi8KfCBjYXNlIDE6
CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDIgImNvbmZ0ZXN0LmwiCnwgeyBFQ0hPOyB9Cnwg
CVlZX0JSRUFLCnwgY2FzZSAyOgp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSAzICJjb25mdGVz
dC5sIgp8IHsgUkVKRUNUOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAzOgp8IFlZX1JVTEVfU0VU
VVAKfCAjbGluZSA0ICJjb25mdGVzdC5sIgp8IHsgeXltb3JlICgpOyB9CnwgCVlZX0JSRUFL
CnwgY2FzZSA0Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA1ICJjb25mdGVzdC5sIgp8IHsg
eXlsZXNzICgxKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNToKfCBZWV9SVUxFX1NFVFVQCnwg
I2xpbmUgNiAiY29uZnRlc3QubCIKfCB7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0KfCAJ
WVlfQlJFQUsKfCBjYXNlIDY6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDcgImNvbmZ0ZXN0
LmwiCnwgeyB1bnB1dCAoeXl0ZXh0WzBdKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNzoKfCBZ
WV9SVUxFX1NFVFVQCnwgI2xpbmUgOCAiY29uZnRlc3QubCIKfCB7IEJFR0lOIElOSVRJQUw7
IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDg6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDkgImNv
bmZ0ZXN0LmwiCnwgRUNITzsKfCAJWVlfQlJFQUsKfCAjbGluZSA2NzUgImxleC55eS5jIgp8
IAkJCWNhc2UgWVlfU1RBVEVfRU9GKElOSVRJQUwpOgp8IAkJCQl5eXRlcm1pbmF0ZSgpOwp8
IAp8IAljYXNlIFlZX0VORF9PRl9CVUZGRVI6CnwgCQl7CnwgCQkvKiBBbW91bnQgb2YgdGV4
dCBtYXRjaGVkIG5vdCBpbmNsdWRpbmcgdGhlIEVPQiBjaGFyLiAqLwp8IAkJaW50IHl5X2Ft
b3VudF9vZl9tYXRjaGVkX3RleHQgPSAoaW50KSAoeXlfY3AgLSB5eXRleHRfcHRyKSAtIDE7
CnwgCnwgCQkvKiBVbmRvIHRoZSBlZmZlY3RzIG9mIFlZX0RPX0JFRk9SRV9BQ1RJT04uICov
CnwgCQkqeXlfY3AgPSB5eV9ob2xkX2NoYXI7CnwgCQlZWV9SRVNUT1JFX1lZX01PUkVfT0ZG
U0VUCnwgCnwgCQlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZmZXJfc3RhdHVzID09
IFlZX0JVRkZFUl9ORVcgKQp8IAkJCXsKfCAJCQkvKiBXZSdyZSBzY2FubmluZyBhIG5ldyBm
aWxlIG9yIGlucHV0IHNvdXJjZS4gIEl0J3MKfCAJCQkgKiBwb3NzaWJsZSB0aGF0IHRoaXMg
aGFwcGVuZWQgYmVjYXVzZSB0aGUgdXNlcgp8IAkJCSAqIGp1c3QgcG9pbnRlZCB5eWluIGF0
IGEgbmV3IHNvdXJjZSBhbmQgY2FsbGVkCnwgCQkJICogeXlsZXgoKS4gIElmIHNvLCB0aGVu
IHdlIGhhdmUgdG8gYXNzdXJlCnwgCQkJICogY29uc2lzdGVuY3kgYmV0d2VlbiB5eV9jdXJy
ZW50X2J1ZmZlciBhbmQgb3VyCnwgCQkJICogZ2xvYmFscy4gIEhlcmUgaXMgdGhlIHJpZ2h0
IHBsYWNlIHRvIGRvIHNvLCBiZWNhdXNlCnwgCQkJICogdGhpcyBpcyB0aGUgZmlyc3QgYWN0
aW9uIChvdGhlciB0aGFuIHBvc3NpYmx5IGEKfCAJCQkgKiBiYWNrLXVwKSB0aGF0IHdpbGwg
bWF0Y2ggZm9yIHRoZSBuZXcgaW5wdXQgc291cmNlLgp8IAkJCSAqLwp8IAkJCXl5X25fY2hh
cnMgPSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFyczsKfCAJCQl5eV9jdXJyZW50X2J1
ZmZlci0+eXlfaW5wdXRfZmlsZSA9IHl5aW47CnwgCQkJeXlfY3VycmVudF9idWZmZXItPnl5
X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZGRVJfTk9STUFMOwp8IAkJCX0KfCAKfCAJCS8qIE5v
dGUgdGhhdCBoZXJlIHdlIHRlc3QgZm9yIHl5X2NfYnVmX3AgIjw9IiB0byB0aGUgcG9zaXRp
b24KfCAJCSAqIG9mIHRoZSBmaXJzdCBFT0IgaW4gdGhlIGJ1ZmZlciwgc2luY2UgeXlfY19i
dWZfcCB3aWxsCnwgCQkgKiBhbHJlYWR5IGhhdmUgYmVlbiBpbmNyZW1lbnRlZCBwYXN0IHRo
ZSBOVUwgY2hhcmFjdGVyCnwgCQkgKiAoc2luY2UgYWxsIHN0YXRlcyBtYWtlIHRyYW5zaXRp
b25zIG9uIEVPQiB0byB0aGUKfCAJCSAqIGVuZC1vZi1idWZmZXIgc3RhdGUpLiAgQ29udHJh
c3QgdGhpcyB3aXRoIHRoZSB0ZXN0CnwgCQkgKiBpbiBpbnB1dCgpLgp8IAkJICovCnwgCQlp
ZiAoIHl5X2NfYnVmX3AgPD0gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbeXlfbl9j
aGFyc10gKQp8IAkJCXsgLyogVGhpcyB3YXMgcmVhbGx5IGEgTlVMLiAqLwp8IAkJCXl5X3N0
YXRlX3R5cGUgeXlfbmV4dF9zdGF0ZTsKfCAKfCAJCQl5eV9jX2J1Zl9wID0geXl0ZXh0X3B0
ciArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQ7CnwgCnwgCQkJeXlfY3VycmVudF9zdGF0
ZSA9IHl5X2dldF9wcmV2aW91c19zdGF0ZSgpOwp8IAp8IAkJCS8qIE9rYXksIHdlJ3JlIG5v
dyBwb3NpdGlvbmVkIHRvIG1ha2UgdGhlIE5VTAp8IAkJCSAqIHRyYW5zaXRpb24uICBXZSBj
b3VsZG4ndCBoYXZlCnwgCQkJICogeXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCkgZ28gYWhlYWQg
YW5kIGRvIGl0CnwgCQkJICogZm9yIHVzIGJlY2F1c2UgaXQgZG9lc24ndCBrbm93IGhvdyB0
byBkZWFsCnwgCQkJICogd2l0aCB0aGUgcG9zc2liaWxpdHkgb2YgamFtbWluZyAoYW5kIHdl
IGRvbid0CnwgCQkJICogd2FudCB0byBidWlsZCBqYW1taW5nIGludG8gaXQgYmVjYXVzZSB0
aGVuIGl0CnwgCQkJICogd2lsbCBydW4gbW9yZSBzbG93bHkpLgp8IAkJCSAqLwp8IAp8IAkJ
CXl5X25leHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5zKCB5eV9jdXJyZW50X3N0YXRlICk7
CnwgCnwgCQkJeXlfYnAgPSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7CnwgCnwgCQkJaWYg
KCB5eV9uZXh0X3N0YXRlICkKfCAJCQkJewp8IAkJCQkvKiBDb25zdW1lIHRoZSBOVUwuICov
CnwgCQkJCXl5X2NwID0gKyt5eV9jX2J1Zl9wOwp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0g
eXlfbmV4dF9zdGF0ZTsKfCAJCQkJZ290byB5eV9tYXRjaDsKfCAJCQkJfQp8IAp8IAkJCWVs
c2UKfCAJCQkJewp8IAkJCQl5eV9jcCA9IHl5X2NfYnVmX3A7CnwgCQkJCWdvdG8geXlfZmlu
ZF9hY3Rpb247CnwgCQkJCX0KfCAJCQl9CnwgCnwgCQllbHNlIHN3aXRjaCAoIHl5X2dldF9u
ZXh0X2J1ZmZlcigpICkKfCAJCQl7CnwgCQkJY2FzZSBFT0JfQUNUX0VORF9PRl9GSUxFOgp8
IAkJCQl7CnwgCQkJCXl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZiA9IDA7CnwgCnwgCQkJ
CWlmICggeXl3cmFwKCkgKQp8IAkJCQkJewp8IAkJCQkJLyogTm90ZTogYmVjYXVzZSB3ZSd2
ZSB0YWtlbiBjYXJlIGluCnwgCQkJCQkgKiB5eV9nZXRfbmV4dF9idWZmZXIoKSB0byBoYXZl
IHNldCB1cAp8IAkJCQkJICogeXl0ZXh0LCB3ZSBjYW4gbm93IHNldCB1cAp8IAkJCQkJICog
eXlfY19idWZfcCBzbyB0aGF0IGlmIHNvbWUgdG90YWwKfCAJCQkJCSAqIGhvc2VyIChsaWtl
IGZsZXggaXRzZWxmKSB3YW50cyB0bwp8IAkJCQkJICogY2FsbCB0aGUgc2Nhbm5lciBhZnRl
ciB3ZSByZXR1cm4gdGhlCnwgCQkJCQkgKiBZWV9OVUxMLCBpdCdsbCBzdGlsbCB3b3JrIC0g
YW5vdGhlcgp8IAkJCQkJICogWVlfTlVMTCB3aWxsIGdldCByZXR1cm5lZC4KfCAJCQkJCSAq
Lwp8IAkJCQkJeXlfY19idWZfcCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsKfCAKfCAJ
CQkJCXl5X2FjdCA9IFlZX1NUQVRFX0VPRihZWV9TVEFSVCk7CnwgCQkJCQlnb3RvIGRvX2Fj
dGlvbjsKfCAJCQkJCX0KfCAKfCAJCQkJZWxzZQp8IAkJCQkJewp8IAkJCQkJaWYgKCAhIHl5
X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZiApCnwgCQkJCQkJWVlfTkVXX0ZJTEU7CnwgCQkJ
CQl9CnwgCQkJCWJyZWFrOwp8IAkJCQl9CnwgCnwgCQkJY2FzZSBFT0JfQUNUX0NPTlRJTlVF
X1NDQU46CnwgCQkJCXl5X2NfYnVmX3AgPQp8IAkJCQkJeXl0ZXh0X3B0ciArIHl5X2Ftb3Vu
dF9vZl9tYXRjaGVkX3RleHQ7CnwgCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRf
cHJldmlvdXNfc3RhdGUoKTsKfCAKfCAJCQkJeXlfY3AgPSB5eV9jX2J1Zl9wOwp8IAkJCQl5
eV9icCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsKfCAJCQkJZ290byB5eV9tYXRjaDsK
fCAKfCAJCQljYXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoKfCAJCQkJeXlfY19idWZfcCA9Cnwg
CQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnNdOwp8IAp8IAkJ
CQl5eV9jdXJyZW50X3N0YXRlID0geXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCk7CnwgCnwgCQkJ
CXl5X2NwID0geXlfY19idWZfcDsKfCAJCQkJeXlfYnAgPSB5eXRleHRfcHRyICsgWVlfTU9S
RV9BREo7CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247CnwgCQkJfQp8IAkJYnJlYWs7Cnwg
CQl9CnwgCnwgCWRlZmF1bHQ6CnwgCQlZWV9GQVRBTF9FUlJPUigKfCAJCQkiZmF0YWwgZmxl
eCBzY2FubmVyIGludGVybmFsIGVycm9yLS1ubyBhY3Rpb24gZm91bmQiICk7CnwgCX0gLyog
ZW5kIG9mIGFjdGlvbiBzd2l0Y2ggKi8KfCAJCX0gLyogZW5kIG9mIHNjYW5uaW5nIG9uZSB0
b2tlbiAqLwp8IAl9IC8qIGVuZCBvZiB5eWxleCAqLwp8IAp8IAp8IC8qIHl5X2dldF9uZXh0
X2J1ZmZlciAtIHRyeSB0byByZWFkIGluIGEgbmV3IGJ1ZmZlcgp8ICAqCnwgICogUmV0dXJu
cyBhIGNvZGUgcmVwcmVzZW50aW5nIGFuIGFjdGlvbjoKfCAgKglFT0JfQUNUX0xBU1RfTUFU
Q0ggLQp8ICAqCUVPQl9BQ1RfQ09OVElOVUVfU0NBTiAtIGNvbnRpbnVlIHNjYW5uaW5nIGZy
b20gY3VycmVudCBwb3NpdGlvbgp8ICAqCUVPQl9BQ1RfRU5EX09GX0ZJTEUgLSBlbmQgb2Yg
ZmlsZQp8ICAqLwp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIGludCB5eV9n
ZXRfbmV4dF9idWZmZXIodm9pZCkKfCAjZWxzZQp8IHN0YXRpYyBpbnQgeXlfZ2V0X25leHRf
YnVmZmVyKCkKfCAjZW5kaWYKfCAJewp8IAljaGFyICpkZXN0ID0geXlfY3VycmVudF9idWZm
ZXItPnl5X2NoX2J1ZjsKfCAJY2hhciAqc291cmNlID0geXl0ZXh0X3B0cjsKfCAJaW50IG51
bWJlcl90b19tb3ZlLCBpOwp8IAlpbnQgcmV0X3ZhbDsKfCAKfCAJaWYgKCB5eV9jX2J1Zl9w
ID4gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbeXlfbl9jaGFycyArIDFdICkKfCAJ
CVlZX0ZBVEFMX0VSUk9SKAp8IAkJImZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJv
ci0tZW5kIG9mIGJ1ZmZlciBtaXNzZWQiICk7CnwgCnwgCWlmICggeXlfY3VycmVudF9idWZm
ZXItPnl5X2ZpbGxfYnVmZmVyID09IDAgKQp8IAkJeyAvKiBEb24ndCB0cnkgdG8gZmlsbCB0
aGUgYnVmZmVyLCBzbyB0aGlzIGlzIGFuIEVPRi4gKi8KfCAJCWlmICggeXlfY19idWZfcCAt
IHl5dGV4dF9wdHIgLSBZWV9NT1JFX0FESiA9PSAxICkKfCAJCQl7CnwgCQkJLyogV2UgbWF0
Y2hlZCBhIHNpbmdsZSBjaGFyYWN0ZXIsIHRoZSBFT0IsIHNvCnwgCQkJICogdHJlYXQgdGhp
cyBhcyBhIGZpbmFsIEVPRi4KfCAJCQkgKi8KfCAJCQlyZXR1cm4gRU9CX0FDVF9FTkRfT0Zf
RklMRTsKfCAJCQl9CnwgCnwgCQllbHNlCnwgCQkJewp8IAkJCS8qIFdlIG1hdGNoZWQgc29t
ZSB0ZXh0IHByaW9yIHRvIHRoZSBFT0IsIGZpcnN0CnwgCQkJICogcHJvY2VzcyBpdC4KfCAJ
CQkgKi8KfCAJCQlyZXR1cm4gRU9CX0FDVF9MQVNUX01BVENIOwp8IAkJCX0KfCAJCX0KfCAK
fCAJLyogVHJ5IHRvIHJlYWQgbW9yZSBkYXRhLiAqLwp8IAp8IAkvKiBGaXJzdCBtb3ZlIGxh
c3QgY2hhcnMgdG8gc3RhcnQgb2YgYnVmZmVyLiAqLwp8IAludW1iZXJfdG9fbW92ZSA9IChp
bnQpICh5eV9jX2J1Zl9wIC0geXl0ZXh0X3B0cikgLSAxOwp8IAp8IAlmb3IgKCBpID0gMDsg
aSA8IG51bWJlcl90b19tb3ZlOyArK2kgKQp8IAkJKihkZXN0KyspID0gKihzb3VyY2UrKyk7
CnwgCnwgCWlmICggeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMgPT0gWVlf
QlVGRkVSX0VPRl9QRU5ESU5HICkKfCAJCS8qIGRvbid0IGRvIHRoZSByZWFkLCBpdCdzIG5v
dCBndWFyYW50ZWVkIHRvIHJldHVybiBhbiBFT0YsCnwgCQkgKiBqdXN0IGZvcmNlIGFuIEVP
Rgp8IAkJICovCnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFycyA9IHl5X25fY2hh
cnMgPSAwOwp8IAp8IAllbHNlCnwgCQl7CnwgCQlpbnQgbnVtX3RvX3JlYWQgPQp8IAkJCXl5
X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6ZSAtIG51bWJlcl90b19tb3ZlIC0gMTsKfCAK
fCAJCXdoaWxlICggbnVtX3RvX3JlYWQgPD0gMCApCnwgCQkJeyAvKiBOb3QgZW5vdWdoIHJv
b20gaW4gdGhlIGJ1ZmZlciAtIGdyb3cgaXQuICovCnwgI2lmZGVmIFlZX1VTRVNfUkVKRUNU
CnwgCQkJWVlfRkFUQUxfRVJST1IoCnwgImlucHV0IGJ1ZmZlciBvdmVyZmxvdywgY2FuJ3Qg
ZW5sYXJnZSBidWZmZXIgYmVjYXVzZSBzY2FubmVyIHVzZXMgUkVKRUNUIiApOwp8ICNlbHNl
CnwgCnwgCQkJLyoganVzdCBhIHNob3J0ZXIgbmFtZSBmb3IgdGhlIGN1cnJlbnQgYnVmZmVy
ICovCnwgCQkJWVlfQlVGRkVSX1NUQVRFIGIgPSB5eV9jdXJyZW50X2J1ZmZlcjsKfCAKfCAJ
CQlpbnQgeXlfY19idWZfcF9vZmZzZXQgPQp8IAkJCQkoaW50KSAoeXlfY19idWZfcCAtIGIt
Pnl5X2NoX2J1Zik7CnwgCnwgCQkJaWYgKCBiLT55eV9pc19vdXJfYnVmZmVyICkKfCAJCQkJ
ewp8IAkJCQlpbnQgbmV3X3NpemUgPSBiLT55eV9idWZfc2l6ZSAqIDI7CnwgCnwgCQkJCWlm
ICggbmV3X3NpemUgPD0gMCApCnwgCQkJCQliLT55eV9idWZfc2l6ZSArPSBiLT55eV9idWZf
c2l6ZSAvIDg7CnwgCQkJCWVsc2UKfCAJCQkJCWItPnl5X2J1Zl9zaXplICo9IDI7CnwgCnwg
CQkJCWItPnl5X2NoX2J1ZiA9IChjaGFyICopCnwgCQkJCQkvKiBJbmNsdWRlIHJvb20gaW4g
Zm9yIDIgRU9CIGNoYXJzLiAqLwp8IAkJCQkJeXlfZmxleF9yZWFsbG9jKCAodm9pZCAqKSBi
LT55eV9jaF9idWYsCnwgCQkJCQkJCSBiLT55eV9idWZfc2l6ZSArIDIgKTsKfCAJCQkJfQp8
IAkJCWVsc2UKfCAJCQkJLyogQ2FuJ3QgZ3JvdyBpdCwgd2UgZG9uJ3Qgb3duIGl0LiAqLwp8
IAkJCQliLT55eV9jaF9idWYgPSAwOwp8IAp8IAkJCWlmICggISBiLT55eV9jaF9idWYgKQp8
IAkJCQlZWV9GQVRBTF9FUlJPUigKfCAJCQkJImZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1
dCBidWZmZXIgb3ZlcmZsb3ciICk7CnwgCnwgCQkJeXlfY19idWZfcCA9ICZiLT55eV9jaF9i
dWZbeXlfY19idWZfcF9vZmZzZXRdOwp8IAp8IAkJCW51bV90b19yZWFkID0geXlfY3VycmVu
dF9idWZmZXItPnl5X2J1Zl9zaXplIC0KfCAJCQkJCQludW1iZXJfdG9fbW92ZSAtIDE7Cnwg
I2VuZGlmCnwgCQkJfQp8IAp8IAkJaWYgKCBudW1fdG9fcmVhZCA+IFlZX1JFQURfQlVGX1NJ
WkUgKQp8IAkJCW51bV90b19yZWFkID0gWVlfUkVBRF9CVUZfU0laRTsKfCAKfCAJCS8qIFJl
YWQgaW4gbW9yZSBkYXRhLiAqLwp8IAkJWVlfSU5QVVQoICgmeXlfY3VycmVudF9idWZmZXIt
Pnl5X2NoX2J1ZltudW1iZXJfdG9fbW92ZV0pLAp8IAkJCXl5X25fY2hhcnMsIG51bV90b19y
ZWFkICk7CnwgCnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFycyA9IHl5X25fY2hh
cnM7CnwgCQl9CnwgCnwgCWlmICggeXlfbl9jaGFycyA9PSAwICkKfCAJCXsKfCAJCWlmICgg
bnVtYmVyX3RvX21vdmUgPT0gWVlfTU9SRV9BREogKQp8IAkJCXsKfCAJCQlyZXRfdmFsID0g
RU9CX0FDVF9FTkRfT0ZfRklMRTsKfCAJCQl5eXJlc3RhcnQoIHl5aW4gKTsKfCAJCQl9Cnwg
CnwgCQllbHNlCnwgCQkJewp8IAkJCXJldF92YWwgPSBFT0JfQUNUX0xBU1RfTUFUQ0g7Cnwg
CQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMgPQp8IAkJCQlZWV9CVUZG
RVJfRU9GX1BFTkRJTkc7CnwgCQkJfQp8IAkJfQp8IAp8IAllbHNlCnwgCQlyZXRfdmFsID0g
RU9CX0FDVF9DT05USU5VRV9TQ0FOOwp8IAp8IAl5eV9uX2NoYXJzICs9IG51bWJlcl90b19t
b3ZlOwp8IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnNdID0gWVlf
RU5EX09GX0JVRkZFUl9DSEFSOwp8IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5
X25fY2hhcnMgKyAxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsKfCAKfCAJeXl0ZXh0X3B0
ciA9ICZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmWzBdOwp8IAp8IAlyZXR1cm4gcmV0
X3ZhbDsKfCAJfQp8IAp8IAp8IC8qIHl5X2dldF9wcmV2aW91c19zdGF0ZSAtIGdldCB0aGUg
c3RhdGUganVzdCBiZWZvcmUgdGhlIEVPQiBjaGFyIHdhcyByZWFjaGVkICovCnwgCnwgI2lm
ZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgeXlfc3RhdGVfdHlwZSB5eV9nZXRfcHJldmlv
dXNfc3RhdGUodm9pZCkKfCAjZWxzZQp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X2dldF9w
cmV2aW91c19zdGF0ZSgpCnwgI2VuZGlmCnwgCXsKfCAJeXlfc3RhdGVfdHlwZSB5eV9jdXJy
ZW50X3N0YXRlOwp8IAljaGFyICp5eV9jcDsKfCAKfCAJeXlfY3VycmVudF9zdGF0ZSA9IHl5
X3N0YXJ0Owp8IAl5eV9zdGF0ZV9wdHIgPSB5eV9zdGF0ZV9idWY7CnwgCSp5eV9zdGF0ZV9w
dHIrKyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCnwgCWZvciAoIHl5X2NwID0geXl0ZXh0X3B0
ciArIFlZX01PUkVfQURKOyB5eV9jcCA8IHl5X2NfYnVmX3A7ICsreXlfY3AgKQp8IAkJewp8
IAkJWVlfQ0hBUiB5eV9jID0gKCp5eV9jcCA/IHl5X2VjW1lZX1NDX1RPX1VJKCp5eV9jcCld
IDogMSk7CnwgCQl3aGlsZSAoIHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsg
eXlfY10gIT0geXlfY3VycmVudF9zdGF0ZSApCnwgCQkJewp8IAkJCXl5X2N1cnJlbnRfc3Rh
dGUgPSAoaW50KSB5eV9kZWZbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJaWYgKCB5eV9jdXJy
ZW50X3N0YXRlID49IDEzICkKfCAJCQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkg
eXlfY107CnwgCQkJfQp8IAkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5
X2N1cnJlbnRfc3RhdGVdICsgKHVuc2lnbmVkIGludCkgeXlfY107CnwgCQkqeXlfc3RhdGVf
cHRyKysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IAkJfQp8IAp8IAlyZXR1cm4geXlfY3VycmVu
dF9zdGF0ZTsKfCAJfQp8IAp8IAp8IC8qIHl5X3RyeV9OVUxfdHJhbnMgLSB0cnkgdG8gbWFr
ZSBhIHRyYW5zaXRpb24gb24gdGhlIE5VTCBjaGFyYWN0ZXIKfCAgKgp8ICAqIHN5bm9wc2lz
CnwgICoJbmV4dF9zdGF0ZSA9IHl5X3RyeV9OVUxfdHJhbnMoIGN1cnJlbnRfc3RhdGUgKTsK
fCAgKi8KfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB5eV9zdGF0ZV90eXBl
IHl5X3RyeV9OVUxfdHJhbnMoIHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZSApCnwg
I2Vsc2UKfCBzdGF0aWMgeXlfc3RhdGVfdHlwZSB5eV90cnlfTlVMX3RyYW5zKCB5eV9jdXJy
ZW50X3N0YXRlICkKfCB5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7CnwgI2VuZGlm
CnwgCXsKfCAJaW50IHl5X2lzX2phbTsKfCAKfCAJWVlfQ0hBUiB5eV9jID0gMTsKfCAJd2hp
bGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9IHl5X2N1
cnJlbnRfc3RhdGUgKQp8IAkJewp8IAkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2Rl
Zlt5eV9jdXJyZW50X3N0YXRlXTsKfCAJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAxMyAp
CnwgCQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107CnwgCQl9CnwgCXl5
X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1
bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAl5eV9pc19qYW0gPSAoeXlfY3VycmVudF9zdGF0ZSA9
PSAxMik7CnwgCWlmICggISB5eV9pc19qYW0gKQp8IAkJKnl5X3N0YXRlX3B0cisrID0geXlf
Y3VycmVudF9zdGF0ZTsKfCAKfCAJcmV0dXJuIHl5X2lzX2phbSA/IDAgOiB5eV9jdXJyZW50
X3N0YXRlOwp8IAl9CnwgCnwgCnwgI2lmbmRlZiBZWV9OT19VTlBVVAp8ICNpZmRlZiBZWV9V
U0VfUFJPVE9TCnwgc3RhdGljIHZvaWQgeXl1bnB1dCggaW50IGMsIGNoYXIgKnl5X2JwICkK
fCAjZWxzZQp8IHN0YXRpYyB2b2lkIHl5dW5wdXQoIGMsIHl5X2JwICkKfCBpbnQgYzsKfCBj
aGFyICp5eV9icDsKfCAjZW5kaWYKfCAJewp8IAljaGFyICp5eV9jcCA9IHl5X2NfYnVmX3A7
CnwgCnwgCS8qIHVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dCAqLwp8IAkqeXlf
Y3AgPSB5eV9ob2xkX2NoYXI7CnwgCnwgCWlmICggeXlfY3AgPCB5eV9jdXJyZW50X2J1ZmZl
ci0+eXlfY2hfYnVmICsgMiApCnwgCQl7IC8qIG5lZWQgdG8gc2hpZnQgdGhpbmdzIHVwIHRv
IG1ha2Ugcm9vbSAqLwp8IAkJLyogKzIgZm9yIEVPQiBjaGFycy4gKi8KfCAJCWludCBudW1i
ZXJfdG9fbW92ZSA9IHl5X25fY2hhcnMgKyAyOwp8IAkJY2hhciAqZGVzdCA9ICZ5eV9jdXJy
ZW50X2J1ZmZlci0+eXlfY2hfYnVmWwp8IAkJCQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1
Zl9zaXplICsgMl07CnwgCQljaGFyICpzb3VyY2UgPQp8IAkJCQkmeXlfY3VycmVudF9idWZm
ZXItPnl5X2NoX2J1ZltudW1iZXJfdG9fbW92ZV07CnwgCnwgCQl3aGlsZSAoIHNvdXJjZSA+
IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWYgKQp8IAkJCSotLWRlc3QgPSAqLS1zb3Vy
Y2U7CnwgCnwgCQl5eV9jcCArPSAoaW50KSAoZGVzdCAtIHNvdXJjZSk7CnwgCQl5eV9icCAr
PSAoaW50KSAoZGVzdCAtIHNvdXJjZSk7CnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9j
aGFycyA9CnwgCQkJeXlfbl9jaGFycyA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6
ZTsKfCAKfCAJCWlmICggeXlfY3AgPCB5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmICsg
MiApCnwgCQkJWVlfRkFUQUxfRVJST1IoICJmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJm
bG93IiApOwp8IAkJfQp8IAp8IAkqLS15eV9jcCA9IChjaGFyKSBjOwp8IAp8IAp8IAl5eXRl
eHRfcHRyID0geXlfYnA7CnwgCXl5X2hvbGRfY2hhciA9ICp5eV9jcDsKfCAJeXlfY19idWZf
cCA9IHl5X2NwOwp8IAl9CnwgI2VuZGlmCS8qIGlmbmRlZiBZWV9OT19VTlBVVCAqLwp8IAp8
IAp8ICNpZm5kZWYgWVlfTk9fSU5QVVQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBzdGF0aWMg
aW50IHl5aW5wdXQoKQp8ICNlbHNlCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMg
aW50IGlucHV0KHZvaWQpCnwgI2Vsc2UKfCBzdGF0aWMgaW50IGlucHV0KCkKfCAjZW5kaWYK
fCAjZW5kaWYKfCAJewp8IAlpbnQgYzsKfCAKfCAJKnl5X2NfYnVmX3AgPSB5eV9ob2xkX2No
YXI7CnwgCnwgCWlmICggKnl5X2NfYnVmX3AgPT0gWVlfRU5EX09GX0JVRkZFUl9DSEFSICkK
fCAJCXsKfCAJCS8qIHl5X2NfYnVmX3Agbm93IHBvaW50cyB0byB0aGUgY2hhcmFjdGVyIHdl
IHdhbnQgdG8gcmV0dXJuLgp8IAkJICogSWYgdGhpcyBvY2N1cnMgKmJlZm9yZSogdGhlIEVP
QiBjaGFyYWN0ZXJzLCB0aGVuIGl0J3MgYQp8IAkJICogdmFsaWQgTlVMOyBpZiBub3QsIHRo
ZW4gd2UndmUgaGl0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4KfCAJCSAqLwp8IAkJaWYgKCB5
eV9jX2J1Zl9wIDwgJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbeXlfbl9jaGFyc10g
KQp8IAkJCS8qIFRoaXMgd2FzIHJlYWxseSBhIE5VTC4gKi8KfCAJCQkqeXlfY19idWZfcCA9
ICdcMCc7CnwgCnwgCQllbHNlCnwgCQkJeyAvKiBuZWVkIG1vcmUgaW5wdXQgKi8KfCAJCQlp
bnQgb2Zmc2V0ID0geXlfY19idWZfcCAtIHl5dGV4dF9wdHI7CnwgCQkJKyt5eV9jX2J1Zl9w
Owp8IAp8IAkJCXN3aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlcigpICkKfCAJCQkJewp8IAkJ
CQljYXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoKfCAJCQkJCS8qIFRoaXMgaGFwcGVucyBiZWNh
dXNlIHl5X2dfbl9iKCkKfCAJCQkJCSAqIHNlZXMgdGhhdCB3ZSd2ZSBhY2N1bXVsYXRlZCBh
CnwgCQkJCQkgKiB0b2tlbiBhbmQgZmxhZ3MgdGhhdCB3ZSBuZWVkIHRvCnwgCQkJCQkgKiB0
cnkgbWF0Y2hpbmcgdGhlIHRva2VuIGJlZm9yZQp8IAkJCQkJICogcHJvY2VlZGluZy4gIEJ1
dCBmb3IgaW5wdXQoKSwKfCAJCQkJCSAqIHRoZXJlJ3Mgbm8gbWF0Y2hpbmcgdG8gY29uc2lk
ZXIuCnwgCQkJCQkgKiBTbyBjb252ZXJ0IHRoZSBFT0JfQUNUX0xBU1RfTUFUQ0gKfCAJCQkJ
CSAqIHRvIEVPQl9BQ1RfRU5EX09GX0ZJTEUuCnwgCQkJCQkgKi8KfCAKfCAJCQkJCS8qIFJl
c2V0IGJ1ZmZlciBzdGF0dXMuICovCnwgCQkJCQl5eXJlc3RhcnQoIHl5aW4gKTsKfCAKfCAJ
CQkJCS8qIGZhbGwgdGhyb3VnaCAqLwp8IAp8IAkJCQljYXNlIEVPQl9BQ1RfRU5EX09GX0ZJ
TEU6CnwgCQkJCQl7CnwgCQkJCQlpZiAoIHl5d3JhcCgpICkKfCAJCQkJCQlyZXR1cm4gRU9G
Owp8IAp8IAkJCQkJaWYgKCAhIHl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZiApCnwgCQkJ
CQkJWVlfTkVXX0ZJTEU7CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgCQkJCQlyZXR1cm4geXlp
bnB1dCgpOwp8ICNlbHNlCnwgCQkJCQlyZXR1cm4gaW5wdXQoKTsKfCAjZW5kaWYKfCAJCQkJ
CX0KfCAKfCAJCQkJY2FzZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU46CnwgCQkJCQl5eV9jX2J1
Zl9wID0geXl0ZXh0X3B0ciArIG9mZnNldDsKfCAJCQkJCWJyZWFrOwp8IAkJCQl9CnwgCQkJ
fQp8IAkJfQp8IAp8IAljID0gKih1bnNpZ25lZCBjaGFyICopIHl5X2NfYnVmX3A7CS8qIGNh
c3QgZm9yIDgtYml0IGNoYXIncyAqLwp8IAkqeXlfY19idWZfcCA9ICdcMCc7CS8qIHByZXNl
cnZlIHl5dGV4dCAqLwp8IAl5eV9ob2xkX2NoYXIgPSAqKyt5eV9jX2J1Zl9wOwp8IAp8IAp8
IAlyZXR1cm4gYzsKfCAJfQp8ICNlbmRpZgkvKiBpZm5kZWYgWVlfTk9fSU5QVVQgKi8KfCAK
fCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHZvaWQgeXlyZXN0YXJ0KCBGSUxFICppbnB1
dF9maWxlICkKfCAjZWxzZQp8IHZvaWQgeXlyZXN0YXJ0KCBpbnB1dF9maWxlICkKfCBGSUxF
ICppbnB1dF9maWxlOwp8ICNlbmRpZgp8IAl7CnwgCWlmICggISB5eV9jdXJyZW50X2J1ZmZl
ciApCnwgCQl5eV9jdXJyZW50X2J1ZmZlciA9IHl5X2NyZWF0ZV9idWZmZXIoIHl5aW4sIFlZ
X0JVRl9TSVpFICk7CnwgCnwgCXl5X2luaXRfYnVmZmVyKCB5eV9jdXJyZW50X2J1ZmZlciwg
aW5wdXRfZmlsZSApOwp8IAl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSgpOwp8IAl9CnwgCnwgCnwg
I2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5X3N3aXRjaF90b19idWZmZXIoIFlZX0JV
RkZFUl9TVEFURSBuZXdfYnVmZmVyICkKfCAjZWxzZQp8IHZvaWQgeXlfc3dpdGNoX3RvX2J1
ZmZlciggbmV3X2J1ZmZlciApCnwgWVlfQlVGRkVSX1NUQVRFIG5ld19idWZmZXI7CnwgI2Vu
ZGlmCnwgCXsKfCAJaWYgKCB5eV9jdXJyZW50X2J1ZmZlciA9PSBuZXdfYnVmZmVyICkKfCAJ
CXJldHVybjsKfCAKfCAJaWYgKCB5eV9jdXJyZW50X2J1ZmZlciApCnwgCQl7CnwgCQkvKiBG
bHVzaCBvdXQgaW5mb3JtYXRpb24gZm9yIG9sZCBidWZmZXIuICovCnwgCQkqeXlfY19idWZf
cCA9IHl5X2hvbGRfY2hhcjsKfCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfcG9zID0g
eXlfY19idWZfcDsKfCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2NoYXJzID0geXlfbl9j
aGFyczsKfCAJCX0KfCAKfCAJeXlfY3VycmVudF9idWZmZXIgPSBuZXdfYnVmZmVyOwp8IAl5
eV9sb2FkX2J1ZmZlcl9zdGF0ZSgpOwp8IAp8IAkvKiBXZSBkb24ndCBhY3R1YWxseSBrbm93
IHdoZXRoZXIgd2UgZGlkIHRoaXMgc3dpdGNoIGR1cmluZwp8IAkgKiBFT0YgKHl5d3JhcCgp
KSBwcm9jZXNzaW5nLCBidXQgdGhlIG9ubHkgdGltZSB0aGlzIGZsYWcKfCAJICogaXMgbG9v
a2VkIGF0IGlzIGFmdGVyIHl5d3JhcCgpIGlzIGNhbGxlZCwgc28gaXQncyBzYWZlCnwgCSAq
IHRvIGdvIGFoZWFkIGFuZCBhbHdheXMgc2V0IGl0Lgp8IAkgKi8KfCAJeXlfZGlkX2J1ZmZl
cl9zd2l0Y2hfb25fZW9mID0gMTsKfCAJfQp8IAp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9T
Cnwgdm9pZCB5eV9sb2FkX2J1ZmZlcl9zdGF0ZSggdm9pZCApCnwgI2Vsc2UKfCB2b2lkIHl5
X2xvYWRfYnVmZmVyX3N0YXRlKCkKfCAjZW5kaWYKfCAJewp8IAl5eV9uX2NoYXJzID0geXlf
Y3VycmVudF9idWZmZXItPnl5X25fY2hhcnM7CnwgCXl5dGV4dF9wdHIgPSB5eV9jX2J1Zl9w
ID0geXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9wb3M7CnwgCXl5aW4gPSB5eV9jdXJyZW50
X2J1ZmZlci0+eXlfaW5wdXRfZmlsZTsKfCAJeXlfaG9sZF9jaGFyID0gKnl5X2NfYnVmX3A7
CnwgCX0KfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IFlZX0JVRkZFUl9TVEFURSB5
eV9jcmVhdGVfYnVmZmVyKCBGSUxFICpmaWxlLCBpbnQgc2l6ZSApCnwgI2Vsc2UKfCBZWV9C
VUZGRVJfU1RBVEUgeXlfY3JlYXRlX2J1ZmZlciggZmlsZSwgc2l6ZSApCnwgRklMRSAqZmls
ZTsKfCBpbnQgc2l6ZTsKfCAjZW5kaWYKfCAJewp8IAlZWV9CVUZGRVJfU1RBVEUgYjsKfCAK
fCAJYiA9IChZWV9CVUZGRVJfU1RBVEUpIHl5X2ZsZXhfYWxsb2MoIHNpemVvZiggc3RydWN0
IHl5X2J1ZmZlcl9zdGF0ZSApICk7CnwgCWlmICggISBiICkKfCAJCVlZX0ZBVEFMX0VSUk9S
KCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X2NyZWF0ZV9idWZmZXIoKSIgKTsKfCAK
fCAJYi0+eXlfYnVmX3NpemUgPSBzaXplOwp8IAp8IAkvKiB5eV9jaF9idWYgaGFzIHRvIGJl
IDIgY2hhcmFjdGVycyBsb25nZXIgdGhhbiB0aGUgc2l6ZSBnaXZlbiBiZWNhdXNlCnwgCSAq
IHdlIG5lZWQgdG8gcHV0IGluIDIgZW5kLW9mLWJ1ZmZlciBjaGFyYWN0ZXJzLgp8IAkgKi8K
fCAJYi0+eXlfY2hfYnVmID0gKGNoYXIgKikgeXlfZmxleF9hbGxvYyggYi0+eXlfYnVmX3Np
emUgKyAyICk7CnwgCWlmICggISBiLT55eV9jaF9idWYgKQp8IAkJWVlfRkFUQUxfRVJST1Io
ICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfY3JlYXRlX2J1ZmZlcigpIiApOwp8IAp8
IAliLT55eV9pc19vdXJfYnVmZmVyID0gMTsKfCAKfCAJeXlfaW5pdF9idWZmZXIoIGIsIGZp
bGUgKTsKfCAKfCAJcmV0dXJuIGI7CnwgCX0KfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RP
Uwp8IHZvaWQgeXlfZGVsZXRlX2J1ZmZlciggWVlfQlVGRkVSX1NUQVRFIGIgKQp8ICNlbHNl
Cnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyKCBiICkKfCBZWV9CVUZGRVJfU1RBVEUgYjsKfCAj
ZW5kaWYKfCAJewp8IAlpZiAoICEgYiApCnwgCQlyZXR1cm47CnwgCnwgCWlmICggYiA9PSB5
eV9jdXJyZW50X2J1ZmZlciApCnwgCQl5eV9jdXJyZW50X2J1ZmZlciA9IChZWV9CVUZGRVJf
U1RBVEUpIDA7CnwgCnwgCWlmICggYi0+eXlfaXNfb3VyX2J1ZmZlciApCnwgCQl5eV9mbGV4
X2ZyZWUoICh2b2lkICopIGItPnl5X2NoX2J1ZiApOwp8IAp8IAl5eV9mbGV4X2ZyZWUoICh2
b2lkICopIGIgKTsKfCAJfQp8IAp8IAp8ICNpZm5kZWYgWVlfQUxXQVlTX0lOVEVSQUNUSVZF
CnwgI2lmbmRlZiBZWV9ORVZFUl9JTlRFUkFDVElWRQp8IGV4dGVybiBpbnQgaXNhdHR5IFlZ
X1BST1RPKCggaW50ICkpOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICNpZmRlZiBZWV9VU0Vf
UFJPVE9TCnwgdm9pZCB5eV9pbml0X2J1ZmZlciggWVlfQlVGRkVSX1NUQVRFIGIsIEZJTEUg
KmZpbGUgKQp8ICNlbHNlCnwgdm9pZCB5eV9pbml0X2J1ZmZlciggYiwgZmlsZSApCnwgWVlf
QlVGRkVSX1NUQVRFIGI7CnwgRklMRSAqZmlsZTsKfCAjZW5kaWYKfCAKfCAKfCAJewp8IAl5
eV9mbHVzaF9idWZmZXIoIGIgKTsKfCAKfCAJYi0+eXlfaW5wdXRfZmlsZSA9IGZpbGU7Cnwg
CWItPnl5X2ZpbGxfYnVmZmVyID0gMTsKfCAKfCAjaWYgWVlfQUxXQVlTX0lOVEVSQUNUSVZF
CnwgCWItPnl5X2lzX2ludGVyYWN0aXZlID0gMTsKfCAjZWxzZQp8ICNpZiBZWV9ORVZFUl9J
TlRFUkFDVElWRQp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IDA7CnwgI2Vsc2UKfCAJYi0+
eXlfaXNfaW50ZXJhY3RpdmUgPSBmaWxlID8gKGlzYXR0eSggZmlsZW5vKGZpbGUpICkgPiAw
KSA6IDA7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCX0KfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BS
T1RPUwp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyKCBZWV9CVUZGRVJfU1RBVEUgYiApCnwgI2Vs
c2UKfCB2b2lkIHl5X2ZsdXNoX2J1ZmZlciggYiApCnwgWVlfQlVGRkVSX1NUQVRFIGI7Cnwg
I2VuZGlmCnwgCnwgCXsKfCAJaWYgKCAhIGIgKQp8IAkJcmV0dXJuOwp8IAp8IAliLT55eV9u
X2NoYXJzID0gMDsKfCAKfCAJLyogV2UgYWx3YXlzIG5lZWQgdHdvIGVuZC1vZi1idWZmZXIg
Y2hhcmFjdGVycy4gIFRoZSBmaXJzdCBjYXVzZXMKfCAJICogYSB0cmFuc2l0aW9uIHRvIHRo
ZSBlbmQtb2YtYnVmZmVyIHN0YXRlLiAgVGhlIHNlY29uZCBjYXVzZXMKfCAJICogYSBqYW0g
aW4gdGhhdCBzdGF0ZS4KfCAJICovCnwgCWItPnl5X2NoX2J1ZlswXSA9IFlZX0VORF9PRl9C
VUZGRVJfQ0hBUjsKfCAJYi0+eXlfY2hfYnVmWzFdID0gWVlfRU5EX09GX0JVRkZFUl9DSEFS
Owp8IAp8IAliLT55eV9idWZfcG9zID0gJmItPnl5X2NoX2J1ZlswXTsKfCAKfCAJYi0+eXlf
YXRfYm9sID0gMTsKfCAJYi0+eXlfYnVmZmVyX3N0YXR1cyA9IFlZX0JVRkZFUl9ORVc7Cnwg
CnwgCWlmICggYiA9PSB5eV9jdXJyZW50X2J1ZmZlciApCnwgCQl5eV9sb2FkX2J1ZmZlcl9z
dGF0ZSgpOwp8IAl9CnwgCnwgCnwgI2lmbmRlZiBZWV9OT19TQ0FOX0JVRkZFUgp8ICNpZmRl
ZiBZWV9VU0VfUFJPVE9TCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnVmZmVyKCBjaGFy
ICpiYXNlLCB5eV9zaXplX3Qgc2l6ZSApCnwgI2Vsc2UKfCBZWV9CVUZGRVJfU1RBVEUgeXlf
c2Nhbl9idWZmZXIoIGJhc2UsIHNpemUgKQp8IGNoYXIgKmJhc2U7CnwgeXlfc2l6ZV90IHNp
emU7CnwgI2VuZGlmCnwgCXsKfCAJWVlfQlVGRkVSX1NUQVRFIGI7CnwgCnwgCWlmICggc2l6
ZSA8IDIgfHwKfCAJICAgICBiYXNlW3NpemUtMl0gIT0gWVlfRU5EX09GX0JVRkZFUl9DSEFS
IHx8CnwgCSAgICAgYmFzZVtzaXplLTFdICE9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUiApCnwg
CQkvKiBUaGV5IGZvcmdvdCB0byBsZWF2ZSByb29tIGZvciB0aGUgRU9CJ3MuICovCnwgCQly
ZXR1cm4gMDsKfCAKfCAJYiA9IChZWV9CVUZGRVJfU1RBVEUpIHl5X2ZsZXhfYWxsb2MoIHNp
emVvZiggc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSApICk7CnwgCWlmICggISBiICkKfCAJCVlZ
X0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X3NjYW5fYnVmZmVy
KCkiICk7CnwgCnwgCWItPnl5X2J1Zl9zaXplID0gc2l6ZSAtIDI7CS8qICItIDIiIHRvIHRh
a2UgY2FyZSBvZiBFT0IncyAqLwp8IAliLT55eV9idWZfcG9zID0gYi0+eXlfY2hfYnVmID0g
YmFzZTsKfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDA7CnwgCWItPnl5X2lucHV0X2ZpbGUg
PSAwOwp8IAliLT55eV9uX2NoYXJzID0gYi0+eXlfYnVmX3NpemU7CnwgCWItPnl5X2lzX2lu
dGVyYWN0aXZlID0gMDsKfCAJYi0+eXlfYXRfYm9sID0gMTsKfCAJYi0+eXlfZmlsbF9idWZm
ZXIgPSAwOwp8IAliLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05FVzsKfCAKfCAJ
eXlfc3dpdGNoX3RvX2J1ZmZlciggYiApOwp8IAp8IAlyZXR1cm4gYjsKfCAJfQp8ICNlbmRp
Zgp8IAp8IAp8ICNpZm5kZWYgWVlfTk9fU0NBTl9TVFJJTkcKfCAjaWZkZWYgWVlfVVNFX1BS
T1RPUwp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX3N0cmluZyggeXljb25zdCBjaGFyICp5
eV9zdHIgKQp8ICNlbHNlCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fc3RyaW5nKCB5eV9z
dHIgKQp8IHl5Y29uc3QgY2hhciAqeXlfc3RyOwp8ICNlbmRpZgp8IAl7CnwgCWludCBsZW47
CnwgCWZvciAoIGxlbiA9IDA7IHl5X3N0cltsZW5dOyArK2xlbiApCnwgCQk7CnwgCnwgCXJl
dHVybiB5eV9zY2FuX2J5dGVzKCB5eV9zdHIsIGxlbiApOwp8IAl9CnwgI2VuZGlmCnwgCnwg
CnwgI2lmbmRlZiBZWV9OT19TQ0FOX0JZVEVTCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBZ
WV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9ieXRlcyggeXljb25zdCBjaGFyICpieXRlcywgaW50
IGxlbiApCnwgI2Vsc2UKfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9ieXRlcyggYnl0ZXMs
IGxlbiApCnwgeXljb25zdCBjaGFyICpieXRlczsKfCBpbnQgbGVuOwp8ICNlbmRpZgp8IAl7
CnwgCVlZX0JVRkZFUl9TVEFURSBiOwp8IAljaGFyICpidWY7CnwgCXl5X3NpemVfdCBuOwp8
IAlpbnQgaTsKfCAKfCAJLyogR2V0IG1lbW9yeSBmb3IgZnVsbCBidWZmZXIsIGluY2x1ZGlu
ZyBzcGFjZSBmb3IgdHJhaWxpbmcgRU9CJ3MuICovCnwgCW4gPSBsZW4gKyAyOwp8IAlidWYg
PSAoY2hhciAqKSB5eV9mbGV4X2FsbG9jKCBuICk7CnwgCWlmICggISBidWYgKQp8IAkJWVlf
RkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfc2Nhbl9ieXRlcygp
IiApOwp8IAp8IAlmb3IgKCBpID0gMDsgaSA8IGxlbjsgKytpICkKfCAJCWJ1ZltpXSA9IGJ5
dGVzW2ldOwp8IAp8IAlidWZbbGVuXSA9IGJ1ZltsZW4rMV0gPSBZWV9FTkRfT0ZfQlVGRkVS
X0NIQVI7CnwgCnwgCWIgPSB5eV9zY2FuX2J1ZmZlciggYnVmLCBuICk7CnwgCWlmICggISBi
ICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAiYmFkIGJ1ZmZlciBpbiB5eV9zY2FuX2J5dGVzKCki
ICk7CnwgCnwgCS8qIEl0J3Mgb2theSB0byBncm93IGV0Yy4gdGhpcyBidWZmZXIsIGFuZCB3
ZSBzaG91bGQgdGhyb3cgaXQKfCAJICogYXdheSB3aGVuIHdlJ3JlIGRvbmUuCnwgCSAqLwp8
IAliLT55eV9pc19vdXJfYnVmZmVyID0gMTsKfCAKfCAJcmV0dXJuIGI7CnwgCX0KfCAjZW5k
aWYKfCAKfCAKfCAjaWZuZGVmIFlZX05PX1BVU0hfU1RBVEUKfCAjaWZkZWYgWVlfVVNFX1BS
T1RPUwp8IHN0YXRpYyB2b2lkIHl5X3B1c2hfc3RhdGUoIGludCBuZXdfc3RhdGUgKQp8ICNl
bHNlCnwgc3RhdGljIHZvaWQgeXlfcHVzaF9zdGF0ZSggbmV3X3N0YXRlICkKfCBpbnQgbmV3
X3N0YXRlOwp8ICNlbmRpZgp8IAl7CnwgCWlmICggeXlfc3RhcnRfc3RhY2tfcHRyID49IHl5
X3N0YXJ0X3N0YWNrX2RlcHRoICkKfCAJCXsKfCAJCXl5X3NpemVfdCBuZXdfc2l6ZTsKfCAK
fCAJCXl5X3N0YXJ0X3N0YWNrX2RlcHRoICs9IFlZX1NUQVJUX1NUQUNLX0lOQ1I7CnwgCQlu
ZXdfc2l6ZSA9IHl5X3N0YXJ0X3N0YWNrX2RlcHRoICogc2l6ZW9mKCBpbnQgKTsKfCAKfCAJ
CWlmICggISB5eV9zdGFydF9zdGFjayApCnwgCQkJeXlfc3RhcnRfc3RhY2sgPSAoaW50ICop
IHl5X2ZsZXhfYWxsb2MoIG5ld19zaXplICk7CnwgCnwgCQllbHNlCnwgCQkJeXlfc3RhcnRf
c3RhY2sgPSAoaW50ICopIHl5X2ZsZXhfcmVhbGxvYygKfCAJCQkJCSh2b2lkICopIHl5X3N0
YXJ0X3N0YWNrLCBuZXdfc2l6ZSApOwp8IAp8IAkJaWYgKCAhIHl5X3N0YXJ0X3N0YWNrICkK
fCAJCQlZWV9GQVRBTF9FUlJPUigKfCAJCQkib3V0IG9mIG1lbW9yeSBleHBhbmRpbmcgc3Rh
cnQtY29uZGl0aW9uIHN0YWNrIiApOwp8IAkJfQp8IAp8IAl5eV9zdGFydF9zdGFja1t5eV9z
dGFydF9zdGFja19wdHIrK10gPSBZWV9TVEFSVDsKfCAKfCAJQkVHSU4obmV3X3N0YXRlKTsK
fCAJfQp8ICNlbmRpZgp8IAp8IAp8ICNpZm5kZWYgWVlfTk9fUE9QX1NUQVRFCnwgI2lmZGVm
IFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgdm9pZCB5eV9wb3Bfc3RhdGUodm9pZCkKfCAjZWxz
ZQp8IHN0YXRpYyB2b2lkIHl5X3BvcF9zdGF0ZSgpCnwgI2VuZGlmCnwgCXsKfCAJaWYgKCAt
LXl5X3N0YXJ0X3N0YWNrX3B0ciA8IDAgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJzdGFydC1j
b25kaXRpb24gc3RhY2sgdW5kZXJmbG93IiApOwp8IAp8IAlCRUdJTih5eV9zdGFydF9zdGFj
a1t5eV9zdGFydF9zdGFja19wdHJdKTsKfCAJfQp8ICNlbmRpZgp8IAp8IAp8ICNpZm5kZWYg
WVlfTk9fVE9QX1NUQVRFCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgaW50IHl5
X3RvcF9zdGF0ZSh2b2lkKQp8ICNlbHNlCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUoKQp8
ICNlbmRpZgp8IAl7CnwgCXJldHVybiB5eV9zdGFydF9zdGFja1t5eV9zdGFydF9zdGFja19w
dHIgLSAxXTsKfCAJfQp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgWVlfRVhJVF9GQUlMVVJFCnwg
I2RlZmluZSBZWV9FWElUX0ZBSUxVUkUgMgp8ICNlbmRpZgp8IAp8ICNpZmRlZiBZWV9VU0Vf
UFJPVE9TCnwgc3RhdGljIHZvaWQgeXlfZmF0YWxfZXJyb3IoIHl5Y29uc3QgY2hhciBtc2db
XSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCB5eV9mYXRhbF9lcnJvciggbXNnICkKfCBjaGFy
IG1zZ1tdOwp8ICNlbmRpZgp8IAl7CnwgCSh2b2lkKSBmcHJpbnRmKCBzdGRlcnIsICIlc1xu
IiwgbXNnICk7CnwgCWV4aXQoIFlZX0VYSVRfRkFJTFVSRSApOwp8IAl9CnwgCnwgCnwgCnwg
LyogUmVkZWZpbmUgeXlsZXNzKCkgc28gaXQgd29ya3MgaW4gc2VjdGlvbiAzIGNvZGUuICov
CnwgCnwgI3VuZGVmIHl5bGVzcwp8ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8IAkJ
eyBcCnwgCQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwKfCAJ
CXl5dGV4dFt5eWxlbmddID0geXlfaG9sZF9jaGFyOyBcCnwgCQl5eV9jX2J1Zl9wID0geXl0
ZXh0ICsgbjsgXAp8IAkJeXlfaG9sZF9jaGFyID0gKnl5X2NfYnVmX3A7IFwKfCAJCSp5eV9j
X2J1Zl9wID0gJ1wwJzsgXAp8IAkJeXlsZW5nID0gbjsgXAp8IAkJfSBcCnwgCXdoaWxlICgg
MCApCnwgCnwgCnwgLyogSW50ZXJuYWwgdXRpbGl0eSByb3V0aW5lcy4gKi8KfCAKfCAjaWZu
ZGVmIHl5dGV4dF9wdHIKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkIHl5
X2ZsZXhfc3RybmNweSggY2hhciAqczEsIHl5Y29uc3QgY2hhciAqczIsIGludCBuICkKfCAj
ZWxzZQp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3RybmNweSggczEsIHMyLCBuICkKfCBjaGFy
ICpzMTsKfCB5eWNvbnN0IGNoYXIgKnMyOwp8IGludCBuOwp8ICNlbmRpZgp8IAl7CnwgCWlu
dCBpOwp8IAlmb3IgKCBpID0gMDsgaSA8IG47ICsraSApCnwgCQlzMVtpXSA9IHMyW2ldOwp8
IAl9CnwgI2VuZGlmCnwgCnwgI2lmZGVmIFlZX05FRURfU1RSTEVOCnwgI2lmZGVmIFlZX1VT
RV9QUk9UT1MKfCBzdGF0aWMgaW50IHl5X2ZsZXhfc3RybGVuKCB5eWNvbnN0IGNoYXIgKnMg
KQp8ICNlbHNlCnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiggcyApCnwgeXljb25zdCBj
aGFyICpzOwp8ICNlbmRpZgp8IAl7CnwgCWludCBuOwp8IAlmb3IgKCBuID0gMDsgc1tuXTsg
KytuICkKfCAJCTsKfCAKfCAJcmV0dXJuIG47CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZk
ZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2FsbG9jKCB5eV9zaXpl
X3Qgc2l6ZSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCAqeXlfZmxleF9hbGxvYyggc2l6ZSAp
CnwgeXlfc2l6ZV90IHNpemU7CnwgI2VuZGlmCnwgCXsKfCAJcmV0dXJuICh2b2lkICopIG1h
bGxvYyggc2l6ZSApOwp8IAl9CnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMg
dm9pZCAqeXlfZmxleF9yZWFsbG9jKCB2b2lkICpwdHIsIHl5X3NpemVfdCBzaXplICkKfCAj
ZWxzZQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X3JlYWxsb2MoIHB0ciwgc2l6ZSApCnwgdm9p
ZCAqcHRyOwp8IHl5X3NpemVfdCBzaXplOwp8ICNlbmRpZgp8IAl7CnwgCS8qIFRoZSBjYXN0
IHRvIChjaGFyICopIGluIHRoZSBmb2xsb3dpbmcgYWNjb21tb2RhdGVzIGJvdGgKfCAJICog
aW1wbGVtZW50YXRpb25zIHRoYXQgdXNlIGNoYXIqIGdlbmVyaWMgcG9pbnRlcnMsIGFuZCB0
aG9zZQp8IAkgKiB0aGF0IHVzZSB2b2lkKiBnZW5lcmljIHBvaW50ZXJzLiAgSXQgd29ya3Mg
d2l0aCB0aGUgbGF0dGVyCnwgCSAqIGJlY2F1c2UgYm90aCBBTlNJIEMgYW5kIEMrKyBhbGxv
dyBjYXN0bGVzcyBhc3NpZ25tZW50IGZyb20KfCAJICogYW55IHBvaW50ZXIgdHlwZSB0byB2
b2lkKiwgYW5kIGRlYWwgd2l0aCBhcmd1bWVudCBjb252ZXJzaW9ucwp8IAkgKiBhcyB0aG91
Z2ggZG9pbmcgYW4gYXNzaWdubWVudC4KfCAJICovCnwgCXJldHVybiAodm9pZCAqKSByZWFs
bG9jKCAoY2hhciAqKSBwdHIsIHNpemUgKTsKfCAJfQp8IAp8ICNpZmRlZiBZWV9VU0VfUFJP
VE9TCnwgc3RhdGljIHZvaWQgeXlfZmxleF9mcmVlKCB2b2lkICpwdHIgKQp8ICNlbHNlCnwg
c3RhdGljIHZvaWQgeXlfZmxleF9mcmVlKCBwdHIgKQp8IHZvaWQgKnB0cjsKfCAjZW5kaWYK
fCAJewp8IAlmcmVlKCBwdHIgKTsKfCAJfQp8IAp8ICNpZiBZWV9NQUlOCnwgaW50IG1haW4o
KQp8IAl7CnwgCXl5bGV4KCk7CnwgCXJldHVybiAwOwp8IAl9CnwgI2VuZGlmCnwgI2xpbmUg
OSAiY29uZnRlc3QubCIKfCAKfCAjaWZkZWYgWVlURVhUX1BPSU5URVIKfCBleHRlcm4gY2hh
ciAqeXl0ZXh0Owp8ICNlbmRpZgp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8ICAgcmV0dXJu
ICEgeXlsZXggKCkgKyAhIHl5d3JhcCAoKTsKfCB9CmNvbmZpZ3VyZToxMjg4MzogY2MgLW8g
Y29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgLXJwYXRoPS91c3Iv
bGliOi91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxmbCAgPiY1CmNjOiB3YXJuaW5nOiBh
cmd1bWVudCB1bnVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uOiAnLXJwYXRoPS91c3IvbGliOi91
c3IvbG9jYWwvbGliJwpjb25mdGVzdC5sOjY6MjA6IHdhcm5pbmc6IGNvbXBhcmlzb24gYmV0
d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyICgnY2hhciAqJyBhbmQgJ2ludCcpCnsgeXlsZXNz
IChpbnB1dCAoKSAhPSAwKTsgfQogIH5+fn5+fn5+fn5+fn5+fn5+Xn5+fn4KY29uZnRlc3Qu
YzoxMzg6MzI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3l5bGVzcycKICAgICAgICAg
ICAgICAgIHl5X2NfYnVmX3AgPSB5eV9jcCA9IHl5X2JwICsgbiAtIFlZX01PUkVfQURKOyBc
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl5+fn5+fn5+
fn5+fn5+fn5+fgpjb25mdGVzdC5sOjY6Mzogd2FybmluZzogaW5jb21wYXRpYmxlIGludGVn
ZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnY2hhciAqJyBmcm9tICdp
bnQnIFstV2ludC1jb252ZXJzaW9uXQp7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0KICBe
fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MTM4OjIyOiBub3RlOiBleHBhbmRl
ZCBmcm9tIG1hY3JvICd5eWxlc3MnCiAgICAgICAgICAgICAgICB5eV9jX2J1Zl9wID0geXlf
Y3AgPSB5eV9icCArIG4gLSBZWV9NT1JFX0FESjsgXAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBn
ZW5lcmF0ZWQuCmNvbmZpZ3VyZToxMjg5MDogJD8gPSAwCmNvbmZpZ3VyZToxMjkxNDogcmVz
dWx0OiAtbGZsCmNvbmZpZ3VyZToxMjkyMDogY2hlY2tpbmcgd2hldGhlciB5eXRleHQgaXMg
YSBwb2ludGVyCmNvbmZpZ3VyZToxMjk0MTogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1m
bm8tc3RyaWN0LWFsaWFzaW5nICAgLXJwYXRoPS91c3IvbGliOi91c3IvbG9jYWwvbGliIGNv
bmZ0ZXN0LmMgLWxmbCAgPiY1CmNjOiB3YXJuaW5nOiBhcmd1bWVudCB1bnVzZWQgZHVyaW5n
IGNvbXBpbGF0aW9uOiAnLXJwYXRoPS91c3IvbGliOi91c3IvbG9jYWwvbGliJwpjb25mdGVz
dC5sOjY6MjA6IHdhcm5pbmc6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRl
Z2VyICgnY2hhciAqJyBhbmQgJ2ludCcpCnsgeXlsZXNzIChpbnB1dCAoKSAhPSAwKTsgfQog
IH5+fn5+fn5+fn5+fn5+fn5+Xn5+fn4KY29uZnRlc3QuYzoxMzk6MzI6IG5vdGU6IGV4cGFu
ZGVkIGZyb20gbWFjcm8gJ3l5bGVzcycKICAgICAgICAgICAgICAgIHl5X2NfYnVmX3AgPSB5
eV9jcCA9IHl5X2JwICsgbiAtIFlZX01PUkVfQURKOyBcCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB+fn5+fn5+fl5+fn5+fn5+fn5+fn5+fn5+fgpjb25mdGVzdC5s
OjY6Mzogd2FybmluZzogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJz
aW9uIGFzc2lnbmluZyB0byAnY2hhciAqJyBmcm9tICdpbnQnIFstV2ludC1jb252ZXJzaW9u
XQp7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0KICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+
CmNvbmZ0ZXN0LmM6MTM5OjIyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICd5eWxlc3Mn
CiAgICAgICAgICAgICAgICB5eV9jX2J1Zl9wID0geXlfY3AgPSB5eV9icCArIG4gLSBZWV9N
T1JFX0FESjsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn4KMiB3YXJuaW5ncyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZTox
Mjk0ODogJD8gPSAwCmNvbmZpZ3VyZToxMjk3MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEy
OTg2OiBjaGVja2luZyBmb3IgYmlzb24KY29uZmlndXJlOjEzMDAyOiBmb3VuZCAvdXNyL2xv
Y2FsL2Jpbi9iaXNvbgpjb25maWd1cmU6MTMwMTM6IHJlc3VsdDogYmlzb24gLXkKY29uZmln
dXJlOjEzMDMyOiBjaGVja2luZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVl
ZGVkIGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6MTMxMjc6IHJlc3VsdDogbm8KY29uZmln
dXJlOjEzMTMzOiBjaGVja2luZyBmb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgdmFsdWUgbmVlZGVk
IGZvciBsYXJnZSBmaWxlcwpjb25maWd1cmU6MTMxNjg6IGNjIC1jIC1PMiAtcGlwZSAtZm5v
LXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzMTc1OiAkPyA9
IDAKY29uZmlndXJlOjEzMjQ0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzM4NzogY2hlY2tp
bmcgZm9yIGNwcApjb25maWd1cmU6MTM0MDY6IGZvdW5kIC91c3IvYmluL2NwcApjb25maWd1
cmU6MTM0MTg6IHJlc3VsdDogL3Vzci9iaW4vY3BwCmNvbmZpZ3VyZToxMzQzNDogY2hlY2tp
bmcgaWYgL3Vzci9iaW4vY3BwIHJlcXVpcmVzIC11bmRlZgpjb25maWd1cmU6MTM0NDU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ2MDogY2hlY2tpbmcgaWYgL3Vzci9iaW4vY3BwIHJl
cXVpcmVzIC10cmFkaXRpb25hbApjb25maWd1cmU6MTM0NzQ6IGVycm9yOiAvdXNyL2Jpbi9j
cHAgZG9lcyBub3QgcHJlc2VydmUgd2hpdGVzcGFjZSB3aXRoIG9yIHdpdGhvdXQgLXRyYWRp
dGlvbmFsLiAgSSBkb24ndCBrbm93IHdoYXQgdG8gZG8uCgojIyAtLS0tLS0tLS0tLS0tLS0t
ICMjCiMjIENhY2hlIHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwoKYWNf
Y3ZfYnVpbGQ9YW1kNjQtcG9ydGJsZC1mcmVlYnNkOS4wCmFjX2N2X2NfY29tcGlsZXJfZ251
PXllcwphY19jdl9lbnZfQ0NBU0ZMQUdTX3NldD0nJwphY19jdl9lbnZfQ0NBU0ZMQUdTX3Zh
bHVlPScnCmFjX2N2X2Vudl9DQ0FTX3NldD0nJwphY19jdl9lbnZfQ0NBU192YWx1ZT0nJwph
Y19jdl9lbnZfQ0Nfc2V0PXNldAphY19jdl9lbnZfQ0NfdmFsdWU9Y2MKYWNfY3ZfZW52X0NG
TEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9Jy1PMiAtcGlwZSAtZm5vLXN0
cmljdC1hbGlhc2luZycKYWNfY3ZfZW52X0NQUEZMQUdTX3NldD1zZXQKYWNfY3ZfZW52X0NQ
UEZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9DUFBfc2V0PXNldAphY19jdl9lbnZfQ1BQX3Zh
bHVlPWNwcAphY19jdl9lbnZfREJVU19DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9EQlVTX0NG
TEFHU192YWx1ZT0nJwphY19jdl9lbnZfREJVU19MSUJTX3NldD0nJwphY19jdl9lbnZfREJV
U19MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9ER0FfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZf
REdBX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfREdBX0xJQlNfc2V0PScnCmFjX2N2X2Vu
dl9ER0FfTElCU192YWx1ZT0nJwphY19jdl9lbnZfRE1YRVhBTVBMRVNfREVQX0NGTEFHU19z
ZXQ9JycKYWNfY3ZfZW52X0RNWEVYQU1QTEVTX0RFUF9DRkxBR1NfdmFsdWU9JycKYWNfY3Zf
ZW52X0RNWEVYQU1QTEVTX0RFUF9MSUJTX3NldD0nJwphY19jdl9lbnZfRE1YRVhBTVBMRVNf
REVQX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0RNWE1PRFVMRVNfQ0ZMQUdTX3NldD0nJwph
Y19jdl9lbnZfRE1YTU9EVUxFU19DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0RNWE1PRFVM
RVNfTElCU19zZXQ9JycKYWNfY3ZfZW52X0RNWE1PRFVMRVNfTElCU192YWx1ZT0nJwphY19j
dl9lbnZfRE1YWElFWEFNUExFU19ERVBfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfRE1YWElF
WEFNUExFU19ERVBfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9ETVhYSUVYQU1QTEVTX0RF
UF9MSUJTX3NldD0nJwphY19jdl9lbnZfRE1YWElFWEFNUExFU19ERVBfTElCU192YWx1ZT0n
JwphY19jdl9lbnZfRE1YWE1VRVhBTVBMRVNfREVQX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52
X0RNWFhNVUVYQU1QTEVTX0RFUF9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0RNWFhNVUVY
QU1QTEVTX0RFUF9MSUJTX3NldD0nJwphY19jdl9lbnZfRE1YWE1VRVhBTVBMRVNfREVQX0xJ
QlNfdmFsdWU9JycKYWNfY3ZfZW52X0RSSTJQUk9UT19DRkxBR1Nfc2V0PScnCmFjX2N2X2Vu
dl9EUkkyUFJPVE9fQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9EUkkyUFJPVE9fTElCU19z
ZXQ9JycKYWNfY3ZfZW52X0RSSTJQUk9UT19MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9EUklQ
Uk9UT19DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9EUklQUk9UT19DRkxBR1NfdmFsdWU9JycK
YWNfY3ZfZW52X0RSSVBST1RPX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9EUklQUk9UT19MSUJT
X3ZhbHVlPScnCmFjX2N2X2Vudl9EUklfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfRFJJX0NG
TEFHU192YWx1ZT0nJwphY19jdl9lbnZfRFJJX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9EUklf
TElCU192YWx1ZT0nJwphY19jdl9lbnZfR0xJQl9DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9H
TElCX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfR0xJQl9MSUJTX3NldD0nJwphY19jdl9l
bnZfR0xJQl9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9HTF9DRkxBR1Nfc2V0PScnCmFjX2N2
X2Vudl9HTF9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0dMX0xJQlNfc2V0PScnCmFjX2N2
X2Vudl9HTF9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9IQUxfQ0ZMQUdTX3NldD0nJwphY19j
dl9lbnZfSEFMX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfSEFMX0xJQlNfc2V0PScnCmFj
X2N2X2Vudl9IQUxfTElCU192YWx1ZT0nJwphY19jdl9lbnZfTERGTEFHU19zZXQ9c2V0CmFj
X2N2X2Vudl9MREZMQUdTX3ZhbHVlPScgLXJwYXRoPS91c3IvbGliOi91c3IvbG9jYWwvbGli
JwphY19jdl9lbnZfTElCRFJNX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0xJQkRSTV9DRkxB
R1NfdmFsdWU9JycKYWNfY3ZfZW52X0xJQkRSTV9MSUJTX3NldD0nJwphY19jdl9lbnZfTElC
RFJNX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0xJQlNfc2V0PScnCmFjX2N2X2Vudl9MSUJT
X3ZhbHVlPScnCmFjX2N2X2Vudl9QQ0lBQ0NFU1NfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZf
UENJQUNDRVNTX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfUENJQUNDRVNTX0xJQlNfc2V0
PScnCmFjX2N2X2Vudl9QQ0lBQ0NFU1NfTElCU192YWx1ZT0nJwphY19jdl9lbnZfUEtHX0NP
TkZJR19zZXQ9JycKYWNfY3ZfZW52X1BLR19DT05GSUdfdmFsdWU9JycKYWNfY3ZfZW52X1NF
TElOVVhfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfU0VMSU5VWF9DRkxBR1NfdmFsdWU9JycK
YWNfY3ZfZW52X1NFTElOVVhfTElCU19zZXQ9JycKYWNfY3ZfZW52X1NFTElOVVhfTElCU192
YWx1ZT0nJwphY19jdl9lbnZfVFNMSUJfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfVFNMSUJf
Q0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9UU0xJQl9MSUJTX3NldD0nJwphY19jdl9lbnZf
VFNMSUJfTElCU192YWx1ZT0nJwphY19jdl9lbnZfWDExRVhBTVBMRVNfREVQX0NGTEFHU19z
ZXQ9JycKYWNfY3ZfZW52X1gxMUVYQU1QTEVTX0RFUF9DRkxBR1NfdmFsdWU9JycKYWNfY3Zf
ZW52X1gxMUVYQU1QTEVTX0RFUF9MSUJTX3NldD0nJwphY19jdl9lbnZfWDExRVhBTVBMRVNf
REVQX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hETUNQX0NGTEFHU19zZXQ9JycKYWNfY3Zf
ZW52X1hETUNQX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfWERNQ1BfTElCU19zZXQ9JycK
YWNfY3ZfZW52X1hETUNQX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hETVhDT05GSUdfREVQ
X0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X1hETVhDT05GSUdfREVQX0NGTEFHU192YWx1ZT0n
JwphY19jdl9lbnZfWERNWENPTkZJR19ERVBfTElCU19zZXQ9JycKYWNfY3ZfZW52X1hETVhD
T05GSUdfREVQX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hFUEhZUl9DRkxBR1Nfc2V0PScn
CmFjX2N2X2Vudl9YRVBIWVJfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9YRVBIWVJfTElC
U19zZXQ9JycKYWNfY3ZfZW52X1hFUEhZUl9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9YRjg2
VklETU9ERV9DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9YRjg2VklETU9ERV9DRkxBR1NfdmFs
dWU9JycKYWNfY3ZfZW52X1hGODZWSURNT0RFX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9YRjg2
VklETU9ERV9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9YTElCX0NGTEFHU19zZXQ9JycKYWNf
Y3ZfZW52X1hMSUJfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9YTElCX0xJQlNfc2V0PScn
CmFjX2N2X2Vudl9YTElCX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hORVNUTU9EVUxFU19D
RkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9YTkVTVE1PRFVMRVNfQ0ZMQUdTX3ZhbHVlPScnCmFj
X2N2X2Vudl9YTkVTVE1PRFVMRVNfTElCU19zZXQ9JycKYWNfY3ZfZW52X1hORVNUTU9EVUxF
U19MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9YT1JHX01PRFVMRVNfQ0ZMQUdTX3NldD0nJwph
Y19jdl9lbnZfWE9SR19NT0RVTEVTX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfWE9SR19N
T0RVTEVTX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9YT1JHX01PRFVMRVNfTElCU192YWx1ZT0n
JwphY19jdl9lbnZfWFBCUFJPWFlfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfWFBCUFJPWFlf
Q0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9YUEJQUk9YWV9MSUJTX3NldD0nJwphY19jdl9l
bnZfWFBCUFJPWFlfTElCU192YWx1ZT0nJwphY19jdl9lbnZfWFJFU0VYQU1QTEVTX0RFUF9D
RkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9YUkVTRVhBTVBMRVNfREVQX0NGTEFHU192YWx1ZT0n
JwphY19jdl9lbnZfWFJFU0VYQU1QTEVTX0RFUF9MSUJTX3NldD0nJwphY19jdl9lbnZfWFJF
U0VYQU1QTEVTX0RFUF9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9YU0VSVkVSQ0ZMQUdTX0NG
TEFHU19zZXQ9JycKYWNfY3ZfZW52X1hTRVJWRVJDRkxBR1NfQ0ZMQUdTX3ZhbHVlPScnCmFj
X2N2X2Vudl9YU0VSVkVSQ0ZMQUdTX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9YU0VSVkVSQ0ZM
QUdTX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X1hTRVJWRVJMSUJTX0NGTEFHU19zZXQ9JycK
YWNfY3ZfZW52X1hTRVJWRVJMSUJTX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfWFNFUlZF
UkxJQlNfTElCU19zZXQ9JycKYWNfY3ZfZW52X1hTRVJWRVJMSUJTX0xJQlNfdmFsdWU9JycK
YWNfY3ZfZW52X1hUU1RFWEFNUExFU19ERVBfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfWFRT
VEVYQU1QTEVTX0RFUF9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X1hUU1RFWEFNUExFU19E
RVBfTElCU19zZXQ9JycKYWNfY3ZfZW52X1hUU1RFWEFNUExFU19ERVBfTElCU192YWx1ZT0n
JwphY19jdl9lbnZfWFdJTk1PRFVMRVNfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfWFdJTk1P
RFVMRVNfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9YV0lOTU9EVUxFU19MSUJTX3NldD0n
JwphY19jdl9lbnZfWFdJTk1PRFVMRVNfTElCU192YWx1ZT0nJwphY19jdl9lbnZfWUFDQ19z
ZXQ9JycKYWNfY3ZfZW52X1lBQ0NfdmFsdWU9JycKYWNfY3ZfZW52X1lGTEFHU19zZXQ9JycK
YWNfY3ZfZW52X1lGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfYnVpbGRfYWxpYXNfc2V0PXNl
dAphY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9YW1kNjQtcG9ydGJsZC1mcmVlYnNkOS4w
CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3NldD0nJwphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1
ZT0nJwphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0nJwphY19jdl9lbnZfdGFyZ2V0X2Fs
aWFzX3ZhbHVlPScnCmFjX2N2X2hlYWRlcl9kbGZjbl9oPXllcwphY19jdl9oZWFkZXJfaW50
dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfc3Rk
Yz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19jdl9oZWFkZXJfc3RkbGliX2g9
eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ3NfaD15
ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNf
aD15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXllcwphY19jdl9ob3N0PWFtZDY0LXBvcnRi
bGQtZnJlZWJzZDkuMAphY19jdl9saWJfbGV4PS1sZmwKYWNfY3Zfb2JqZXh0PW8KYWNfY3Zf
cGF0aF9ET0xUX0JBU0g9L3Vzci9sb2NhbC9iaW4vYmFzaAphY19jdl9wYXRoX0VHUkVQPScv
dXNyL2Jpbi9ncmVwIC1FJwphY19jdl9wYXRoX0ZHUkVQPScvdXNyL2Jpbi9ncmVwIC1GJwph
Y19jdl9wYXRoX0dSRVA9L3Vzci9iaW4vZ3JlcAphY19jdl9wYXRoX1JBV0NQUD0vdXNyL2Jp
bi9jcHAKYWNfY3ZfcGF0aF9TRUQ9L3Vzci9iaW4vc2VkCmFjX2N2X3BhdGhfYWNfcHRfUEtH
X0NPTkZJRz0vdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnCmFjX2N2X3Byb2dfQVdLPWdhd2sK
YWNfY3ZfcHJvZ19DUFA9Y3BwCmFjX2N2X3Byb2dfTEVYPWZsZXgKYWNfY3ZfcHJvZ19ZQUND
PSdiaXNvbiAteScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X0ND
PWNjCmFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD1vYmpkdW1wCmFjX2N2X3Byb2dfYWNfY3Rf
UkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2FjX2N0X1NUUklQPXN0cmlwCmFjX2N2X3Byb2df
Y2NfYzg5PScnCmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19sZXhfcm9vdD1sZXgu
eXkKYWNfY3ZfcHJvZ19sZXhfeXl0ZXh0X3BvaW50ZXI9eWVzCmFjX2N2X3Byb2dfbWFrZV9n
bWFrZV9zZXQ9eWVzCmFjX2N2X3N5c19maWxlX29mZnNldF9iaXRzPW5vCmFjX2N2X3N5c19s
YXJnZWZpbGVfQ0M9bm8KYW1fY3ZfQ0NBU19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1n
Y2MzCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKbHRfY3ZfZGVw
bGlic19jaGVja19tZXRob2Q9cGFzc19hbGwKbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRNQUdJ
Q19DTUQnCmx0X2N2X2ZpbGVfbWFnaWNfdGVzdF9maWxlPScnCmx0X2N2X2xkX3JlbG9hZF9m
bGFnPS1yCmx0X2N2X25tX2ludGVyZmFjZT0nQlNEIG5tJwpsdF9jdl9vYmpkaXI9LmxpYnMK
bHRfY3ZfcGF0aF9MRD0vdXNyL2Jpbi9sZApsdF9jdl9wYXRoX05NPScvdXNyL2Jpbi9ubSAt
QicKbHRfY3ZfcHJvZ19jb21waWxlcl9jX289eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfcGlj
X3dvcmtzPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX3J0dGlfZXhjZXB0aW9ucz15ZXMKbHRf
Y3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9eWVzCmx0X2N2X3Byb2dfZ251X2xkPXll
cwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wnJ3MvXi4qWwkg
XVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0qXChbX0EtWmEtel1bX0Et
WmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnXCcKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9f
Y19uYW1lX2FkZHJlc3M9J3NlZCAtbiAtZSAnXCcncy9eOiBcKFteIF0qXCkgJC8gIHtcIlwx
XCIsICh2b2lkICopIDB9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFddKiBcKFteIF0q
XCkgXChbXiBdKlwpJC8gIHsiXDIiLCAodm9pZCAqKSBcJlwyfSwvcCdcJwpsdF9jdl9zeXNf
Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdzZWQgLW4gLWUg
J1wnJ3MvXjogXChbXiBdKlwpICQvICB7XCJcMVwiLCAodm9pZCAqKSAwfSwvcCdcJycgLWUg
J1wnJ3MvXltBQkNER0lSU1RXXSogXChbXiBdKlwpIFwobGliW14gXSpcKSQvICB7IlwyIiwg
KHZvaWQgKikgXCZcMn0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpc
KSBcKFteIF0qXCkkLyAgeyJsaWJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnCmx0X2N2X3N5
c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdzZWQgLW4gLWUgJ1wnJ3MvXlQgLiogXCguKlwp
JC9leHRlcm4gaW50IFwxKCk7L3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4qIFwo
LipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnXCcKbHRfY3Zfc3lzX21heF9jbWRfbGVuPTI2MjE0
NAoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMg
LS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC91c3IvcG9ydHMveDEx
LXNlcnZlcnMveG9yZy1zZXJ2ZXIvd29yay94b3JnLXNlcnZlci0xLjcuNy9taXNzaW5nIC0t
cnVuIGFjbG9jYWwtMS4xMScKQURNSU5fTUFOX0RJUj0nJwpBRE1JTl9NQU5fU1VGRklYPScn
CkFHUF9GQUxTRT0nJwpBR1BfVFJVRT0nJwpBSUdMWF9GQUxTRT0nJwpBSUdMWF9UUlVFPScn
CkFMTE9DQT0nJwpBTFBIQV9WSURFT19GQUxTRT0nJwpBTFBIQV9WSURFT19UUlVFPScnCkFN
REVQQkFDS1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0nJwpBTVRBUj0n
JHtTSEVMTH0gL3Vzci9wb3J0cy94MTEtc2VydmVycy94b3JnLXNlcnZlci93b3JrL3hvcmct
c2VydmVyLTEuNy43L21pc3NpbmcgLS1ydW4gdGFyJwpBTV9NQUtFRkxBR1M9JycKQVBQTEVf
QVBQTElDQVRJT05TX0RJUj0nJwpBUFBMRV9BUFBMSUNBVElPTl9OQU1FPScnCkFQUF9NQU5f
RElSPScnCkFQUF9NQU5fU1VGRklYPScnCkFSPSdhcicKQVJNX1ZJREVPX0ZBTFNFPScnCkFS
TV9WSURFT19UUlVFPScnCkFTPSdhcycKQVVUT0NPTkY9JyR7U0hFTEx9IC91c3IvcG9ydHMv
eDExLXNlcnZlcnMveG9yZy1zZXJ2ZXIvd29yay94b3JnLXNlcnZlci0xLjcuNy9taXNzaW5n
IC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVSPScke1NIRUxMfSAvdXNyL3BvcnRzL3gxMS1z
ZXJ2ZXJzL3hvcmctc2VydmVyL3dvcmsveG9yZy1zZXJ2ZXItMS43LjcvbWlzc2luZyAtLXJ1
biBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0gL3Vzci9wb3J0cy94MTEtc2VydmVy
cy94b3JnLXNlcnZlci93b3JrL3hvcmctc2VydmVyLTEuNy43L21pc3NpbmcgLS1ydW4gYXV0
b21ha2UtMS4xMScKQVdLPSdnYXdrJwpCQVNFX0ZPTlRfUEFUSD0nJwpCU0RfQVBNX0ZBTFNF
PScnCkJTRF9BUE1fVFJVRT0nJwpCU0RfS1FVRVVFX0FQTV9GQUxTRT0nJwpCU0RfS1FVRVVF
X0FQTV9UUlVFPScnCkJVSUxERE9DU19GQUxTRT0nJwpCVUlMRERPQ1NfVFJVRT0nJwpCVUlM
RF9EQVRFPScnCkJVSUxEX0tEUklWRUZCREVWTElCX0ZBTFNFPScnCkJVSUxEX0tEUklWRUZC
REVWTElCX1RSVUU9JycKQlVJTERfTElOVVhET0NfRkFMU0U9JycKQlVJTERfTElOVVhET0Nf
VFJVRT0nJwpCVUlMRF9QREZET0NfRkFMU0U9JycKQlVJTERfUERGRE9DX1RSVUU9JycKQlVJ
TERfVElNRT0nJwpDQz0nY2MnCkNDQVM9J2NjJwpDQ0FTREVQTU9ERT0nZGVwbW9kZT1nY2Mz
JwpDQ0FTRkxBR1M9Jy1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZycKQ0NERVBNT0RF
PSdkZXBtb2RlPWdjYzMnCkNGTEFHUz0nLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n
JwpDSEFOR0VMT0dfQ01EPScnCkNPTVBJTEVEREVGQVVMVEZPTlRQQVRIPScnCkNPTVBPU0lU
RV9GQUxTRT0nJwpDT01QT1NJVEVfVFJVRT0nJwpDT05GSUdfREJVU19BUElfRkFMU0U9JycK
Q09ORklHX0RCVVNfQVBJX1RSVUU9JycKQ09ORklHX0hBTF9GQUxTRT0nJwpDT05GSUdfSEFM
X1RSVUU9JycKQ09ORklHX05FRURfREJVU19GQUxTRT0nJwpDT05GSUdfTkVFRF9EQlVTX1RS
VUU9JycKQ1BQPSdjcHAnCkNQUEZMQUdTPScnCkNXQVJORkxBR1M9JycKQ1hYPSdjKysnCkNZ
R1BBVEhfVz0nZWNobycKREFSV0lOX0xJQlM9JycKREJFX0ZBTFNFPScnCkRCRV9UUlVFPScn
CkRCVVNfQ0ZMQUdTPScnCkRCVVNfTElCUz0nJwpERUJVR19GQUxTRT0nJwpERUJVR19UUlVF
PScnCkRFRkFVTFRfTElCUkFSWV9QQVRIPScnCkRFRkFVTFRfTE9HUFJFRklYPScnCkRFRkFV
TFRfTU9EVUxFX1BBVEg9JycKREVGUz0nJwpERVBESVI9Jy5kZXBzJwpER0FfQ0ZMQUdTPScn
CkRHQV9GQUxTRT0nJwpER0FfTElCUz0nJwpER0FfVFJVRT0nJwpESVhfQ0ZMQUdTPScnCkRJ
WF9MSUI9JycKRExMVE9PTD0nZGxsdG9vbCcKRE1YRVhBTVBMRVNfREVQX0NGTEFHUz0nJwpE
TVhFWEFNUExFU19ERVBfTElCUz0nJwpETVhNT0RVTEVTX0NGTEFHUz0nJwpETVhNT0RVTEVT
X0xJQlM9JycKRE1YWElFWEFNUExFU19ERVBfQ0ZMQUdTPScnCkRNWFhJRVhBTVBMRVNfREVQ
X0xJQlM9JycKRE1YWE1VRVhBTVBMRVNfREVQX0NGTEFHUz0nJwpETVhYTVVFWEFNUExFU19E
RVBfTElCUz0nJwpETVhfQlVJTERfTE5YX0ZBTFNFPScnCkRNWF9CVUlMRF9MTlhfVFJVRT0n
JwpETVhfQlVJTERfVVNCX0ZBTFNFPScnCkRNWF9CVUlMRF9VU0JfVFJVRT0nJwpETVhfRkFM
U0U9JycKRE1YX1RSVUU9JycKRE9MVF9CQVNIPScvdXNyL2xvY2FsL2Jpbi9iYXNoJwpEUE1T
RXh0ZW5zaW9uX0ZBTFNFPScnCkRQTVNFeHRlbnNpb25fVFJVRT0nJwpEUkkyUFJPVE9fQ0ZM
QUdTPScnCkRSSTJQUk9UT19MSUJTPScnCkRSSTJfQUlHTFhfRkFMU0U9JycKRFJJMl9BSUdM
WF9UUlVFPScnCkRSSTJfRkFMU0U9JycKRFJJMl9UUlVFPScnCkRSSVBST1RPX0NGTEFHUz0n
JwpEUklQUk9UT19MSUJTPScnCkRSSVZFUl9NQU5fRElSPScnCkRSSVZFUl9NQU5fU1VGRklY
PScnCkRSSV9DRkxBR1M9JycKRFJJX0RSSVZFUl9QQVRIPScnCkRSSV9GQUxTRT0nJwpEUklf
TElCUz0nJwpEUklfVFJVRT0nJwpEU1lNVVRJTD0nJwpEVFJBQ0U9JycKRFVNUEJJTj0nJwpF
Q0hPX0M9JycKRUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPScvdXNyL2Jpbi9ncmVwIC1F
JwpFWEVFWFQ9JycKRjc3PScnCkZCREVWSFdfRkFMU0U9JycKRkJERVZIV19UUlVFPScnCkZD
PScnCkZHUkVQPScvdXNyL2Jpbi9ncmVwIC1GJwpGSUxFX01BTl9ESVI9JycKRklMRV9NQU5f
U1VGRklYPScnCkZSRUVCU0RfS0xETE9BRF9GQUxTRT0nJwpGUkVFQlNEX0tMRExPQURfVFJV
RT0nJwpHTElCX0NGTEFHUz0nJwpHTElCX0xJQlM9JycKR0xYX0FSQ0hfREVGSU5FUz0nJwpH
TFhfREVGSU5FUz0nJwpHTFhfRkFMU0U9JycKR0xYX1RSVUU9JycKR0xfQ0ZMQUdTPScnCkdM
X0xJQlM9JycKR1JFUD0nL3Vzci9iaW4vZ3JlcCcKSEFMX0NGTEFHUz0nJwpIQUxfTElCUz0n
JwpIQVZFX0RCVVNfRkFMU0U9JycKSEFWRV9EQlVTX1RSVUU9JycKSTM4Nl9WSURFT19GQUxT
RT0nJwpJMzg2X1ZJREVPX1RSVUU9JycKSU5TVEFMTF9EQVRBPSdpbnN0YWxsICAtbyByb290
IC1nIHdoZWVsIC1tIDQ0NCcKSU5TVEFMTF9MSUJYRjg2Q09ORklHX0ZBTFNFPScnCklOU1RB
TExfTElCWEY4NkNPTkZJR19UUlVFPScnCklOU1RBTExfUFJPR1JBTT0naW5zdGFsbCAgLXMg
LW8gcm9vdCAtZyB3aGVlbCAtbSA1NTUnCklOU1RBTExfU0NSSVBUPSdpbnN0YWxsICAtbyBy
b290IC1nIHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TRVRVSURfRkFMU0U9JycKSU5TVEFMTF9T
RVRVSURfVFJVRT0nJwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyQoaW5zdGFsbF9zaCkgLWMg
LXMnCklOVDEwTU9EVUxFX0ZBTFNFPScnCklOVDEwTU9EVUxFX1RSVUU9JycKSU5UMTBfU1RV
Ql9GQUxTRT0nJwpJTlQxMF9TVFVCX1RSVUU9JycKSU5UMTBfVk04Nl9GQUxTRT0nJwpJTlQx
MF9WTTg2X1RSVUU9JycKSU5UMTBfWDg2RU1VX0ZBTFNFPScnCklOVDEwX1g4NkVNVV9UUlVF
PScnCktEUklWRUZCREVWX0ZBTFNFPScnCktEUklWRUZCREVWX1RSVUU9JycKS0RSSVZFTElO
VVhfRkFMU0U9JycKS0RSSVZFTElOVVhfVFJVRT0nJwpLRFJJVkVWRVNBX0ZBTFNFPScnCktE
UklWRVZFU0FfVFJVRT0nJwpLRFJJVkVfQ0ZMQUdTPScnCktEUklWRV9GQUxTRT0nJwpLRFJJ
VkVfSU5DUz0nJwpLRFJJVkVfTElCUz0nJwpLRFJJVkVfTE9DQUxfTElCUz0nJwpLRFJJVkVf
UFVSRV9JTkNTPScnCktEUklWRV9QVVJFX0xJQlM9JycKS0RSSVZFX1RSVUU9JycKTEFVTkNI
RF9JRF9QUkVGSVg9JycKTEQ9Jy91c3IvYmluL2xkJwpMREZMQUdTPScgLXJwYXRoPS91c3Iv
bGliOi91c3IvbG9jYWwvbGliJwpMRF9FWFBPUlRfU1lNQk9MU19GTEFHPScnCkxFWD0nZmxl
eCcKTEVYTElCPSctbGZsJwpMRVhfT1VUUFVUX1JPT1Q9J2xleC55eScKTElCRFJNX0NGTEFH
Uz0nJwpMSUJEUk1fTElCUz0nJwpMSUJPQkpTPScnCkxJQlM9JycKTElCVE9PTD0nJCh0b3Bf
YnVpbGRkaXIpL2RvbHRsaWJ0b29sJwpMSUJfTUFOX0RJUj0nJwpMSUJfTUFOX1NVRkZJWD0n
JwpMSU5VWERPQz0nJwpMSU5VWF9BTFBIQV9GQUxTRT0nJwpMSU5VWF9BTFBIQV9UUlVFPScn
CkxJTlVYX0lBNjRfRkFMU0U9JycKTElOVVhfSUE2NF9UUlVFPScnCkxJUE89JycKTE5YQUNQ
SV9GQUxTRT0nJwpMTlhBQ1BJX1RSVUU9JycKTE5YQVBNX0ZBTFNFPScnCkxOWEFQTV9UUlVF
PScnCkxOX1M9J2xuIC1zJwpMVENPTVBJTEU9JyQodG9wX2J1aWxkZGlyKS9kb2x0Y29tcGls
ZSAkKENPTVBJTEUpJwpMVENYWENPTVBJTEU9JyQodG9wX2J1aWxkZGlyKS9kb2x0Y29tcGls
ZSAkKENYWENPTVBJTEUpJwpMVExJQk9CSlM9JycKTUFJTlQ9JyMnCk1BSU5UQUlORVJfTU9E
RV9GQUxTRT0nJwpNQUlOVEFJTkVSX01PREVfVFJVRT0nIycKTUFJTl9MSUI9JycKTUFLRUZM
QUdTPScnCk1BS0VJTkZPPScke1NIRUxMfSAvdXNyL3BvcnRzL3gxMS1zZXJ2ZXJzL3hvcmct
c2VydmVyL3dvcmsveG9yZy1zZXJ2ZXItMS43LjcvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycK
TUFLRV9IVE1MPScnCk1BS0VfUERGPScnCk1BS0VfUFM9JycKTUFLRV9URVhUPScnCk1JU0Nf
TUFOX0RJUj0nJwpNSVNDX01BTl9TVUZGSVg9JycKTUlUU0hNX0ZBTFNFPScnCk1JVFNITV9U
UlVFPScnCk1LRElSX1A9Jy4vaW5zdGFsbC1zaCAtYyAtZCcKTVVMVElCVUZGRVJfRkFMU0U9
JycKTVVMVElCVUZGRVJfVFJVRT0nJwpORUVEX1NUUkxDQVRfRkFMU0U9JycKTkVFRF9TVFJM
Q0FUX1RSVUU9JycKTkVFRF9WU05QUklOVEZfRkFMU0U9JycKTkVFRF9WU05QUklOVEZfVFJV
RT0nJwpOTT0nL3Vzci9iaW4vbm0gLUInCk5NRURJVD0nJwpPQkpDPScnCk9CSkNDTEQ9JycK
T0JKQ0RFUE1PREU9JycKT0JKQ0ZMQUdTPScnCk9CSkNMSU5LPScnCk9CSkRVTVA9J29iamR1
bXAnCk9CSkVYVD0nbycKT1NfTElCPScnCk9UT09MNjQ9JycKT1RPT0w9JycKUEFDS0FHRT0n
eG9yZy1zZXJ2ZXInClBBQ0tBR0VfQlVHUkVQT1JUPSdodHRwczovL2J1Z3MuZnJlZWRlc2t0
b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD14b3JnJwpQQUNLQUdFX05BTUU9J3hvcmct
c2VydmVyJwpQQUNLQUdFX1NUUklORz0neG9yZy1zZXJ2ZXIgMS43LjcnClBBQ0tBR0VfVEFS
TkFNRT0neG9yZy1zZXJ2ZXInClBBQ0tBR0VfVkVSU0lPTj0nMS43LjcnClBBVEhfU0VQQVJB
VE9SPSc6JwpQQ0lBQ0NFU1NfQ0ZMQUdTPScnClBDSUFDQ0VTU19MSUJTPScnClBDSV9UWFRf
SURTX1BBVEg9JycKUEVSTD0nJwpQS0dfQ09ORklHPScvdXNyL2xvY2FsL2Jpbi9wa2ctY29u
ZmlnJwpQUENfVklERU9fRkFMU0U9JycKUFBDX1ZJREVPX1RSVUU9JycKUFJPSkVDVFJPT1Q9
JycKUFMyUERGPScnClE9JycKUkFOTElCPSdyYW5saWInClJBV0NQUD0nL3Vzci9iaW4vY3Bw
JwpSQVdDUFBGTEFHUz0nLXVuZGVmJwpSRUNPUkRfRkFMU0U9JycKUkVDT1JEX1RSVUU9JycK
UkVTX0ZBTFNFPScnClJFU19UUlVFPScnClNDUkVFTlNBVkVSX0ZBTFNFPScnClNDUkVFTlNB
VkVSX1RSVUU9JycKU0VDVVJFX1JQQ19GQUxTRT0nJwpTRUNVUkVfUlBDX1RSVUU9JycKU0VE
PScvdXNyL2Jpbi9zZWQnClNFTElOVVhfQ0ZMQUdTPScnClNFTElOVVhfTElCUz0nJwpTRVJW
RVJfTUlTQ19DT05GSUdfUEFUSD0nJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9zaCcKU09M
QVJJU19BU01fQ0ZMQUdTPScnClNPTEFSSVNfQVNNX0lOTElORV9GQUxTRT0nJwpTT0xBUklT
X0FTTV9JTkxJTkVfVFJVRT0nJwpTT0xBUklTX0lOT1VUX0FSQ0g9JycKU09MQVJJU19WVF9G
QUxTRT0nJwpTT0xBUklTX1ZUX1RSVUU9JycKU1BBUkM2NF9WSURFT19GQUxTRT0nJwpTUEFS
QzY0X1ZJREVPX1RSVUU9JycKU1BFQ0lBTF9EVFJBQ0VfT0JKRUNUU19GQUxTRT0nJwpTUEVD
SUFMX0RUUkFDRV9PQkpFQ1RTX1RSVUU9JycKU1RBTkRBTE9ORV9YUEJQUk9YWV9GQUxTRT0n
JwpTVEFOREFMT05FX1hQQlBST1hZX1RSVUU9JycKU1RSSVA9J3N0cmlwJwpUU0xJQl9DRkxB
R1M9JycKVFNMSUJfRkFMU0U9JycKVFNMSUJfTElCUz0nJwpUU0xJQl9UUlVFPScnClVOSVRU
RVNUU19GQUxTRT0nJwpVTklUVEVTVFNfVFJVRT0nJwpVVElMU19TWVNfTElCUz0nJwpWPScn
ClZCRV9GQUxTRT0nJwpWQkVfVFJVRT0nJwpWRU5ET1JfTkFNRV9TSE9SVD0nJwpWRVJTSU9O
PScxLjcuNycKVkdBSFdfRkFMU0U9JycKVkdBSFdfVFJVRT0nJwpXSU5EUkVTPScnClgxMUVY
QU1QTEVTX0RFUF9DRkxBR1M9JycKWDExRVhBTVBMRVNfREVQX0xJQlM9JycKWEFBX0ZBTFNF
PScnClhBQV9UUlVFPScnClhBQ0VfRkFMU0U9JycKWEFDRV9UUlVFPScnClhDQUxJQlJBVEVf
RkFMU0U9JycKWENBTElCUkFURV9UUlVFPScnClhDU0VDVVJJVFlfRkFMU0U9JycKWENTRUNV
UklUWV9UUlVFPScnClhETUFVVEhfRkFMU0U9JycKWERNQVVUSF9UUlVFPScnClhETUNQX0NG
TEFHUz0nJwpYRE1DUF9GQUxTRT0nJwpYRE1DUF9MSUJTPScnClhETUNQX1RSVUU9JycKWERN
WENPTkZJR19ERVBfQ0ZMQUdTPScnClhETVhDT05GSUdfREVQX0xJQlM9JycKWERNWF9DRkxB
R1M9JycKWERNWF9MSUJTPScnClhETVhfU1lTX0xJQlM9JycKWEVQSFlSX0NGTEFHUz0nJwpY
RVBIWVJfRkFMU0U9JycKWEVQSFlSX0lOQ1M9JycKWEVQSFlSX0xJQlM9JycKWEVQSFlSX1RS
VUU9JycKWEY4NkJJR0ZPTlRfRkFMU0U9JycKWEY4NkJJR0ZPTlRfVFJVRT0nJwpYRjg2Q09O
RklHRklMRT0nJwpYRjg2VVRJTFNfRkFMU0U9JycKWEY4NlVUSUxTX1RSVUU9JycKWEY4NlZJ
RE1PREVfQ0ZMQUdTPScnClhGODZWSURNT0RFX0ZBTFNFPScnClhGODZWSURNT0RFX0xJQlM9
JycKWEY4NlZJRE1PREVfVFJVRT0nJwpYRkFLRVNFUlZFUl9GQUxTRT0nJwpYRkFLRVNFUlZF
Ul9UUlVFPScnClhJTkVSQU1BX0ZBTFNFPScnClhJTkVSQU1BX1RSVUU9JycKWEtCX0JBU0Vf
RElSRUNUT1JZPScnClhLQl9CSU5fRElSRUNUT1JZPScnClhLQl9DT01QSUxFRF9ESVI9JycK
WEtNX09VVFBVVF9ESVI9JycKWExJQl9DRkxBR1M9JycKWExJQl9MSUJTPScnClhORVNUTU9E
VUxFU19DRkxBR1M9JycKWE5FU1RNT0RVTEVTX0xJQlM9JycKWE5FU1RfRkFMU0U9JycKWE5F
U1RfTElCUz0nJwpYTkVTVF9TWVNfTElCUz0nJwpYTkVTVF9UUlVFPScnClhPUkdfQlVTX0JT
RFBDSV9GQUxTRT0nJwpYT1JHX0JVU19CU0RQQ0lfVFJVRT0nJwpYT1JHX0JVU19MSU5VWFBD
SV9GQUxTRT0nJwpYT1JHX0JVU19MSU5VWFBDSV9UUlVFPScnClhPUkdfQlVTX1NQQVJDX0ZB
TFNFPScnClhPUkdfQlVTX1NQQVJDX1RSVUU9JycKWE9SR19DRkxBR1M9JycKWE9SR19GQUxT
RT0nJwpYT1JHX0lOQ1M9JycKWE9SR19MSUJTPScnClhPUkdfTU9EVUxFU19DRkxBR1M9JycK
WE9SR19NT0RVTEVTX0xJQlM9JycKWE9SR19PUz0nJwpYT1JHX09TX1NVQkRJUj0nJwpYT1JH
X1NHTUxfUEFUSD0nJwpYT1JHX1NZU19MSUJTPScnClhPUkdfVFJVRT0nJwpYUEJQUk9YWV9D
RkxBR1M9JycKWFBCUFJPWFlfTElCUz0nJwpYUVVBUlRaX0ZBTFNFPScnClhRVUFSVFpfU1BB
UktMRT0nJwpYUVVBUlRaX1NQQVJLTEVfRkFMU0U9JycKWFFVQVJUWl9TUEFSS0xFX1RSVUU9
JycKWFFVQVJUWl9UUlVFPScnClhSRUdJU1RSWV9GQUxTRT0nJwpYUkVHSVNUUllfVFJVRT0n
JwpYUkVTRVhBTVBMRVNfREVQX0NGTEFHUz0nJwpYUkVTRVhBTVBMRVNfREVQX0xJQlM9JycK
WFNETFNFUlZFUl9GQUxTRT0nJwpYU0RMU0VSVkVSX1RSVUU9JycKWFNETF9JTkNTPScnClhT
RExfTElCUz0nJwpYU0VMSU5VWF9GQUxTRT0nJwpYU0VMSU5VWF9UUlVFPScnClhTRVJWRVJD
RkxBR1NfQ0ZMQUdTPScnClhTRVJWRVJDRkxBR1NfTElCUz0nJwpYU0VSVkVSTElCU19DRkxB
R1M9JycKWFNFUlZFUkxJQlNfTElCUz0nJwpYU0VSVkVSX0RUUkFDRV9GQUxTRT0nJwpYU0VS
VkVSX0RUUkFDRV9UUlVFPScnClhTRVJWRVJfTElCUz0nJwpYU0VSVkVSX1NZU19MSUJTPScn
ClhUU1RFWEFNUExFU19ERVBfQ0ZMQUdTPScnClhUU1RFWEFNUExFU19ERVBfTElCUz0nJwpY
VkZCX0ZBTFNFPScnClhWRkJfTElCUz0nJwpYVkZCX1NZU19MSUJTPScnClhWRkJfVFJVRT0n
JwpYVk1DX0ZBTFNFPScnClhWTUNfVFJVRT0nJwpYVl9GQUxTRT0nJwpYVl9UUlVFPScnClhX
SU5NT0RVTEVTX0NGTEFHUz0nJwpYV0lOTU9EVUxFU19MSUJTPScnClhXSU5fQ0xJUEJPQVJE
X0ZBTFNFPScnClhXSU5fQ0xJUEJPQVJEX1RSVUU9JycKWFdJTl9GQUxTRT0nJwpYV0lOX0dM
WF9XSU5ET1dTX0ZBTFNFPScnClhXSU5fR0xYX1dJTkRPV1NfVFJVRT0nJwpYV0lOX0xJQlM9
JycKWFdJTl9NVUxUSVdJTkRPV0VYVFdNX0ZBTFNFPScnClhXSU5fTVVMVElXSU5ET1dFWFRX
TV9UUlVFPScnClhXSU5fTVVMVElXSU5ET1dfRkFMU0U9JycKWFdJTl9NVUxUSVdJTkRPV19U
UlVFPScnClhXSU5fTkFUSVZFR0RJX0ZBTFNFPScnClhXSU5fTkFUSVZFR0RJX1RSVUU9JycK
WFdJTl9QUklNQVJZRkJfRkFMU0U9JycKWFdJTl9QUklNQVJZRkJfVFJVRT0nJwpYV0lOX1JB
TkRSX0ZBTFNFPScnClhXSU5fUkFORFJfVFJVRT0nJwpYV0lOX1NFUlZFUl9OQU1FPScnClhX
SU5fU1lTX0xJQlM9JycKWFdJTl9UUlVFPScnClhXSU5fWFZfRkFMU0U9JycKWFdJTl9YVl9U
UlVFPScnCllBQ0M9J2Jpc29uIC15JwpZRkxBR1M9JycKX19YQ09ORklHRklMRV9fPScnCmFi
aV9hbnNpYz0nJwphYmlfZXh0ZW5zaW9uPScnCmFiaV92aWRlb2Rydj0nJwphYmlfeGlucHV0
PScnCmFjX2N0X0NDPSdjYycKYWNfY3RfRFVNUEJJTj0nJwphbV9fRVhFRVhUX0ZBTFNFPScn
CmFtX19FWEVFWFRfVFJVRT0nJwphbV9fZmFzdGRlcENDQVNfRkFMU0U9JyMnCmFtX19mYXN0
ZGVwQ0NBU19UUlVFPScnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0Nf
VFJVRT0nJwphbV9fZmFzdGRlcE9CSkNfRkFMU0U9JycKYW1fX2Zhc3RkZXBPQkpDX1RSVUU9
JycKYW1fX2luY2x1ZGU9J2luY2x1ZGUnCmFtX19pc3JjPScnCmFtX19sZWFkaW5nX2RvdD0n
LicKYW1fX3F1b3RlPScnCmFtX190YXI9JyR7QU1UQVJ9IGNob2YgLSAiJCR0YXJkaXIiJwph
bV9fdW50YXI9JyR7QU1UQVJ9IHhmIC0nCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJwpi
dWlsZD0nYW1kNjQtcG9ydGJsZC1mcmVlYnNkOS4wJwpidWlsZF9hbGlhcz0nYW1kNjQtcG9y
dGJsZC1mcmVlYnNkOS4wJwpidWlsZF9jcHU9J2FtZDY0JwpidWlsZF9vcz0nZnJlZWJzZDku
MCcKYnVpbGRfdmVuZG9yPSdwb3J0YmxkJwpkYXRhZGlyPScke2RhdGFyb290ZGlyfScKZGF0
YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2Mv
JHtQQUNLQUdFX1RBUk5BTUV9Jwpkcml2ZXJkaXI9JycKZHZpZGlyPScke2RvY2Rpcn0nCmV4
ZWNfcHJlZml4PSdOT05FJwpleHRkaXI9JycKaG9zdD0nYW1kNjQtcG9ydGJsZC1mcmVlYnNk
OS4wJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdhbWQ2NCcKaG9zdF9vcz0nZnJlZWJzZDku
MCcKaG9zdF92ZW5kb3I9J3BvcnRibGQnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRp
cj0nJHtwcmVmaXh9L2luY2x1ZGUnCmluZm9kaXI9Jy91c3IvbG9jYWwvaW5mbycKaW5zdGFs
bF9zaD0nJHtTSEVMTH0gL3Vzci9wb3J0cy94MTEtc2VydmVycy94b3JnLXNlcnZlci93b3Jr
L3hvcmctc2VydmVyLTEuNy43L2luc3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0v
bGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9JyR7
ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nL3ZhcicKbG9nZGlyPScnCmx0
X0VDSE89J2VjaG8nCm1hbmRpcj0nL3Vzci9sb2NhbC9tYW4nCm1rZGlyX3A9JyQodG9wX2J1
aWxkZGlyKS8uL2luc3RhbGwtc2ggLWMgLWQnCm1vZHVsZWRpcj0nJwpvbGRpbmNsdWRlZGly
PScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9JwpwcmVmaXg9Jy91c3IvbG9jYWwn
CnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3MseCx4LCcKcHNkaXI9JyR7ZG9jZGlyfScKc2Jp
bmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2RrZGlyPScnCnNoYXJlZHN0YXRlZGlyPSck
e3ByZWZpeH0vY29tJwpzaGF2ZWRpcj0nJwpzeW1ib2xfdmlzaWJpbGl0eT0nJwpzeXNjb25m
ZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXRfYWxpYXM9JycKCiMjIC0tLS0tLS0tLS0tICMj
CiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgojZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAieG9yZy1zZXJ2ZXIiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJ4b3JnLXNlcnZl
ciIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuNy43IgojZGVmaW5lIFBBQ0tBR0VfU1RS
SU5HICJ4b3JnLXNlcnZlciAxLjcuNyIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0
cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9eG9yZyIK
I2RlZmluZSBQQUNLQUdFICJ4b3JnLXNlcnZlciIKI2RlZmluZSBWRVJTSU9OICIxLjcuNyIK
I2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUg
SEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJ
TlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgSEFWRV9ETEZDTl9IIDEK
I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCgpj
b25maWd1cmU6IGV4aXQgMQo=
--------------010607050900080705070502--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FD890F1.8090803>