Subject: Re: pkg/30984 (package graphics/imlib and its dependencies do not
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: A L Meyers <me@privacy.net>
List: pkgsrc-bugs
Date: 01/12/2006 12:30:05
The following reply was made to PR pkg/30984; it has been noted by GNATS.
From: A L Meyers <me@privacy.net>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org,
pkgsrc-bugs@netbsd.org
Subject: Re: pkg/30984 (package graphics/imlib and its dependencies do not
build)
Date: Thu, 12 Jan 2006 13:34:05 +0100
This is a multi-part message in MIME format.
--------------040804040804060402010105
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Thomas Klausner wrote:
>The following reply was made to PR pkg/30984; it has been noted by GNATS.
>
>From: Thomas Klausner <wiz@netbsd.org>
>To: A L Meyers <me@privacy.net>
>Cc: gnats-bugs@netbsd.org
>Subject: Re: pkg/30984 (package graphics/imlib and its dependencies do not build)
>Date: Tue, 10 Jan 2006 21:46:37 +0100
>
> On Tue, Jan 10, 2006 at 06:34:14PM +0100, A L Meyers wrote:
> > > This problem is not there in current or 3.0.
> > > What does config.log contain about this failure?
> > The error message during build is still the same:
> >
> > JPEG library not found
>
> Ok, so please answer my question:
> What is in config.log about this?
>
> Or send the whole config.log.
>
> Cheers,
> Thomas
>
>
>
>
Hello Thomas,
Please find the config.log file attached.
Thanks and best regards,
lux
--------------040804040804060402010105
Content-Type: text/plain;
name="config.log"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="config.log"
VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMg
d2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJl
IG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2gg
d2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OS4gIEludm9jYXRpb24gY29tbWFu
ZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC0tc3lzY29uZmRpcj0vdXNyL3BrZy9ldGMv
aW1saWIgLS1wcmVmaXg9L3Vzci9wa2cgLS1ob3N0PWkzODYtLW5ldGJzZGVsZiAtLW1hbmRp
cj0vdXNyL3BrZy9tYW4gLS13aXRob3V0LWxpYmludGwtcHJlZml4CgojIyAtLS0tLS0tLS0g
IyMKIyMgUGxhdGZvcm0uICMjCiMjIC0tLS0tLS0tLSAjIwoKaG9zdG5hbWUgPSBsb2NhbGhv
c3QKdW5hbWUgLW0gPSBpMzg2CnVuYW1lIC1yID0gMy4wX0JFVEEKdW5hbWUgLXMgPSBOZXRC
U0QKdW5hbWUgLXYgPSBOZXRCU0QgMy4wX0JFVEEgKEdFTkVSSUMuTVBERUJVRykgIzA6IFNh
dCBBdWcgMjcgMTA6MDE6MDAgQ0VTVCAyMDA1ICBhbG1AbG9jYWxob3N0LmxvY2FsaG9zdDov
dXNyL29iai9zeXMvYXJjaC9pMzg2L2NvbXBpbGUvR0VORVJJQy5NUERFQlVHCgovdXNyL2Jp
bi91bmFtZSAtcCA9IGkzODYKL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2Fy
Y2ggICAgICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5r
bm93bgovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgpob3N0aW5mbyAgICAgICAg
ICAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNy
L2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93bgovYmluL3VuaXZlcnNlICAgICAgICAgID0g
dW5rbm93bgoKUEFUSDogL3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8ud3JhcHBl
ci9iaW4KUEFUSDogL3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8uYnVpbGRsaW5r
L2JpbgpQQVRIOiAvdXNyL3BrZ3NyYy9ncmFwaGljcy9pbWxpYi93b3JrLy5nY2MvYmluClBB
VEg6IC91c3IvcGtnc3JjL2dyYXBoaWNzL2ltbGliL3dvcmsvLnRvb2xzL2JpbgpQQVRIOiAv
dXNyL3BrZy9iaW4KUEFUSDogL3Vzci9YMTFSNi9iaW4KUEFUSDogL3NiaW4KUEFUSDogL3Vz
ci9zYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9iaW4KUEFUSDogL3Vzci9wa2cvc2JpbgpQ
QVRIOiAvdXNyL3BrZy9iaW4KUEFUSDogL3Vzci9YMTFSNi9iaW4KUEFUSDogL3Vzci9sb2Nh
bC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC91c3IvcGtnL2JpbgpQQVRIOiAv
dXNyL3BrZy9iaW4KUEFUSDogL3Vzci9YMTFSNi9iaW4KCgojIyAtLS0tLS0tLS0tLSAjIwoj
IyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjE1NTU6IGNo
ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjE2MTA6IHJl
c3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVsCmNvbmZpZ3VyZTox
NjIxOiBjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmln
dXJlOjE2NjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjk3OiBjaGVja2luZyBmb3IgZ2F3
awpjb25maWd1cmU6MTcyMzogcmVzdWx0OiAvdXNyL2Jpbi9hd2sKY29uZmlndXJlOjE3MzM6
IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkKY29uZmlndXJlOjE3NTM6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxODMyOiBjaGVja2luZyBmb3IgaTM4Ni0tbmV0YnNkZWxm
LXN0cmlwCmNvbmZpZ3VyZToxODYxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODcwOiBjaGVj
a2luZyBmb3Igc3RyaXAKY29uZmlndXJlOjE4ODY6IGZvdW5kIC91c3IvcGtnc3JjL2dyYXBo
aWNzL2ltbGliL3dvcmsvLnRvb2xzL2Jpbi9zdHJpcApjb25maWd1cmU6MTg5NzogcmVzdWx0
OiBzdHJpcApjb25maWd1cmU6MTkyNTogY2hlY2tpbmcgZm9yIGkzODYtLW5ldGJzZGVsZi1n
Y2MKY29uZmlndXJlOjE5NTE6IHJlc3VsdDogY2MKY29uZmlndXJlOjIyMzM6IGNoZWNraW5n
IGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjIyMzY6IGNjIC0tdmVyc2lvbiA8
L2Rldi9udWxsID4mNQpnY2MgKEdDQykgMy4zLjMgKE5ldEJTRCBuYjMgMjAwNDA1MjApCkNv
cHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBp
cyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25z
LiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MjIzOTog
JD8gPSAwCmNvbmZpZ3VyZToyMjQxOiBjYyAtdiA8L2Rldi9udWxsID4mNQpVc2luZyBidWls
dC1pbiBzcGVjcy4KQ29uZmlndXJlZCB3aXRoOiAvaG9tZS9uaWNrL3dvcmsvbmV0YnNkL3Ny
Yy90b29scy9nY2MvLi4vLi4vZ251L2Rpc3QvZ2NjL2NvbmZpZ3VyZSAtLWVuYWJsZS1sb25n
LWxvbmcgLS1kaXNhYmxlLW11bHRpbGliIC0tZW5hYmxlLXRocmVhZHMgLS1kaXNhYmxlLXN5
bXZlcnMgLS1idWlsZD1pMzg2LXVua25vd24tbmV0YnNkZWxmMi4wLiAtLWhvc3Q9aTM4Ni0t
bmV0YnNkZWxmIC0tdGFyZ2V0PWkzODYtLW5ldGJzZGVsZgpUaHJlYWQgbW9kZWw6IHBvc2l4
CmdjYyB2ZXJzaW9uIDMuMy4zIChOZXRCU0QgbmIzIDIwMDQwNTIwKQpjb25maWd1cmU6MjI0
NDogJD8gPSAwCmNvbmZpZ3VyZToyMjQ2OiBjYyAtViA8L2Rldi9udWxsID4mNQpnY2M6IGNv
dWxkbid0IHJ1biBgL3Vzci9iaW4vaTM4Ni0tbmV0YnNkZWxmLWdjYy0tSS91c3IvcGtnc3Jj
L2dyYXBoaWNzL2ltbGliL3dvcmsvLmJ1aWxkbGluay9pbmNsdWRlJzogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MjI0OTogJD8gPSAxCmNvbmZpZ3VyZToyMjcyOiBj
aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUKY29uZmln
dXJlOjIyNzU6IGNjIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURF
TkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtn
L2xpYiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91
c3IvWDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxpbnRsID4m
NQpjb25maWd1cmU6MjI3ODogJD8gPSAwCmNvbmZpZ3VyZToyMzI0OiByZXN1bHQ6IGEub3V0
CmNvbmZpZ3VyZToyMzI5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz
CmNvbmZpZ3VyZToyMzM1OiAuL2Eub3V0CmNvbmZpZ3VyZToyMzM4OiAkPyA9IDAKY29uZmln
dXJlOjIzNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzYyOiBjaGVja2luZyB3aGV0aGVy
IHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjIzNjQ6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjIzNjc6IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmln
dXJlOjIzNjk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNy
L2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVk
ZSAtTC91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIv
dXNyL2xpYiAtTC91c3IvWDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0
LmMgLWxpbnRsID4mNQpjb25maWd1cmU6MjM3MjogJD8gPSAwCmNvbmZpZ3VyZToyMzk3OiBy
ZXN1bHQ6IApjb25maWd1cmU6MjQwMzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3Qg
ZmlsZXMKY29uZmlndXJlOjI0MjQ6IGNjIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkv
dXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5j
bHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjQyNzogJD8gPSAwCmNvbmZpZ3VyZToy
NDQ5OiByZXN1bHQ6IG8KY29uZmlndXJlOjI0NTM6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJl
IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcgpjb25maWd1cmU6MjQ3NzogY2MgLWMgLU8yIC1J
L3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3Br
Zy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNDgz
OiAkPyA9IDAKY29uZmlndXJlOjI0ODY6IHRlc3QgLXogCQkJIHx8IHRlc3QgISAtcyBjb25m
dGVzdC5lcnIKY29uZmlndXJlOjI0ODk6ICQ/ID0gMApjb25maWd1cmU6MjQ5MjogdGVzdCAt
cyBjb25mdGVzdC5vCmNvbmZpZ3VyZToyNDk1OiAkPyA9IDAKY29uZmlndXJlOjI1MDg6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToyNTE0OiBjaGVja2luZyB3aGV0aGVyIGNjIGFjY2VwdHMg
LWcKY29uZmlndXJlOjI1MzU6IGNjIC1jIC1nIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2lu
Y2x1ZGUgLUkvdXNyL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI1NDE6ICQ/
ID0gMApjb25maWd1cmU6MjU0NDogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0
LmVycgpjb25maWd1cmU6MjU0NzogJD8gPSAwCmNvbmZpZ3VyZToyNTUwOiB0ZXN0IC1zIGNv
bmZ0ZXN0Lm8KY29uZmlndXJlOjI1NTM6ICQ/ID0gMApjb25maWd1cmU6MjU2NDogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjI1ODE6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8gYWNjZXB0
IEFOU0kgQwpjb25maWd1cmU6MjY1MTogY2MgIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjY1NzogJD8gPSAwCmNvbmZpZ3Vy
ZToyNjYwOiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3Vy
ZToyNjYzOiAkPyA9IDAKY29uZmlndXJlOjI2NjY6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25m
aWd1cmU6MjY2OTogJD8gPSAwCmNvbmZpZ3VyZToyNjg3OiByZXN1bHQ6IG5vbmUgbmVlZGVk
CmNvbmZpZ3VyZToyNzA1OiBjYyAtYyAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9p
bmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUg
Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyOiBlcnJvcjogcGFyc2UgZXJyb3IgYmVmb3Jl
ICJtZSIKY29uZmlndXJlOjI3MTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKfCAjaWZuZGVmIF9fY3BsdXNwbHVzCnwgICBjaG9rZSBtZQp8ICNlbmRpZgpjb25m
aWd1cmU6Mjg1MjogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtl
CmNvbmZpZ3VyZToyODgwOiByZXN1bHQ6IEdOVQpjb25maWd1cmU6MjkwODogY2hlY2tpbmcg
ZGVwZW5kZW5jeSBzdHlsZSBvZiBjYwpjb25maWd1cmU6Mjk5MTogcmVzdWx0OiBnY2MzCmNv
bmZpZ3VyZTozMDg2OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MzEw
NDogcmVzdWx0OiBpMzg2LXVua25vd24tbmV0YnNkZWxmMy4wLgpjb25maWd1cmU6MzExMjog
Y2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MzEyNjogcmVzdWx0OiBpMzg2
LS1uZXRic2RlbGYKY29uZmlndXJlOjMxMzQ6IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRv
ZXMgbm90IHRydW5jYXRlIG91dHB1dApjb25maWd1cmU6MzE4ODogcmVzdWx0OiAvdXNyL3Br
Z3NyYy9ncmFwaGljcy9pbWxpYi93b3JrLy50b29scy9iaW4vc2VkCmNvbmZpZ3VyZTozMTkx
OiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjMyMDE6IHJlc3VsdDogZ3JlcCAtRQpj
b25maWd1cmU6MzIxNzogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgY2MKY29uZmlndXJlOjMy
ODQ6IHJlc3VsdDogL3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8ud3JhcHBlci9i
aW4vbGQKY29uZmlndXJlOjMyOTM6IGNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvcGtn
c3JjL2dyYXBoaWNzL2ltbGliL3dvcmsvLndyYXBwZXIvYmluL2xkKSBpcyBHTlUgbGQKY29u
ZmlndXJlOjMzMDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzEzOiBjaGVja2luZyBmb3Ig
L3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8ud3JhcHBlci9iaW4vbGQgb3B0aW9u
IHRvIHJlbG9hZCBvYmplY3QgZmlsZXMKY29uZmlndXJlOjMzMjA6IHJlc3VsdDogLXIKY29u
ZmlndXJlOjMzMjk6IGNoZWNraW5nIGZvciBCU0QtY29tcGF0aWJsZSBubQpjb25maWd1cmU6
MzM3MTogcmVzdWx0OiBubQpjb25maWd1cmU6MzM3NTogY2hlY2tpbmcgd2hldGhlciBsbiAt
cyB3b3Jrcwpjb25maWd1cmU6MzM3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzODY6IGNo
ZWNraW5nIGhvdyB0byByZWNvZ25pc2UgZGVwZW5kZW50IGxpYnJhcmllcwpjb25maWd1cmU6
MzU2MDogcmVzdWx0OiBtYXRjaF9wYXR0ZXJuIC9saWJbXi9dKyhcLnNvfF9waWNcLmEpJApj
b25maWd1cmU6Mzc3MzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IK
Y29uZmlndXJlOjM4MDg6IGNjIC1FIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1cmU6MzgxNDogJD8gPSAwCmNvbmZp
Z3VyZTozODQ2OiBjYyAtRSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vz
ci9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToyODogYWNfbm9uZXhpc3RlbnQu
aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6Mzg1MjogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIK
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg
IiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJp
bWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIKfCAvKiBlbmQgY29uZmRlZnMuaC4g
ICovCnwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTozODkxOiByZXN1
bHQ6IGNjIC1FCmNvbmZpZ3VyZTozOTE1OiBjYyAtRSAtREVOQUJMRV9OTFMgLUkvdXNyL3Br
Zy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM5MjE6ICQ/
ID0gMApjb25maWd1cmU6Mzk1MzogY2MgLUUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5j
bHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTE6Mjg6IGFjX25v
bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjM5NTk6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o
LiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUg
UEFDS0FHRSAiaW1saWIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjkuMTUiCnwgLyogZW5kIGNv
bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6
NDAwMzogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjQwMjg6
IGNjIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVf
TkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpj
b25maWd1cmU6NDAzNDogJD8gPSAwCmNvbmZpZ3VyZTo0MDM3OiB0ZXN0IC16IAkJCSB8fCB0
ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo0MDQwOiAkPyA9IDAKY29uZmlndXJl
OjQwNDM6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDA0NjogJD8gPSAwCmNvbmZp
Z3VyZTo0MTM1OiBjYyAtbyBjb25mdGVzdCAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vz
ci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1
ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cvbGliIC1ML3Vzci9saWIgLVdsLC1S
L3Vzci9saWIgLUwvdXNyL1gxMVI2L2xpYiAtV2wsLVIvdXNyL1gxMVI2L2xpYiBjb25mdGVz
dC5jIC1saW50bCA+JjUKY29uZmlndXJlOjQxMzg6ICQ/ID0gMApjb25maWd1cmU6NDE0MDog
Li9jb25mdGVzdApjb25maWd1cmU6NDE0MzogJD8gPSAwCmNvbmZpZ3VyZTo0MTU4OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NDE4MjogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNvbmZp
Z3VyZTo0MTk4OiBjYyAtYyAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl
IC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjQyMDQ6ICQ/ID0gMApjb25maWd1cmU6NDIwNzogdGVzdCAt
eiAJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NDIxMDogJD8gPSAw
CmNvbmZpZ3VyZTo0MjEzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQyMTY6ICQ/
ID0gMApjb25maWd1cmU6NDIyNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxODI6IGNoZWNr
aW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo0MTk4OiBjYyAtYyAtTzIgLUkvdXNyL3Br
Zy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1
ZGUgLUkvdXNyL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyMDQ6ICQ/ID0g
MApjb25maWd1cmU6NDIwNzogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVy
cgpjb25maWd1cmU6NDIxMDogJD8gPSAwCmNvbmZpZ3VyZTo0MjEzOiB0ZXN0IC1zIGNvbmZ0
ZXN0Lm8KY29uZmlndXJlOjQyMTY6ICQ/ID0gMApjb25maWd1cmU6NDIyNzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQxODI6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6NDE5
ODogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJM
RV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo0MjA0OiAkPyA9IDAKY29uZmlndXJlOjQyMDc6IHRlc3QgLXogCQkJIHx8
IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjQyMTA6ICQ/ID0gMApjb25maWd1
cmU6NDIxMzogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0MjE2OiAkPyA9IDAKY29u
ZmlndXJlOjQyMjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MTgyOiBjaGVja2luZyBmb3Ig
c3RyaW5nLmgKY29uZmlndXJlOjQxOTg6IGNjIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDIwNDogJD8gPSAwCmNvbmZpZ3Vy
ZTo0MjA3OiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3Vy
ZTo0MjEwOiAkPyA9IDAKY29uZmlndXJlOjQyMTM6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25m
aWd1cmU6NDIxNjogJD8gPSAwCmNvbmZpZ3VyZTo0MjI3OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NDE4MjogY2hlY2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo0MTk4OiBjYyAtYyAt
TzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91
c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjQyMDQ6ICQ/ID0gMApjb25maWd1cmU6NDIwNzogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1z
IGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NDIxMDogJD8gPSAwCmNvbmZpZ3VyZTo0MjEzOiB0
ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQyMTY6ICQ/ID0gMApjb25maWd1cmU6NDIy
NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxODI6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgK
Y29uZmlndXJlOjQxOTg6IGNjIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6NDIwNDogJD8gPSAwCmNvbmZpZ3VyZTo0MjA3OiB0
ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo0MjEwOiAk
PyA9IDAKY29uZmlndXJlOjQyMTM6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDIx
NjogJD8gPSAwCmNvbmZpZ3VyZTo0MjI3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDE4Mjog
Y2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjQxOTg6IGNjIC1jIC1PMiAtSS91
c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cv
aW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDIwNDog
JD8gPSAwCmNvbmZpZ3VyZTo0MjA3OiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl
c3QuZXJyCmNvbmZpZ3VyZTo0MjEwOiAkPyA9IDAKY29uZmlndXJlOjQyMTM6IHRlc3QgLXMg
Y29uZnRlc3Qubwpjb25maWd1cmU6NDIxNjogJD8gPSAwCmNvbmZpZ3VyZTo0MjI3OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NDE4MjogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3Vy
ZTo0MTk4OiBjYyAtYyAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1E
RU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQyMDQ6ICQ/ID0gMApjb25maWd1cmU6NDIwNzogdGVzdCAteiAJ
CQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NDIxMDogJD8gPSAwCmNv
bmZpZ3VyZTo0MjEzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQyMTY6ICQ/ID0g
MApjb25maWd1cmU6NDIyNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxODI6IGNoZWNraW5n
IGZvciB1bmlzdGQuaApjb25maWd1cmU6NDE5ODogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5j
bHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1J
L3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjA0OiAkPyA9IDAKY29u
ZmlndXJlOjQyMDc6IHRlc3QgLXogCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29u
ZmlndXJlOjQyMTA6ICQ/ID0gMApjb25maWd1cmU6NDIxMzogdGVzdCAtcyBjb25mdGVzdC5v
CmNvbmZpZ3VyZTo0MjE2OiAkPyA9IDAKY29uZmlndXJlOjQyMjc6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0MjUzOiBjaGVja2luZyBkbGZjbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDI2
NTogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJM
RV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo0MjcxOiAkPyA9IDAKY29uZmlndXJlOjQyNzQ6IHRlc3QgLXogCQkJIHx8
IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjQyNzc6ICQ/ID0gMApjb25maWd1
cmU6NDI4MDogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0MjgzOiAkPyA9IDAKY29u
ZmlndXJlOjQyOTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mjk3OiBjaGVja2luZyBkbGZj
bi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzA3OiBjYyAtRSAtREVOQUJMRV9OTFMgLUkvdXNy
L3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzMTM6
ICQ/ID0gMApjb25maWd1cmU6NDMzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNjg6IGNo
ZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZTo0Mzc1OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NDM5ODogY2hlY2tpbmcgZm9yIGkzODYtLW5ldGJzZGVsZi1nKysKY29uZmlndXJlOjQ0
MjQ6IHJlc3VsdDogYysrCmNvbmZpZ3VyZTo0NDgyOiBjaGVja2luZyBmb3IgQysrIGNvbXBp
bGVyIHZlcnNpb24KY29uZmlndXJlOjQ0ODU6IGMrKyAtLXZlcnNpb24gPC9kZXYvbnVsbCA+
JjUKZysrIChHQ0MpIDMuMy4zIChOZXRCU0QgbmIzIDIwMDQwNTIwKQpDb3B5cmlnaHQgKEMp
IDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0
d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlz
IE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjQ0ODg6ICQ/ID0gMApjb25m
aWd1cmU6NDQ5MDogYysrIC12IDwvZGV2L251bGwgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNz
LgpDb25maWd1cmVkIHdpdGg6IC9ob21lL25pY2svd29yay9uZXRic2Qvc3JjL3Rvb2xzL2dj
Yy8uLi8uLi9nbnUvZGlzdC9nY2MvY29uZmlndXJlIC0tZW5hYmxlLWxvbmctbG9uZyAtLWRp
c2FibGUtbXVsdGlsaWIgLS1lbmFibGUtdGhyZWFkcyAtLWRpc2FibGUtc3ltdmVycyAtLWJ1
aWxkPWkzODYtdW5rbm93bi1uZXRic2RlbGYyLjAuIC0taG9zdD1pMzg2LS1uZXRic2RlbGYg
LS10YXJnZXQ9aTM4Ni0tbmV0YnNkZWxmClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNp
b24gMy4zLjMgKE5ldEJTRCBuYjMgMjAwNDA1MjApCmNvbmZpZ3VyZTo0NDkzOiAkPyA9IDAK
Y29uZmlndXJlOjQ0OTU6IGMrKyAtViA8L2Rldi9udWxsID4mNQpnKys6IGNvdWxkbid0IHJ1
biBgL3Vzci9iaW4vaTM4Ni0tbmV0YnNkZWxmLWdjYy0tSS91c3IvcGtnc3JjL2dyYXBoaWNz
L2ltbGliL3dvcmsvLmJ1aWxkbGluay9pbmNsdWRlJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb25maWd1cmU6NDQ5ODogJD8gPSAxCmNvbmZpZ3VyZTo0NTAxOiBjaGVja2luZyB3
aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlcgpjb25maWd1cmU6NDUy
NTogYysrIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFC
TEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYyA+
JjUKY29uZmlndXJlOjQ1MzE6ICQ/ID0gMApjb25maWd1cmU6NDUzNDogdGVzdCAteiAJCQkg
fHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6NDUzNzogJD8gPSAwCmNvbmZp
Z3VyZTo0NTQwOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ1NDM6ICQ/ID0gMApj
b25maWd1cmU6NDU1NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ1NjI6IGNoZWNraW5nIHdo
ZXRoZXIgYysrIGFjY2VwdHMgLWcKY29uZmlndXJlOjQ1ODM6IGMrKyAtYyAtZyAtREVOQUJM
RV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmNjID4m
NQpjb25maWd1cmU6NDU4OTogJD8gPSAwCmNvbmZpZ3VyZTo0NTkyOiB0ZXN0IC16IAkJCSB8
fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo0NTk1OiAkPyA9IDAKY29uZmln
dXJlOjQ1OTg6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDYwMTogJD8gPSAwCmNv
bmZpZ3VyZTo0NjEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDY1NDogYysrIC1jIC1PMiAt
SS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9w
a2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYyA+JjUKY29uZmlndXJlOjQ2
NjA6ICQ/ID0gMApjb25maWd1cmU6NDY2MzogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1zIGNv
bmZ0ZXN0LmVycgpjb25maWd1cmU6NDY2NjogJD8gPSAwCmNvbmZpZ3VyZTo0NjY5OiB0ZXN0
IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ2NzI6ICQ/ID0gMApjb25maWd1cmU6NDY5ODog
YysrIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVf
TkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYyA+JjUK
Y29uZnRlc3QuY2M6IEluIGZ1bmN0aW9uIGBpbnQgbWFpbigpJzoKY29uZnRlc3QuY2M6MjY6
IGVycm9yOiBgZXhpdCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pCmNv
bmZ0ZXN0LmNjOjI2OiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl
cG9ydGVkIG9ubHkgb25jZSBmb3IgCiAgIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4p
CmNvbmZpZ3VyZTo0NzA0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIi
CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImltbGliIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS45
LjE1Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
MQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg
CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBleGl0ICg0Mik7CnwgICA7CnwgICByZXR1cm4gMDsK
fCB9CmNvbmZpZ3VyZTo0NjU0OiBjKysgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91
c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNs
dWRlIGNvbmZ0ZXN0LmNjID4mNQpjb25maWd1cmU6NDY2MDogJD8gPSAwCmNvbmZpZ3VyZTo0
NjYzOiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJyCmNvbmZpZ3VyZTo0
NjY2OiAkPyA9IDAKY29uZmlndXJlOjQ2Njk6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1
cmU6NDY3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Njk4OiBjKysgLWMgLU8yIC1JL3Vzci9wa2cv
aW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRl
IC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmNjID4mNQpjb25maWd1cmU6NDcwNDogJD8gPSAw
CmNvbmZpZ3VyZTo0NzA3OiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy
CmNvbmZpZ3VyZTo0NzEwOiAkPyA9IDAKY29uZmlndXJlOjQ3MTM6IHRlc3QgLXMgY29uZnRl
c3Qubwpjb25maWd1cmU6NDcxNjogJD8gPSAwCmNvbmZpZ3VyZTo0NzQxOiBjaGVja2luZyBk
ZXBlbmRlbmN5IHN0eWxlIG9mIGMrKwpjb25maWd1cmU6NDgyNDogcmVzdWx0OiBnY2MzCmNv
bmZpZ3VyZTo0ODQ2OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29y
CmNvbmZpZ3VyZTo0ODc3OiBjKysgLUUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYwpjb25maWd1cmU6NDg4MzogJD8gPSAwCmNv
bmZpZ3VyZTo0OTE1OiBjKysgLUUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAt
SS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYwpjb25mdGVzdC5jYzoyNToyODogYWNfbm9uZXhp
c3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDkyMTogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAq
Lwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9T
VFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNL
QUdFICJpbWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIKfCAjZGVmaW5lIFNURENf
SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExG
Q05fSCAxCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhp
dCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0Owp8ICNlbmRpZgp8IC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJl
OjQ5NjA6IHJlc3VsdDogYysrIC1FCmNvbmZpZ3VyZTo0OTg0OiBjKysgLUUgLURFTkFCTEVf
TkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYwpjb25m
aWd1cmU6NDk5MDogJD8gPSAwCmNvbmZpZ3VyZTo1MDIyOiBjKysgLUUgLURFTkFCTEVfTkxT
IC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVzdC5jYwpjb25mdGVz
dC5jYzoyNToyODogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb25maWd1cmU6NTAyODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
Ogp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwg
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ
T1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJpbWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEu
OS4xNSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ
Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0
ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0
Owp8ICNlbmRpZgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9u
ZXhpc3RlbnQuaD4KY29uZmlndXJlOjUwODE6IGNoZWNraW5nIGZvciBpMzg2LS1uZXRic2Rl
bGYtZzc3CmNvbmZpZ3VyZTo1MTA3OiByZXN1bHQ6IGY3Nwpjb25maWd1cmU6NTE2NDogY2hl
Y2tpbmcgZm9yIEZvcnRyYW4gNzcgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NTE2Nzog
Zjc3IC0tdmVyc2lvbiA8L2Rldi9udWxsID4mNQpHTlUgRm9ydHJhbiAoR0NDKSAzLjMuMyAo
TmV0QlNEIG5iMyAyMDA0MDUyMCkKQ29weXJpZ2h0IChDKSAyMDAyIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLgoKR05VIEZvcnRyYW4gY29tZXMgd2l0aCBOTyBXQVJSQU5UWSwg
dG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgpZb3UgbWF5IHJlZGlzdHJpYnV0ZSBj
b3BpZXMgb2YgR05VIEZvcnRyYW4KdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlc2UgbWF0
dGVycywgc2VlIHRoZSBmaWxlIG5hbWVkIENPUFlJTkcKb3IgdHlwZSB0aGUgY29tbWFuZCBg
aW5mbyAtZiBnNzcgQ29weWluZycuCmNvbmZpZ3VyZTo1MTcwOiAkPyA9IDAKY29uZmlndXJl
OjUxNzI6IGY3NyAtdiA8L2Rldi9udWxsID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ29u
ZmlndXJlZCB3aXRoOiAvaG9tZS9uaWNrL3dvcmsvbmV0YnNkL3NyYy90b29scy9nY2MvLi4v
Li4vZ251L2Rpc3QvZ2NjL2NvbmZpZ3VyZSAtLWVuYWJsZS1sb25nLWxvbmcgLS1kaXNhYmxl
LW11bHRpbGliIC0tZW5hYmxlLXRocmVhZHMgLS1kaXNhYmxlLXN5bXZlcnMgLS1idWlsZD1p
Mzg2LXVua25vd24tbmV0YnNkZWxmMi4wLiAtLWhvc3Q9aTM4Ni0tbmV0YnNkZWxmIC0tdGFy
Z2V0PWkzODYtLW5ldGJzZGVsZgpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDMu
My4zIChOZXRCU0QgbmIzIDIwMDQwNTIwKQpjb25maWd1cmU6NTE3NTogJD8gPSAwCmNvbmZp
Z3VyZTo1MTc3OiBmNzcgLVYgPC9kZXYvbnVsbCA+JjUKZzc3OiBjb3VsZG4ndCBydW4gYC91
c3IvYmluL2kzODYtLW5ldGJzZGVsZi1nY2MtLUkvdXNyL3BrZ3NyYy9ncmFwaGljcy9pbWxp
Yi93b3JrLy5idWlsZGxpbmsvaW5jbHVkZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29uZmlndXJlOjUxODA6ICQ/ID0gMQpjb25maWd1cmU6NTE4ODogY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBGb3J0cmFuIDc3IGNvbXBpbGVyCmNvbmZpZ3VyZTo1
MjAyOiBmNzcgLWMgLU8gY29uZnRlc3QuRiA+JjUKY29uZmlndXJlOjUyMDg6ICQ/ID0gMApj
b25maWd1cmU6NTIxMTogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpj
b25maWd1cmU6NTIxNDogJD8gPSAwCmNvbmZpZ3VyZTo1MjE3OiB0ZXN0IC1zIGNvbmZ0ZXN0
Lm8KY29uZmlndXJlOjUyMjA6ICQ/ID0gMApjb25maWd1cmU6NTIzMzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjUyMzk6IGNoZWNraW5nIHdoZXRoZXIgZjc3IGFjY2VwdHMgLWcKY29uZmln
dXJlOjUyNTE6IGY3NyAtYyAtZyBjb25mdGVzdC5mID4mNQpjb25maWd1cmU6NTI1NzogJD8g
PSAwCmNvbmZpZ3VyZTo1MjYwOiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3Qu
ZXJyCmNvbmZpZ3VyZTo1MjYzOiAkPyA9IDAKY29uZmlndXJlOjUyNjY6IHRlc3QgLXMgY29u
ZnRlc3Qubwpjb25maWd1cmU6NTI2OTogJD8gPSAwCmNvbmZpZ3VyZTo1MjgxOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NTMxMTogY2hlY2tpbmcgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGNv
bW1hbmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJlOjUzNzY6IHJlc3VsdDogMjYyMTQ0CmNv
bmZpZ3VyZTo1Mzg3OiBjaGVja2luZyBjb21tYW5kIHRvIHBhcnNlIG5tIG91dHB1dCBmcm9t
IGNjIG9iamVjdApjb25maWd1cmU6NTQ3NjogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vz
ci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NDc5OiAkPyA9IDAKY29uZmln
dXJlOjU0ODM6IG5tIGNvbmZ0ZXN0Lm8gXHwgc2VkIC1uIC1lICdzL14uKlsgCV1cKFtBQkNE
R0lSU1RXXVtBQkNER0lSU1RXXSpcKVsgCV1bIAldKlwoXClcKFtfQS1aYS16XVtfQS1aYS16
MC05XSpcKSQvXDEgXDJcMyBcMy9wJyBcPiBjb25mdGVzdC5ubQpjb25maWd1cmU6NTQ4Njog
JD8gPSAwCmNvbmZpZ3VyZTo1NTM4OiBjYyAtbyBjb25mdGVzdCAtTzIgLUkvdXNyL3BrZy9p
bmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cvbGliIC1ML3Vz
ci9saWIgLVdsLC1SL3Vzci9saWIgLUwvdXNyL1gxMVI2L2xpYiAtV2wsLVIvdXNyL1gxMVI2
L2xpYiBjb25mdGVzdC5jIGNvbmZ0c3RtLm8gPiY1CmNvbmZpZ3VyZTo1NTQxOiAkPyA9IDAK
Y29uZmlndXJlOjU1Nzk6IHJlc3VsdDogb2sKY29uZmlndXJlOjU1ODM6IGNoZWNraW5nIGZv
ciBvYmpkaXIKY29uZmlndXJlOjU1OTg6IHJlc3VsdDogLmxpYnMKY29uZmlndXJlOjU2NTA6
IGNoZWNraW5nIGZvciBpMzg2LS1uZXRic2RlbGYtYXIKY29uZmlndXJlOjU2Nzk6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjU2ODg6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NTcwNDog
Zm91bmQgL3Vzci9iaW4vYXIKY29uZmlndXJlOjU3MTU6IHJlc3VsdDogYXIKY29uZmlndXJl
OjU3MzA6IGNoZWNraW5nIGZvciBpMzg2LS1uZXRic2RlbGYtcmFubGliCmNvbmZpZ3VyZTo1
NzU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NzY4OiBjaGVja2luZyBmb3IgcmFubGliCmNv
bmZpZ3VyZTo1Nzg0OiBmb3VuZCAvdXNyL2Jpbi9yYW5saWIKY29uZmlndXJlOjU3OTU6IHJl
c3VsdDogcmFubGliCmNvbmZpZ3VyZTo1ODEwOiBjaGVja2luZyBmb3IgaTM4Ni0tbmV0YnNk
ZWxmLXN0cmlwCmNvbmZpZ3VyZTo1ODM2OiByZXN1bHQ6IHN0cmlwCmNvbmZpZ3VyZTo2MTM3
OiBjaGVja2luZyBpZiBjYyBzdGF0aWMgZmxhZyAgd29ya3MKY29uZmlndXJlOjYxNjA6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo2MTc4OiBjaGVja2luZyBpZiBjYyBzdXBwb3J0cyAtZm5v
LXJ0dGkgLWZuby1leGNlcHRpb25zCmNvbmZpZ3VyZTo2MTk2OiBjYyAtYyAtTzIgLUkvdXNy
L3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2lu
Y2x1ZGUgLUkvdXNyL2luY2x1ZGUgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVz
dC5jID4mNQpjYzE6IHdhcm5pbmc6ICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBDKysgYnV0
IG5vdCBmb3IgQy9PYmpDCmNvbmZpZ3VyZTo2MjAwOiAkPyA9IDAKY29uZmlndXJlOjYyMTE6
IHJlc3VsdDogbm8KY29uZmlndXJlOjYyMjY6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8g
cHJvZHVjZSBQSUMKY29uZmlndXJlOjY0MDM6IHJlc3VsdDogLWZQSUMKY29uZmlndXJlOjY0
MTE6IGNoZWNraW5nIGlmIGNjIFBJQyBmbGFnIC1mUElDIHdvcmtzCmNvbmZpZ3VyZTo2NDI5
OiBjYyAtYyAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxF
X05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLWZQSUMgLURQSUMgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MzM6ICQ/ID0gMApjb25maWd1cmU6NjQ0NDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjY0Njg6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1jIC1v
IGZpbGUubwpjb25maWd1cmU6NjQ4OTogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAt
SS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9p
bmNsdWRlIC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjQ5
MzogJD8gPSAwCmNvbmZpZ3VyZTo2NTEzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUzOTog
Y2hlY2tpbmcgd2hldGhlciB0aGUgY2MgbGlua2VyICgvdXNyL3BrZ3NyYy9ncmFwaGljcy9p
bWxpYi93b3JrLy53cmFwcGVyL2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpj
b25maWd1cmU6NzM4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjc0MTI6IGNoZWNraW5nIHdo
ZXRoZXIgLWxjIHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBpbgpjb25maWd1cmU6NzQx
NzogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJM
RV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo3NDIwOiAkPyA9IDAKY29uZmlndXJlOjc0MzQ6IGNjIC1zaGFyZWQgY29u
ZnRlc3QubyAgLXYgLVdsLC1zb25hbWUgLVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwm
MSBcfCBncmVwICAtbGMgIFw+L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6NzQzNzogJD8g
PSAxCmNvbmZpZ3VyZTo3NDQ5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzQ1NzogY2hlY2tp
bmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzCmNvbmZpZ3VyZTo4MDA5OiByZXN1
bHQ6IE5ldEJTRCBsZC5lbGZfc28KY29uZmlndXJlOjgwMTM6IGNoZWNraW5nIGhvdyB0byBo
YXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMKY29uZmlndXJlOjgwMzg6IHJl
c3VsdDogaW1tZWRpYXRlCmNvbmZpZ3VyZTo4MDUyOiBjaGVja2luZyB3aGV0aGVyIHN0cmlw
cGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUKY29uZmlndXJlOjgwNTc6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo4ODgwOiBjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBs
aWJyYXJpZXMKY29uZmlndXJlOjg4ODI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4ODg1OiBj
aGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjg5
NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4OTQ2OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1
aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmlndXJlOjg5NTA6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo5MDQyOiBjcmVhdGluZyBsaWJ0b29sCmNvbmZpZ3VyZTo5NTg5OiBjaGVja2luZyBm
b3IgbGQgdXNlZCBieSBjKysKY29uZmlndXJlOjk2NTY6IHJlc3VsdDogL3Vzci9wa2dzcmMv
Z3JhcGhpY3MvaW1saWIvd29yay8ud3JhcHBlci9iaW4vbGQKY29uZmlndXJlOjk2NjU6IGNo
ZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvcGtnc3JjL2dyYXBoaWNzL2ltbGliL3dvcmsv
LndyYXBwZXIvYmluL2xkKSBpcyBHTlUgbGQKY29uZmlndXJlOjk2ODA6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo5NzMxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBjKysgbGlua2VyICgvdXNy
L3BrZ3NyYy9ncmFwaGljcy9pbWxpYi93b3JrLy53cmFwcGVyL2Jpbi9sZCkgc3VwcG9ydHMg
c2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTA1NTc6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToxMDU3NTogYysrIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUg
LURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25mdGVz
dC5jYyA+JjUKY29uZmlndXJlOjEwNTc4OiAkPyA9IDAKY29uZmlndXJlOjEwNjc0OiBjaGVj
a2luZyBmb3IgYysrIG9wdGlvbiB0byBwcm9kdWNlIFBJQwpjb25maWd1cmU6MTA5MjY6IHJl
c3VsdDogLWZQSUMKY29uZmlndXJlOjEwOTM0OiBjaGVja2luZyBpZiBjKysgUElDIGZsYWcg
LWZQSUMgd29ya3MKY29uZmlndXJlOjEwOTUyOiBjKysgLWMgLU8yIC1JL3Vzci9wa2cvaW5j
bHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1J
L3Vzci9pbmNsdWRlIC1mUElDIC1EUElDIGNvbmZ0ZXN0LmNjID4mNQpjb25maWd1cmU6MTA5
NTY6ICQ/ID0gMApjb25maWd1cmU6MTA5Njc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDk5
MTogY2hlY2tpbmcgaWYgYysrIHN1cHBvcnRzIC1jIC1vIGZpbGUubwpjb25maWd1cmU6MTEw
MTI6IGMrKyAtYyAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5B
QkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLW8gb3V0L2NvbmZ0
ZXN0Mi5vIGNvbmZ0ZXN0LmNjID4mNQpjb25maWd1cmU6MTEwMTY6ICQ/ID0gMApjb25maWd1
cmU6MTEwMzY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTA2MjogY2hlY2tpbmcgd2hldGhl
ciB0aGUgYysrIGxpbmtlciAoL3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8ud3Jh
cHBlci9iaW4vbGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjExMDkw
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTExNjE6IGNoZWNraW5nIGR5bmFtaWMgbGlua2Vy
IGNoYXJhY3RlcmlzdGljcwpjb25maWd1cmU6MTE3MTM6IHJlc3VsdDogTmV0QlNEIGxkLmVs
Zl9zbwpjb25maWd1cmU6MTE3MTc6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5
IHBhdGhzIGludG8gcHJvZ3JhbXMKY29uZmlndXJlOjExNzQyOiByZXN1bHQ6IGltbWVkaWF0
ZQpjb25maWd1cmU6MTE3NTY6IGNoZWNraW5nIHdoZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmll
cyBpcyBwb3NzaWJsZQpjb25maWd1cmU6MTE3NjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
MzA2MTogY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNv
bmZpZ3VyZToxMzA2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMDY2OiBjaGVja2luZyB3
aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEzMDg0OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTMwODc6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3Rh
dGljIGxpYnJhcmllcwpjb25maWd1cmU6MTMwOTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
MzEwMzogY2hlY2tpbmcgZm9yIGY3NyBvcHRpb24gdG8gcHJvZHVjZSBQSUMKY29uZmlndXJl
OjEzMjgwOiByZXN1bHQ6IC1mUElDCmNvbmZpZ3VyZToxMzI4ODogY2hlY2tpbmcgaWYgZjc3
IFBJQyBmbGFnIC1mUElDIHdvcmtzCmNvbmZpZ3VyZToxMzMwNjogZjc3IC1jIC1PIC1mUElD
IGNvbmZ0ZXN0LmYgPiY1CmNvbmZpZ3VyZToxMzMxMDogJD8gPSAwCmNvbmZpZ3VyZToxMzMy
MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMzQ1OiBjaGVja2luZyBpZiBmNzcgc3VwcG9y
dHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZToxMzM2NjogZjc3IC1jIC1PIC1vIG91dC9jb25m
dGVzdDIubyBjb25mdGVzdC5mID4mNQpjb25maWd1cmU6MTMzNzA6ICQ/ID0gMApjb25maWd1
cmU6MTMzOTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQxNjogY2hlY2tpbmcgd2hldGhl
ciB0aGUgZjc3IGxpbmtlciAoL3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8ud3Jh
cHBlci9iaW4vbGQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjE0MjQz
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQzMTQ6IGNoZWNraW5nIGR5bmFtaWMgbGlua2Vy
IGNoYXJhY3RlcmlzdGljcwpjb25maWd1cmU6MTQ4NjY6IHJlc3VsdDogTmV0QlNEIGxkLmVs
Zl9zbwpjb25maWd1cmU6MTQ4NzA6IGNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5
IHBhdGhzIGludG8gcHJvZ3JhbXMKY29uZmlndXJlOjE0ODk1OiByZXN1bHQ6IGltbWVkaWF0
ZQpjb25maWd1cmU6MTQ5MDk6IGNoZWNraW5nIHdoZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmll
cyBpcyBwb3NzaWJsZQpjb25maWd1cmU6MTQ5MTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
OTAwNTogY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZpYyBw
b3J0aW9ucyBvZiBNYWtlZmlsZXMKY29uZmlndXJlOjE5MDE0OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxOTA4NjogY2hlY2tpbmcgZm9yIGd0ay1jb25maWcKY29uZmlndXJlOjE5MTA0OiBm
b3VuZCAvdXNyL3BrZy9iaW4vZ3RrLWNvbmZpZwpjb25maWd1cmU6MTkxMTc6IHJlc3VsdDog
L3Vzci9wa2cvYmluL2d0ay1jb25maWcKY29uZmlndXJlOjE5MTI1OiBjaGVja2luZyBmb3Ig
R1RLIC0gdmVyc2lvbiA+PSAxLjIuMQpjb25maWd1cmU6MTkyMzE6IGNjIC1vIGNvbmZ0ZXN0
IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLUkvdXNyL3BrZy9pbmNs
dWRlL2d0ay0xLjIgLUkvdXNyL3BrZy9pbmNsdWRlL2dsaWIvZ2xpYi0xLjIgLUkvdXNyL3Br
Zy9saWIvZ2xpYi9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1ERU5BQkxFX05MUyAt
SS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1S
L3Vzci9wa2cvbGliIC1ML3Vzci9saWIgLVdsLC1SL3Vzci9saWIgLUwvdXNyL1gxMVI2L2xp
YiAtV2wsLVIvdXNyL1gxMVI2L2xpYiBjb25mdGVzdC5jIC1ML3Vzci9wa2cvbGliIC1XbCwt
Ui91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL1gxMVI2L2xpYiAtTC91c3IvWDExUjYvbGliIC1M
L3Vzci9YMTFSNi9saWIgLWxndGsgLWxnZGsgLWxnbW9kdWxlIC1sZ2xpYiAtbGludGwgLWxY
aSAtbFhleHQgLWxYMTEgLWxtIC1saW50bCA+JjUKbGQ6IGNhbm5vdCBmaW5kIC1sWGkKY29u
ZmlndXJlOjE5MjM0OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0
YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgu
ICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RB
Uk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FH
RV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQ
QUNLQUdFICJpbWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIKfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
RExGQ05fSCAxCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiB2b2lkIHN0ZDo6
ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0Owp8ICNlbmRpZgp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8Z3RrL2d0ay5oPgp8ICNpbmNsdWRl
IDxzdGRpby5oPgp8ICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwg
ewp8ICAgaW50IG1ham9yLCBtaW5vciwgbWljcm87CnwgICBjaGFyICp0bXBfdmVyc2lvbjsK
fCAKfCAgIHN5c3RlbSAoInRvdWNoIGNvbmYuZ3RrdGVzdCIpOwp8IAp8ICAgLyogSFAvVVgg
OSAoJUAjISkgd3JpdGVzIHRvIHNzY2FuZiBzdHJpbmdzICovCnwgICB0bXBfdmVyc2lvbiA9
IGdfc3RyZHVwKCIxLjIuMSIpOwp8ICAgaWYgKHNzY2FuZih0bXBfdmVyc2lvbiwgIiVkLiVk
LiVkIiwgJm1ham9yLCAmbWlub3IsICZtaWNybykgIT0gMykgewp8ICAgICAgcHJpbnRmKCIl
cywgYmFkIHZlcnNpb24gc3RyaW5nXG4iLCAiMS4yLjEiKTsKfCAgICAgIGV4aXQoMSk7Cnwg
ICAgfQp8IAp8ICAgaWYgKChndGtfbWFqb3JfdmVyc2lvbiAhPSAxKSB8fAp8ICAgICAgIChn
dGtfbWlub3JfdmVyc2lvbiAhPSAyKSB8fAp8ICAgICAgIChndGtfbWljcm9fdmVyc2lvbiAh
PSAxMCkpCnwgICAgIHsKfCAgICAgICBwcmludGYoIlxuKioqICdndGstY29uZmlnIC0tdmVy
c2lvbicgcmV0dXJuZWQgJWQuJWQuJWQsIGJ1dCBHVEsrICglZC4lZC4lZClcbiIsCnwgICAg
ICAgICAgICAgIDEsIDIsIDEwLAp8ICAgICAgICAgICAgICBndGtfbWFqb3JfdmVyc2lvbiwg
Z3RrX21pbm9yX3ZlcnNpb24sIGd0a19taWNyb192ZXJzaW9uKTsKfCAgICAgICBwcmludGYg
KCIqKiogd2FzIGZvdW5kISBJZiBndGstY29uZmlnIHdhcyBjb3JyZWN0LCB0aGVuIGl0IGlz
IGJlc3RcbiIpOwp8ICAgICAgIHByaW50ZiAoIioqKiB0byByZW1vdmUgdGhlIG9sZCB2ZXJz
aW9uIG9mIEdUSysuIFlvdSBtYXkgYWxzbyBiZSBhYmxlIHRvIGZpeCB0aGUgZXJyb3JcbiIp
Owp8ICAgICAgIHByaW50ZigiKioqIGJ5IG1vZGlmeWluZyB5b3VyIExEX0xJQlJBUllfUEFU
SCBlbnZpcm9tZW50IHZhcmlhYmxlLCBvciBieSBlZGl0aW5nXG4iKTsKfCAgICAgICBwcmlu
dGYoIioqKiAvZXRjL2xkLnNvLmNvbmYuIE1ha2Ugc3VyZSB5b3UgaGF2ZSBydW4gbGRjb25m
aWcgaWYgdGhhdCBpc1xuIik7CnwgICAgICAgcHJpbnRmKCIqKiogcmVxdWlyZWQgb24geW91
ciBzeXN0ZW0uXG4iKTsKfCAgICAgICBwcmludGYoIioqKiBJZiBndGstY29uZmlnIHdhcyB3
cm9uZywgc2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBHVEtfQ09ORklHXG4iKTsKfCAg
ICAgICBwcmludGYoIioqKiB0byBwb2ludCB0byB0aGUgY29ycmVjdCBjb3B5IG9mIGd0ay1j
b25maWcsIGFuZCByZW1vdmUgdGhlIGZpbGUgY29uZmlnLmNhY2hlXG4iKTsKfCAgICAgICBw
cmludGYoIioqKiBiZWZvcmUgcmUtcnVubmluZyBjb25maWd1cmVcbiIpOwp8ICAgICB9Cnwg
I2lmIGRlZmluZWQgKEdUS19NQUpPUl9WRVJTSU9OKSAmJiBkZWZpbmVkIChHVEtfTUlOT1Jf
VkVSU0lPTikgJiYgZGVmaW5lZCAoR1RLX01JQ1JPX1ZFUlNJT04pCnwgICBlbHNlIGlmICgo
Z3RrX21ham9yX3ZlcnNpb24gIT0gR1RLX01BSk9SX1ZFUlNJT04pIHx8CnwgCSAgIChndGtf
bWlub3JfdmVyc2lvbiAhPSBHVEtfTUlOT1JfVkVSU0lPTikgfHwKfCAgICAgICAgICAgIChn
dGtfbWljcm9fdmVyc2lvbiAhPSBHVEtfTUlDUk9fVkVSU0lPTikpCnwgICAgIHsKfCAgICAg
ICBwcmludGYoIioqKiBHVEsrIGhlYWRlciBmaWxlcyAodmVyc2lvbiAlZC4lZC4lZCkgZG8g
bm90IG1hdGNoXG4iLAp8IAkgICAgIEdUS19NQUpPUl9WRVJTSU9OLCBHVEtfTUlOT1JfVkVS
U0lPTiwgR1RLX01JQ1JPX1ZFUlNJT04pOwp8ICAgICAgIHByaW50ZigiKioqIGxpYnJhcnkg
KHZlcnNpb24gJWQuJWQuJWQpXG4iLAp8IAkgICAgIGd0a19tYWpvcl92ZXJzaW9uLCBndGtf
bWlub3JfdmVyc2lvbiwgZ3RrX21pY3JvX3ZlcnNpb24pOwp8ICAgICB9CnwgI2VuZGlmIC8q
IGRlZmluZWQgKEdUS19NQUpPUl9WRVJTSU9OKSAuLi4gKi8KfCAgIGVsc2UKfCAgICAgewp8
ICAgICAgIGlmICgoZ3RrX21ham9yX3ZlcnNpb24gPiBtYWpvcikgfHwKfCAgICAgICAgICgo
Z3RrX21ham9yX3ZlcnNpb24gPT0gbWFqb3IpICYmIChndGtfbWlub3JfdmVyc2lvbiA+IG1p
bm9yKSkgfHwKfCAgICAgICAgICgoZ3RrX21ham9yX3ZlcnNpb24gPT0gbWFqb3IpICYmIChn
dGtfbWlub3JfdmVyc2lvbiA9PSBtaW5vcikgJiYgKGd0a19taWNyb192ZXJzaW9uID49IG1p
Y3JvKSkpCnwgICAgICAgewp8ICAgICAgICAgcmV0dXJuIDA7CnwgICAgICAgIH0KfCAgICAg
IGVsc2UKfCAgICAgICB7CnwgICAgICAgICBwcmludGYoIlxuKioqIEFuIG9sZCB2ZXJzaW9u
IG9mIEdUSysgKCVkLiVkLiVkKSB3YXMgZm91bmQuXG4iLAp8ICAgICAgICAgICAgICAgIGd0
a19tYWpvcl92ZXJzaW9uLCBndGtfbWlub3JfdmVyc2lvbiwgZ3RrX21pY3JvX3ZlcnNpb24p
Owp8ICAgICAgICAgcHJpbnRmKCIqKiogWW91IG5lZWQgYSB2ZXJzaW9uIG9mIEdUSysgbmV3
ZXIgdGhhbiAlZC4lZC4lZC4gVGhlIGxhdGVzdCB2ZXJzaW9uIG9mXG4iLAp8IAkgICAgICAg
bWFqb3IsIG1pbm9yLCBtaWNybyk7CnwgICAgICAgICBwcmludGYoIioqKiBHVEsrIGlzIGFs
d2F5cyBhdmFpbGFibGUgZnJvbSBmdHA6Ly9mdHAuZ3RrLm9yZy5cbiIpOwp8ICAgICAgICAg
cHJpbnRmKCIqKipcbiIpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogSWYgeW91IGhhdmUgYWxy
ZWFkeSBpbnN0YWxsZWQgYSBzdWZmaWNpZW50bHkgbmV3IHZlcnNpb24sIHRoaXMgZXJyb3Jc
biIpOwp8ICAgICAgICAgcHJpbnRmKCIqKiogcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgd3Jv
bmcgY29weSBvZiB0aGUgZ3RrLWNvbmZpZyBzaGVsbCBzY3JpcHQgaXNcbiIpOwp8ICAgICAg
ICAgcHJpbnRmKCIqKiogYmVpbmcgZm91bmQuIFRoZSBlYXNpZXN0IHdheSB0byBmaXggdGhp
cyBpcyB0byByZW1vdmUgdGhlIG9sZCB2ZXJzaW9uXG4iKTsKfCAgICAgICAgIHByaW50Zigi
KioqIG9mIEdUSyssIGJ1dCB5b3UgY2FuIGFsc28gc2V0IHRoZSBHVEtfQ09ORklHIGVudmly
b25tZW50IHRvIHBvaW50IHRvIHRoZVxuIik7CnwgICAgICAgICBwcmludGYoIioqKiBjb3Jy
ZWN0IGNvcHkgb2YgZ3RrLWNvbmZpZy4gKEluIHRoaXMgY2FzZSwgeW91IHdpbGwgaGF2ZSB0
b1xuIik7CnwgICAgICAgICBwcmludGYoIioqKiBtb2RpZnkgeW91ciBMRF9MSUJSQVJZX1BB
VEggZW52aXJvbWVudCB2YXJpYWJsZSwgb3IgZWRpdCAvZXRjL2xkLnNvLmNvbmZcbiIpOwp8
ICAgICAgICAgcHJpbnRmKCIqKiogc28gdGhhdCB0aGUgY29ycmVjdCBsaWJyYXJpZXMgYXJl
IGZvdW5kIGF0IHJ1bi10aW1lKSlcbiIpOwp8ICAgICAgIH0KfCAgICAgfQp8ICAgcmV0dXJu
IDE7CnwgfQp8IApjb25maWd1cmU6MTkyNjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5Mjk1
OiBjYyAtbyBjb25mdGVzdCAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl
IC1JL3Vzci9wa2cvaW5jbHVkZS9ndGstMS4yIC1JL3Vzci9wa2cvaW5jbHVkZS9nbGliL2ds
aWItMS4yIC1JL3Vzci9wa2cvbGliL2dsaWIvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVk
ZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ML3Vz
ci9wa2cvbGliIC1XbCwtUi91c3IvcGtnL2xpYiAtTC91c3IvbGliIC1XbCwtUi91c3IvbGli
IC1ML3Vzci9YMTFSNi9saWIgLVdsLC1SL3Vzci9YMTFSNi9saWIgY29uZnRlc3QuYyAtbGlu
dGwgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cvbGliIC1XbCwtUi91c3IvWDExUjYv
bGliIC1ML3Vzci9YMTFSNi9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGd0ayAtbGdkayAtbGdt
b2R1bGUgLWxnbGliIC1saW50bCAtbFhpIC1sWGV4dCAtbFgxMSAtbG0gPiY1CmxkOiBjYW5u
b3QgZmluZCAtbFhpCmNvbmZpZ3VyZToxOTMwMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FH
RV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB
R0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJpbWxpYiIKfCAjZGVmaW5l
IFZFUlNJT04gIjEuOS4xNSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2lmZGVmIF9fY3Bs
dXNwbHVzCnwgZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNp
bmcgc3RkOjpleGl0Owp8ICNlbmRpZgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAj
aW5jbHVkZSA8Z3RrL2d0ay5oPgp8ICNpbmNsdWRlIDxzdGRpby5oPgp8IAp8IGludAp8IG1h
aW4gKCkKfCB7CnwgIHJldHVybiAoKGd0a19tYWpvcl92ZXJzaW9uKSB8fCAoZ3RrX21pbm9y
X3ZlcnNpb24pIHx8IChndGtfbWljcm9fdmVyc2lvbikpOwp8ICAgOwp8ICAgcmV0dXJuIDA7
CnwgfQpjb25maWd1cmU6MTkzNDg6IFdBUk5JTkc6ICoqKiBnZGtfaW1saWIgd2lsbCBub3Qg
YmUgYnVpbHQgKioqCmNvbmZpZ3VyZToxOTM1NjogY2hlY2tpbmcgd2hldGhlciB0byBidWls
ZCBnbW9kdWxpemVkIGltbGliCmNvbmZpZ3VyZToxOTM3NjogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjE5NDc4OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6
MTk2MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTY1MTogY2hlY2tpbmcgZm9yIGRpcmVu
dC5oIHRoYXQgZGVmaW5lcyBESVIKY29uZmlndXJlOjE5Njc1OiBjYyAtYyAtTzIgLUkvdXNy
L3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2lu
Y2x1ZGUgLUkvdXNyL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjE5NjgxOiAk
PyA9IDAKY29uZmlndXJlOjE5Njg0OiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl
c3QuZXJyCmNvbmZpZ3VyZToxOTY4NzogJD8gPSAwCmNvbmZpZ3VyZToxOTY5MDogdGVzdCAt
cyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxOTY5MzogJD8gPSAwCmNvbmZpZ3VyZToxOTcwNDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NzE3OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250
YWluaW5nIG9wZW5kaXIKY29uZmlndXJlOjE5NzQ3OiBjYyAtbyBjb25mdGVzdCAtTzIgLUkv
dXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtn
L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cv
bGliIC1ML3Vzci9saWIgLVdsLC1SL3Vzci9saWIgLUwvdXNyL1gxMVI2L2xpYiAtV2wsLVIv
dXNyL1gxMVI2L2xpYiBjb25mdGVzdC5jIC1saW50bCA+JjUKY29uZmlndXJlOjE5NzUzOiAk
PyA9IDAKY29uZmlndXJlOjE5NzU2OiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRl
c3QuZXJyCmNvbmZpZ3VyZToxOTc1OTogJD8gPSAwCmNvbmZpZ3VyZToxOTc2MjogdGVzdCAt
cyBjb25mdGVzdApjb25maWd1cmU6MTk3NjU6ICQ/ID0gMApjb25maWd1cmU6MTk4MzQ6IHJl
c3VsdDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MTk5Njg6IGNoZWNraW5nIGZvciBzeXMv
d2FpdC5oIHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlCmNvbmZpZ3VyZToxOTk5OTogY2Mg
LWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMg
LUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZToyMDAwNTogJD8gPSAwCmNvbmZpZ3VyZToyMDAwODogdGVzdCAteiAJCQkgfHwgdGVz
dCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjAwMTE6ICQ/ID0gMApjb25maWd1cmU6
MjAwMTQ6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjAwMTc6ICQ/ID0gMApjb25m
aWd1cmU6MjAwMjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDAzOTogY2hlY2tpbmcgcmV0
dXJuIHR5cGUgb2Ygc2lnbmFsIGhhbmRsZXJzCmNvbmZpZ3VyZToyMDA3MDogY2MgLWMgLU8y
IC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNy
L3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToy
MDA3NjogJD8gPSAwCmNvbmZpZ3VyZToyMDA3OTogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1z
IGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjAwODI6ICQ/ID0gMApjb25maWd1cmU6MjAwODU6
IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjAwODg6ICQ/ID0gMApjb25maWd1cmU6
MjAwOTk6IHJlc3VsdDogdm9pZApjb25maWd1cmU6MjAxMTI6IGNoZWNraW5nIGZvciB2c25w
cmludGYKY29uZmlndXJlOjIwMTY5OiBjYyAtbyBjb25mdGVzdCAtTzIgLUkvdXNyL3BrZy9p
bmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUg
LUkvdXNyL2luY2x1ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cvbGliIC1ML3Vz
ci9saWIgLVdsLC1SL3Vzci9saWIgLUwvdXNyL1gxMVI2L2xpYiAtV2wsLVIvdXNyL1gxMVI2
L2xpYiBjb25mdGVzdC5jIC1saW50bCA+JjUKY29uZnRlc3QuYzo1Mzogd2FybmluZzogY29u
ZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uIGB2c25wcmludGYnCmNvbmZp
Z3VyZToyMDE3NTogJD8gPSAwCmNvbmZpZ3VyZToyMDE3ODogdGVzdCAteiAJCQkgfHwgdGVz
dCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjAxODE6ICQ/ID0gMApjb25maWd1cmU6
MjAxODQ6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjIwMTg3OiAkPyA9IDAKY29uZmln
dXJlOjIwMTk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAyMTM6IGNoZWNraW5nIGZvciBz
bnByaW50Zgpjb25maWd1cmU6MjAyNzA6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtSS91c3IvcGtn
L2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL3BrZy9saWIgLUwv
dXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3IvWDExUjYvbGliIC1XbCwtUi91c3IvWDEx
UjYvbGliIGNvbmZ0ZXN0LmMgLWxpbnRsID4mNQpjb25mdGVzdC5jOjU0OiB3YXJuaW5nOiBj
b25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gYHNucHJpbnRmJwpjb25m
aWd1cmU6MjAyNzY6ICQ/ID0gMApjb25maWd1cmU6MjAyNzk6IHRlc3QgLXogCQkJIHx8IHRl
c3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjIwMjgyOiAkPyA9IDAKY29uZmlndXJl
OjIwMjg1OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToyMDI4ODogJD8gPSAwCmNvbmZp
Z3VyZToyMDMwMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwMzE0OiBjaGVja2luZyBmb3Ig
YmFzZW5hbWUKY29uZmlndXJlOjIwMzcxOiBjYyAtbyBjb25mdGVzdCAtTzIgLUkvdXNyL3Br
Zy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1
ZGUgLUkvdXNyL2luY2x1ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cvbGliIC1M
L3Vzci9saWIgLVdsLC1SL3Vzci9saWIgLUwvdXNyL1gxMVI2L2xpYiAtV2wsLVIvdXNyL1gx
MVI2L2xpYiBjb25mdGVzdC5jIC1saW50bCA+JjUKY29uZmlndXJlOjIwMzc3OiAkPyA9IDAK
Y29uZmlndXJlOjIwMzgwOiB0ZXN0IC16IAkJCSB8fCB0ZXN0ICEgLXMgY29uZnRlc3QuZXJy
CmNvbmZpZ3VyZToyMDM4MzogJD8gPSAwCmNvbmZpZ3VyZToyMDM4NjogdGVzdCAtcyBjb25m
dGVzdApjb25maWd1cmU6MjAzODk6ICQ/ID0gMApjb25maWd1cmU6MjA0MDE6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToyMDQxNjogY2hlY2tpbmcgZm9yIGJsdW1mcnViCmNvbmZpZ3VyZToy
MDQ3MzogY2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5j
bHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1M
L3Vzci9wa2cvbGliIC1XbCwtUi91c3IvcGtnL2xpYiAtTC91c3IvbGliIC1XbCwtUi91c3Iv
bGliIC1ML3Vzci9YMTFSNi9saWIgLVdsLC1SL3Vzci9YMTFSNi9saWIgY29uZnRlc3QuYyAt
bGludGwgPiY1Ci92YXIvdG1wLy9jY0dmZ0k2VS5vKC50ZXh0KzB4MTEpOiBJbiBmdW5jdGlv
biBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYmx1bWZydWInCi92YXIvdG1w
Ly9jY0dmZ0k2VS5vKC5kYXRhKzB4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGJsdW1m
cnViJwpjb25maWd1cmU6MjA0Nzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiaW1saWIiCnwgI2RlZmluZSBWRVJTSU9O
ICIxLjkuMTUiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
IGV4dGVybiAiQyIgdm9pZCBzdGQ6OmV4aXQgKGludCkgdGhyb3cgKCk7IHVzaW5nIHN0ZDo6
ZXhpdDsKfCAjZW5kaWYKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF
X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBSRVRT
SUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
U05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9CQVNFTkFNRSAxCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8IC8qIERlZmluZSBibHVtZnJ1YiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwg
aW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGJsdW1mcnViLgp8ICAgIEZvciBleGFtcGxl
LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk
ZWZpbmUgYmx1bWZydWIgaW5ub2N1b3VzX2JsdW1mcnViCnwgCnwgLyogU3lzdGVtIGhlYWRl
ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz
LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGJsdW1mcnViICgpOyBiZWxv
dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp
cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz
dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk
ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8
IAp8ICN1bmRlZiBibHVtZnJ1Ygp8IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs
IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVz
CnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGlu
dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVpbHRpbiBh
bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
fCBjaGFyIGJsdW1mcnViICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZh
aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAg
ICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9ibHVtZnJ1YikgfHwgZGVmaW5l
ZCAoX19zdHViX19fYmx1bWZydWIpCnwgY2hva2UgbWUKfCAjZWxzZQp8IGNoYXIgKCpmKSAo
KSA9IGJsdW1mcnViOwp8ICNlbmRpZgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IH0KfCAjZW5k
aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmICE9IGJsdW1mcnViOwp8ICAg
Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjA1MDM6IHJlc3VsdDogbm8KY29uZmln
dXJlOjIwNTE3OiBjaGVja2luZyBmb3IgYnVja2V0c19vZl9lcm9nZW5vdXNfbnltCmNvbmZp
Z3VyZToyMDU3NDogY2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91
c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNs
dWRlIC1ML3Vzci9wa2cvbGliIC1XbCwtUi91c3IvcGtnL2xpYiAtTC91c3IvbGliIC1XbCwt
Ui91c3IvbGliIC1ML3Vzci9YMTFSNi9saWIgLVdsLC1SL3Vzci9YMTFSNi9saWIgY29uZnRl
c3QuYyAtbGludGwgPiY1Ci92YXIvdG1wLy9jY0tieU5aMS5vKC50ZXh0KzB4MTEpOiBJbiBm
dW5jdGlvbiBgbWFpbic6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYnVja2V0c19vZl9l
cm9nZW5vdXNfbnltJwovdmFyL3RtcC8vY2NLYnlOWjEubyguZGF0YSsweDApOiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBidWNrZXRzX29mX2Vyb2dlbm91c19ueW0nCmNvbmZpZ3VyZToy
MDU4MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2Rl
ZmluZSBQQUNLQUdFICJpbWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIKfCAjZGVm
aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l
IEhBVkVfRExGQ05fSCAxCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiB2b2lk
IHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0Owp8ICNlbmRpZgp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNk
ZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl
ZmluZSBIQVZFX0JBU0VOQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVm
aW5lIGJ1Y2tldHNfb2ZfZXJvZ2Vub3VzX255bSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwg
aW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGJ1Y2tldHNfb2ZfZXJvZ2Vub3VzX255bS4K
fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt
ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGJ1Y2tldHNfb2ZfZXJvZ2Vub3VzX255bSBpbm5vY3Vv
dXNfYnVja2V0c19vZl9lcm9nZW5vdXNfbnltCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk
ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAg
ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGJ1Y2tldHNfb2ZfZXJvZ2Vub3VzX255
bSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg
X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl
biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K
fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4K
fCAjZW5kaWYKfCAKfCAjdW5kZWYgYnVja2V0c19vZl9lcm9nZW5vdXNfbnltCnwgCnwgLyog
T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgewp8ICNlbmRpZgp8
IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgYnVja2V0c19vZl9lcm9nZW5vdXNf
bnltICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T
WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5n
IHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICov
CnwgI2lmIGRlZmluZWQgKF9fc3R1Yl9idWNrZXRzX29mX2Vyb2dlbm91c19ueW0pIHx8IGRl
ZmluZWQgKF9fc3R1Yl9fX2J1Y2tldHNfb2ZfZXJvZ2Vub3VzX255bSkKfCBjaG9rZSBtZQp8
ICNlbHNlCnwgY2hhciAoKmYpICgpID0gYnVja2V0c19vZl9lcm9nZW5vdXNfbnltOwp8ICNl
bmRpZgp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IH0KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
ICgpCnwgewp8IHJldHVybiBmICE9IGJ1Y2tldHNfb2ZfZXJvZ2Vub3VzX255bTsKfCAgIDsK
fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIwNjA0OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToyMDYxODogY2hlY2tpbmcgZm9yIGJ1dHRveApjb25maWd1cmU6MjA2NzU6IGNjIC1vIGNv
bmZ0ZXN0IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVf
TkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtnL2xpYiAt
V2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3IvWDEx
UjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxpbnRsID4mNQovdmFy
L3RtcC8vY2NGUk5NSGwubygudGV4dCsweDExKTogSW4gZnVuY3Rpb24gYG1haW4nOgo6IHVu
ZGVmaW5lZCByZWZlcmVuY2UgdG8gYGJ1dHRveCcKL3Zhci90bXAvL2NjRlJOTUhsLm8oLmRh
dGErMHgwKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYnV0dG94Jwpjb25maWd1cmU6MjA2
ODE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
cy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FH
RV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBB
Q0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZp
bmUgUEFDS0FHRSAiaW1saWIiCnwgI2RlZmluZSBWRVJTSU9OICIxLjkuMTUiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
QVZFX0RMRkNOX0ggMQp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIgdm9pZCBz
dGQ6OmV4aXQgKGludCkgdGhyb3cgKCk7IHVzaW5nIHN0ZDo6ZXhpdDsKfCAjZW5kaWYKfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVm
aW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp
bmUgSEFWRV9CQVNFTkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu
ZSBidXR0b3ggdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBk
ZWNsYXJlcyBidXR0b3guCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+
IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBidXR0b3ggaW5ub2N1b3Vz
X2J1dHRveAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0
IHdpdGggY2hhciBidXR0b3ggKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0
byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1p
dHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwg
I2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5j
bHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGJ1dHRveAp8IAp8IC8qIE92
ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4g
ICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8IHsKfCAjZW5kaWYKfCAv
KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
b2YgYSBnY2MyCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBl
IHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIGJ1dHRveCAoKTsKfCAvKiBUaGUgR05V
IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l
bnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg
YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu
ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIChfX3N0
dWJfYnV0dG94KSB8fCBkZWZpbmVkIChfX3N0dWJfX19idXR0b3gpCnwgY2hva2UgbWUKfCAj
ZWxzZQp8IGNoYXIgKCpmKSAoKSA9IGJ1dHRveDsKfCAjZW5kaWYKfCAjaWZkZWYgX19jcGx1
c3BsdXMKfCB9CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZiAh
PSBidXR0b3g7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyMDcwNTogcmVz
dWx0OiBubwpjb25maWd1cmU6MjA3MjY6IGNoZWNraW5nIHN0ZGFyZy5oIHVzYWJpbGl0eQpj
b25maWd1cmU6MjA3Mzg6IGNjIC1jIC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6MjA3NDQ6ICQ/ID0gMApjb25maWd1cmU6MjA3NDc6
IHRlc3QgLXogCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjIwNzUw
OiAkPyA9IDAKY29uZmlndXJlOjIwNzUzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJl
OjIwNzU2OiAkPyA9IDAKY29uZmlndXJlOjIwNzY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
MjA3NzA6IGNoZWNraW5nIHN0ZGFyZy5oIHByZXNlbmNlCmNvbmZpZ3VyZToyMDc4MDogY2Mg
LUUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSBjb25m
dGVzdC5jCmNvbmZpZ3VyZToyMDc4NjogJD8gPSAwCmNvbmZpZ3VyZToyMDgwNjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjIwODQxOiBjaGVja2luZyBmb3Igc3RkYXJnLmgKY29uZmlndXJl
OjIwODQ4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA4NjM6IGNoZWNraW5nIGZvciBzdHJp
bmcuaApjb25maWd1cmU6MjA4Njg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTAwMTogY2hl
Y2tpbmcgZm9yIHN0cmluZ3MuaApjb25maWd1cmU6MjEwMDY6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToyMTEzOTogY2hlY2tpbmcgZm9yIFgKY29uZmlndXJlOjIxMzczOiByZXN1bHQ6IGxp
YnJhcmllcyAvdXNyL1gxMVI2L2xpYiwgaGVhZGVycyAvdXNyL1gxMVI2L2luY2x1ZGUKY29u
ZmlndXJlOjIxNzg0OiBjYyAtbyBjb25mdGVzdCAtTzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1J
L3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUgLUwvdXNyL3BrZy9saWIgLVdsLC1SL3Vzci9wa2cvbGliIC1ML3Vzci9saWIgLVds
LC1SL3Vzci9saWIgLUwvdXNyL1gxMVI2L2xpYiAtV2wsLVIvdXNyL1gxMVI2L2xpYiBjb25m
dGVzdC5jIC1saW50bCAgLUwvdXNyL1gxMVI2L2xpYiAtbFgxMSA+JjUKbGQ6IGNhbm5vdCBm
aW5kIC1sWDExCmNvbmZpZ3VyZToyMTc5MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9O
QU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJpbWxpYiIKfCAjZGVmaW5lIFZF
UlNJT04gIjEuOS4xNSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF
X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2lmZGVmIF9fY3BsdXNw
bHVzCnwgZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcg
c3RkOjpleGl0Owp8ICNlbmRpZgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l
IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l
IFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUg
SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0JBU0VOQU1FIDEKfCAjZGVmaW5lIEhB
VkVfU1REQVJHUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRl
IGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwg
I2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IC8qIFdlIHVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIK
fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3Rp
bGwgYXBwbHkuICAqLwp8IGNoYXIgWE9wZW5EaXNwbGF5ICgpOwp8IGludAp8IG1haW4gKCkK
fCB7CnwgWE9wZW5EaXNwbGF5ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1
cmU6MjE4MDk6IGNoZWNraW5nIGZvciBkbmV0X250b2EgaW4gLWxkbmV0CmNvbmZpZ3VyZToy
MTgzOTogY2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5j
bHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1M
L3Vzci9wa2cvbGliIC1XbCwtUi91c3IvcGtnL2xpYiAtTC91c3IvbGliIC1XbCwtUi91c3Iv
bGliIC1ML3Vzci9YMTFSNi9saWIgLVdsLC1SL3Vzci9YMTFSNi9saWIgY29uZnRlc3QuYyAt
bGRuZXQgIC1saW50bCAgLUwvdXNyL1gxMVI2L2xpYiAtbFgxMSA+JjUKbGQ6IGNhbm5vdCBm
aW5kIC1sZG5ldApjb25maWd1cmU6MjE4NDU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiaW1saWIiCnwgI2RlZmluZSBW
RVJTSU9OICIxLjkuMTUiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW
RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNpZmRlZiBfX2NwbHVz
cGx1cwp8IGV4dGVybiAiQyIgdm9pZCBzdGQ6OmV4aXQgKGludCkgdGhyb3cgKCk7IHVzaW5n
IHN0ZDo6ZXhpdDsKfCAjZW5kaWYKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmlu
ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu
ZSBSRVRTSUdUWVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAjZGVmaW5l
IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9CQVNFTkFNRSAxCnwgI2RlZmluZSBI
QVZFX1NUREFSR1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlk
ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8
ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2Ug
Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
CnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KfCBjaGFyIGRuZXRfbnRvYSAoKTsKfCBpbnQKfCBtYWluICgpCnwg
ewp8IGRuZXRfbnRvYSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIx
ODcwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMTg3NzogY2hlY2tpbmcgZm9yIGRuZXRfbnRv
YSBpbiAtbGRuZXRfc3R1Ygpjb25maWd1cmU6MjE5MDc6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt
SS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9w
a2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL3Br
Zy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3IvWDExUjYvbGliIC1XbCwt
Ui91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxkbmV0X3N0dWIgIC1saW50bCAgLUwvdXNy
L1gxMVI2L2xpYiAtbFgxMSA+JjUKbGQ6IGNhbm5vdCBmaW5kIC1sZG5ldF9zdHViCmNvbmZp
Z3VyZToyMTkxMzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
IGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi
CnwgI2RlZmluZSBQQUNLQUdFICJpbWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIK
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg
I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD
IiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0Owp8ICNl
bmRpZgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9p
ZAp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx
CnwgI2RlZmluZSBIQVZFX0JBU0VOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHUyAxCnwg
LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVy
bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNw
bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50
IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFu
ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8
IGNoYXIgZG5ldF9udG9hICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgZG5ldF9udG9hICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjE5Mzg6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjIxOTU4OiBjaGVja2luZyBmb3IgZ2V0aG9zdGJ5bmFtZQpjb25maWd1cmU6
MjIwMTU6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUgLURFTkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAt
TC91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNy
L2xpYiAtTC91c3IvWDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMg
LWxpbnRsID4mNQpjb25maWd1cmU6MjIwMjE6ICQ/ID0gMApjb25maWd1cmU6MjIwMjQ6IHRl
c3QgLXogCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjIyMDI3OiAk
PyA9IDAKY29uZmlndXJlOjIyMDMwOiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToyMjAz
MzogJD8gPSAwCmNvbmZpZ3VyZToyMjA0NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMTk0
OiBjaGVja2luZyBmb3IgY29ubmVjdApjb25maWd1cmU6MjIyNTE6IGNjIC1vIGNvbmZ0ZXN0
IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFCTEVfTkxTIC1J
L3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtnL2xpYiAtV2wsLVIv
dXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3IvWDExUjYvbGli
IC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxpbnRsID4mNQpjb25maWd1cmU6
MjIyNTc6ICQ/ID0gMApjb25maWd1cmU6MjIyNjA6IHRlc3QgLXogCQkJIHx8IHRlc3QgISAt
cyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjIyMjYzOiAkPyA9IDAKY29uZmlndXJlOjIyMjY2
OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToyMjI2OTogJD8gPSAwCmNvbmZpZ3VyZToy
MjI4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyMzU1OiBjaGVja2luZyBmb3IgcmVtb3Zl
CmNvbmZpZ3VyZToyMjQxMjogY2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vzci9wa2cvaW5jbHVk
ZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vz
ci9pbmNsdWRlIC1ML3Vzci9wa2cvbGliIC1XbCwtUi91c3IvcGtnL2xpYiAtTC91c3IvbGli
IC1XbCwtUi91c3IvbGliIC1ML3Vzci9YMTFSNi9saWIgLVdsLC1SL3Vzci9YMTFSNi9saWIg
Y29uZnRlc3QuYyAtbGludGwgPiY1CmNvbmZpZ3VyZToyMjQxODogJD8gPSAwCmNvbmZpZ3Vy
ZToyMjQyMTogdGVzdCAteiAJCQkgfHwgdGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1
cmU6MjI0MjQ6ICQ/ID0gMApjb25maWd1cmU6MjI0Mjc6IHRlc3QgLXMgY29uZnRlc3QKY29u
ZmlndXJlOjIyNDMwOiAkPyA9IDAKY29uZmlndXJlOjIyNDQyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MjI1MTY6IGNoZWNraW5nIGZvciBzaG1hdApjb25maWd1cmU6MjI1NzM6IGNjIC1v
IGNvbmZ0ZXN0IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFC
TEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtnL2xp
YiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3Iv
WDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxpbnRsID4mNQpj
b25maWd1cmU6MjI1Nzk6ICQ/ID0gMApjb25maWd1cmU6MjI1ODI6IHRlc3QgLXogCQkJIHx8
IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmlndXJlOjIyNTg1OiAkPyA9IDAKY29uZmln
dXJlOjIyNTg4OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToyMjU5MTogJD8gPSAwCmNv
bmZpZ3VyZToyMjYwMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIyNjg2OiBjaGVja2luZyBm
b3IgSWNlQ29ubmVjdGlvbk51bWJlciBpbiAtbElDRQpjb25maWd1cmU6MjI3MTY6IGNjIC1v
IGNvbmZ0ZXN0IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURFTkFC
TEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtnL2xp
YiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3Iv
WDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIC1ML3Vzci9YMTFSNi9saWIgY29uZnRl
c3QuYyAtbElDRSAgLWxpbnRsID4mNQpsZDogY2Fubm90IGZpbmQgLWxJQ0UKY29uZmlndXJl
OjIyNzIyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBB
Q0tBR0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmlu
ZSBQQUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAj
ZGVmaW5lIFBBQ0tBR0UgImltbGliIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS45LjE1Igp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgSEFWRV9ETEZDTl9IIDEKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiIHZv
aWQgc3RkOjpleGl0IChpbnQpIHRocm93ICgpOyB1c2luZyBzdGQ6OmV4aXQ7CnwgI2VuZGlm
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwg
I2RlZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAj
ZGVmaW5lIEhBVkVfQkFTRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdTIDEKfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwg
cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK
fCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln
aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgp8ICAgIGJ1aWx0aW4gYW5kIHRo
ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hh
ciBJY2VDb25uZWN0aW9uTnVtYmVyICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgSWNlQ29u
bmVjdGlvbk51bWJlciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIy
NzQ3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMjc2NDogY2hlY2tpbmcgZm9yIFhTaG1BdHRh
Y2ggaW4gLWxYZXh0CmNvbmZpZ3VyZToyMjc5NDogY2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vz
ci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9p
bmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ML3Vzci9wa2cvbGliIC1XbCwtUi91c3IvcGtnL2xp
YiAtTC91c3IvbGliIC1XbCwtUi91c3IvbGliIC1ML3Vzci9YMTFSNi9saWIgLVdsLC1SL3Vz
ci9YMTFSNi9saWIgY29uZnRlc3QuYyAtbFhleHQgIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRs
ID4mNQpsZDogY2Fubm90IGZpbmQgLWxYZXh0CmNvbmZpZ3VyZToyMjgwMDogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8IAp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgIiIK
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg
IiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIiCnwgI2RlZmluZSBQQUNLQUdFICJp
bWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx
CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiB2b2lkIHN0ZDo6ZXhpdCAoaW50
KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0Owp8ICNlbmRpZgp8ICNkZWZpbmUgU1REQ19I
RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
V0FJVF9IIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAp8ICNkZWZpbmUgSEFWRV9WU05Q
UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0JBU0VO
QU1FIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
Lwp8IAp8IC8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl
bmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw
cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgWFNobUF0dGFjaCAoKTsK
fCBpbnQKfCBtYWluICgpCnwgewp8IFhTaG1BdHRhY2ggKCk7CnwgICA7CnwgICByZXR1cm4g
MDsKfCB9CmNvbmZpZ3VyZToyMjgyNTogcmVzdWx0OiBubwpjb25maWd1cmU6MjI4MzE6IGNo
ZWNraW5nIGZvciBYU2htQXR0YWNoIGluIC1sWGV4dFNhbQpjb25maWd1cmU6MjI4NjE6IGNj
IC1vIGNvbmZ0ZXN0IC1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgLURF
TkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtTC91c3IvcGtn
L2xpYiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91
c3IvWDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxYZXh0U2Ft
ICAtTC91c3IvWDExUjYvbGliIC1saW50bCA+JjUKbGQ6IGNhbm5vdCBmaW5kIC1sWGV4dFNh
bQpjb25maWd1cmU6MjI4Njc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAKfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgp8
ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiaW1saWIiCnwgI2RlZmluZSBWRVJTSU9OICIx
LjkuMTUiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf
SCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4
dGVybiAiQyIgdm9pZCBzdGQ6OmV4aXQgKGludCkgdGhyb3cgKCk7IHVzaW5nIHN0ZDo6ZXhp
dDsKfCAjZW5kaWYKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RJ
UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBSRVRTSUdU
WVBFIHZvaWQKfCAjZGVmaW5lIEhBVkVfVlNOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU05Q
UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9CQVNFTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NUREFS
R1MgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgZ2Nj
MiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwp8ICNpZmRlZiBf
X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCAvKiBXZSB1c2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KfCBjaGFyIFhTaG1BdHRhY2ggKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBYU2ht
QXR0YWNoICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjI4OTI6IHJl
c3VsdDogbm8KY29uZmlndXJlOjIyOTMwOiBjaGVja2luZyBzeXMvaXBjLmggdXNhYmlsaXR5
CmNvbmZpZ3VyZToyMjk0MjogY2MgLWMgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3Iv
aW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRl
ICAtSS91c3IvWDExUjYvaW5jbHVkZSAtSSR7cHJlZml4fS9pbmNsdWRlIC1JL3Vzci9wa2cv
aW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjI5NDg6ICQ/ID0gMApjb25maWd1
cmU6MjI5NTE6IHRlc3QgLXogCQkJIHx8IHRlc3QgISAtcyBjb25mdGVzdC5lcnIKY29uZmln
dXJlOjIyOTU0OiAkPyA9IDAKY29uZmlndXJlOjIyOTU3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8K
Y29uZmlndXJlOjIyOTYwOiAkPyA9IDAKY29uZmlndXJlOjIyOTcwOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MjI5NzQ6IGNoZWNraW5nIHN5cy9pcGMuaCBwcmVzZW5jZQpjb25maWd1cmU6
MjI5ODQ6IGNjIC1FIC1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1JJHtwcmVmaXh9L2luY2x1ZGUgLUkvdXNy
L3BrZy9pbmNsdWRlIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjIyOTkwOiAkPyA9IDAKY29uZmln
dXJlOjIzMDEwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMwNDU6IGNoZWNraW5nIGZvciBz
eXMvaXBjLmgKY29uZmlndXJlOjIzMDUyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjMwNzc6
IGNoZWNraW5nIHN5cy9zaG0uaCB1c2FiaWxpdHkKY29uZmlndXJlOjIzMDg5OiBjYyAtYyAt
TzIgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlIC1ERU5BQkxFX05MUyAtSS91
c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1J
JHtwcmVmaXh9L2luY2x1ZGUgLUkvdXNyL3BrZy9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZToyMzA5NTogJD8gPSAwCmNvbmZpZ3VyZToyMzA5ODogdGVzdCAteiAJCQkgfHwg
dGVzdCAhIC1zIGNvbmZ0ZXN0LmVycgpjb25maWd1cmU6MjMxMDE6ICQ/ID0gMApjb25maWd1
cmU6MjMxMDQ6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MjMxMDc6ICQ/ID0gMApj
b25maWd1cmU6MjMxMTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzEyMTogY2hlY2tpbmcg
c3lzL3NobS5oIHByZXNlbmNlCmNvbmZpZ3VyZToyMzEzMTogY2MgLUUgLURFTkFCTEVfTkxT
IC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAgLUkvdXNyL1gxMVI2L2luY2x1
ZGUgLUkke3ByZWZpeH0vaW5jbHVkZSAtSS91c3IvcGtnL2luY2x1ZGUgY29uZnRlc3QuYwpj
b25maWd1cmU6MjMxMzc6ICQ/ID0gMApjb25maWd1cmU6MjMxNTc6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToyMzE5MjogY2hlY2tpbmcgZm9yIHN5cy9zaG0uaApjb25maWd1cmU6MjMxOTk6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzIyNzogY2hlY2tpbmcgd2hldGhlciBzaG1jdGwg
SVBDX1JNSUQgYWxsb3dlcyBzdWJzZXF1ZW50IGF0dGFjaGVzCmNvbmZpZ3VyZToyMzI2NDog
Y2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAt
REVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlICAtSS91c3Iv
WDExUjYvaW5jbHVkZSAtSSR7cHJlZml4fS9pbmNsdWRlIC1JL3Vzci9wa2cvaW5jbHVkZSAt
TC91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL3BrZy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNy
L2xpYiAtTC91c3IvWDExUjYvbGliIC1XbCwtUi91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMg
LWxpbnRsID4mNQpjb25maWd1cmU6MjMyNjc6ICQ/ID0gMApjb25maWd1cmU6MjMyNjk6IC4v
Y29uZnRlc3QKY29uZmlndXJlOjIzMjcyOiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4
aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
IGNvbmZkZWZzLmguICAqLwp8IAp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICIiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi
CnwgI2RlZmluZSBQQUNLQUdFICJpbWxpYiIKfCAjZGVmaW5lIFZFUlNJT04gIjEuOS4xNSIK
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg
I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD
IiB2b2lkIHN0ZDo6ZXhpdCAoaW50KSB0aHJvdyAoKTsgdXNpbmcgc3RkOjpleGl0Owp8ICNl
bmRpZgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIFJFVFNJR1RZUEUgdm9p
ZAp8ICNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx
CnwgI2RlZmluZSBIQVZFX0JBU0VOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHUyAxCnwg
I2RlZmluZSBIQVZFX0lQQ19IIDEKfCAjZGVmaW5lIEhBVkVfU0hNX0ggMQp8IC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KfCAKfCAgICAgICAgICAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8
ICAgICAgICAgICAjaW5jbHVkZSA8c3lzL2lwYy5oPgp8ICAgICAgICAgICAjaW5jbHVkZSA8
c3lzL3NobS5oPgp8ICAgICAgICAgICBpbnQgbWFpbigpCnwgICAgICAgICAgIHsKfCAgICAg
ICAgICAgICBpbnQgaWQ7CnwgICAgICAgICAgICAgY2hhciAqc2htYWRkcjsKfCAgICAgICAg
ICAgaWQgPSBzaG1nZXQgKElQQ19QUklWQVRFLCA0LCBJUENfQ1JFQVQgfCAwNzc3KTsKfCAg
ICAgICAgICAgaWYgKGlkID09IC0xKQp8ICAgICAgICAgICAgIGV4aXQgKDIpOwp8ICAgICAg
ICAgICAgIHNobWFkZHIgPSBzaG1hdCAoaWQsIDAsIDApOwp8ICAgICAgICAgICAgIHNobWN0
bCAoaWQsIElQQ19STUlELCAwKTsKfCAgICAgICAgICAgICBpZiAoKGNoYXIqKSBzaG1hdCAo
aWQsIDAsIDApID09IChjaGFyKikgLTEpCnwgICAgICAgICAgICAgewp8ICAgICAgICAgICAg
ICAgc2htZHQgKHNobWFkZHIpOwp8ICAgICAgICAgICAgICAgZXhpdCAoMSk7CnwgICAgICAg
ICAgICAgfQp8ICAgICAgICAgICAgIHNobWR0IChzaG1hZGRyKTsKfCAgICAgICAgICAgICBz
aG1kdCAoc2htYWRkcik7CnwgICAgICAgICAgICAgZXhpdCAoMCk7CnwgICAgICAgICAgIH0K
fCAKY29uZmlndXJlOjIzMjg3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMzI5NTogY2hlY2tp
bmcgWDExL2V4dGVuc2lvbnMvWFNobS5oCmNvbmZpZ3VyZToyMzMwNDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjIzMzE5OiBjaGVja2luZyBmb3IganBlZ19kZXN0cm95X2RlY29tcHJlc3Mg
aW4gLWxqcGVnCmNvbmZpZ3VyZToyMzM0OTogY2MgLW8gY29uZnRlc3QgLU8yIC1JL3Vzci9w
a2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZSAtREVOQUJMRV9OTFMgLUkvdXNyL3BrZy9pbmNs
dWRlIC1JL3Vzci9pbmNsdWRlICAtSS91c3IvWDExUjYvaW5jbHVkZSAtSSR7cHJlZml4fS9p
bmNsdWRlIC1JL3Vzci9wa2cvaW5jbHVkZSAtTC91c3IvcGtnL2xpYiAtV2wsLVIvdXNyL3Br
Zy9saWIgLUwvdXNyL2xpYiAtV2wsLVIvdXNyL2xpYiAtTC91c3IvWDExUjYvbGliIC1XbCwt
Ui91c3IvWDExUjYvbGliIGNvbmZ0ZXN0LmMgLWxqcGVnICAgLUwvdXNyL1gxMVI2L2xpYiAt
bFgxMSAtbG0gLWxpbnRsID4mNQpsZDogY2Fubm90IGZpbmQgLWxYMTEKY29uZmlndXJlOjIz
MzU1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaC4gICovCnwgCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIiIKfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAiIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAiIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKfCAjZGVm
aW5lIFBBQ0tBR0UgImltbGliIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS45LjE1Igp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
SEFWRV9ETEZDTl9IIDEKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiIHZvaWQg
c3RkOjpleGl0IChpbnQpIHRocm93ICgpOyB1c2luZyBzdGQ6OmV4aXQ7CnwgI2VuZGlmCnwg
I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCnwgI2Rl
ZmluZSBIQVZFX1ZTTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm
aW5lIEhBVkVfQkFTRU5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdTIDEKfCAjZGVmaW5l
IEhBVkVfSVBDX0ggMQp8ICNkZWZpbmUgSEFWRV9TSE1fSCAxCnwgI2RlZmluZSBIQVZFX1hT
SE1fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBn
Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCnwgI2lmZGVm
IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IC8qIFdlIHVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKfCAgICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLwp8IGNoYXIganBlZ19kZXN0cm95X2RlY29tcHJlc3MgKCk7CnwgaW50CnwgbWFp
biAoKQp8IHsKfCBqcGVnX2Rlc3Ryb3lfZGVjb21wcmVzcyAoKTsKfCAgIDsKfCAgIHJldHVy
biAwOwp8IH0KY29uZmlndXJlOjIzMzgwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMzM4Njog
ZXJyb3I6ICoqKiBKUEVHIGxpYnJhcnkgbm90IGZvdW5kICoqKgoKIyMgLS0tLS0tLS0tLS0t
LS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMK
CmFjX2N2X2J1aWxkPWkzODYtdW5rbm93bi1uZXRic2RlbGYzLjAuCmFjX2N2X2J1aWxkX2Fs
aWFzPWkzODYtdW5rbm93bi1uZXRic2RlbGYzLjAuCmFjX2N2X2NfY29tcGlsZXJfZ251PXll
cwphY19jdl9jeHhfY29tcGlsZXJfZ251PXllcwphY19jdl9lbnZfQ0Nfc2V0PXNldAphY19j
dl9lbnZfQ0NfdmFsdWU9Y2MKYWNfY3ZfZW52X0NGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9D
RkxBR1NfdmFsdWU9Jy1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2luY2x1ZGUnCmFj
X2N2X2Vudl9DUFBGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0nLURF
TkFCTEVfTkxTIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZScKYWNfY3ZfZW52
X0NQUF9zZXQ9CmFjX2N2X2Vudl9DUFBfdmFsdWU9CmFjX2N2X2Vudl9DWFhDUFBfc2V0PQph
Y19jdl9lbnZfQ1hYQ1BQX3ZhbHVlPQphY19jdl9lbnZfQ1hYRkxBR1Nfc2V0PXNldAphY19j
dl9lbnZfQ1hYRkxBR1NfdmFsdWU9Jy1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUnCmFjX2N2X2Vudl9DWFhfc2V0PXNldAphY19jdl9lbnZfQ1hYX3ZhbHVlPWMrKwph
Y19jdl9lbnZfRjc3X3NldD1zZXQKYWNfY3ZfZW52X0Y3N192YWx1ZT1mNzcKYWNfY3ZfZW52
X0ZGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9GRkxBR1NfdmFsdWU9LU8KYWNfY3ZfZW52X0xE
RkxBR1Nfc2V0PXNldAphY19jdl9lbnZfTERGTEFHU192YWx1ZT0nLUwvdXNyL3BrZy9saWIg
LVdsLC1SL3Vzci9wa2cvbGliIC1ML3Vzci9saWIgLVdsLC1SL3Vzci9saWIgLUwvdXNyL1gx
MVI2L2xpYiAtV2wsLVIvdXNyL1gxMVI2L2xpYicKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3Nl
dD0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfaG9zdF9hbGlhc19z
ZXQ9c2V0CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPWkzODYtLW5ldGJzZGVsZgphY19j
dl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0K
YWNfY3ZfZXhlZXh0PQphY19jdl9mNzdfY29tcGlsZXJfZ251PXllcwphY19jdl9mdW5jX2Jh
c2VuYW1lPXllcwphY19jdl9mdW5jX2JsdW1mcnViPW5vCmFjX2N2X2Z1bmNfYnVja2V0c19v
Zl9lcm9nZW5vdXNfbnltPW5vCmFjX2N2X2Z1bmNfYnV0dG94PW5vCmFjX2N2X2Z1bmNfY29u
bmVjdD15ZXMKYWNfY3ZfZnVuY19nZXRob3N0YnluYW1lPXllcwphY19jdl9mdW5jX3JlbW92
ZT15ZXMKYWNfY3ZfZnVuY19zaG1hdD15ZXMKYWNfY3ZfZnVuY19zbnByaW50Zj15ZXMKYWNf
Y3ZfZnVuY192c25wcmludGY9eWVzCmFjX2N2X2hhdmVfeD0naGF2ZV94PXllcyAJCWFjX3hf
aW5jbHVkZXM9L3Vzci9YMTFSNi9pbmNsdWRlIGFjX3hfbGlicmFyaWVzPS91c3IvWDExUjYv
bGliJwphY19jdl9oZWFkZXJfZGlyZW50X2RpcmVudF9oPXllcwphY19jdl9oZWFkZXJfZGxm
Y25faD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9tZW1v
cnlfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGFyZ19oPXllcwphY19jdl9oZWFkZXJfc3RkYz15
ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19jdl9oZWFkZXJfc3RkbGliX2g9eWVz
CmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ3NfaD15ZXMK
YWNfY3ZfaGVhZGVyX3N5c19pcGNfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zaG1faD15ZXMK
YWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15
ZXMKYWNfY3ZfaGVhZGVyX3N5c193YWl0X2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15
ZXMKYWNfY3ZfaG9zdD1pMzg2LS1uZXRic2RlbGYKYWNfY3ZfaG9zdF9hbGlhcz1pMzg2LS1u
ZXRic2RlbGYKYWNfY3ZfbGliX0lDRV9JY2VDb25uZWN0aW9uTnVtYmVyPW5vCmFjX2N2X2xp
Yl9YZXh0U2FtX1hTaG1BdHRhY2g9bm8KYWNfY3ZfbGliX1hleHRfWFNobUF0dGFjaD1ubwph
Y19jdl9saWJfZG5ldF9kbmV0X250b2E9bm8KYWNfY3ZfbGliX2RuZXRfc3R1Yl9kbmV0X250
b2E9bm8KYWNfY3ZfbGliX2pwZWdfanBlZ19kZXN0cm95X2RlY29tcHJlc3M9bm8KYWNfY3Zf
b2JqZXh0PW8KYWNfY3ZfcGF0aF9DT05WRVJUX1BST0c9L3Vzci9wa2cvYmluL2NvbnZlcnQK
YWNfY3ZfcGF0aF9FQ0hPPWVjaG8KYWNfY3ZfcGF0aF9FR1JFUD0vdXNyL2Jpbi9lZ3JlcAph
Y19jdl9wYXRoX0VOVj0vdXNyL2Jpbi9lbnYKYWNfY3ZfcGF0aF9GQUxTRT1mYWxzZQphY19j
dl9wYXRoX0dSRVA9L3Vzci9iaW4vZ3JlcAphY19jdl9wYXRoX0dUS19DT05GSUc9L3Vzci9w
a2cvYmluL2d0ay1jb25maWcKYWNfY3ZfcGF0aF9URVNUPXRlc3QKYWNfY3ZfcGF0aF9UUlVF
PXRydWUKYWNfY3ZfcHJvZ19BV0s9L3Vzci9iaW4vYXdrCmFjX2N2X3Byb2dfQ0M9Y2MKYWNf
Y3ZfcHJvZ19DUFA9J2NjIC1FJwphY19jdl9wcm9nX0NYWD1jKysKYWNfY3ZfcHJvZ19DWFhD
UFA9J2MrKyAtRScKYWNfY3ZfcHJvZ19GNzc9Zjc3CmFjX2N2X3Byb2dfU1RSSVA9c3RyaXAK
YWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0X1JBTkxJQj1yYW5saWIK
YWNfY3ZfcHJvZ19hY19jdF9TVFJJUD1zdHJpcAphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2
X3Byb2dfY2Nfc3RkYz0KYWNfY3ZfcHJvZ19jeHhfZz15ZXMKYWNfY3ZfcHJvZ19lZ3JlcD0n
Z3JlcCAtRScKYWNfY3ZfcHJvZ19mNzdfZz15ZXMKYWNfY3ZfcHJvZ19tYWtlX21ha2Vfc2V0
PXllcwphY19jdl9zZWFyY2hfb3BlbmRpcj0nbm9uZSByZXF1aXJlZCcKYWNfY3ZfdHlwZV9z
aWduYWw9dm9pZAphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmFt
X2N2X0NYWF9kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmd0X2N2X2Z1bmNfZ251
Z2V0dGV4dDFfbGliaW50bD15ZXMKZ3RfY3ZfZnVuY19nbnVnZXR0ZXh0Ml9saWJpbnRsPXll
cwpndF9jdl9mdW5jX2dudWdldHRleHRfbGliaW50bD15ZXMKbHRfY3ZfZGVwbGlic19jaGVj
a19tZXRob2Q9J21hdGNoX3BhdHRlcm4gL2xpYlteL10rKFwuc298X3BpY1wuYSkkJwpsdF9j
dl9maWxlX21hZ2ljX2NtZD0nJE1BR0lDX0NNRCcKbHRfY3ZfZmlsZV9tYWdpY190ZXN0X2Zp
bGU9Cmx0X2N2X2xkX3JlbG9hZF9mbGFnPS1yCmx0X2N2X29iamRpcj0ubGlicwpsdF9jdl9w
YXRoX0xEPS91c3IvcGtnc3JjL2dyYXBoaWNzL2ltbGliL3dvcmsvLndyYXBwZXIvYmluL2xk
Cmx0X2N2X3BhdGhfTERDWFg9L3Vzci9wa2dzcmMvZ3JhcGhpY3MvaW1saWIvd29yay8ud3Jh
cHBlci9iaW4vbGQKbHRfY3ZfcGF0aF9OTT1ubQpsdF9jdl9wYXRoX1NFRD0vdXNyL3BrZ3Ny
Yy9ncmFwaGljcy9pbWxpYi93b3JrLy50b29scy9iaW4vc2VkCmx0X2N2X3Byb2dfY29tcGls
ZXJfY19vPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFg9eWVzCmx0X2N2X3Byb2df
Y29tcGlsZXJfY19vX0Y3Nz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9ydHRpX2V4Y2VwdGlv
bnM9bm8KbHRfY3ZfcHJvZ19nbnVfbGQ9eWVzCmx0X2N2X3Byb2dfZ251X2xkY3h4PXllcwps
dF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdzZWQgLW4gLWUgJ1wnJ3MvXi4qWyAJXVwo
W0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWyAJXVsgCV0qXChcKVwoW19BLVphLXpdW19B
LVphLXowLTldKlwpJC9cMSBcMlwzIFwzL3AnXCcKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xf
dG9fY19uYW1lX2FkZHJlc3M9J3NlZCAtbiAtZSAnXCcncy9eOiBcKFteIF0qXCkgJC8gIHtc
IlwxXCIsIChsdF9wdHIpIDB9LC9wJ1wnJyAtZSAnXCcncy9eW0JDREVHUlNUXSBcKFteIF0q
XCkgXChbXiBdKlwpJC8gIHsiXDIiLCAobHRfcHRyKSBcJlwyfSwvcCdcJwpsdF9jdl9zeXNf
Z2xvYmFsX3N5bWJvbF90b19jZGVjbD0nc2VkIC1uIC1lICdcJydzL14uIC4qIFwoLipcKSQv
ZXh0ZXJuIGludCBcMTsvcCdcJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49MjYyMTQ0Cmx0X2x0
X2N2X3Byb2dfY29tcGlsZXJfY19vPScieWVzIicKbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9j
X29fQ1hYPScieWVzIicKbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRjc3PScieWVzIicK
bHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nInNlZCAtbiAtZSAnXCcncy9eLipb
IAldXFwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlxcKVsgCV1bIAldKlxcKFxcKVxcKFtf
QS1aYS16XVtfQS1aYS16MC05XSpcXClcJC9cXDEgXFwyXFwzIFxcMy9wJ1wnJyInCmx0X2x0
X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPScic2VkIC1uIC1lICdc
JydzL146IFxcKFteIF0qXFwpIFwkLyAge1xcXCJcXDFcXFwiLCAobHRfcHRyKSAwfSwvcCdc
JycgLWUgJ1wnJ3MvXltCQ0RFR1JTVF0gXFwoW14gXSpcXCkgXFwoW14gXSpcXClcJC8gIHtc
IlxcMlwiLCAobHRfcHRyKSBcXCZcXDJ9LC9wJ1wnJyInCmx0X2x0X2N2X3N5c19nbG9iYWxf
c3ltYm9sX3RvX2NkZWNsPScic2VkIC1uIC1lICdcJydzL14uIC4qIFxcKC4qXFwpXCQvZXh0
ZXJuIGludCBcXDE7L3AnXCcnIicKCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIE91dHB1
dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjCgpBQ0xPQ0FMPScke1NI
RUxMfSAvdXNyL3BrZ3NyYy9ncmFwaGljcy9pbWxpYi93b3JrL2ltbGliLTEuOS4xNS9taXNz
aW5nIC0tcnVuIGFjbG9jYWwtMS43JwpBTURFUEJBQ0tTTEFTSD0nXCcKQU1ERVBfRkFMU0U9
JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9JyR7U0hFTEx9IC91c3IvcGtnc3JjL2dyYXBoaWNz
L2ltbGliL3dvcmsvaW1saWItMS45LjE1L21pc3NpbmcgLS1ydW4gdGFyJwpBUj0nYXInCkFV
VE9DT05GPScke1NIRUxMfSAvdXNyL3BrZ3NyYy9ncmFwaGljcy9pbWxpYi93b3JrL2ltbGli
LTEuOS4xNS9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpBVVRPSEVBREVSPScke1NIRUxMfSAv
dXNyL3BrZ3NyYy9ncmFwaGljcy9pbWxpYi93b3JrL2ltbGliLTEuOS4xNS9taXNzaW5nIC0t
cnVuIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSAvdXNyL3BrZ3NyYy9ncmFwaGlj
cy9pbWxpYi93b3JrL2ltbGliLTEuOS4xNS9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuNycK
QVdLPScvdXNyL2Jpbi9hd2snCkNDPSdjYycKQ0NERVBNT0RFPSdkZXBtb2RlPWdjYzMnCkNG
TEFHUz0nLU8yIC1JL3Vzci9wa2cvaW5jbHVkZSAtSS91c3IvaW5jbHVkZScKQ1BQPSdjYyAt
RScKQ1BQRkxBR1M9Jy1ERU5BQkxFX05MUyAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUgIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1JJHtwcmVmaXh9L2luY2x1ZGUgLUkvdXNy
L3BrZy9pbmNsdWRlJwpDWFg9J2MrKycKQ1hYQ1BQPSdjKysgLUUnCkNYWERFUE1PREU9J2Rl
cG1vZGU9Z2NjMycKQ1hYRkxBR1M9Jy1PMiAtSS91c3IvcGtnL2luY2x1ZGUgLUkvdXNyL2lu
Y2x1ZGUnCkNZR1BBVEhfVz0nZWNobycKREVGUz0nJwpERVBESVI9Jy5kZXBzJwpEWU5BTUlD
X01PRFVMRVNfV09SS19GQUxTRT0nJwpEWU5BTUlDX01PRFVMRVNfV09SS19UUlVFPScjJwpF
Q0hPPSdlY2hvJwpFQ0hPX0M9JycKRUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPSdncmVw
IC1FJwpFWEVFWFQ9JycKRjc3PSdmNzcnCkZGTEFHUz0nLU8nCkdES19JTUxJQj0nJwpHREtf
U1VQUE9SVF9MSUJTPScnCkdJRkxJQlM9JycKR01PRFVMRV9GTEFHUz0nJwpHTU9EVUxFX0xJ
QlM9JycKR1RLX0NGTEFHUz0nJwpHVEtfQ09ORklHPScvdXNyL3BrZy9iaW4vZ3RrLWNvbmZp
ZycKR1RLX0xJQlM9JycKR1hfTElCUz0nICAtTC91c3IvWDExUjYvbGliIC1sWDExIC1sbScK
SEFWRV9HSUZfRkFMU0U9JycKSEFWRV9HSUZfVFJVRT0nJwpIQVZFX0pQRUdfRkFMU0U9JycK
SEFWRV9KUEVHX1RSVUU9JycKSEFWRV9MSUJQTkc9JycKSEFWRV9QTkdfRkFMU0U9JycKSEFW
RV9QTkdfVFJVRT0nJwpIQVZFX1RJRkZfRkFMU0U9JycKSEFWRV9USUZGX1RSVUU9JycKSU5T
VEFMTF9EQVRBPScvdXNyL2Jpbi9pbnN0YWxsIC1jIC1vIHJvb3QgLWcgd2hlZWwgLW0gNDQ0
JwpJTlNUQUxMX1BST0dSQU09Jy91c3IvYmluL2luc3RhbGwgLWMgLXMgLW8gcm9vdCAtZyB3
aGVlbCAtbSA1NTUnCklOU1RBTExfU0NSSVBUPScvdXNyL2Jpbi9pbnN0YWxsIC1jIC1vIHJv
b3QgLWcgd2hlZWwgLW0gNTU1JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyR7U0hFTEx9ICQo
aW5zdGFsbF9zaCkgLWMgLXMnCkpQRUdMSUJTPScnCkxERkxBR1M9Jy1ML3Vzci9wa2cvbGli
IC1XbCwtUi91c3IvcGtnL2xpYiAtTC91c3IvbGliIC1XbCwtUi91c3IvbGliIC1ML3Vzci9Y
MTFSNi9saWIgLVdsLC1SL3Vzci9YMTFSNi9saWInCkxJQk9CSlM9JycKTElCUz0nLWxpbnRs
JwpMSUJUT09MPSckKFNIRUxMKSAkKHRvcF9idWlsZGRpcikvbGlidG9vbCcKTE5fUz0nbG4g
LXMnCkxUTElCT0JKUz0nJwpNQUlOVD0nIycKTUFJTlRBSU5FUl9NT0RFX0ZBTFNFPScnCk1B
SU5UQUlORVJfTU9ERV9UUlVFPScjJwpNQUtFSU5GTz0nL3Vzci9wa2dzcmMvZ3JhcGhpY3Mv
aW1saWIvd29yay8udG9vbHMvYmluL21ha2VpbmZvJwpPQkpFWFQ9J28nClBBQ0tBR0U9J2lt
bGliJwpQQUNLQUdFX0JVR1JFUE9SVD0nJwpQQUNLQUdFX05BTUU9JycKUEFDS0FHRV9TVFJJ
Tkc9JycKUEFDS0FHRV9UQVJOQU1FPScnClBBQ0tBR0VfVkVSU0lPTj0nJwpQQVRIX1NFUEFS
QVRPUj0nOicKUE5HTElCUz0nJwpSQU5MSUI9J3JhbmxpYicKU0VUX01BS0U9JycKU0hFTEw9
Jy9iaW4vc2gnClNUUklQPSdzdHJpcCcKU1VQUE9SVF9MSUJTPScnClRJRkZMSUJTPScnClZF
UlNJT049JzEuOS4xNScKWF9DRkxBR1M9JyAtSS91c3IvWDExUjYvaW5jbHVkZScKWF9FWFRS
QV9MSUJTPScnClhfTElCUz0nIC1ML3Vzci9YMTFSNi9saWInClhfUFJFX0xJQlM9JycKYWNf
Y3RfQVI9J2FyJwphY19jdF9DQz0nJwphY19jdF9DWFg9JycKYWNfY3RfRjc3PScnCmFjX2N0
X1JBTkxJQj0ncmFubGliJwphY19jdF9TVFJJUD0nc3RyaXAnCmFtX19mYXN0ZGVwQ0NfRkFM
U0U9JyMnCmFtX19mYXN0ZGVwQ0NfVFJVRT0nJwphbV9fZmFzdGRlcENYWF9GQUxTRT0nIycK
YW1fX2Zhc3RkZXBDWFhfVFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2xlYWRp
bmdfZG90PScuJwphbV9fcXVvdGU9JycKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1
aWxkPSdpMzg2LXVua25vd24tbmV0YnNkZWxmMy4wLicKYnVpbGRfYWxpYXM9JycKYnVpbGRf
Y3B1PSdpMzg2JwpidWlsZF9vcz0nbmV0YnNkZWxmMy4wLicKYnVpbGRfdmVuZG9yPSd1bmtu
b3duJwpkYXRhZGlyPScke3ByZWZpeH0vc2hhcmUnCmV4ZWNfcHJlZml4PSdOT05FJwpob3N0
PSdpMzg2LS1uZXRic2RlbGYnCmhvc3RfYWxpYXM9J2kzODYtLW5ldGJzZGVsZicKaG9zdF9j
cHU9J2kzODYnCmhvc3Rfb3M9J25ldGJzZGVsZicKaG9zdF92ZW5kb3I9JycKaW5jbHVkZWRp
cj0nJHtwcmVmaXh9L2luY2x1ZGUnCmluZm9kaXI9JyR7cHJlZml4fS9pbmZvJwppbnN0YWxs
X3NoPScvdXNyL2Jpbi9pbnN0YWxsJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYicKbGli
ZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKbG9jYWxzdGF0ZWRpcj0nJHtwcmVm
aXh9L3ZhcicKbWFuZGlyPScvdXNyL3BrZy9tYW4nCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5j
bHVkZScKcHJlZml4PScvdXNyL3BrZycKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgs
JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVm
aXh9L2NvbScKc3lzY29uZmRpcj0nL3Vzci9wa2cvZXRjL2ltbGliJwp0YXJnZXRfYWxpYXM9
JycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0t
ICMjCgojZGVmaW5lIEhBVkVfQkFTRU5BTUUgMQojZGVmaW5lIEhBVkVfRElSRU5UX0ggMQoj
ZGVmaW5lIEhBVkVfRExGQ05fSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmlu
ZSBIQVZFX0lQQ19IIDEKI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKI2RlZmluZSBIQVZFX1NI
TV9IIDEKI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKI2RlZmluZSBIQVZFX1NUREFSR1MgMQoj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVf
U1lTX1dBSVRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgSEFWRV9WU05Q
UklOVEYgMQojZGVmaW5lIEhBVkVfWFNITV9IIDEKI2RlZmluZSBQQUNLQUdFICJpbWxpYiIK
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgoj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICIiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICIiCiNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIiCiNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCiNkZWZp
bmUgU1REQ19IRUFERVJTIDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIFZFUlNJ
T04gIjEuOS4xNSIKI2VuZGlmCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiIHZvaWQg
c3RkOjpleGl0IChpbnQpIHRocm93ICgpOyB1c2luZyBzdGQ6OmV4aXQ7Cgpjb25maWd1cmU6
IGV4aXQgMQo=
--------------040804040804060402010105--