_apr_bucket_shared_copy symbol not found

_apr_bucket_shared_copy symbol not found

am 14.11.2009 20:43:18 von Fred Moyer

Platform: Snow Leopard

Versions used: perl 5.10.1, mod_perl 2.0.5-dev, httpd 2.2.14

Error found during make test:

t/apr-ext/uuid.t ........................ Can't load
'/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/auto/AP R/APR.bundle'
for module APR:
dlopen(/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/a uto/APR/APR.bundle,
9): Symbol not found: _apr_bucket_shared_copy

I compiled apache using the --with-included-apr option. This is a new
toolchain setup. Any thoughts?

Re: _apr_bucket_shared_copy symbol not found

am 16.11.2009 19:23:22 von gozer

On 09-11-14 14:43 , Fred Moyer wrote:
> Platform: Snow Leopard
>
> Versions used: perl 5.10.1, mod_perl 2.0.5-dev, httpd 2.2.14
>
> Error found during make test:
>
> t/apr-ext/uuid.t ........................ Can't load
> '/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/auto/AP R/APR.bundle'
> for module APR:
> dlopen(/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/a uto/APR/APR.bundle,
> 9): Symbol not found: _apr_bucket_shared_copy
>
> I compiled apache using the --with-included-apr option. This is a new
> toolchain setup. Any thoughts?

Can you send me the exact version of httpd you built, and with what
arguments?
mod_perl Makefile.PL arguments too. I just upgraded to Snow Leopard, so
I should be able to try and reproduce.

--
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/

Re: _apr_bucket_shared_copy symbol not found

am 16.11.2009 19:58:04 von Fred Moyer

--000e0cd32e12e9c12a047881961d
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 16, 2009 at 10:23 AM, Philippe M. Chiasson
wrote:
> On 09-11-14 14:43 , Fred Moyer wrote:
>>
>> Platform: =A0Snow Leopard
>>
>> Versions used: =A0perl 5.10.1, mod_perl 2.0.5-dev, httpd 2.2.14
>>
>> Error found during make test:
>>
>> t/apr-ext/uuid.t ........................ Can't load
>> '/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/auto/AP R/APR.bundle=
'
>> for module APR:
>>
>> dlopen(/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/a uto/APR/APR.=
bundle,
>> 9): Symbol not found: _apr_bucket_shared_copy
>>
>> I compiled apache using the --with-included-apr option. =A0This is a new
>> toolchain setup. =A0Any thoughts?
>
> Can you send me the exact version of httpd you built, and with what
> arguments?
> mod_perl Makefile.PL arguments too. I just upgraded to Snow Leopard, so I
> should be able to try and reproduce.

httpd:
~/dev/httpd-2.2.14 $ ./configure --with-included-apr
--prefix=3D/Users/phred/dev/httpd2/

mod_perl
~/dev/svn/modperl/mod_perl-2.0 $ perl Makefile.PL
MP_APXS=3D/Users/phred/dev/httpd2/bin/apxs

I've attached my config.status if that is needed. Made an attempt at
inlining it but iterm and gmail don't lend well to doing such things.

Thanks for taking a look, let me know if you need any other info.

Summary of my perl5 (revision 5 version 10 subversion 1) configuration:

Platform:
osname=3Ddarwin, osvers=3D10.0.0, archname=3Ddarwin-2level
uname=3D'darwin pooky.redhotpenguin.com 10.0.0 darwin kernel version
10.0.0: fri jul 31 22:47:34 pdt 2009; root:xnu-1456.1.25~1release_i386
i386 i386 '
config_args=3D'-Dprefix=3D/Users/phred/dev/perl-5.10.1'
hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
useithreads=3Dundef, usemultiplicity=3Dundef
useperlio=3Ddefine, d_sfio=3Dundef, uselargefiles=3Ddefine, usesocks=3D=
undef
use64bitint=3Ddefine, use64bitall=3Ddefine, uselongdouble=3Dundef
usemymalloc=3Dn, bincompat5005=3Dundef
Compiler:
cc=3D'cc', ccflags =3D'-fno-common -DPERL_DARWIN -no-cpp-precomp
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-I/opt/local/include',
optimize=3D'-O3',
cppflags=3D'-no-cpp-precomp -fno-common -DPERL_DARWIN
-no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -I/opt/local/include'
ccversion=3D'', gccversion=3D'4.2.1 (Apple Inc. build 5646)', gccosandv=
ers=3D''
intsize=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=3D123=
45678
d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsize=
=3D16
ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=3D'of=
f_t',
lseeksize=3D8
alignbytes=3D8, prototype=3Ddefine
Linker and Libraries:
ld=3D'env MACOSX_DEPLOYMENT_TARGET=3D10.3 cc', ldflags =3D'
-fstack-protector -L/usr/local/lib -L/opt/local/lib'
libpth=3D/usr/local/lib /opt/local/lib /usr/lib
libs=3D-ldbm -ldl -lm -lutil -lc
perllibs=3D-ldl -lm -lutil -lc
libc=3D/usr/lib/libc.dylib, so=3Ddylib, useshrplib=3Dfalse, libperl=3Dl=
ibperl.a
gnulibc_version=3D''
Dynamic Linking:
dlsrc=3Ddl_dlopen.xs, dlext=3Dbundle, d_dlsymun=3Dundef, ccdlflags=3D' =
'
cccdlflags=3D' ', lddlflags=3D' -bundle -undefined dynamic_lookup
-L/usr/local/lib -L/opt/local/lib -fstack-protector'


Characteristics of this binary (from libperl):
Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_A=
LL
USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
Built under darwin
Compiled at Nov 13 2009 15:49:27
@INC:
/Users/phred/dev/perl-5.10.1/lib/5.10.1/darwin-2level
/Users/phred/dev/perl-5.10.1/lib/5.10.1
/Users/phred/dev/perl-5.10.1/lib/site_perl/5.10.1/darwin-2le vel
/Users/phred/dev/perl-5.10.1/lib/site_perl/5.10.1

--000e0cd32e12e9c12a047881961d
Content-Type: application/octet-stream; name="config.status"
Content-Disposition: attachment; filename="config.status"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g23l8lxn0

IyEgL2Jpbi9zaAojIEdlbmVyYXRlZCBieSBjb25maWd1cmUuCiMgUnVuIHRo aXMgZmlsZSB0byBy
ZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLgojIENvbXBpbGVy IG91dHB1dCBwcm9k
dWNlZCBieSBjb25maWd1cmUsIHVzZWZ1bCBmb3IgZGVidWdnaW5nCiMgY29u ZmlndXJlLCBpcyBp
biBjb25maWcubG9nIGlmIGl0IGV4aXN0cy4KCmRlYnVnPWZhbHNlCmFjX2Nz X3JlY2hlY2s9ZmFs
c2UKYWNfY3Nfc2lsZW50PWZhbHNlCgpTSEVMTD0ke0NPTkZJR19TSEVMTC0v YmluL3NofQpleHBv
cnQgU0hFTEwKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgTTRzaCBJ bml0aWFsaXphdGlv
bi4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMgQmUgbW9yZSBC b3VybmUgY29tcGF0
aWJsZQpEVUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNo CmlmIHRlc3QgLW4g
IiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4vZGV2L251 bGwgMj4mMTsgdGhl
biA6CiAgZW11bGF0ZSBzaAogIE5VTExDTUQ9OgogICMgUHJlLTQuMiB2ZXJz aW9ucyBvZiBac2gg
ZG8gd29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMg Y29udHJhcnkgdG8g
b3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcg JyR7MSsiJEAifSc9
JyIkQCInCiAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQogIGNhc2UgYChz ZXQgLW8pIDI+L2Rl
di9udWxsYCBpbiAjKAogICpwb3NpeCopIDoKICAgIHNldCAtbyBwb3NpeCA7 OyAjKAogICopIDoK
ICAgICA7Owplc2FjCmZpCgoKYXNfbmw9JwonCmV4cG9ydCBhc19ubAojIFBy aW50aW5nIGEgbG9u
ZyBzdHJpbmcgY3Jhc2hlcyBTb2xhcmlzIDcgL3Vzci9iaW4vcHJpbnRmLgph c19lY2hvPSdcXFxc
XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc XFxcXFxcXFxcXFxc
XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcJwph c19lY2hvPSRhc19l
Y2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KYXNfZWNobz0k YXNfZWNobyRhc19l
Y2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KIyBQcmVmZXIg YSBrc2ggc2hlbGwg
YnVpbHRpbiBvdmVyIGFuIGV4dGVybmFsIHByaW50ZiBwcm9ncmFtIG9uIFNv bGFyaXMsCiMgYnV0
IHdpdGhvdXQgd2FzdGluZyBmb3JrcyBmb3IgYmFzaCBvciB6c2guCmlmIHRl c3QgLXogIiRCQVNI
X1ZFUlNJT04kWlNIX1ZFUlNJT04iIFwKICAgICYmICh0ZXN0ICJYYHByaW50 IC1yIC0tICRhc19l
Y2hvYCIgPSAiWCRhc19lY2hvIikgMj4vZGV2L251bGw7IHRoZW4KICBhc19l Y2hvPSdwcmludCAt
ciAtLScKICBhc19lY2hvX249J3ByaW50IC1ybiAtLScKZWxpZiAodGVzdCAi WGBwcmludGYgJXMg
JGFzX2VjaG9gIiA9ICJYJGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgog IGFzX2VjaG89J3By
aW50ZiAlc1xuJwogIGFzX2VjaG9fbj0ncHJpbnRmICVzJwplbHNlCiAgaWYg dGVzdCAiWGAoL3Vz
ci91Y2IvZWNobyAtbiAtbiAkYXNfZWNobykgMj4vZGV2L251bGxgIiA9ICJY LW4gJGFzX2VjaG8i
OyB0aGVuCiAgICBhc19lY2hvX2JvZHk9J2V2YWwgL3Vzci91Y2IvZWNobyAt biAiJDEkYXNfbmwi
JwogICAgYXNfZWNob19uPScvdXNyL3VjYi9lY2hvIC1uJwogIGVsc2UKICAg IGFzX2VjaG9fYm9k
eT0nZXZhbCBleHByICJYJDEiIDogIlhcXCguKlxcKSInCiAgICBhc19lY2hv X25fYm9keT0nZXZh
bAogICAgICBhcmc9JDE7CiAgICAgIGNhc2UgJGFyZyBpbiAjKAogICAgICAq IiRhc19ubCIqKQoJ
ZXhwciAiWCRhcmciIDogIlhcXCguKlxcKSRhc19ubCI7Cglhcmc9YGV4cHIg IlgkYXJnIiA6ICIu
KiRhc19ubFxcKC4qXFwpImA7OwogICAgICBlc2FjOwogICAgICBleHByICJY JGFyZyIgOiAiWFxc
KC4qXFwpIiB8IHRyIC1kICIkYXNfbmwiCiAgICAnCiAgICBleHBvcnQgYXNf ZWNob19uX2JvZHkK
ICAgIGFzX2VjaG9fbj0nc2ggLWMgJGFzX2VjaG9fbl9ib2R5IGFzX2VjaG8n CiAgZmkKICBleHBv
cnQgYXNfZWNob19ib2R5CiAgYXNfZWNobz0nc2ggLWMgJGFzX2VjaG9fYm9k eSBhc19lY2hvJwpm
aQoKIyBUaGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCmlmIHRlc3QgIiR7UEFU SF9TRVBBUkFUT1Ir
c2V0fSIgIT0gc2V0OyB0aGVuCiAgUEFUSF9TRVBBUkFUT1I9OgogIChQQVRI PScvYmluOy9iaW4n
OyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAyPiYxICYmIHsK ICAgIChQQVRIPScv
YmluOi9iaW4nOyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAy PiYxIHx8CiAgICAg
IFBBVEhfU0VQQVJBVE9SPSc7JwogIH0KZmkKCgojIElGUwojIFdlIG5lZWQg c3BhY2UsIHRhYiBh
bmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVyLiAgUXVvdGlu ZyBpcwojIHRoZXJl
IHRvIHByZXZlbnQgZWRpdG9ycyBmcm9tIGNvbXBsYWluaW5nIGFib3V0IHNw YWNlLXRhYi4KIyAo
SWYgX0FTX1BBVEhfV0FMSyB3ZXJlIGNhbGxlZCB3aXRoIElGUyB1bnNldCwg aXQgd291bGQgZGlz
YWJsZSB3b3JkCiMgc3BsaXR0aW5nIGJ5IHNldHRpbmcgSUZTIHRvIGVtcHR5 IHZhbHVlLikKSUZT
PSIgIiIJJGFzX25sIgoKIyBGaW5kIHdobyB3ZSBhcmUuICBMb29rIGluIHRo ZSBwYXRoIGlmIHdl
IGNvbnRhaW4gbm8gZGlyZWN0b3J5IHNlcGFyYXRvci4KY2FzZSAkMCBpbiAj KCgKICAqW1xcL10q
ICkgYXNfbXlzZWxmPSQwIDs7CiAgKikgYXNfc2F2ZV9JRlM9JElGUzsgSUZT PSRQQVRIX1NFUEFS
QVRPUgpmb3IgYXNfZGlyIGluICRQQVRICmRvCiAgSUZTPSRhc19zYXZlX0lG UwogIHRlc3QgLXog
IiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICB0ZXN0IC1yICIkYXNfZGlyLyQw IiAmJiBhc19teXNl
bGY9JGFzX2Rpci8kMCAmJiBicmVhawogIGRvbmUKSUZTPSRhc19zYXZlX0lG UwoKICAgICA7Owpl
c2FjCiMgV2UgZGlkIG5vdCBmaW5kIG91cnNlbHZlcywgbW9zdCBwcm9iYWJs eSB3ZSB3ZXJlIHJ1
biBhcyBgc2ggQ09NTUFORCcKIyBpbiB3aGljaCBjYXNlIHdlIGFyZSBub3Qg dG8gYmUgZm91bmQg
aW4gdGhlIHBhdGguCmlmIHRlc3QgIngkYXNfbXlzZWxmIiA9IHg7IHRoZW4K ICBhc19teXNlbGY9
JDAKZmkKaWYgdGVzdCAhIC1mICIkYXNfbXlzZWxmIjsgdGhlbgogICRhc19l Y2hvICIkYXNfbXlz
ZWxmOiBlcnJvcjogY2Fubm90IGZpbmQgbXlzZWxmOyByZXJ1biB3aXRoIGFu IGFic29sdXRlIGZp
bGUgbmFtZSIgPiYyCiAgZXhpdCAxCmZpCgojIFVuc2V0IHZhcmlhYmxlcyB0 aGF0IHdlIGRvIG5v
dCBuZWVkIGFuZCB3aGljaCBjYXVzZSBidWdzIChlLmcuIGluCiMgcHJlLTMu MCBVV0lOIGtzaCku
ICBCdXQgZG8gbm90IGNhdXNlIGJ1Z3MgaW4gYmFzaCAyLjAxOyB0aGUgInx8 IGV4aXQgMSIKIyBz
dXBwcmVzc2VzIGFueSAiU2VnbWVudGF0aW9uIGZhdWx0IiBtZXNzYWdlIHRo ZXJlLiAgJygoJyBj
b3VsZAojIHRyaWdnZXIgYSBidWcgaW4gcGRrc2ggNS4yLjE0Lgpmb3IgYXNf dmFyIGluIEJBU0hf
RU5WIEVOViBNQUlMIE1BSUxQQVRICmRvIGV2YWwgdGVzdCB4XCR7JGFzX3Zh citzZXR9ID0geHNl
dCBcCiAgJiYgKCAodW5zZXQgJGFzX3ZhcikgfHwgZXhpdCAxKSA+L2Rldi9u dWxsIDI+JjEgJiYg
dW5zZXQgJGFzX3ZhciB8fCA6CmRvbmUKUFMxPSckICcKUFMyPSc+ICcKUFM0 PScrICcKCiMgTkxT
IG51aXNhbmNlcy4KTENfQUxMPUMKZXhwb3J0IExDX0FMTApMQU5HVUFHRT1D CmV4cG9ydCBMQU5H
VUFHRQoKIyBDRFBBVEguCih1bnNldCBDRFBBVEgpID4vZGV2L251bGwgMj4m MSAmJiB1bnNldCBD
RFBBVEgKCgojIGFzX2ZuX2Vycm9yIEVSUk9SIFtMSU5FTk8gTE9HX0ZEXQoj IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE91dHB1dCAiYGJhc2VuYW1lICQw YDogZXJyb3I6IEVS
Uk9SIiB0byBzdGRlcnIuIElmIExJTkVOTyBhbmQgTE9HX0ZEIGFyZQojIHBy b3ZpZGVkLCBhbHNv
IG91dHB1dCB0aGUgZXJyb3IgdG8gTE9HX0ZELCByZWZlcmVuY2luZyBMSU5F Tk8uIFRoZW4gZXhp
dCB0aGUKIyBzY3JpcHQgd2l0aCBzdGF0dXMgJD8sIHVzaW5nIDEgaWYgdGhh dCB3YXMgMC4KYXNf
Zm5fZXJyb3IgKCkKewogIGFzX3N0YXR1cz0kPzsgdGVzdCAkYXNfc3RhdHVz IC1lcSAwICYmIGFz
X3N0YXR1cz0xCiAgaWYgdGVzdCAiJDMiOyB0aGVuCiAgICBhc19saW5lbm89 JHthc19saW5lbm8t
IiQyIn0gYXNfbGluZW5vX3N0YWNrPWFzX2xpbmVub19zdGFjaz0kYXNfbGlu ZW5vX3N0YWNrCiAg
ICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBlcnJv cjogJDEiID4mJDMK
ICBmaQogICRhc19lY2hvICIkYXNfbWU6IGVycm9yOiAkMSIgPiYyCiAgYXNf Zm5fZXhpdCAkYXNf
c3RhdHVzCn0gIyBhc19mbl9lcnJvcgoKCiMgYXNfZm5fc2V0X3N0YXR1cyBT VEFUVVMKIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQojIFNldCAkPyB0byBTVEFUVVMsIHdpdGhv dXQgZm9ya2luZy4K
YXNfZm5fc2V0X3N0YXR1cyAoKQp7CiAgcmV0dXJuICQxCn0gIyBhc19mbl9z ZXRfc3RhdHVzCgoj
IGFzX2ZuX2V4aXQgU1RBVFVTCiMgLS0tLS0tLS0tLS0tLS0tLS0KIyBFeGl0 IHRoZSBzaGVsbCB3
aXRoIFNUQVRVUywgZXZlbiBpbiBhICJ0cmFwIDAiIG9yICJzZXQgLWUiIGNv bnRleHQuCmFzX2Zu
X2V4aXQgKCkKewogIHNldCArZQogIGFzX2ZuX3NldF9zdGF0dXMgJDEKICBl eGl0ICQxCn0gIyBh
c19mbl9leGl0CgojIGFzX2ZuX3Vuc2V0IFZBUgojIC0tLS0tLS0tLS0tLS0t LQojIFBvcnRhYmx5
IHVuc2V0IFZBUi4KYXNfZm5fdW5zZXQgKCkKewogIHsgZXZhbCAkMT07IHVu c2V0ICQxO30KfQph
c191bnNldD1hc19mbl91bnNldAojIGFzX2ZuX2FwcGVuZCBWQVIgVkFMVUUK IyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiMgQXBwZW5kIHRoZSB0ZXh0IGluIFZBTFVFIHRvIHRo ZSBlbmQgb2YgdGhl
IGRlZmluaXRpb24gY29udGFpbmVkIGluIFZBUi4gVGFrZQojIGFkdmFudGFn ZSBvZiBhbnkgc2hl
bGwgb3B0aW1pemF0aW9ucyB0aGF0IGFsbG93IGFtb3J0aXplZCBsaW5lYXIg Z3Jvd3RoIG92ZXIK
IyByZXBlYXRlZCBhcHBlbmRzLCBpbnN0ZWFkIG9mIHRoZSB0eXBpY2FsIHF1 YWRyYXRpYyBncm93
dGggcHJlc2VudCBpbiBuYWl2ZQojIGltcGxlbWVudGF0aW9ucy4KaWYgKGV2 YWwgImFzX3Zhcj0x
OyBhc192YXIrPTI7IHRlc3QgeFwkYXNfdmFyID0geDEyIikgMj4vZGV2L251 bGw7IHRoZW4gOgog
IGV2YWwgJ2FzX2ZuX2FwcGVuZCAoKQogIHsKICAgIGV2YWwgJDErPVwkMgog IH0nCmVsc2UKICBh
c19mbl9hcHBlbmQgKCkKICB7CiAgICBldmFsICQxPVwkJDFcJDIKICB9CmZp ICMgYXNfZm5fYXBw
ZW5kCgojIGFzX2ZuX2FyaXRoIEFSRy4uLgojIC0tLS0tLS0tLS0tLS0tLS0t LQojIFBlcmZvcm0g
YXJpdGhtZXRpYyBldmFsdWF0aW9uIG9uIHRoZSBBUkdzLCBhbmQgc3RvcmUg dGhlIHJlc3VsdCBp
biB0aGUKIyBnbG9iYWwgJGFzX3ZhbC4gVGFrZSBhZHZhbnRhZ2Ugb2Ygc2hl bGxzIHRoYXQgY2Fu
IGF2b2lkIGZvcmtzLiBUaGUgYXJndW1lbnRzCiMgbXVzdCBiZSBwb3J0YWJs ZSBhY3Jvc3MgJCgo
KSkgYW5kIGV4cHIuCmlmIChldmFsICJ0ZXN0IFwkKCggMSArIDEgKSkgPSAy IikgMj4vZGV2L251
bGw7IHRoZW4gOgogIGV2YWwgJ2FzX2ZuX2FyaXRoICgpCiAgewogICAgYXNf dmFsPSQoKCAkKiAp
KQogIH0nCmVsc2UKICBhc19mbl9hcml0aCAoKQogIHsKICAgIGFzX3ZhbD1g ZXhwciAiJEAiIHx8
IHRlc3QgJD8gLWVxIDFgCiAgfQpmaSAjIGFzX2ZuX2FyaXRoCgoKaWYgZXhw ciBhIDogJ1woYVwp
JyA+L2Rldi9udWxsIDI+JjEgJiYKICAgdGVzdCAiWGBleHByIDAwMDAxIDog Jy4qXCguLi5cKSdg
IiA9IFgwMDE7IHRoZW4KICBhc19leHByPWV4cHIKZWxzZQogIGFzX2V4cHI9 ZmFsc2UKZmkKCmlm
IChiYXNlbmFtZSAtLSAvKSA+L2Rldi9udWxsIDI+JjEgJiYgdGVzdCAiWGBi YXNlbmFtZSAtLSAv
IDI+JjFgIiA9ICJYLyI7IHRoZW4KICBhc19iYXNlbmFtZT1iYXNlbmFtZQpl bHNlCiAgYXNfYmFz
ZW5hbWU9ZmFsc2UKZmkKCmlmIChhc19kaXI9YGRpcm5hbWUgLS0gL2AgJiYg dGVzdCAiWCRhc19k
aXIiID0gWC8pID4vZGV2L251bGwgMj4mMTsgdGhlbgogIGFzX2Rpcm5hbWU9 ZGlybmFtZQplbHNl
CiAgYXNfZGlybmFtZT1mYWxzZQpmaQoKYXNfbWU9YCRhc19iYXNlbmFtZSAt LSAiJDAiIHx8CiRh
c19leHByIFgvIiQwIiA6ICcuKi9cKFteL11bXi9dKlwpLyokJyBcfCBcCgkg WCIkMCIgOiAnWFwo
Ly9cKSQnIFx8IFwKCSBYIiQwIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251 bGwgfHwKJGFzX2Vj
aG8gWC8iJDAiIHwKICAgIHNlZCAnL14uKlwvXChbXi9dW14vXSpcKVwvKiQv ewoJICAgIHMvL1wx
LwoJICAgIHEKCSAgfQoJICAvXlhcL1woXC9cL1wpJC97CgkgICAgcy8vXDEv CgkgICAgcQoJICB9
CgkgIC9eWFwvXChcL1wpLiovewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJ ICBzLy4qLy4vOyBx
J2AKCiMgQXZvaWQgZGVwZW5kaW5nIHVwb24gQ2hhcmFjdGVyIFJhbmdlcy4K YXNfY3JfbGV0dGVy
cz0nYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonCmFzX2NyX0xFVFRFUlM9 J0FCQ0RFRkdISUpL
TE1OT1BRUlNUVVZXWFlaJwphc19jcl9MZXR0ZXJzPSRhc19jcl9sZXR0ZXJz JGFzX2NyX0xFVFRF
UlMKYXNfY3JfZGlnaXRzPScwMTIzNDU2Nzg5Jwphc19jcl9hbG51bT0kYXNf Y3JfTGV0dGVycyRh
c19jcl9kaWdpdHMKCkVDSE9fQz0gRUNIT19OPSBFQ0hPX1Q9CmNhc2UgYGVj aG8gLW4geGAgaW4g
IygoKCgoCi1uKikKICBjYXNlIGBlY2hvICd4eVxjJ2AgaW4KICAqYyopIEVD SE9fVD0nCSc7Owkj
IEVDSE9fVCBpcyBzaW5nbGUgdGFiIGNoYXJhY3Rlci4KICB4eSkgIEVDSE9f Qz0nXGMnOzsKICAq
KSAgIGVjaG8gYGVjaG8ga3NoODggYnVnIG9uIEFJWCA2LjFgID4gL2Rldi9u dWxsCiAgICAgICBF
Q0hPX1Q9JwknOzsKICBlc2FjOzsKKikKICBFQ0hPX049Jy1uJzs7CmVzYWMK CnJtIC1mIGNvbmYk
JCBjb25mJCQuZXhlIGNvbmYkJC5maWxlCmlmIHRlc3QgLWQgY29uZiQkLmRp cjsgdGhlbgogIHJt
IC1mIGNvbmYkJC5kaXIvY29uZiQkLmZpbGUKZWxzZQogIHJtIC1mIGNvbmYk JC5kaXIKICBta2Rp
ciBjb25mJCQuZGlyIDI+L2Rldi9udWxsCmZpCmlmIChlY2hvID5jb25mJCQu ZmlsZSkgMj4vZGV2
L251bGw7IHRoZW4KICBpZiBsbiAtcyBjb25mJCQuZmlsZSBjb25mJCQgMj4v ZGV2L251bGw7IHRo
ZW4KICAgIGFzX2xuX3M9J2xuIC1zJwogICAgIyAuLi4gYnV0IHRoZXJlIGFy ZSB0d28gZ290Y2hh
czoKICAgICMgMSkgT24gTVNZUywgYm90aCBgbG4gLXMgZmlsZSBkaXInIGFu ZCBgbG4gZmlsZSBk
aXInIGZhaWwuCiAgICAjIDIpIERKR1BQIDwgMi4wNCBoYXMgbm8gc3ltbGlu a3M7IGBsbiAtcycg
Y3JlYXRlcyBhIHdyYXBwZXIgZXhlY3V0YWJsZS4KICAgICMgSW4gYm90aCBj YXNlcywgd2UgaGF2
ZSB0byBkZWZhdWx0IHRvIGBjcCAtcCcuCiAgICBsbiAtcyBjb25mJCQuZmls ZSBjb25mJCQuZGly
IDI+L2Rldi9udWxsICYmIHRlc3QgISAtZiBjb25mJCQuZXhlIHx8CiAgICAg IGFzX2xuX3M9J2Nw
IC1wJwogIGVsaWYgbG4gY29uZiQkLmZpbGUgY29uZiQkIDI+L2Rldi9udWxs OyB0aGVuCiAgICBh
c19sbl9zPWxuCiAgZWxzZQogICAgYXNfbG5fcz0nY3AgLXAnCiAgZmkKZWxz ZQogIGFzX2xuX3M9
J2NwIC1wJwpmaQpybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZGly L2NvbmYkJC5maWxl
IGNvbmYkJC5maWxlCnJtZGlyIGNvbmYkJC5kaXIgMj4vZGV2L251bGwKCgoj IGFzX2ZuX21rZGly
X3AKIyAtLS0tLS0tLS0tLS0tCiMgQ3JlYXRlICIkYXNfZGlyIiBhcyBhIGRp cmVjdG9yeSwgaW5j
bHVkaW5nIHBhcmVudHMgaWYgbmVjZXNzYXJ5Lgphc19mbl9ta2Rpcl9wICgp CnsKCiAgY2FzZSAk
YXNfZGlyIGluICMoCiAgLSopIGFzX2Rpcj0uLyRhc19kaXI7OwogIGVzYWMK ICB0ZXN0IC1kICIk
YXNfZGlyIiB8fCBldmFsICRhc19ta2Rpcl9wIHx8IHsKICAgIGFzX2RpcnM9 CiAgICB3aGlsZSA6
OyBkbwogICAgICBjYXNlICRhc19kaXIgaW4gIygKICAgICAgKlwnKikgYXNf cWRpcj1gJGFzX2Vj
aG8gIiRhc19kaXIiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsgIyco CiAgICAgICopIGFz
X3FkaXI9JGFzX2Rpcjs7CiAgICAgIGVzYWMKICAgICAgYXNfZGlycz0iJyRh c19xZGlyJyAkYXNf
ZGlycyIKICAgICAgYXNfZGlyPWAkYXNfZGlybmFtZSAtLSAiJGFzX2RpciIg fHwKJGFzX2V4cHIg
WCIkYXNfZGlyIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwg XAoJIFgiJGFzX2Rp
ciIgOiAnWFwoLy9cKVteL10nIFx8IFwKCSBYIiRhc19kaXIiIDogJ1hcKC8v XCkkJyBcfCBcCgkg
WCIkYXNfZGlyIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKJGFz X2VjaG8gWCIkYXNf
ZGlyIiB8CiAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwv KiQvewoJICAgIHMv
L1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKVteL10uKi97CgkgICAg cy8vXDEvCgkgICAg
cQoJICB9CgkgIC9eWFwoXC9cL1wpJC97CgkgICAgcy8vXDEvCgkgICAgcQoJ ICB9CgkgIC9eWFwo
XC9cKS4qL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgcy8uKi8uLzsg cSdgCiAgICAgIHRl
c3QgLWQgIiRhc19kaXIiICYmIGJyZWFrCiAgICBkb25lCiAgICB0ZXN0IC16 ICIkYXNfZGlycyIg
fHwgZXZhbCAibWtkaXIgJGFzX2RpcnMiCiAgfSB8fCB0ZXN0IC1kICIkYXNf ZGlyIiB8fCBhc19m
bl9lcnJvciAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJGFzX2RpciIKCgp9 ICMgYXNfZm5fbWtk
aXJfcAppZiBta2RpciAtcCAuIDI+L2Rldi9udWxsOyB0aGVuCiAgYXNfbWtk aXJfcD0nbWtkaXIg
LXAgIiRhc19kaXIiJwplbHNlCiAgdGVzdCAtZCAuLy1wICYmIHJtZGlyIC4v LXAKICBhc19ta2Rp
cl9wPWZhbHNlCmZpCgppZiB0ZXN0IC14IC8gPi9kZXYvbnVsbCAyPiYxOyB0 aGVuCiAgYXNfdGVz
dF94PSd0ZXN0IC14JwplbHNlCiAgaWYgbHMgLWRMIC8gPi9kZXYvbnVsbCAy PiYxOyB0aGVuCiAg
ICBhc19sc19MX29wdGlvbj1MCiAgZWxzZQogICAgYXNfbHNfTF9vcHRpb249 CiAgZmkKICBhc190
ZXN0X3g9JwogICAgZXZhbCBzaCAtYyAnXCcnCiAgICAgIGlmIHRlc3QgLWQg IiQxIjsgdGhlbgoJ
dGVzdCAtZCAiJDEvLiI7CiAgICAgIGVsc2UKCWNhc2UgJDEgaW4gIygKCS0q KXNldCAiLi8kMSI7
OwoJZXNhYzsKCWNhc2UgYGxzIC1sZCckYXNfbHNfTF9vcHRpb24nICIkMSIg Mj4vZGV2L251bGxg
IGluICMoKAoJPz8/W3N4XSopOjs7KilmYWxzZTs7ZXNhYztmaQogICAgJ1wn JyBzaAogICcKZmkK
YXNfZXhlY3V0YWJsZV9wPSRhc190ZXN0X3gKCiMgU2VkIGV4cHJlc3Npb24g dG8gbWFwIGEgc3Ry
aW5nIG9udG8gYSB2YWxpZCBDUFAgbmFtZS4KYXNfdHJfY3BwPSJldmFsIHNl ZCAneSUqJGFzX2Ny
X2xldHRlcnMlUCRhc19jcl9MRVRURVJTJTtzJVteXyRhc19jcl9hbG51bV0l XyVnJyIKCiMgU2Vk
IGV4cHJlc3Npb24gdG8gbWFwIGEgc3RyaW5nIG9udG8gYSB2YWxpZCB2YXJp YWJsZSBuYW1lLgph
c190cl9zaD0iZXZhbCBzZWQgJ3klKislcHAlO3MlW15fJGFzX2NyX2FsbnVt XSVfJWcnIgoKCmV4
ZWMgNj4mMQojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSAjIwojIyBNYWlu
IGJvZHkgb2YgJENPTkZJR19TVEFUVVMgc2NyaXB0LiAjIwojIyAtLS0tLS0t LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSAjIwojIFNhdmUgdGhlIGxvZyBtZXNzYWdlLCB0 byBrZWVwICQwIGFu
ZCBzbyBvbiBtZWFuaW5nZnVsLCBhbmQgdG8KIyByZXBvcnQgYWN0dWFsIGlu cHV0IHZhbHVlcyBv
ZiBDT05GSUdfRklMRVMgZXRjLiBpbnN0ZWFkIG9mIHRoZWlyCiMgdmFsdWVz IGFmdGVyIG9wdGlv
bnMgaGFuZGxpbmcuCmFjX2xvZz0iClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQg YnkgJGFzX21lLCB3
aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY0LiAgSW52 b2NhdGlvbiBjb21t
YW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklM RVMKICBDT05GSUdf
SEVBREVSUyAgPSAkQ09ORklHX0hFQURFUlMKICBDT05GSUdfTElOS1MgICAg PSAkQ09ORklHX0xJ
TktTCiAgQ09ORklHX0NPTU1BTkRTID0gJENPTkZJR19DT01NQU5EUwogICQg JDAgJEAKCm9uIGAo
aG9zdG5hbWUgfHwgdW5hbWUgLW4pIDI+L2Rldi9udWxsIHwgc2VkIDFxYAoi CgojIEZpbGVzIHRo
YXQgY29uZmlnLnN0YXR1cyB3YXMgbWFkZSBmb3IuCmNvbmZpZ19maWxlcz0i ICBkb2NzL2NvbmYv
aHR0cGQuY29uZiBkb2NzL2NvbmYvZXh0cmEvaHR0cGQtYXV0b2luZGV4LmNv bmYgZG9jcy9jb25m
L2V4dHJhL2h0dHBkLWRhdi5jb25mIGRvY3MvY29uZi9leHRyYS9odHRwZC1k ZWZhdWx0LmNvbmYg
ZG9jcy9jb25mL2V4dHJhL2h0dHBkLWluZm8uY29uZiBkb2NzL2NvbmYvZXh0 cmEvaHR0cGQtbGFu
Z3VhZ2VzLmNvbmYgZG9jcy9jb25mL2V4dHJhL2h0dHBkLW1hbnVhbC5jb25m IGRvY3MvY29uZi9l
eHRyYS9odHRwZC1tcG0uY29uZiBkb2NzL2NvbmYvZXh0cmEvaHR0cGQtbXVs dGlsYW5nLWVycm9y
ZG9jLmNvbmYgZG9jcy9jb25mL2V4dHJhL2h0dHBkLXNzbC5jb25mIGRvY3Mv Y29uZi9leHRyYS9o
dHRwZC11c2VyZGlyLmNvbmYgZG9jcy9jb25mL2V4dHJhL2h0dHBkLXZob3N0 cy5jb25mIGluY2x1
ZGUvYXBfY29uZmlnX2xheW91dC5oIHN1cHBvcnQvYXB4cyBzdXBwb3J0L2Fw YWNoZWN0bCBzdXBw
b3J0L2RibW1hbmFnZSBzdXBwb3J0L2VudnZhcnMtc3RkIHN1cHBvcnQvbG9n X3NlcnZlcl9zdGF0
dXMgc3VwcG9ydC9sb2dyZXNvbHZlLnBsIHN1cHBvcnQvcGhmX2FidXNlX2xv Zy5jZ2kgc3VwcG9y
dC9zcGxpdC1sb2dmaWxlIGJ1aWxkL3J1bGVzLm1rIGJ1aWxkL3BrZy9wa2dp bmZvIGJ1aWxkL2Nv
bmZpZ192YXJzLnNoIgpjb25maWdfaGVhZGVycz0iIGluY2x1ZGUvYXBfY29u ZmlnX2F1dG8uaCIK
Y29uZmlnX2NvbW1hbmRzPSIgZGVmYXVsdCIKCmFjX2NzX3VzYWdlPSJcClxg JGFzX21lJyBpbnN0
YW50aWF0ZXMgZmlsZXMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24gYWN0aW9u cwpmcm9tIHRlbXBs
YXRlcyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbi4g IFVubGVzcyB0aGUg
ZmlsZXMKYW5kIGFjdGlvbnMgYXJlIHNwZWNpZmllZCBhcyBUQUdzLCBhbGwg YXJlIGluc3RhbnRp
YXRlZCBieSBkZWZhdWx0LgoKVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtUQUdd Li4uCgogIC1oLCAt
LWhlbHAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKICAtViwg LS12ZXJzaW9uICAg
IHByaW50IHZlcnNpb24gbnVtYmVyIGFuZCBjb25maWd1cmF0aW9uIHNldHRp bmdzLCB0aGVuIGV4
aXQKICAtcSwgLS1xdWlldCwgLS1zaWxlbnQKICAgICAgICAgICAgICAgICAg IGRvIG5vdCBwcmlu
dCBwcm9ncmVzcyBtZXNzYWdlcwogIC1kLCAtLWRlYnVnICAgICAgZG9uJ3Qg cmVtb3ZlIHRlbXBv
cmFyeSBmaWxlcwogICAgICAtLXJlY2hlY2sgICAgdXBkYXRlICRhc19tZSBi eSByZWNvbmZpZ3Vy
aW5nIGluIHRoZSBzYW1lIGNvbmRpdGlvbnMKICAgICAgLS1maWxlPUZJTEVb OlRFTVBMQVRFXQog
ICAgICAgICAgICAgICAgICAgaW5zdGFudGlhdGUgdGhlIGNvbmZpZ3VyYXRp b24gZmlsZSBGSUxF
CiAgICAgIC0taGVhZGVyPUZJTEVbOlRFTVBMQVRFXQogICAgICAgICAgICAg ICAgICAgaW5zdGFu
dGlhdGUgdGhlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIEZJTEUKCkNvbmZpZ3Vy YXRpb24gZmlsZXM6
CiRjb25maWdfZmlsZXMKCkNvbmZpZ3VyYXRpb24gaGVhZGVyczoKJGNvbmZp Z19oZWFkZXJzCgpD
b25maWd1cmF0aW9uIGNvbW1hbmRzOgokY29uZmlnX2NvbW1hbmRzCgpSZXBv cnQgYnVncyB0byB0
aGUgcGFja2FnZSBwcm92aWRlci4iCgphY19jc192ZXJzaW9uPSJcCmNvbmZp Zy5zdGF0dXMKY29u
ZmlndXJlZCBieSAuL2NvbmZpZ3VyZSwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRv Y29uZiAyLjY0LAog
IHdpdGggb3B0aW9ucyBcIictLXdpdGgtaW5jbHVkZWQtYXByJyAnLS1wcmVm aXg9L1VzZXJzL3Bo
cmVkL2Rldi9odHRwZDIvJ1wiCgpDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBT b2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuClRoaXMgY29uZmlnLnN0YXR1cyBzY3JpcHQgaXMgZnJl ZSBzb2Z0d2FyZTsg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgpnaXZlcyB1bmxpbWl0ZWQg cGVybWlzc2lvbiB0
byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuIgoKYWNfcHdkPScv VXNlcnMvcGhyZWQv
ZGV2L2h0dHBkLTIuMi4xNCcKc3JjZGlyPScuJwpBV0s9J2F3aycKdGVzdCAt biAiJEFXSyIgfHwg
QVdLPWF3awojIFRoZSBkZWZhdWx0IGxpc3RzIGFwcGx5IGlmIHRoZSB1c2Vy IGRvZXMgbm90IHNw
ZWNpZnkgYW55IGZpbGUuCmFjX25lZWRfZGVmYXVsdHM9Ogp3aGlsZSB0ZXN0 ICQjICE9IDAKZG8K
ICBjYXNlICQxIGluCiAgLS0qPSopCiAgICBhY19vcHRpb249YGV4cHIgIlgk MSIgOiAnWFwoW149
XSpcKT0nYAogICAgYWNfb3B0YXJnPWBleHByICJYJDEiIDogJ1hbXj1dKj1c KC4qXCknYAogICAg
YWNfc2hpZnQ9OgogICAgOzsKICAqKQogICAgYWNfb3B0aW9uPSQxCiAgICBh Y19vcHRhcmc9JDIK
ICAgIGFjX3NoaWZ0PXNoaWZ0CiAgICA7OwogIGVzYWMKCiAgY2FzZSAkYWNf b3B0aW9uIGluCiAg
IyBIYW5kbGluZyBvZiB0aGUgb3B0aW9ucy4KICAtcmVjaGVjayB8IC0tcmVj aGVjayB8IC0tcmVj
aGVjIHwgLS1yZWNoZSB8IC0tcmVjaCB8IC0tcmVjIHwgLS1yZSB8IC0tcikK ICAgIGFjX2NzX3Jl
Y2hlY2s9OiA7OwogIC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8 IC0tdmVycyB8IC0t
dmVyIHwgLS12ZSB8IC0tdiB8IC1WICkKICAgICRhc19lY2hvICIkYWNfY3Nf dmVyc2lvbiI7IGV4
aXQgOzsKICAtLWRlYnVnIHwgLS1kZWJ1IHwgLS1kZWIgfCAtLWRlIHwgLS1k IHwgLWQgKQogICAg
ZGVidWc9OiA7OwogIC0tZmlsZSB8IC0tZmlsIHwgLS1maSB8IC0tZiApCiAg ICAkYWNfc2hpZnQK
ICAgIGNhc2UgJGFjX29wdGFyZyBpbgogICAgKlwnKikgYWNfb3B0YXJnPWAk YXNfZWNobyAiJGFj
X29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsKICAgIGVz YWMKICAgIGFzX2Zu
X2FwcGVuZCBDT05GSUdfRklMRVMgIiAnJGFjX29wdGFyZyciCiAgICBhY19u ZWVkX2RlZmF1bHRz
PWZhbHNlOzsKICAtLWhlYWRlciB8IC0taGVhZGUgfCAtLWhlYWQgfCAtLWhl YSApCiAgICAkYWNf
c2hpZnQKICAgIGNhc2UgJGFjX29wdGFyZyBpbgogICAgKlwnKikgYWNfb3B0 YXJnPWAkYXNfZWNo
byAiJGFjX29wdGFyZyIgfCBzZWQgInMvJy8nXFxcXFxcXFwnJy9nImAgOzsK ICAgIGVzYWMKICAg
IGFzX2ZuX2FwcGVuZCBDT05GSUdfSEVBREVSUyAiICckYWNfb3B0YXJnJyIK ICAgIGFjX25lZWRf
ZGVmYXVsdHM9ZmFsc2U7OwogIC0taGUgfCAtLWgpCiAgICAjIENvbmZsaWN0 IGJldHdlZW4gLS1o
ZWxwIGFuZCAtLWhlYWRlcgogICAgYXNfZm5fZXJyb3IgImFtYmlndW91cyBv cHRpb246IFxgJDEn
ClRyeSBcYCQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIjs7CiAg LS1oZWxwIHwgLS1o
ZWwgfCAtaCApCiAgICAkYXNfZWNobyAiJGFjX2NzX3VzYWdlIjsgZXhpdCA7 OwogIC1xIHwgLXF1
aWV0IHwgLS1xdWlldCB8IC0tcXVpZSB8IC0tcXVpIHwgLS1xdSB8IC0tcSBc CiAgfCAtc2lsZW50
IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwgfCAtLXNp IHwgLS1zKQogICAg
YWNfY3Nfc2lsZW50PTogOzsKCiAgIyBUaGlzIGlzIGFuIGVycm9yLgogIC0q KSBhc19mbl9lcnJv
ciAidW5yZWNvZ25pemVkIG9wdGlvbjogXGAkMScKVHJ5IFxgJDAgLS1oZWxw JyBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4iIDs7CgogICopIGFzX2ZuX2FwcGVuZCBhY19jb25maWdf dGFyZ2V0cyAiICQx
IgogICAgIGFjX25lZWRfZGVmYXVsdHM9ZmFsc2UgOzsKCiAgZXNhYwogIHNo aWZ0CmRvbmUKCmFj
X2NvbmZpZ3VyZV9leHRyYV9hcmdzPQoKaWYgJGFjX2NzX3NpbGVudDsgdGhl bgogIGV4ZWMgNj4v
ZGV2L251bGwKICBhY19jb25maWd1cmVfZXh0cmFfYXJncz0iJGFjX2NvbmZp Z3VyZV9leHRyYV9h
cmdzIC0tc2lsZW50IgpmaQoKaWYgJGFjX2NzX3JlY2hlY2s7IHRoZW4KICBz ZXQgWCAnL2Jpbi9z
aCcgJy4vY29uZmlndXJlJyAgJy0td2l0aC1pbmNsdWRlZC1hcHInICctLXBy ZWZpeD0vVXNlcnMv
cGhyZWQvZGV2L2h0dHBkMi8nICRhY19jb25maWd1cmVfZXh0cmFfYXJncyAt LW5vLWNyZWF0ZSAt
LW5vLXJlY3Vyc2lvbgogIHNoaWZ0CiAgJGFzX2VjaG8gInJ1bm5pbmcgQ09O RklHX1NIRUxMPS9i
aW4vc2ggJCoiID4mNgogIENPTkZJR19TSEVMTD0nL2Jpbi9zaCcKICBleHBv cnQgQ09ORklHX1NI
RUxMCiAgZXhlYyAiJEAiCmZpCgpleGVjIDU+PmNvbmZpZy5sb2cKewogIGVj aG8KICBzZWQgJ2g7
cy8uLy0vZztzL14uLi4vIyMgLztzLy4uLiQvICMjLztwO3g7cDt4JyA8PF9B U0JPWAojIyBSdW5u
aW5nICRhc19tZS4gIyMKX0FTQk9YCiAgJGFzX2VjaG8gIiRhY19sb2ciCn0g PiY1CgojCiMgSU5J
VC1DT01NQU5EUwojCgoKICAvYmluL3NoIC4vYnVpbGQvZmFzdGdlbi5zaCAu IHllcyBubyAgbW9k
dWxlcy9hYWEvTWFrZWZpbGUgbW9kdWxlcy9hcmNoL3dpbjMyL01ha2VmaWxl IG1vZHVsZXMvY2Fj
aGUvTWFrZWZpbGUgbW9kdWxlcy9kYXRhYmFzZS9NYWtlZmlsZSBtb2R1bGVz L2RlYnVnL01ha2Vm
aWxlIG1vZHVsZXMvZWNoby9NYWtlZmlsZSBtb2R1bGVzL2V4cGVyaW1lbnRh bC9NYWtlZmlsZSBt
b2R1bGVzL2ZpbHRlcnMvTWFrZWZpbGUgbW9kdWxlcy9sZGFwL01ha2VmaWxl IG1vZHVsZXMvbG9n
Z2Vycy9NYWtlZmlsZSBtb2R1bGVzL21ldGFkYXRhL01ha2VmaWxlIG1vZHVs ZXMvcHJveHkvTWFr
ZWZpbGUgbW9kdWxlcy9zc2wvTWFrZWZpbGUgbW9kdWxlcy90ZXN0L01ha2Vm aWxlIG9zL3VuaXgv
TWFrZWZpbGUgc2VydmVyL21wbS9NYWtlZmlsZSBzZXJ2ZXIvbXBtL3ByZWZv cmsvTWFrZWZpbGUg
bW9kdWxlcy9odHRwL01ha2VmaWxlIG1vZHVsZXMvZGF2L21haW4vTWFrZWZp bGUgbW9kdWxlcy9n
ZW5lcmF0b3JzL01ha2VmaWxlIG1vZHVsZXMvZGF2L2ZzL01ha2VmaWxlIG1v ZHVsZXMvZGF2L2xv
Y2svTWFrZWZpbGUgbW9kdWxlcy9tYXBwZXJzL01ha2VmaWxlIE1ha2VmaWxl IG1vZHVsZXMvTWFr
ZWZpbGUgc3JjbGliL01ha2VmaWxlIG9zL01ha2VmaWxlIHNlcnZlci9NYWtl ZmlsZSBzdXBwb3J0
L01ha2VmaWxlIHNyY2xpYi9wY3JlL01ha2VmaWxlIHRlc3QvTWFrZWZpbGUK CgoKCiMgSGFuZGxp
bmcgb2YgYXJndW1lbnRzLgpmb3IgYWNfY29uZmlnX3RhcmdldCBpbiAkYWNf Y29uZmlnX3Rhcmdl
dHMKZG8KICBjYXNlICRhY19jb25maWdfdGFyZ2V0IGluCiAgICAiaW5jbHVk ZS9hcF9jb25maWdf
YXV0by5oIikgQ09ORklHX0hFQURFUlM9IiRDT05GSUdfSEVBREVSUyBpbmNs dWRlL2FwX2NvbmZp
Z19hdXRvLmgiIDs7CiAgICAiJEFQQUNIRV9PVVRQVVRfRklMRVMiKSBDT05G SUdfRklMRVM9IiRD
T05GSUdfRklMRVMgJEFQQUNIRV9PVVRQVVRfRklMRVMiIDs7CiAgICAiZG9j cy9jb25mL2h0dHBk
LmNvbmYiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZG9jcy9jb25m L2h0dHBkLmNvbmYi
IDs7CiAgICAiZG9jcy9jb25mL2V4dHJhL2h0dHBkLWF1dG9pbmRleC5jb25m IikgQ09ORklHX0ZJ
TEVTPSIkQ09ORklHX0ZJTEVTIGRvY3MvY29uZi9leHRyYS9odHRwZC1hdXRv aW5kZXguY29uZiIg
OzsKICAgICJkb2NzL2NvbmYvZXh0cmEvaHR0cGQtZGF2LmNvbmYiKSBDT05G SUdfRklMRVM9IiRD
T05GSUdfRklMRVMgZG9jcy9jb25mL2V4dHJhL2h0dHBkLWRhdi5jb25mIiA7 OwogICAgImRvY3Mv
Y29uZi9leHRyYS9odHRwZC1kZWZhdWx0LmNvbmYiKSBDT05GSUdfRklMRVM9 IiRDT05GSUdfRklM
RVMgZG9jcy9jb25mL2V4dHJhL2h0dHBkLWRlZmF1bHQuY29uZiIgOzsKICAg ICJkb2NzL2NvbmYv
ZXh0cmEvaHR0cGQtaW5mby5jb25mIikgQ09ORklHX0ZJTEVTPSIkQ09ORklH X0ZJTEVTIGRvY3Mv
Y29uZi9leHRyYS9odHRwZC1pbmZvLmNvbmYiIDs7CiAgICAiZG9jcy9jb25m L2V4dHJhL2h0dHBk
LWxhbmd1YWdlcy5jb25mIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVT IGRvY3MvY29uZi9l
eHRyYS9odHRwZC1sYW5ndWFnZXMuY29uZiIgOzsKICAgICJkb2NzL2NvbmYv ZXh0cmEvaHR0cGQt
bWFudWFsLmNvbmYiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZG9j cy9jb25mL2V4dHJh
L2h0dHBkLW1hbnVhbC5jb25mIiA7OwogICAgImRvY3MvY29uZi9leHRyYS9o dHRwZC1tcG0uY29u
ZiIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBkb2NzL2NvbmYvZXh0 cmEvaHR0cGQtbXBt
LmNvbmYiIDs7CiAgICAiZG9jcy9jb25mL2V4dHJhL2h0dHBkLW11bHRpbGFu Zy1lcnJvcmRvYy5j
b25mIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGRvY3MvY29uZi9l eHRyYS9odHRwZC1t
dWx0aWxhbmctZXJyb3Jkb2MuY29uZiIgOzsKICAgICJkb2NzL2NvbmYvZXh0 cmEvaHR0cGQtc3Ns
LmNvbmYiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZG9jcy9jb25m L2V4dHJhL2h0dHBk
LXNzbC5jb25mIiA7OwogICAgImRvY3MvY29uZi9leHRyYS9odHRwZC11c2Vy ZGlyLmNvbmYiKSBD
T05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgZG9jcy9jb25mL2V4dHJhL2h0 dHBkLXVzZXJkaXIu
Y29uZiIgOzsKICAgICJkb2NzL2NvbmYvZXh0cmEvaHR0cGQtdmhvc3RzLmNv bmYiKSBDT05GSUdf
RklMRVM9IiRDT05GSUdfRklMRVMgZG9jcy9jb25mL2V4dHJhL2h0dHBkLXZo b3N0cy5jb25mIiA7
OwogICAgImluY2x1ZGUvYXBfY29uZmlnX2xheW91dC5oIikgQ09ORklHX0ZJ TEVTPSIkQ09ORklH
X0ZJTEVTIGluY2x1ZGUvYXBfY29uZmlnX2xheW91dC5oIiA7OwogICAgInN1 cHBvcnQvYXB4cyIp
IENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBzdXBwb3J0L2FweHMiIDs7 CiAgICAic3VwcG9y
dC9hcGFjaGVjdGwiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgc3Vw cG9ydC9hcGFjaGVj
dGwiIDs7CiAgICAic3VwcG9ydC9kYm1tYW5hZ2UiKSBDT05GSUdfRklMRVM9 IiRDT05GSUdfRklM
RVMgc3VwcG9ydC9kYm1tYW5hZ2UiIDs7CiAgICAic3VwcG9ydC9lbnZ2YXJz LXN0ZCIpIENPTkZJ
R19GSUxFUz0iJENPTkZJR19GSUxFUyBzdXBwb3J0L2VudnZhcnMtc3RkIiA7 OwogICAgInN1cHBv
cnQvbG9nX3NlcnZlcl9zdGF0dXMiKSBDT05GSUdfRklMRVM9IiRDT05GSUdf RklMRVMgc3VwcG9y
dC9sb2dfc2VydmVyX3N0YXR1cyIgOzsKICAgICJzdXBwb3J0L2xvZ3Jlc29s dmUucGwiKSBDT05G
SUdfRklMRVM9IiRDT05GSUdfRklMRVMgc3VwcG9ydC9sb2dyZXNvbHZlLnBs IiA7OwogICAgInN1
cHBvcnQvcGhmX2FidXNlX2xvZy5jZ2kiKSBDT05GSUdfRklMRVM9IiRDT05G SUdfRklMRVMgc3Vw
cG9ydC9waGZfYWJ1c2VfbG9nLmNnaSIgOzsKICAgICJzdXBwb3J0L3NwbGl0 LWxvZ2ZpbGUiKSBD
T05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgc3VwcG9ydC9zcGxpdC1sb2dm aWxlIiA7OwogICAg
ImJ1aWxkL3J1bGVzLm1rIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVT IGJ1aWxkL3J1bGVz
Lm1rIiA7OwogICAgImJ1aWxkL3BrZy9wa2dpbmZvIikgQ09ORklHX0ZJTEVT PSIkQ09ORklHX0ZJ
TEVTIGJ1aWxkL3BrZy9wa2dpbmZvIiA7OwogICAgImJ1aWxkL2NvbmZpZ192 YXJzLnNoIikgQ09O
RklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGJ1aWxkL2NvbmZpZ192YXJzLnNo IiA7OwogICAgImRl
ZmF1bHQiKSBDT05GSUdfQ09NTUFORFM9IiRDT05GSUdfQ09NTUFORFMgZGVm YXVsdCIgOzsKCiAg
KikgYXNfZm5fZXJyb3IgImludmFsaWQgYXJndW1lbnQ6IFxgJGFjX2NvbmZp Z190YXJnZXQnIiAi
JExJTkVOTyIgNTs7CiAgZXNhYwpkb25lCgoKIyBJZiB0aGUgdXNlciBkaWQg bm90IHVzZSB0aGUg
YXJndW1lbnRzIHRvIHNwZWNpZnkgdGhlIGl0ZW1zIHRvIGluc3RhbnRpYXRl LAojIHRoZW4gdGhl
IGVudnZhciBpbnRlcmZhY2UgaXMgdXNlZC4gIFNldCBvbmx5IHRob3NlIHRo YXQgYXJlIG5vdC4K
IyBXZSB1c2UgdGhlIGxvbmcgZm9ybSBmb3IgdGhlIGRlZmF1bHQgYXNzaWdu bWVudCBiZWNhdXNl
IG9mIGFuIGV4dHJlbWVseQojIGJpemFycmUgYnVnIG9uIFN1bk9TIDQuMS4z LgppZiAkYWNfbmVl
ZF9kZWZhdWx0czsgdGhlbgogIHRlc3QgIiR7Q09ORklHX0ZJTEVTK3NldH0i ID0gc2V0IHx8IENP
TkZJR19GSUxFUz0kY29uZmlnX2ZpbGVzCiAgdGVzdCAiJHtDT05GSUdfSEVB REVSUytzZXR9IiA9
IHNldCB8fCBDT05GSUdfSEVBREVSUz0kY29uZmlnX2hlYWRlcnMKICB0ZXN0 ICIke0NPTkZJR19D
T01NQU5EUytzZXR9IiA9IHNldCB8fCBDT05GSUdfQ09NTUFORFM9JGNvbmZp Z19jb21tYW5kcwpm
aQoKIyBIYXZlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3IgY29udmVuaWVu Y2UuICBNYWtlIGl0
IGluIHRoZSBidWlsZCB0cmVlCiMgc2ltcGx5IGJlY2F1c2UgdGhlcmUgaXMg bm8gcmVhc29uIGFn
YWluc3QgaGF2aW5nIGl0IGhlcmUsIGFuZCBpbiBhZGRpdGlvbiwKIyBjcmVh dGluZyBhbmQgbW92
aW5nIGZpbGVzIGZyb20gL3RtcCBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2Js ZW1zLgojIEhvb2sg
Zm9yIGl0cyByZW1vdmFsIHVubGVzcyBkZWJ1Z2dpbmcuCiMgTm90ZSB0aGF0 IHRoZXJlIGlzIGEg
c21hbGwgd2luZG93IGluIHdoaWNoIHRoZSBkaXJlY3Rvcnkgd2lsbCBub3Qg YmUgY2xlYW5lZDoK
IyBhZnRlciBpdHMgY3JlYXRpb24gYnV0IGJlZm9yZSBpdHMgbmFtZSBoYXMg YmVlbiBhc3NpZ25l
ZCB0byBgJHRtcCcuCiRkZWJ1ZyB8fAp7CiAgdG1wPQogIHRyYXAgJ2V4aXRf c3RhdHVzPSQ/CiAg
eyB0ZXN0IC16ICIkdG1wIiB8fCB0ZXN0ICEgLWQgIiR0bXAiIHx8IHJtIC1m ciAiJHRtcCI7IH0g
JiYgZXhpdCAkZXhpdF9zdGF0dXMKJyAwCiAgdHJhcCAnYXNfZm5fZXhpdCAx JyAxIDIgMTMgMTUK
fQojIENyZWF0ZSBhIChzZWN1cmUpIHRtcCBkaXJlY3RvcnkgZm9yIHRtcCBm aWxlcy4KCnsKICB0
bXA9YCh1bWFzayAwNzcgJiYgbWt0ZW1wIC1kICIuL2NvbmZYWFhYWFgiKSAy Pi9kZXYvbnVsbGAg
JiYKICB0ZXN0IC1uICIkdG1wIiAmJiB0ZXN0IC1kICIkdG1wIgp9ICB8fAp7 CiAgdG1wPS4vY29u
ZiQkLSRSQU5ET00KICAodW1hc2sgMDc3ICYmIG1rZGlyICIkdG1wIikKfSB8 fCBhc19mbl9lcnJv
ciAiY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gLiIg IiRMSU5FTk8iIDUK
CiMgU2V0IHVwIHRoZSBzY3JpcHRzIGZvciBDT05GSUdfRklMRVMgc2VjdGlv bi4KIyBObyBuZWVk
IHRvIGdlbmVyYXRlIHRoZW0gaWYgdGhlcmUgYXJlIG5vIENPTkZJR19GSUxF Uy4KIyBUaGlzIGhh
cHBlbnMgZm9yIGluc3RhbmNlIHdpdGggYC4vY29uZmlnLnN0YXR1cyBjb25m aWcuaCcuCmlmIHRl
c3QgLW4gIiRDT05GSUdfRklMRVMiOyB0aGVuCgoKYWNfY3I9YGVjaG8gWCB8 IHRyIFggJ1wwMTUn
YAojIE9uIGN5Z3dpbiwgYmFzaCBjYW4gZWF0IFxyIGluc2lkZSBgYCBpZiB0 aGUgdXNlciByZXF1
ZXN0ZWQgaWduY3IuCiMgQnV0IHdlIGtub3cgb2Ygbm8gb3RoZXIgc2hlbGwg d2hlcmUgYWNfY3Ig
d291bGQgYmUgZW1wdHkgYXQgdGhpcwojIHBvaW50LCBzbyB3ZSBjYW4gdXNl IGEgYmFzaGlzbSBh
cyBhIGZhbGxiYWNrLgppZiB0ZXN0ICJ4JGFjX2NyIiA9IHg7IHRoZW4KICBl dmFsIGFjX2NyPVwk
XCdcXHJcJwpmaQphY19jc19hd2tfY3I9YCRBV0sgJ0JFR0lOIHsgcHJpbnQg ImFccmIiIH0nIDwv
ZGV2L251bGwgMj4vZGV2L251bGxgCmlmIHRlc3QgIiRhY19jc19hd2tfY3Ii ID0gImEke2FjX2Ny
fWIiOyB0aGVuCiAgYWNfY3NfYXdrX2NyPSdccicKZWxzZQogIGFjX2NzX2F3 a19jcj0kYWNfY3IK
ZmkKCmVjaG8gJ0JFR0lOIHsnID4iJHRtcC9zdWJzMS5hd2siICYmCmNhdCA+ PiIkdG1wL3N1YnMx
LmF3ayIgPDxcX0FDQVdLICYmClNbIkxUTElCT0JKUyJdPSIiClNbIkxJQk9C SlMiXT0iIgpTWyJI
VFRQRF9WRVJTSU9OIl09IjIuMi4xNCIKU1siYXBfbWFrZV9kZWxpbWl0ZXIi XT0iICIKU1siYXBf
bWFrZV9pbmNsdWRlIl09ImluY2x1ZGUiClNbInBlcmxiaW4iXT0iL3Vzci9i aW4vcGVybCIKU1si
QVBVX0NPTkZJRyJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0dHBkMi8vYmluL2Fw dS0xLWNvbmZpZyIK
U1siQVBVX1ZFUlNJT04iXT0iMS4zLjkiClNbIkFQVV9JTkNMVURFRElSIl09 Ii9Vc2Vycy9waHJl
ZC9kZXYvaHR0cGQtMi4yLjE0L3NyY2xpYi9hcHItdXRpbC9pbmNsdWRlIgpT WyJBUFVfQklORElS
Il09Ii9Vc2Vycy9waHJlZC9kZXYvaHR0cGQyLy9iaW4iClNbIkFQUl9DT05G SUciXT0iL1VzZXJz
L3BocmVkL2Rldi9odHRwZDIvL2Jpbi9hcHItMS1jb25maWciClNbIkFQUl9W RVJTSU9OIl09IjEu
My45IgpTWyJBUFJfSU5DTFVERURJUiJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0 dHBkLTIuMi4xNC9z
cmNsaWIvYXByL2luY2x1ZGUiClNbIkFQUl9CSU5ESVIiXT0iL1VzZXJzL3Bo cmVkL2Rldi9odHRw
ZDIvL2JpbiIKU1siRFNPX01PRFVMRVMiXT0iIgpTWyJJTlNUQUxMX1BST0df RkxBR1MiXT0iIgpT
WyJNS19JTVBMSUIiXT0iIgpTWyJTSF9MSUJUT09MIl09IiQoTElCVE9PTCki ClNbIlNIX0xJQlMi
XT0iIgpTWyJDT1JFX0lNUExJQiJdPSIiClNbIkNPUkVfSU1QTElCX0ZJTEUi XT0iIgpTWyJub25z
c2xfbGlzdGVuX3N0bXRfMiJdPSIiClNbIm5vbnNzbF9saXN0ZW5fc3RtdF8x Il09IiIKU1siU1NM
UE9SVCJdPSI0NDMiClNbIlBPUlQiXT0iODAiClNbIk1PRFVMRV9DTEVBTkRJ UlMiXT0iIGFyY2gv
d2luMzIgY2FjaGUgZGF0YWJhc2UgZGVidWcgZWNobyBleHBlcmltZW50YWwg bGRhcCBwcm94eSBz
c2wgdGVzdCBkYXYvbWFpbiBkYXYvZnMgZGF2L2xvY2siClNbIk1PRFVMRV9E SVJTIl09IiBhYWEg
ZmlsdGVycyBsb2dnZXJzIG1ldGFkYXRhIGh0dHAgZ2VuZXJhdG9ycyBtYXBw ZXJzIgpTWyJMSUJU
T09MIl09Ii9Vc2Vycy9waHJlZC9kZXYvaHR0cGQtMi4yLjE0L3NyY2xpYi9h cHIvbGlidG9vbCAk
KExURkxBR1MpIgpTWyJOT1RFU1RfTElCUyJdPSIiClNbIk5PVEVTVF9MREZM QUdTIl09IiIKU1si
Tk9URVNUX0NYWEZMQUdTIl09IiIKU1siTk9URVNUX0NGTEFHUyJdPSIiClNb Ik5PVEVTVF9DUFBG
TEFHUyJdPSIiClNbIklOQ0xVREVTIl09IiIKU1siVVRJTF9MREZMQUdTIl09 IiIKU1siSFRUUERf
TERGTEFHUyJdPSItZXhwb3J0LWR5bmFtaWMiClNbIlNIX0xERkxBR1MiXT0i IgpTWyJMVF9MREZM
QUdTIl09IiIKU1siTFRGTEFHUyJdPSItLXNpbGVudCIKU1siQ1hYRkxBR1Mi XT0iIgpTWyJDWFgi
XT0iIgpTWyJvdGhlcl90YXJnZXRzIl09IiIKU1sicHJveHljYWNoZWRpciJd PSIke2xvY2Fsc3Rh
dGVkaXJ9L3Byb3h5IgpTWyJydW50aW1lZGlyIl09IiR7bG9jYWxzdGF0ZWRp cn0vbG9ncyIKU1si
aW5zdGFsbGJ1aWxkZGlyIl09IiR7ZGF0YWRpcn0vYnVpbGQiClNbImljb25z ZGlyIl09IiR7ZGF0
YWRpcn0vaWNvbnMiClNbImVycm9yZGlyIl09IiR7ZGF0YWRpcn0vZXJyb3Ii ClNbIm1hbnVhbGRp
ciJdPSIke2RhdGFkaXJ9L21hbnVhbCIKU1siaHRkb2NzZGlyIl09IiR7ZGF0 YWRpcn0vaHRkb2Nz
IgpTWyJsb2dmaWxlZGlyIl09IiR7bG9jYWxzdGF0ZWRpcn0vbG9ncyIKU1si Y2dpZGlyIl09IiR7
ZGF0YWRpcn0vY2dpLWJpbiIKU1siYWJzX3NyY2RpciJdPSIvVXNlcnMvcGhy ZWQvZGV2L2h0dHBk
LTIuMi4xNCIKU1siRVhUUkFfSU5DTFVERVMiXT0iLUkkKHRvcF9idWlsZGRp cikvc3JjbGliL3Bj
cmUgLUkuIC1JJCh0b3Bfc3JjZGlyKS9vcy8kKE9TX0RJUikgLUkkKHRvcF9z cmNkaXIpL3NlcnZl
ci9tcG0vJChNUE1fU1VCRElSX05BTUUpIC1JJCh0b3Bfc3JjZGlyKS9tb2R1 bGVzL2h0dHAgLUkk
KHRvcF9zciJcCiJjZGlyKS9tb2R1bGVzL2ZpbHRlcnMgLUkkKHRvcF9zcmNk aXIpL21vZHVsZXMv
cHJveHkgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUgLUkkKHRvcF9zcmNkaXIp L21vZHVsZXMvZ2Vu
ZXJhdG9ycyAtSSQodG9wX3NyY2RpcikvbW9kdWxlcy9tYXBwZXJzIC1JJCh0 IlwKIm9wX3NyY2Rp
cikvbW9kdWxlcy9kYXRhYmFzZSAtSS9Vc2Vycy9waHJlZC9kZXYvaHR0cGQt Mi4yLjE0L3NyY2xp
Yi9hcHIvaW5jbHVkZSAtSS9Vc2Vycy9waHJlZC9kZXYvaHR0cGQtMi4yLjE0 L3NyY2xpYi9hcHIt
dXRpbC9pbmNsdWRlIC1JJCh0b3Bfc3JjZGkiXAoicikvbW9kdWxlcy9wcm94 eS8uLi9nZW5lcmF0
b3JzIC1JJCh0b3Bfc3JjZGlyKS9tb2R1bGVzL3NzbCAtSSQodG9wX3NyY2Rp cikvbW9kdWxlcy9k
YXYvbWFpbiIKU1siRVhUUkFfTElCUyJdPSIiClNbIkVYVFJBX0xERkxBR1Mi XT0iICIKU1siRVhU
UkFfQ1hYRkxBR1MiXT0iIgpTWyJFWFRSQV9DRkxBR1MiXT0iIC1nIC1PMiIK U1siRVhUUkFfQ1BQ
RkxBR1MiXT0iIC1EREFSV0lOIC1EU0lHUFJPQ01BU0tfU0VUU19USFJFQURf TUFTSyAtbm8tY3Bw
LXByZWNvbXAiClNbIkFQX0NMRUFOX1NSQ0xJQl9ESVJTIl09ImFwci11dGls ICBhcHIgcGNyZSIK
U1siQVBfQlVJTERfU1JDTElCX0RJUlMiXT0iYXByICBhcHItdXRpbCBwY3Jl IgpTWyJBUF9MSUJT
Il09Ii9Vc2Vycy9waHJlZC9kZXYvaHR0cGQtMi4yLjE0L3NyY2xpYi9wY3Jl L2xpYnBjcmUubGEg
IC9Vc2Vycy9waHJlZC9kZXYvaHR0cGQtMi4yLjE0L3NyY2xpYi9hcHItdXRp bC9saWJhcHJ1dGls
LTEubGEgICAgIC1sZXhwYXQgLWxpY29udiAgL1VzZXJzL3BocmUiXAoiZC9k ZXYvaHR0cGQtMi4y
LjE0L3NyY2xpYi9hcHIvbGliYXByLTEubGEgLWxwdGhyZWFkIgpTWyJzaGFy ZWRfYnVpbGQiXT0i
IgpTWyJQT1NUX1NIQVJFRF9DTURTIl09ImVjaG8gXCJcIiIKU1siUFJFX1NI QVJFRF9DTURTIl09
ImVjaG8gXCJcIiIKU1siT1NfU1BFQ0lGSUNfVkFSUyJdPSIiClNbIlNITElC UEFUSF9WQVIiXT0i
RFlMRF9MSUJSQVJZX1BBVEgiClNbIkJVSUxUSU5fTElCUyJdPSIgbW9kdWxl cy9hYWEvbGlibW9k
X2F1dGhuX2ZpbGUubGEgbW9kdWxlcy9hYWEvbGlibW9kX2F1dGhuX2RlZmF1 bHQubGEgbW9kdWxl
cy9hYWEvbGlibW9kX2F1dGh6X2hvc3QubGEgbW9kdWxlcy9hYWEvbGlibW9k X2F1dGh6X2dyb3Vw
ZmlsZS5sYSBtb2R1bGVzIlwKIi9hYWEvbGlibW9kX2F1dGh6X3VzZXIubGEg bW9kdWxlcy9hYWEv
bGlibW9kX2F1dGh6X2RlZmF1bHQubGEgbW9kdWxlcy9hYWEvbGlibW9kX2F1 dGhfYmFzaWMubGEg
bW9kdWxlcy9maWx0ZXJzL2xpYm1vZF9pbmNsdWRlLmxhIG1vZHVsZXMvZmls dGVycy9saWIiXAoi
bW9kX2ZpbHRlci5sYSBtb2R1bGVzL2xvZ2dlcnMvbGlibW9kX2xvZ19jb25m aWcubGEgbW9kdWxl
cy9tZXRhZGF0YS9saWJtb2RfZW52LmxhIG1vZHVsZXMvbWV0YWRhdGEvbGli bW9kX3NldGVudmlm
LmxhIG1vZHVsZXMvbWV0YWRhdGEvbGlibW9kX3ZlcnNpbyJcCiJuLmxhIG1v ZHVsZXMvaHR0cC9s
aWJtb2RfaHR0cC5sYSBtb2R1bGVzL2h0dHAvbGlibW9kX21pbWUubGEgbW9k dWxlcy9nZW5lcmF0
b3JzL2xpYm1vZF9zdGF0dXMubGEgbW9kdWxlcy9nZW5lcmF0b3JzL2xpYm1v ZF9hdXRvaW5kZXgu
bGEgbW9kdWxlcy9nZW5lIlwKInJhdG9ycy9saWJtb2RfYXNpcy5sYSBtb2R1 bGVzL2dlbmVyYXRv
cnMvbGlibW9kX2NnaS5sYSBtb2R1bGVzL21hcHBlcnMvbGlibW9kX25lZ290 aWF0aW9uLmxhIG1v
ZHVsZXMvbWFwcGVycy9saWJtb2RfZGlyLmxhIG1vZHVsZXMvbWFwcGVycy9s aWJtb2RfYWMiXAoi
dGlvbnMubGEgbW9kdWxlcy9tYXBwZXJzL2xpYm1vZF91c2VyZGlyLmxhIG1v ZHVsZXMvbWFwcGVy
cy9saWJtb2RfYWxpYXMubGEgbW9kdWxlcy9tYXBwZXJzL2xpYm1vZF9zby5s YSIKU1siT1NfRElS
Il09InVuaXgiClNbIk9TIl09InVuaXgiClNbIk1QTV9MSUIiXT0ic2VydmVy L21wbS9wcmVmb3Jr
L2xpYnByZWZvcmsubGEiClNbInByb2duYW1lIl09Imh0dHBkIgpTWyJNT0Rf U09fTERBREQiXT0i
IgpTWyJJTlNUQUxMX0RTTyJdPSJ5ZXMiClNbIk1PRF9SRVdSSVRFX0xEQURE Il09IiIKU1siTU9E
X0FMSUFTX0xEQUREIl09IiIKU1siTU9EX1VTRVJESVJfTERBREQiXT0iIgpT WyJNT0RfU1BFTElO
R19MREFERCJdPSIiClNbIk1PRF9BQ1RJT05TX0xEQUREIl09IiIKU1siTU9E X0lNQUdFTUFQX0xE
QUREIl09IiIKU1siTU9EX0RJUl9MREFERCJdPSIiClNbIk1PRF9ORUdPVElB VElPTl9MREFERCJd
PSIiClNbIk1PRF9WSE9TVF9BTElBU19MREFERCJdPSIiClNbIk1PRF9EQVZf TE9DS19MREFERCJd
PSIiClNbIk1PRF9EQVZfRlNfTERBREQiXT0iIgpTWyJNT0RfQ0dJX0xEQURE Il09IiIKU1siTU9E
X0NHSURfTERBREQiXT0iIgpTWyJNT0RfU1VFWEVDX0xEQUREIl09IiIKU1si TU9EX0lORk9fTERB
REQiXT0iIgpTWyJNT0RfQVNJU19MREFERCJdPSIiClNbIk1PRF9BVVRPSU5E RVhfTERBREQiXT0i
IgpTWyJNT0RfU1RBVFVTX0xEQUREIl09IiIKU1siTU9EX0RBVl9MREFERCJd PSIiClNbIk1PRF9N
SU1FX0xEQUREIl09IiIKU1siTU9EX0hUVFBfTERBREQiXT0iIgpTWyJBUEFD SEVDVExfVUxJTUlU
Il09IiIKU1siaHR0eHQyZGJtX0xURkxBR1MiXT0iIgpTWyJodGNhY2hlY2xl YW5fTFRGTEFHUyJd
PSIiClNbImNoZWNrZ2lkX0xURkxBR1MiXT0iIgpTWyJhYl9MVEZMQUdTIl09 IiIKU1siaHRkYm1f
TFRGTEFHUyJdPSIiClNbImxvZ3Jlc29sdmVfTFRGTEFHUyJdPSIiClNbInJv dGF0ZWxvZ3NfTFRG
TEFHUyJdPSIiClNbImh0ZGlnZXN0X0xURkxBR1MiXT0iIgpTWyJodHBhc3N3 ZF9MVEZMQUdTIl09
IiIKU1siTVBNX1NVQkRJUl9OQU1FIl09InByZWZvcmsiClNbIk1QTV9OQU1F Il09InByZWZvcmsi
ClNbIk1PRF9PUFRJT05BTF9GTl9FWFBPUlRfTERBREQiXT0iIgpTWyJNT0Rf T1BUSU9OQUxfRk5f
SU1QT1JUX0xEQUREIl09IiIKU1siTU9EX09QVElPTkFMX0hPT0tfSU1QT1JU X0xEQUREIl09IiIK
U1siTU9EX09QVElPTkFMX0hPT0tfRVhQT1JUX0xEQUREIl09IiIKU1siTU9E X1NTTF9MREFERCJd
PSIiClNbIlNTTF9MSUJTIl09IiIKU1siTU9EX1BST1hZX0JBTEFOQ0VSX0xE QUREIl09IiIKU1si
TU9EX1BST1hZX0FKUF9MREFERCJdPSIiClNbIk1PRF9QUk9YWV9TQ0dJX0xE QUREIl09IiIKU1si
TU9EX1BST1hZX0hUVFBfTERBREQiXT0iIgpTWyJNT0RfUFJPWFlfRlRQX0xE QUREIl09IiIKU1si
TU9EX1BST1hZX0NPTk5FQ1RfTERBREQiXT0iIgpTWyJNT0RfUFJPWFlfTERB REQiXT0iIgpTWyJN
T0RfVkVSU0lPTl9MREFERCJdPSIiClNbIk1PRF9TRVRFTlZJRl9MREFERCJd PSIiClNbIk1PRF9V
TklRVUVfSURfTERBREQiXT0iIgpTWyJNT0RfVVNFUlRSQUNLX0xEQUREIl09 IiIKU1siTU9EX0lE
RU5UX0xEQUREIl09IiIKU1siTU9EX0hFQURFUlNfTERBREQiXT0iIgpTWyJN T0RfRVhQSVJFU19M
REFERCJdPSIiClNbIk1PRF9DRVJOX01FVEFfTERBREQiXT0iIgpTWyJNT0Rf TUlNRV9NQUdJQ19M
REFERCJdPSIiClNbIk1PRF9FTlZfTERBREQiXT0iIgpTWyJNT0RfTE9HSU9f TERBREQiXT0iIgpT
WyJNT0RfTE9HX0ZPUkVOU0lDX0xEQUREIl09IiIKU1siTU9EX0xPR19DT05G SUdfTERBREQiXT0i
IgpTWyJNT0RfTERBUF9MREFERCJdPSIiClNbIk1PRF9ERUZMQVRFX0xEQURE Il09IiIKU1siTU9E
X0NIQVJTRVRfTElURV9MREFERCJdPSIiClNbIk1PRF9TVUJTVElUVVRFX0xE QUREIl09IiIKU1si
TU9EX0ZJTFRFUl9MREFERCJdPSIiClNbIk1PRF9JTkNMVURFX0xEQUREIl09 IiIKU1siTU9EX0VY
VF9GSUxURVJfTERBREQiXT0iIgpTWyJNT0RfQ0FTRV9GSUxURVJfSU5fTERB REQiXT0iIgpTWyJN
T0RfQ0FTRV9GSUxURVJfTERBREQiXT0iIgpTWyJNT0RfRVhBTVBMRV9MREFE RCJdPSIiClNbIk1P
RF9FQ0hPX0xEQUREIl09IiIKU1siTU9EX0RVTVBJT19MREFERCJdPSIiClNb Ik1PRF9CVUNLRVRF
RVJfTERBREQiXT0iIgpTWyJNT0RfREJEX0xEQUREIl09IiIKU1siTU9EX01F TV9DQUNIRV9MREFE
RCJdPSIiClNbIk1PRF9ESVNLX0NBQ0hFX0xEQUREIl09IiIKU1siTU9EX0NB Q0hFX0xEQUREIl09
IiIKU1siTU9EX0ZJTEVfQ0FDSEVfTERBREQiXT0iIgpTWyJNT0RfSVNBUElf TERBREQiXT0iIgpT
WyJNT0RfQVVUSF9ESUdFU1RfTERBREQiXT0iIgpTWyJNT0RfQVVUSF9CQVNJ Q19MREFERCJdPSIi
ClNbIk1PRF9BVVRIWl9ERUZBVUxUX0xEQUREIl09IiIKU1siTU9EX0FVVEhO Wl9MREFQX0xEQURE
Il09IiIKU1siTU9EX0FVVEhaX09XTkVSX0xEQUREIl09IiIKU1siTU9EX0FV VEhaX0RCTV9MREFE
RCJdPSIiClNbIk1PRF9BVVRIWl9VU0VSX0xEQUREIl09IiIKU1siTU9EX0FV VEhaX0dST1VQRklM
RV9MREFERCJdPSIiClNbIk1PRF9BVVRIWl9IT1NUX0xEQUREIl09IiIKU1si TU9EX0FVVEhOX0FM
SUFTX0xEQUREIl09IiIKU1siTU9EX0FVVEhOX0RFRkFVTFRfTERBREQiXT0i IgpTWyJNT0RfQVVU
SE5fREJEX0xEQUREIl09IiIKU1siTU9EX0FVVEhOX0FOT05fTERBREQiXT0i IgpTWyJNT0RfQVVU
SE5fREJNX0xEQUREIl09IiIKU1siTU9EX0FVVEhOX0ZJTEVfTERBREQiXT0i IgpTWyJQSUxERkxB
R1MiXT0iIgpTWyJQSUNGTEFHUyJdPSIiClNbIk1LREVQIl09IiQoQ0MpIC1N TSIKU1siRUdSRVAi
XT0iL3Vzci9iaW4vZ3JlcCAtRSIKU1siR1JFUCJdPSIvdXNyL2Jpbi9ncmVw IgpTWyJJTlNUQUxM
Il09IiQoTElCVE9PTCkgLS1tb2RlPWluc3RhbGwgJChhYnNfc3JjZGlyKS9i dWlsZC9pbnN0YWxs
LnNoIC1jIgpTWyJNS0lOU1RBTExESVJTIl09IiQoYWJzX3NyY2RpcikvYnVp bGQvbWtkaXIuc2gi
ClNbIkxZTlhfUEFUSCJdPSJseW54IgpTWyJSQU5MSUIiXT0icmFubGliIgpT WyJMTl9TIl09Imxu
IC1zIgpTWyJBV0siXT0iYXdrIgpTWyJSU1lOQyJdPSIvdXNyL2Jpbi9yc3lu YyIKU1siUEtHQ09O
RklHIl09IiIKU1siUk0iXT0iL2Jpbi9ybSIKU1siTFRDRkxBR1MiXT0iLXBy ZWZlci1ub24tcGlj
IC1zdGF0aWMiClNbIlNITFRDRkxBR1MiXT0iLXByZWZlci1waWMiClNbIlBD UkVfQ09ORklHIl09
ImZhbHNlIgpTWyJDUFAiXT0iZ2NjIC1FIgpTWyJPQkpFWFQiXT0ibyIKU1si RVhFRVhUIl09IiIK
U1siYWNfY3RfQ0MiXT0iZ2NjIgpTWyJDUFBGTEFHUyJdPSIiClNbIkxERkxB R1MiXT0iIgpTWyJD
RkxBR1MiXT0iIgpTWyJDQyJdPSJnY2MiClNbInRhcmdldF9vcyJdPSJkYXJ3 aW4xMC4wLjAiClNb
InRhcmdldF92ZW5kb3IiXT0iYXBwbGUiClNbInRhcmdldF9jcHUiXT0iaTM4 NiIKU1sidGFyZ2V0
Il09ImkzODYtYXBwbGUtZGFyd2luMTAuMC4wIgpTWyJob3N0X29zIl09ImRh cndpbjEwLjAuMCIK
U1siaG9zdF92ZW5kb3IiXT0iYXBwbGUiClNbImhvc3RfY3B1Il09ImkzODYi ClNbImhvc3QiXT0i
aTM4Ni1hcHBsZS1kYXJ3aW4xMC4wLjAiClNbImJ1aWxkX29zIl09ImRhcndp bjEwLjAuMCIKU1si
YnVpbGRfdmVuZG9yIl09ImFwcGxlIgpTWyJidWlsZF9jcHUiXT0iaTM4NiIK U1siYnVpbGQiXT0i
aTM4Ni1hcHBsZS1kYXJ3aW4xMC4wLjAiClNbInJlbF9wcm94eWNhY2hlZGly Il09InByb3h5IgpT
WyJleHBfcHJveHljYWNoZWRpciJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0dHBk Mi8vcHJveHkiClNb
InJlbF9sb2dmaWxlZGlyIl09ImxvZ3MiClNbImV4cF9sb2dmaWxlZGlyIl09 Ii9Vc2Vycy9waHJl
ZC9kZXYvaHR0cGQyLy9sb2dzIgpTWyJyZWxfcnVudGltZWRpciJdPSJsb2dz IgpTWyJleHBfcnVu
dGltZWRpciJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0dHBkMi8vbG9ncyIKU1si cmVsX2xvY2Fsc3Rh
dGVkaXIiXT0iIgpTWyJleHBfbG9jYWxzdGF0ZWRpciJdPSIvVXNlcnMvcGhy ZWQvZGV2L2h0dHBk
Mi8iClNbInJlbF9pbmNsdWRlZGlyIl09ImluY2x1ZGUiClNbImV4cF9pbmNs dWRlZGlyIl09Ii9V
c2Vycy9waHJlZC9kZXYvaHR0cGQyLy9pbmNsdWRlIgpTWyJyZWxfY2dpZGly Il09ImNnaS1iaW4i
ClNbImV4cF9jZ2lkaXIiXT0iL1VzZXJzL3BocmVkL2Rldi9odHRwZDIvL2Nn aS1iaW4iClNbInJl
bF9tYW51YWxkaXIiXT0ibWFudWFsIgpTWyJleHBfbWFudWFsZGlyIl09Ii9V c2Vycy9waHJlZC9k
ZXYvaHR0cGQyLy9tYW51YWwiClNbInJlbF9odGRvY3NkaXIiXT0iaHRkb2Nz IgpTWyJleHBfaHRk
b2NzZGlyIl09Ii9Vc2Vycy9waHJlZC9kZXYvaHR0cGQyLy9odGRvY3MiClNb InJlbF9pY29uc2Rp
ciJdPSJpY29ucyIKU1siZXhwX2ljb25zZGlyIl09Ii9Vc2Vycy9waHJlZC9k ZXYvaHR0cGQyLy9p
Y29ucyIKU1sicmVsX2Vycm9yZGlyIl09ImVycm9yIgpTWyJleHBfZXJyb3Jk aXIiXT0iL1VzZXJz
L3BocmVkL2Rldi9odHRwZDIvL2Vycm9yIgpTWyJyZWxfaW5zdGFsbGJ1aWxk ZGlyIl09ImJ1aWxk
IgpTWyJleHBfaW5zdGFsbGJ1aWxkZGlyIl09Ii9Vc2Vycy9waHJlZC9kZXYv aHR0cGQyLy9idWls
ZCIKU1sicmVsX2RhdGFkaXIiXT0iIgpTWyJleHBfZGF0YWRpciJdPSIvVXNl cnMvcGhyZWQvZGV2
L2h0dHBkMi8iClNbInJlbF9zeXNjb25mZGlyIl09ImNvbmYiClNbImV4cF9z eXNjb25mZGlyIl09
Ii9Vc2Vycy9waHJlZC9kZXYvaHR0cGQyLy9jb25mIgpTWyJyZWxfbWFuZGly Il09Im1hbiIKU1si
ZXhwX21hbmRpciJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0dHBkMi8vbWFuIgpT WyJyZWxfbGliZXhl
Y2RpciJdPSJtb2R1bGVzIgpTWyJleHBfbGliZXhlY2RpciJdPSIvVXNlcnMv cGhyZWQvZGV2L2h0
dHBkMi8vbW9kdWxlcyIKU1sicmVsX2xpYmRpciJdPSJsaWIiClNbImV4cF9s aWJkaXIiXT0iL1Vz
ZXJzL3BocmVkL2Rldi9odHRwZDIvL2xpYiIKU1sicmVsX3NiaW5kaXIiXT0i YmluIgpTWyJleHBf
c2JpbmRpciJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0dHBkMi8vYmluIgpTWyJy ZWxfYmluZGlyIl09
ImJpbiIKU1siZXhwX2JpbmRpciJdPSIvVXNlcnMvcGhyZWQvZGV2L2h0dHBk Mi8vYmluIgpTWyJy
ZWxfZXhlY19wcmVmaXgiXT0iIgpTWyJleHBfZXhlY19wcmVmaXgiXT0iL1Vz ZXJzL3BocmVkL2Rl
di9odHRwZDIvIgpTWyJ0YXJnZXRfYWxpYXMiXT0iIgpTWyJob3N0X2FsaWFz Il09IiIKU1siYnVp
bGRfYWxpYXMiXT0iIgpTWyJMSUJTIl09IiIKU1siRUNIT19UIl09IiIKU1si RUNIT19OIl09Ii1u
IgpTWyJFQ0hPX0MiXT0iIgpTWyJERUZTIl09Ii1ESEFWRV9DT05GSUdfSCIK U1sibWFuZGlyIl09
IiR7cHJlZml4fS9tYW4iClNbImxvY2FsZWRpciJdPSIke2RhdGFyb290ZGly fS9sb2NhbGUiClNb
ImxpYmRpciJdPSIke2V4ZWNfcHJlZml4fS9saWIiClNbInBzZGlyIl09IiR7 ZG9jZGlyfSIKU1si
cGRmZGlyIl09IiR7ZG9jZGlyfSIKU1siZHZpZGlyIl09IiR7ZG9jZGlyfSIK U1siaHRtbGRpciJd
PSIke2RvY2Rpcn0iClNbImluZm9kaXIiXT0iJHtkYXRhcm9vdGRpcn0vaW5m byIKU1siZG9jZGly
Il09IiR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0V9IgpTWyJvbGRpbmNs dWRlZGlyIl09Ii91
c3IvaW5jbHVkZSIKU1siaW5jbHVkZWRpciJdPSIke3ByZWZpeH0vaW5jbHVk ZSIKU1sibG9jYWxz
dGF0ZWRpciJdPSIke3ByZWZpeH0iClNbInNoYXJlZHN0YXRlZGlyIl09IiR7 cHJlZml4fS9jb20i
ClNbInN5c2NvbmZkaXIiXT0iJHtwcmVmaXh9L2NvbmYiClNbImRhdGFkaXIi XT0iJHtwcmVmaXh9
IgpTWyJkYXRhcm9vdGRpciJdPSIke3ByZWZpeH0vc2hhcmUiClNbImxpYmV4 ZWNkaXIiXT0iJHtl
eGVjX3ByZWZpeH0vbW9kdWxlcyIKU1sic2JpbmRpciJdPSIke2V4ZWNfcHJl Zml4fS9iaW4iClNb
ImJpbmRpciJdPSIke2V4ZWNfcHJlZml4fS9iaW4iClNbInByb2dyYW1fdHJh bnNmb3JtX25hbWUi
XT0icyx4LHgsIgpTWyJwcmVmaXgiXT0iL1VzZXJzL3BocmVkL2Rldi9odHRw ZDIvIgpTWyJleGVj
X3ByZWZpeCJdPSIke3ByZWZpeH0iClNbIlBBQ0tBR0VfVVJMIl09IiIKU1si UEFDS0FHRV9CVUdS
RVBPUlQiXT0iIgpTWyJQQUNLQUdFX1NUUklORyJdPSIiClNbIlBBQ0tBR0Vf VkVSU0lPTiJdPSIi
ClNbIlBBQ0tBR0VfVEFSTkFNRSJdPSIiClNbIlBBQ0tBR0VfTkFNRSJdPSIi ClNbIlBBVEhfU0VQ
QVJBVE9SIl09IjoiClNbIlNIRUxMIl09Ii9iaW4vc2giCl9BQ0FXSwpjYXQg Pj4iJHRtcC9zdWJz
MS5hd2siIDw8X0FDQVdLICYmCiAgZm9yIChrZXkgaW4gUykgU19pc19zZXRb a2V5XSA9IDEKICBG
UyA9ICIHIgoKfQp7CiAgbGluZSA9ICQgMAogIG5maWVsZHMgPSBzcGxpdChs aW5lLCBmaWVsZCwg
IkAiKQogIHN1YnN0ZWQgPSAwCiAgbGVuID0gbGVuZ3RoKGZpZWxkWzFdKQog IGZvciAoaSA9IDI7
IGkgPCBuZmllbGRzOyBpKyspIHsKICAgIGtleSA9IGZpZWxkW2ldCiAgICBr ZXlsZW4gPSBsZW5n
dGgoa2V5KQogICAgaWYgKFNfaXNfc2V0W2tleV0pIHsKICAgICAgdmFsdWUg PSBTW2tleV0KICAg
ICAgbGluZSA9IHN1YnN0cihsaW5lLCAxLCBsZW4pICIiIHZhbHVlICIiIHN1 YnN0cihsaW5lLCBs
ZW4gKyBrZXlsZW4gKyAzKQogICAgICBsZW4gKz0gbGVuZ3RoKHZhbHVlKSAr IGxlbmd0aChmaWVs
ZFsrK2ldKQogICAgICBzdWJzdGVkID0gMQogICAgfSBlbHNlCiAgICAgIGxl biArPSAxICsga2V5
bGVuCiAgfQoKICBwcmludCBsaW5lCn0KCl9BQ0FXSwppZiBzZWQgInMvJGFj X2NyLy8iIDwgL2Rl
di9udWxsID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KICBzZWQgInMvJGFjX2Ny XCQvLzsgcy8kYWNf
Y3IvJGFjX2NzX2F3a19jci9nIgplbHNlCiAgY2F0CmZpIDwgIiR0bXAvc3Vi czEuYXdrIiA+ICIk
dG1wL3N1YnMuYXdrIiBcCiAgfHwgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBz ZXR1cCBjb25maWcg
ZmlsZXMgbWFjaGluZXJ5IiAiJExJTkVOTyIgNQpmaSAjIHRlc3QgLW4gIiRD T05GSUdfRklMRVMi
CgojIFNldCB1cCB0aGUgc2NyaXB0cyBmb3IgQ09ORklHX0hFQURFUlMgc2Vj dGlvbi4KIyBObyBu
ZWVkIHRvIGdlbmVyYXRlIHRoZW0gaWYgdGhlcmUgYXJlIG5vIENPTkZJR19I RUFERVJTLgojIFRo
aXMgaGFwcGVucyBmb3IgaW5zdGFuY2Ugd2l0aCBgLi9jb25maWcuc3RhdHVz IE1ha2VmaWxlJy4K
aWYgdGVzdCAtbiAiJENPTkZJR19IRUFERVJTIjsgdGhlbgpjYXQgPiIkdG1w L2RlZmluZXMuYXdr
IiA8PFxfQUNBV0sgfHwKQkVHSU4gewpEWyJQQUNLQUdFX05BTUUiXT0iIFwi XCIiCkRbIlBBQ0tB
R0VfVEFSTkFNRSJdPSIgXCJcIiIKRFsiUEFDS0FHRV9WRVJTSU9OIl09IiBc IlwiIgpEWyJQQUNL
QUdFX1NUUklORyJdPSIgXCJcIiIKRFsiUEFDS0FHRV9CVUdSRVBPUlQiXT0i IFwiXCIiCkRbIlBB
Q0tBR0VfVVJMIl09IiBcIlwiIgpEWyJTVERDX0hFQURFUlMiXT0iIDEiCkRb IkhBVkVfU1lTX1RZ
UEVTX0giXT0iIDEiCkRbIkhBVkVfU1lTX1NUQVRfSCJdPSIgMSIKRFsiSEFW RV9TVERMSUJfSCJd
PSIgMSIKRFsiSEFWRV9TVFJJTkdfSCJdPSIgMSIKRFsiSEFWRV9NRU1PUllf SCJdPSIgMSIKRFsi
SEFWRV9TVFJJTkdTX0giXT0iIDEiCkRbIkhBVkVfSU5UVFlQRVNfSCJdPSIg MSIKRFsiSEFWRV9T
VERJTlRfSCJdPSIgMSIKRFsiSEFWRV9VTklTVERfSCJdPSIgMSIKRFsiX19F WFRFTlNJT05TX18i
XT0iIDEiCkRbIl9BTExfU09VUkNFIl09IiAxIgpEWyJfR05VX1NPVVJDRSJd PSIgMSIKRFsiX1BP
U0lYX1BUSFJFQURfU0VNQU5USUNTIl09IiAxIgpEWyJfVEFOREVNX1NPVVJD RSJdPSIgMSIKRFsi
U1REQ19IRUFERVJTIl09IiAxIgpEWyJIQVZFX1NUUklOR19IIl09IiAxIgpE WyJIQVZFX0xJTUlU
U19IIl09IiAxIgpEWyJIQVZFX1VOSVNURF9IIl09IiAxIgpEWyJIQVZFX1NZ U19TT0NLRVRfSCJd
PSIgMSIKRFsiSEFWRV9QV0RfSCJdPSIgMSIKRFsiSEFWRV9HUlBfSCJdPSIg MSIKRFsiSEFWRV9T
VFJJTkdTX0giXT0iIDEiCkRbIkhBVkVfU1lTX1NFTV9IIl09IiAxIgpEWyJI QVZFX1NZU19XQUlU
X0giXT0iIDEiCkRbIkhBVkVfR0VUUFdOQU0iXT0iIDEiCkRbIkhBVkVfR0VU R1JOQU0iXT0iIDEi
CkRbIkhBVkVfSU5JVEdST1VQUyJdPSIgMSIKRFsiSEFWRV9USU1FR00iXT0i IDEiCkRbIkhBVkVf
R0VUUEdJRCJdPSIgMSIKRFsiSEFWRV9HTVRPRkYiXT0iIDEiCkRbIkFQX0VO QUJMRV9WNF9NQVBQ
RUQiXT0iIDEiCkRbIkhBVkVfU1lTX1RJTUVfSCJdPSIgMSIKRFsiSEFWRV9T WVNfUkVTT1VSQ0Vf
SCJdPSIgMSIKRFsiSEFWRV9TWVNfU0VNX0giXT0iIDEiCkRbIkhBVkVfU1lT X0lQQ19IIl09IiAx
IgpEWyJIQVZFX1NFVFNJRCJdPSIgMSIKRFsiSEFWRV9LSUxMUEciXT0iIDEi CkRbIkhBVkVfVU5J
U1REX0giXT0iIDEiCkRbIkhBVkVfU1lTTE9HIl09IiAxIgpEWyJIQVZFX1NZ U19USU1FU19IIl09
IiAxIgpEWyJIQVZFX1RJTUVTIl09IiAxIgpEWyJBUF9VU0lOR19BVVRPQ09O RiJdPSIgMSIKRFsi
U0lOR0xFX0xJU1RFTl9VTlNFUklBTElaRURfQUNDRVBUIl09IiAxIgpEWyJB UF9OT05CTE9DS19X
SEVOX01VTFRJX0xJU1RFTiJdPSIgMSIKRFsiSFRUUERfUk9PVCJdPSIgXCIv VXNlcnMvcGhyZWQv
ZGV2L2h0dHBkMi9cIiIKRFsiU0VSVkVSX0NPTkZJR19GSUxFIl09IiBcImNv bmYvaHR0cGQuY29u
ZlwiIgpEWyJBUF9UWVBFU19DT05GSUdfRklMRSJdPSIgXCJjb25mL21pbWUu dHlwZXNcIiIKRFsi
QVBBQ0hFX01QTV9ESVIiXT0iIFwic2VydmVyL21wbS9wcmVmb3JrXCIiCiAg Zm9yIChrZXkgaW4g
RCkgRF9pc19zZXRba2V5XSA9IDEKICBGUyA9ICIHIgp9Ci9eW1x0IF0qI1tc dCBdKihkZWZpbmV8
dW5kZWYpW1x0IF0rW19hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RF RkdISUpLTE1OT1BR
UlNUVVZXWFlaXVtfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZH SElKS0xNTk9QUVJT
VFVWV1hZWjAxMjM0NTY3ODldKihbXHQgKF18JCkvIHsKICBsaW5lID0gJCAw CiAgc3BsaXQobGlu
ZSwgYXJnLCAiICIpCiAgaWYgKGFyZ1sxXSA9PSAiIyIpIHsKICAgIGRlZnVu ZGVmID0gYXJnWzJd
CiAgICBtYWMxID0gYXJnWzNdCiAgfSBlbHNlIHsKICAgIGRlZnVuZGVmID0g c3Vic3RyKGFyZ1sx
XSwgMikKICAgIG1hYzEgPSBhcmdbMl0KICB9CiAgc3BsaXQobWFjMSwgbWFj MiwgIigiKSAjKQog
IG1hY3JvID0gbWFjMlsxXQogIHByZWZpeCA9IHN1YnN0cihsaW5lLCAxLCBp bmRleChsaW5lLCBk
ZWZ1bmRlZikgLSAxKQogIGlmIChEX2lzX3NldFttYWNyb10pIHsKICAgICMg UHJlc2VydmUgdGhl
IHdoaXRlIHNwYWNlIHN1cnJvdW5kaW5nIHRoZSAiIyIuCiAgICBwcmludCBw cmVmaXggImRlZmlu
ZSIsIG1hY3JvIFBbbWFjcm9dIERbbWFjcm9dCiAgICBuZXh0CiAgfSBlbHNl IHsKICAgICMgUmVw
bGFjZSAjdW5kZWYgd2l0aCBjb21tZW50cy4gIFRoaXMgaXMgbmVjZXNzYXJ5 LCBmb3IgZXhhbXBs
ZSwKICAgICMgaW4gdGhlIGNhc2Ugb2YgX1BPU0lYX1NPVVJDRSwgd2hpY2gg aXMgcHJlZGVmaW5l
ZCBhbmQgcmVxdWlyZWQKICAgICMgb24gc29tZSBzeXN0ZW1zIHdoZXJlIGNv bmZpZ3VyZSB3aWxs
IG5vdCBkZWNpZGUgdG8gZGVmaW5lIGl0LgogICAgaWYgKGRlZnVuZGVmID09 ICJ1bmRlZiIpIHsK
ICAgICAgcHJpbnQgIi8qIiwgcHJlZml4IGRlZnVuZGVmLCBtYWNybywgIiov IgogICAgICBuZXh0
CiAgICB9CiAgfQp9CnsgcHJpbnQgfQpfQUNBV0sKICBhc19mbl9lcnJvciAi Y291bGQgbm90IHNl
dHVwIGNvbmZpZyBoZWFkZXJzIG1hY2hpbmVyeSIgIiRMSU5FTk8iIDUKZmkg IyB0ZXN0IC1uICIk
Q09ORklHX0hFQURFUlMiCgoKZXZhbCBzZXQgWCAiICA6RiAkQ09ORklHX0ZJ TEVTICA6SCAkQ09O
RklHX0hFQURFUlMgICAgOkMgJENPTkZJR19DT01NQU5EUyIKc2hpZnQKZm9y IGFjX3RhZwpkbwog
IGNhc2UgJGFjX3RhZyBpbgogIDpbRkhMQ10pIGFjX21vZGU9JGFjX3RhZzsg Y29udGludWU7Owog
IGVzYWMKICBjYXNlICRhY19tb2RlJGFjX3RhZyBpbgogIDpbRkhMXSo6Kik7 OwogIDpMKiB8IDpD
KjoqKSBhc19mbl9lcnJvciAiaW52YWxpZCB0YWcgXGAkYWNfdGFnJyIgIiRM SU5FTk8iIDU7Owog
IDpbRkhdLSkgYWNfdGFnPS06LTs7CiAgOltGSF0qKSBhY190YWc9JGFjX3Rh ZzokYWNfdGFnLmlu
OzsKICBlc2FjCiAgYWNfc2F2ZV9JRlM9JElGUwogIElGUz06CiAgc2V0IHgg JGFjX3RhZwogIElG
Uz0kYWNfc2F2ZV9JRlMKICBzaGlmdAogIGFjX2ZpbGU9JDEKICBzaGlmdAoK ICBjYXNlICRhY19t
b2RlIGluCiAgOkwpIGFjX3NvdXJjZT0kMTs7CiAgOltGSF0pCiAgICBhY19m aWxlX2lucHV0cz0K
ICAgIGZvciBhY19mCiAgICBkbwogICAgICBjYXNlICRhY19mIGluCiAgICAg IC0pIGFjX2Y9IiR0
bXAvc3RkaW4iOzsKICAgICAgKikgIyBMb29rIGZvciB0aGUgZmlsZSBmaXJz dCBpbiB0aGUgYnVp
bGQgdHJlZSwgdGhlbiBpbiB0aGUgc291cmNlIHRyZWUKCSAjIChpZiB0aGUg cGF0aCBpcyBub3Qg
YWJzb2x1dGUpLiAgVGhlIGFic29sdXRlIHBhdGggY2Fubm90IGJlIERPUy1z dHlsZSwKCSAjIGJl
Y2F1c2UgJGFjX2YgY2Fubm90IGNvbnRhaW4gYDonLgoJIHRlc3QgLWYgIiRh Y19mIiB8fAoJICAg
Y2FzZSAkYWNfZiBpbgoJICAgW1xcLyRdKikgZmFsc2U7OwoJICAgKikgdGVz dCAtZiAiJHNyY2Rp
ci8kYWNfZiIgJiYgYWNfZj0iJHNyY2Rpci8kYWNfZiI7OwoJICAgZXNhYyB8 fAoJICAgYXNfZm5f
ZXJyb3IgImNhbm5vdCBmaW5kIGlucHV0IGZpbGU6IFxgJGFjX2YnIiAiJExJ TkVOTyIgNTs7CiAg
ICAgIGVzYWMKICAgICAgY2FzZSAkYWNfZiBpbiAqXCcqKSBhY19mPWAkYXNf ZWNobyAiJGFjX2Yi
IHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsgZXNhYwogICAgICBhc19m bl9hcHBlbmQgYWNf
ZmlsZV9pbnB1dHMgIiAnJGFjX2YnIgogICAgZG9uZQoKICAgICMgTGV0J3Mg c3RpbGwgcHJldGVu
ZCBpdCBpcyBgY29uZmlndXJlJyB3aGljaCBpbnN0YW50aWF0ZXMgKGkuZS4s IGRvbid0CiAgICAj
IHVzZSAkYXNfbWUpLCBwZW9wbGUgd291bGQgYmUgc3VycHJpc2VkIHRvIHJl YWQ6CiAgICAjICAg
IC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZpZy5zdGF0dXMuICAq LwogICAgY29uZmln
dXJlX2lucHV0PSdHZW5lcmF0ZWQgZnJvbSAnYAoJICAkYXNfZWNobyAiJCoi IHwgc2VkICdzfF5b
XjpdKi98fDtzfDpbXjpdKi98LCB8ZycKCWAnIGJ5IGNvbmZpZ3VyZS4nCiAg ICBpZiB0ZXN0IHgi
JGFjX2ZpbGUiICE9IHgtOyB0aGVuCiAgICAgIGNvbmZpZ3VyZV9pbnB1dD0i JGFjX2ZpbGUuICAk
Y29uZmlndXJlX2lucHV0IgogICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJ
TkVOT306IGNyZWF0aW5nICRhY19maWxlIiA+JjUKJGFzX2VjaG8gIiRhc19t ZTogY3JlYXRpbmcg
JGFjX2ZpbGUiID4mNjt9CiAgICBmaQogICAgIyBOZXV0cmFsaXplIHNwZWNp YWwgY2hhcmFjdGVy
cyBpbnRlcnByZXRlZCBieSBzZWQgaW4gcmVwbGFjZW1lbnQgc3RyaW5ncy4K ICAgIGNhc2UgJGNv
bmZpZ3VyZV9pbnB1dCBpbiAjKAogICAgKlwmKiB8ICpcfCogfCAqXFwqICkK ICAgICAgIGFjX3Nl
ZF9jb25mX2lucHV0PWAkYXNfZWNobyAiJGNvbmZpZ3VyZV9pbnB1dCIgfAog ICAgICAgc2VkICdz
L1tcXFxcJnxdL1xcXFwmL2cnYDs7ICMoCiAgICAqKSBhY19zZWRfY29uZl9p bnB1dD0kY29uZmln
dXJlX2lucHV0OzsKICAgIGVzYWMKCiAgICBjYXNlICRhY190YWcgaW4KICAg ICo6LToqIHwgKjot
KSBjYXQgPiIkdG1wL3N0ZGluIiBcCiAgICAgIHx8IGFzX2ZuX2Vycm9yICJj b3VsZCBub3QgY3Jl
YXRlICRhY19maWxlIiAiJExJTkVOTyIgNSA7OwogICAgZXNhYwogICAgOzsK ICBlc2FjCgogIGFj
X2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhY19maWxlIiB8fAokYXNfZXhwciBY IiRhY19maWxlIiA6
ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAoJIFgiJGFjX2Zp bGUiIDogJ1hcKC8v
XClbXi9dJyBcfCBcCgkgWCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwK CSBYIiRhY19maWxl
IiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKJGFzX2VjaG8gWCIk YWNfZmlsZSIgfAog
ICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKCSAg ICBzLy9cMS8KCSAg
ICBxCgkgIH0KCSAgL15YXChcL1wvXClbXi9dLiovewoJICAgIHMvL1wxLwoJ ICAgIHEKCSAgfQoJ
ICAvXlhcKFwvXC9cKSQvewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAv XlhcKFwvXCkuKi97
CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogIGFz X2Rpcj0iJGFjX2Rp
ciI7IGFzX2ZuX21rZGlyX3AKICBhY19idWlsZGRpcj0uCgpjYXNlICIkYWNf ZGlyIiBpbgouKSBh
Y19kaXJfc3VmZml4PSBhY190b3BfYnVpbGRkaXJfc3ViPS4gYWNfdG9wX2J1 aWxkX3ByZWZpeD0g
OzsKKikKICBhY19kaXJfc3VmZml4PS9gJGFzX2VjaG8gIiRhY19kaXIiIHwg c2VkICdzfF5cLltc
XC9dfHwnYAogICMgQSAiLi4iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAkYWNf ZGlyX3N1ZmZpeC4K
ICBhY190b3BfYnVpbGRkaXJfc3ViPWAkYXNfZWNobyAiJGFjX2Rpcl9zdWZm aXgiIHwgc2VkICdz
fC9bXlxcL10qfC8uLnxnO3N8L3x8J2AKICBjYXNlICRhY190b3BfYnVpbGRk aXJfc3ViIGluCiAg
IiIpIGFjX3RvcF9idWlsZGRpcl9zdWI9LiBhY190b3BfYnVpbGRfcHJlZml4 PSA7OwogICopICBh
Y190b3BfYnVpbGRfcHJlZml4PSRhY190b3BfYnVpbGRkaXJfc3ViLyA7Owog IGVzYWMgOzsKZXNh
YwphY19hYnNfdG9wX2J1aWxkZGlyPSRhY19wd2QKYWNfYWJzX2J1aWxkZGly PSRhY19wd2QkYWNf
ZGlyX3N1ZmZpeAojIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5OgphY190 b3BfYnVpbGRkaXI9
JGFjX3RvcF9idWlsZF9wcmVmaXgKCmNhc2UgJHNyY2RpciBpbgogIC4pICAj IFdlIGFyZSBidWls
ZGluZyBpbiBwbGFjZS4KICAgIGFjX3NyY2Rpcj0uCiAgICBhY190b3Bfc3Jj ZGlyPSRhY190b3Bf
YnVpbGRkaXJfc3ViCiAgICBhY19hYnNfdG9wX3NyY2Rpcj0kYWNfcHdkIDs7 CiAgW1xcL10qIHwg
PzpbXFwvXSogKSAgIyBBYnNvbHV0ZSBuYW1lLgogICAgYWNfc3JjZGlyPSRz cmNkaXIkYWNfZGly
X3N1ZmZpeDsKICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpcgogICAgYWNfYWJz X3RvcF9zcmNkaXI9
JHNyY2RpciA7OwogICopICMgUmVsYXRpdmUgbmFtZS4KICAgIGFjX3NyY2Rp cj0kYWNfdG9wX2J1
aWxkX3ByZWZpeCRzcmNkaXIkYWNfZGlyX3N1ZmZpeAogICAgYWNfdG9wX3Ny Y2Rpcj0kYWNfdG9w
X2J1aWxkX3ByZWZpeCRzcmNkaXIKICAgIGFjX2Fic190b3Bfc3JjZGlyPSRh Y19wd2QvJHNyY2Rp
ciA7Owplc2FjCmFjX2Fic19zcmNkaXI9JGFjX2Fic190b3Bfc3JjZGlyJGFj X2Rpcl9zdWZmaXgK
CgogIGNhc2UgJGFjX21vZGUgaW4KICA6RikKICAjCiAgIyBDT05GSUdfRklM RQogICMKCiMgSWYg
dGhlIHRlbXBsYXRlIGRvZXMgbm90IGtub3cgYWJvdXQgZGF0YXJvb3RkaXIs IGV4cGFuZCBpdC4K
IyBGSVhNRTogVGhpcyBoYWNrIHNob3VsZCBiZSByZW1vdmVkIGEgZmV3IHll YXJzIGFmdGVyIDIu
NjAuCmFjX2RhdGFyb290ZGlyX2hhY2s9OyBhY19kYXRhcm9vdGRpcl9zZWVu PQphY19zZWRfZGF0
YXJvb3Q9JwovZGF0YXJvb3RkaXIvIHsKICBwCiAgcQp9Ci9AZGF0YWRpckAv cAovQGRvY2RpckAv
cAovQGluZm9kaXJAL3AKL0Bsb2NhbGVkaXJAL3AKL0BtYW5kaXJAL3AnCmNh c2UgYGV2YWwgInNl
ZCAtbiBcIlwkYWNfc2VkX2RhdGFyb290XCIgJGFjX2ZpbGVfaW5wdXRzImAg aW4KKmRhdGFyb290
ZGlyKikgYWNfZGF0YXJvb3RkaXJfc2Vlbj15ZXM7OwoqQGRhdGFkaXJAKnwq QGRvY2RpckAqfCpA
aW5mb2RpckAqfCpAbG9jYWxlZGlyQCp8KkBtYW5kaXJAKikKICB7ICRhc19l Y2hvICIkYXNfbWU6
JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICRhY19maWxlX2lucHV0 cyBzZWVtcyB0byBp
Z25vcmUgdGhlIC0tZGF0YXJvb3RkaXIgc2V0dGluZyIgPiY1CiRhc19lY2hv ICIkYXNfbWU6IFdB
Uk5JTkc6ICRhY19maWxlX2lucHV0cyBzZWVtcyB0byBpZ25vcmUgdGhlIC0t ZGF0YXJvb3RkaXIg
c2V0dGluZyIgPiYyO30KICBhY19kYXRhcm9vdGRpcl9oYWNrPScKICBzJkBk YXRhZGlyQCYke3By
ZWZpeH0mZwogIHMmQGRvY2RpckAmJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFD S0FHRX0mZwogIHMm
QGluZm9kaXJAJiR7ZGF0YXJvb3RkaXJ9L2luZm8mZwogIHMmQGxvY2FsZWRp ckAmJHtkYXRhcm9v
dGRpcn0vbG9jYWxlJmcKICBzJkBtYW5kaXJAJiR7cHJlZml4fS9tYW4mZwog IHMmXCR7ZGF0YXJv
b3RkaXJ9JiR7cHJlZml4fS9zaGFyZSZnJyA7Owplc2FjCmFjX3NlZF9leHRy YT0iL15bCSBdKlZQ
QVRIWwkgXSo9L3sKcy86KlwkKHNyY2Rpcik6Ki86LwpzLzoqXCR7c3JjZGly fToqLzovCnMvOipA
c3JjZGlyQDoqLzovCnMvXlwoW149XSo9WwkgXSpcKToqL1wxLwpzLzoqJC8v CnMvXltePV0qPVsJ
IF0qJC8vCn0KCjp0Ci9AW2EtekEtWl9dW2EtekEtWl8wLTldKkAvIWIKc3xA Y29uZmlndXJlX2lu
cHV0QHwkYWNfc2VkX2NvbmZfaW5wdXR8O3QgdApzJkB0b3BfYnVpbGRkaXJA JiRhY190b3BfYnVp
bGRkaXJfc3ViJjt0IHQKcyZAdG9wX2J1aWxkX3ByZWZpeEAmJGFjX3RvcF9i dWlsZF9wcmVmaXgm
O3QgdApzJkBzcmNkaXJAJiRhY19zcmNkaXImO3QgdApzJkBhYnNfc3JjZGly QCYkYWNfYWJzX3Ny
Y2RpciY7dCB0CnMmQHRvcF9zcmNkaXJAJiRhY190b3Bfc3JjZGlyJjt0IHQK cyZAYWJzX3RvcF9z
cmNkaXJAJiRhY19hYnNfdG9wX3NyY2RpciY7dCB0CnMmQGJ1aWxkZGlyQCYk YWNfYnVpbGRkaXIm
O3QgdApzJkBhYnNfYnVpbGRkaXJAJiRhY19hYnNfYnVpbGRkaXImO3QgdApz JkBhYnNfdG9wX2J1
aWxkZGlyQCYkYWNfYWJzX3RvcF9idWlsZGRpciY7dCB0CiRhY19kYXRhcm9v dGRpcl9oYWNrCiIK
ZXZhbCBzZWQgXCJcJGFjX3NlZF9leHRyYVwiICIkYWNfZmlsZV9pbnB1dHMi IHwgJEFXSyAtZiAi
JHRtcC9zdWJzLmF3ayIgPiR0bXAvb3V0IFwKICB8fCBhc19mbl9lcnJvciAi Y291bGQgbm90IGNy
ZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKCnRlc3QgLXogIiRhY19kYXRh cm9vdGRpcl9oYWNr
JGFjX2RhdGFyb290ZGlyX3NlZW4iICYmCiAgeyBhY19vdXQ9YHNlZCAtbiAn L1wke2RhdGFyb290
ZGlyfS9wJyAiJHRtcC9vdXQiYDsgdGVzdCAtbiAiJGFjX291dCI7IH0gJiYK ICB7IGFjX291dD1g
c2VkIC1uICcvXlsJIF0qZGF0YXJvb3RkaXJbCSBdKjoqPS9wJyAiJHRtcC9v dXQiYDsgdGVzdCAt
eiAiJGFjX291dCI7IH0gJiYKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVO
T306IFdBUk5JTkc6ICRhY19maWxlIGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRv IHRoZSB2YXJpYWJs
ZSBcYGRhdGFyb290ZGlyJwp3aGljaCBzZWVtcyB0byBiZSB1bmRlZmluZWQu ICBQbGVhc2UgbWFr
ZSBzdXJlIGl0IGlzIGRlZmluZWQuIiA+JjUKJGFzX2VjaG8gIiRhc19tZTog V0FSTklORzogJGFj
X2ZpbGUgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlIHZhcmlhYmxlIFxg ZGF0YXJvb3RkaXIn
CndoaWNoIHNlZW1zIHRvIGJlIHVuZGVmaW5lZC4gIFBsZWFzZSBtYWtlIHN1 cmUgaXQgaXMgZGVm
aW5lZC4iID4mMjt9CgogIHJtIC1mICIkdG1wL3N0ZGluIgogIGNhc2UgJGFj X2ZpbGUgaW4KICAt
KSBjYXQgIiR0bXAvb3V0IiAmJiBybSAtZiAiJHRtcC9vdXQiOzsKICAqKSBy bSAtZiAiJGFjX2Zp
bGUiICYmIG12ICIkdG1wL291dCIgIiRhY19maWxlIjs7CiAgZXNhYyBcCiAg fHwgYXNfZm5fZXJy
b3IgImNvdWxkIG5vdCBjcmVhdGUgJGFjX2ZpbGUiICIkTElORU5PIiA1CiA7 OwogIDpIKQogICMK
ICAjIENPTkZJR19IRUFERVIKICAjCiAgaWYgdGVzdCB4IiRhY19maWxlIiAh PSB4LTsgdGhlbgog
ICAgewogICAgICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAgKi8i IFwKICAgICAgJiYg
ZXZhbCAnJEFXSyAtZiAiJHRtcC9kZWZpbmVzLmF3ayInICIkYWNfZmlsZV9p bnB1dHMiCiAgICB9
ID4iJHRtcC9jb25maWcuaCIgXAogICAgICB8fCBhc19mbl9lcnJvciAiY291 bGQgbm90IGNyZWF0
ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKICAgIGlmIGRpZmYgIiRhY19maWxl IiAiJHRtcC9jb25m
aWcuaCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgICAgIHsgJGFzX2VjaG8g IiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjUK JGFzX2VjaG8gIiRh
c19tZTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjY7fQogICAgZWxzZQog ICAgICBybSAtZiAi
JGFjX2ZpbGUiCiAgICAgIG12ICIkdG1wL2NvbmZpZy5oIiAiJGFjX2ZpbGUi IFwKCXx8IGFzX2Zu
X2Vycm9yICJjb3VsZCBub3QgY3JlYXRlICRhY19maWxlIiAiJExJTkVOTyIg NQogICAgZmkKICBl
bHNlCiAgICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAgKi8iIFwK ICAgICAgJiYgZXZh
bCAnJEFXSyAtZiAiJHRtcC9kZWZpbmVzLmF3ayInICIkYWNfZmlsZV9pbnB1 dHMiIFwKICAgICAg
fHwgYXNfZm5fZXJyb3IgImNvdWxkIG5vdCBjcmVhdGUgLSIgIiRMSU5FTk8i IDUKICBmaQogOzsK
CiAgOkMpICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO T306IGV4ZWN1dGlu
ZyAkYWNfZmlsZSBjb21tYW5kcyIgPiY1CiRhc19lY2hvICIkYXNfbWU6IGV4 ZWN1dGluZyAkYWNf
ZmlsZSBjb21tYW5kcyIgPiY2O30KIDs7CiAgZXNhYwoKCiAgY2FzZSAkYWNf ZmlsZSRhY19tb2Rl
IGluCiAgICAiZGVmYXVsdCI6QykgdHJ1ZSA7OwoKICBlc2FjCmRvbmUgIyBm b3IgYWNfdGFnCgoK
YXNfZm5fZXhpdCAwCg==
--000e0cd32e12e9c12a047881961d--

Re: _apr_bucket_shared_copy symbol not found

am 16.11.2009 22:11:04 von Fred Moyer

On Mon, Nov 16, 2009 at 10:58 AM, Fred Moyer wrote=
:
> On Mon, Nov 16, 2009 at 10:23 AM, Philippe M. Chiasson
> wrote:
>> On 09-11-14 14:43 , Fred Moyer wrote:
>>>
>>> Platform: =A0Snow Leopard
>>>
>>> Versions used: =A0perl 5.10.1, mod_perl 2.0.5-dev, httpd 2.2.14
>>>
>>> Error found during make test:
>>>
>>> t/apr-ext/uuid.t ........................ Can't load
>>> '/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/auto/AP R/APR.bundl=
e'
>>> for module APR:
>>>
>>> dlopen(/Users/phred/dev/svn/modperl/mod_perl-2.0/blib/arch/a uto/APR/APR=
..bundle,
>>> 9): Symbol not found: _apr_bucket_shared_copy
>>>
>>> I compiled apache using the --with-included-apr option. =A0This is a ne=
w
>>> toolchain setup. =A0Any thoughts?
>>
>> Can you send me the exact version of httpd you built, and with what
>> arguments?
>> mod_perl Makefile.PL arguments too. I just upgraded to Snow Leopard, so =
I
>> should be able to try and reproduce.
>
> httpd:
> =A0~/dev/httpd-2.2.14 $ ./configure --with-included-apr
> --prefix=3D/Users/phred/dev/httpd2/
>
> mod_perl
> ~/dev/svn/modperl/mod_perl-2.0 $ perl Makefile.PL
> MP_APXS=3D/Users/phred/dev/httpd2/bin/apxs

Looks like this was a rogue apr library installed by MacPorts that had
gotten into my LDPATH. Saw a similar error building with
Crypt::SSLeay and figured out what was going on.

All tests successful!


>
> I've attached my config.status if that is needed. =A0Made an attempt at
> inlining it but iterm and gmail don't lend well to doing such things.
>
> Thanks for taking a look, let me know if you need any other info.
>
> Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
>
> =A0Platform:
> =A0 =A0osname=3Ddarwin, osvers=3D10.0.0, archname=3Ddarwin-2level
> =A0 =A0uname=3D'darwin pooky.redhotpenguin.com 10.0.0 darwin kernel versi=
on
> 10.0.0: fri jul 31 22:47:34 pdt 2009; root:xnu-1456.1.25~1release_i386
> i386 i386 '
> =A0 =A0config_args=3D'-Dprefix=3D/Users/phred/dev/perl-5.10.1'
> =A0 =A0hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
> =A0 =A0useithreads=3Dundef, usemultiplicity=3Dundef
> =A0 =A0useperlio=3Ddefine, d_sfio=3Dundef, uselargefiles=3Ddefine, usesoc=
ks=3Dundef
> =A0 =A0use64bitint=3Ddefine, use64bitall=3Ddefine, uselongdouble=3Dundef
> =A0 =A0usemymalloc=3Dn, bincompat5005=3Dundef
> =A0Compiler:
> =A0 =A0cc=3D'cc', ccflags =3D'-fno-common -DPERL_DARWIN -no-cpp-precomp
> -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
> -I/opt/local/include',
> =A0 =A0optimize=3D'-O3',
> =A0 =A0cppflags=3D'-no-cpp-precomp -fno-common -DPERL_DARWIN
> -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector
> -I/usr/local/include -I/opt/local/include'
> =A0 =A0ccversion=3D'', gccversion=3D'4.2.1 (Apple Inc. build 5646)', gcco=
sandvers=3D''
> =A0 =A0intsize=3D4, longsize=3D8, ptrsize=3D8, doublesize=3D8, byteorder=
=3D12345678
> =A0 =A0d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdbl=
size=3D16
> =A0 =A0ivtype=3D'long', ivsize=3D8, nvtype=3D'double', nvsize=3D8, Off_t=
=3D'off_t',
> lseeksize=3D8
> =A0 =A0alignbytes=3D8, prototype=3Ddefine
> =A0Linker and Libraries:
> =A0 =A0ld=3D'env MACOSX_DEPLOYMENT_TARGET=3D10.3 cc', ldflags =3D'
> -fstack-protector -L/usr/local/lib -L/opt/local/lib'
> =A0 =A0libpth=3D/usr/local/lib /opt/local/lib /usr/lib
> =A0 =A0libs=3D-ldbm -ldl -lm -lutil -lc
> =A0 =A0perllibs=3D-ldl -lm -lutil -lc
> =A0 =A0libc=3D/usr/lib/libc.dylib, so=3Ddylib, useshrplib=3Dfalse, libper=
l=3Dlibperl.a
> =A0 =A0gnulibc_version=3D''
> =A0Dynamic Linking:
> =A0 =A0dlsrc=3Ddl_dlopen.xs, dlext=3Dbundle, d_dlsymun=3Dundef, ccdlflags=
=3D' '
> =A0 =A0cccdlflags=3D' ', lddlflags=3D' -bundle -undefined dynamic_lookup
> -L/usr/local/lib -L/opt/local/lib -fstack-protector'
>
>
> Characteristics of this binary (from libperl):
> =A0Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BI=
T_ALL
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0USE_64_BIT_INT USE_LARGE_F=
ILES USE_PERLIO
> =A0Built under darwin
> =A0Compiled at Nov 13 2009 15:49:27
> =A0@INC:
> =A0 =A0/Users/phred/dev/perl-5.10.1/lib/5.10.1/darwin-2level
> =A0 =A0/Users/phred/dev/perl-5.10.1/lib/5.10.1
> =A0 =A0/Users/phred/dev/perl-5.10.1/lib/site_perl/5.10.1/darwin- 2level
> =A0 =A0/Users/phred/dev/perl-5.10.1/lib/site_perl/5.10.1
>