Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Oct 2003 00:45:37 -0200
From:      Konrad Scorciapino <fallenbr@uol.com.br>
To:        gnome@freebsd.org
Subject:   Cannot compile GNUCASH
Message-ID:  <20031028004537.560aa8c7.fallenbr@uol.com.br>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart_Tue__28_Oct_2003_00_45_37_-0200_08340a00
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello,
I am not being able to `make` GNUCASH... Here is the output:

...
checking for ltdl.h... no
configure: error: Cannot find ltdl.h -- libtool-devel not installed?
===>  Script "configure" failed unexpectedly.
      Please report the problem to gnome@FreeBSD.org [maintainer] and attach
      the "/usr/ports/finance/gnucash/work/gnucash-1.8.7/config.log" including
      the output of the failure of your make command. Also, it might be a
      good idea to provide an overview of all packages installed on your
      system (e.g. an `ls /var/db/pkg`).
*** Error code 1

Stop in /usr/ports/finance/gnucash.
konrad@localhost /usr/ports/finance/gnucash # 

--Multipart_Tue__28_Oct_2003_00_45_37_-0200_08340a00
Content-Type: application/octet-stream;
 name="config.log"
Content-Disposition: attachment;
 filename="config.log"
Content-Transfer-Encoding: base64

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCmNvbmZpZ3VyZTo4NDE6IGNoZWNraW5nIGZvciBub24tR05VIGxkCmNvbmZp
Z3VyZTo4NzY6IGNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvYmluL2xkKSBpcyBHTlUgbGQK
R05VIGxkIHZlcnNpb24gMi4xMi4xIFtGcmVlQlNEXSAyMDAyLTA3LTIwCmNvbmZpZ3VyZTo4OTc6
IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjEwMTA6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMg
Y29tcGlsZXIgKGNjIC1PIC1waXBlICApIHdvcmtzCmNvbmZpZ3VyZToxMDI2OiBjYyAtbyBjb25m
dGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUg
IGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1
CmNvbmZpZ3VyZToxMDUyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIChjYyAtTyAt
cGlwZSAgKSBpcyBhIGNyb3NzLWNvbXBpbGVyCmNvbmZpZ3VyZToxMDU3OiBjaGVja2luZyB3aGV0
aGVyIHdlIGFyZSB1c2luZyBHTlUgQwpjb25maWd1cmU6MTA2NjogY2MgLUUgY29uZnRlc3QuYwpj
b25maWd1cmU6MTA4NTogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTox
MTU3OiBjaGVja2luZyBmb3IgYSBCU0QgY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZToxMjEw
OiBjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjEy
Njc6IGNoZWNraW5nIHdoZXRoZXIgZ21ha2Ugc2V0cyAke01BS0V9CmNvbmZpZ3VyZToxMzEzOiBj
aGVja2luZyBmb3Igd29ya2luZyBhY2xvY2FsCmNvbmZpZ3VyZToxMzI2OiBjaGVja2luZyBmb3Ig
d29ya2luZyBhdXRvY29uZgpjb25maWd1cmU6MTMzOTogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYXV0
b21ha2UKY29uZmlndXJlOjEzNTI6IGNoZWNraW5nIGZvciB3b3JraW5nIGF1dG9oZWFkZXIKY29u
ZmlndXJlOjEzNjU6IGNoZWNraW5nIGZvciB3b3JraW5nIG1ha2VpbmZvCmNvbmZpZ3VyZToxNDM2
OiBjaGVja2luZyBmb3IgcGVybApjb25maWd1cmU6MTUwNjogY2hlY2tpbmcgaG93IHRvIHJ1biB0
aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjE1Mjc6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0
Lm91dApjb25maWd1cmU6MTU4NzogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29uZmlndXJlOjE2
MDA6IGNjIC1jIC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5j
bHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZp
Z3VyZToxNTk2OiBzeW50YXggZXJyb3IgYmVmb3JlIGBpJwpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKI2xpbmUgMTU5MiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2lu
Y2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8aW50dHlwZXMuaD4KaW50IG1haW4oKSB7CnVp
bnRtYXhfdCBpID0gKHVpbnRtYXhfdCkgLTE7CjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjE2MjI6
IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6MTYzNTogY2MgLWMgLU8gLXBpcGUgIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpj
b25maWd1cmU6MTYyOTogc3RkaW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln
dXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxNjMxOiBzeW50YXggZXJyb3IgYmVm
b3JlIGBpJwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTYyNyAiY29uZmln
dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVk
ZSA8c3RkaW50Lmg+CmludCBtYWluKCkgewp1aW50bWF4X3QgaSA9ICh1aW50bWF4X3QpIC0xOwo7
IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxNjU3OiBjaGVja2luZyBmb3IgdW5zaWduZWQgbG9uZyBs
b25nCmNvbmZpZ3VyZToxNjcwOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2Fs
L2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xp
YiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZToxNzA4OiBjaGVja2luZyBm
b3Igc2hhcmVkIGxpYnJhcnkgcnVuIHBhdGggb3JpZ2luCmNvbmZpZ3VyZToxNzU3OiBjaGVja2lu
ZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToxNzgwOiBjaGVja2luZyBmb3IgcmFubGliCmNv
bmZpZ3VyZToxODA5OiBjaGVja2luZyBmb3Igc3RyZXJyb3IgaW4gLWxjcG9zaXgKY29uZmlndXJl
OjE4Mjg6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91
c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtbGNwb3NpeCAgLUwvdXNyL2xvY2FsL2xpYiAt
TC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1Ci91c3IvbGliZXhlYy9lbGYvbGQ6IGNhbm5vdCBm
aW5kIC1sY3Bvc2l4CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxODE3ICJj
b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRl
cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpj
aGFyIHN0cmVycm9yKCk7CgppbnQgbWFpbigpIHsKc3RyZXJyb3IoKQo7IHJldHVybiAwOyB9CmNv
bmZpZ3VyZToxODUxOiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6
MTg2NDogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29u
ZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZToxOTMxOiBjYyAtbyBj
b25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1
ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAx
PiY1CmNvbmZpZ3VyZToxOTU1OiBjaGVja2luZyBmb3Igd29ya2luZyBjb25zdApjb25maWd1cmU6
MjAwOTogY2MgLWMgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9p
bmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjAzMDogY2hlY2tpbmcgZm9yIGlubGlu
ZQpjb25maWd1cmU6MjA0NDogY2MgLWMgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1J
L3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MjA3MDogY2hlY2tp
bmcgZm9yIG9mZl90CmNvbmZpZ3VyZToyMTAzOiBjaGVja2luZyBmb3Igc2l6ZV90CmNvbmZpZ3Vy
ZToyMTM4OiBjaGVja2luZyBmb3Igd29ya2luZyBhbGxvY2EuaApjb25maWd1cmU6MjE1MDogY2Mg
LW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9p
bmNsdWRlICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGlu
dGwgMT4mNQpjb25maWd1cmU6MjE0NDogYWxsb2NhLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDIxNDMgImNvbmZpZ3VyZSIK
I2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxhbGxvY2EuaD4KaW50IG1haW4oKSB7CmNo
YXIgKnAgPSBhbGxvY2EoMiAqIHNpemVvZihpbnQpKTsKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6
MjE3MTogY2hlY2tpbmcgZm9yIGFsbG9jYQpjb25maWd1cmU6MjIwNDogY2MgLW8gY29uZnRlc3Qg
LU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25m
dGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4mNQpjb25m
aWd1cmU6MjM3MzogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZToyMzgzOiBjYyAtRSAt
SS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2
L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjIzNzM6IGNoZWNraW5nIGZvciB1bmlzdGQu
aApjb25maWd1cmU6MjM4MzogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2
L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZToy
MzczOiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6MjM4MzogY2MgLUUgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxs
IDI+Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZToyMzczOiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgK
Y29uZmlndXJlOjIzODM6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9p
bmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MjQx
MjogY2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplCmNvbmZpZ3VyZToyNDQwOiBjYyAtbyBjb25mdGVz
dCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNv
bmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNv
bmZpZ3VyZToyNDY1OiBjaGVja2luZyBmb3Igd29ya2luZyBtbWFwCmNvbmZpZ3VyZToyNjI2OiBj
YyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2
L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1s
aW50bCAxPiY1CmNvbmZpZ3VyZToyNTU3OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYG1hbGxvYycK
L3Vzci9pbmNsdWRlL3N0ZGxpYi5oOjEwMTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2YgYG1hbGxv
YycKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDI0NzMgImNvbmZpZ3VyZSIK
I2luY2x1ZGUgImNvbmZkZWZzLmgiCgovKiBUaGFua3MgdG8gTWlrZSBIYWVydGVsIGFuZCBKaW0g
QXZlcmEgZm9yIHRoaXMgdGVzdC4KICAgSGVyZSBpcyBhIG1hdHJpeCBvZiBtbWFwIHBvc3NpYmls
aXRpZXM6CgltbWFwIHByaXZhdGUgbm90IGZpeGVkCgltbWFwIHByaXZhdGUgZml4ZWQgYXQgc29t
ZXdoZXJlIGN1cnJlbnRseSB1bm1hcHBlZAoJbW1hcCBwcml2YXRlIGZpeGVkIGF0IHNvbWV3aGVy
ZSBhbHJlYWR5IG1hcHBlZAoJbW1hcCBzaGFyZWQgbm90IGZpeGVkCgltbWFwIHNoYXJlZCBmaXhl
ZCBhdCBzb21ld2hlcmUgY3VycmVudGx5IHVubWFwcGVkCgltbWFwIHNoYXJlZCBmaXhlZCBhdCBz
b21ld2hlcmUgYWxyZWFkeSBtYXBwZWQKICAgRm9yIHByaXZhdGUgbWFwcGluZ3MsIHdlIHNob3Vs
ZCB2ZXJpZnkgdGhhdCBjaGFuZ2VzIGNhbm5vdCBiZSByZWFkKCkKICAgYmFjayBmcm9tIHRoZSBm
aWxlLCBub3IgbW1hcCdzIGJhY2sgZnJvbSB0aGUgZmlsZSBhdCBhIGRpZmZlcmVudAogICBhZGRy
ZXNzLiAgKFRoZXJlIGhhdmUgYmVlbiBzeXN0ZW1zIHdoZXJlIHByaXZhdGUgd2FzIG5vdCBjb3Jy
ZWN0bHkKICAgaW1wbGVtZW50ZWQgbGlrZSB0aGUgaW5mYW1vdXMgaTM4NiBzdnI0LjAsIGFuZCBz
eXN0ZW1zIHdoZXJlIHRoZQogICBWTSBwYWdlIGNhY2hlIHdhcyBub3QgY29oZXJlbnQgd2l0aCB0
aGUgZmlsZXN5c3RlbSBidWZmZXIgY2FjaGUKICAgbGlrZSBlYXJseSB2ZXJzaW9ucyBvZiBGcmVl
QlNEIGFuZCBwb3NzaWJseSBjb250ZW1wb3JhcnkgTmV0QlNELikKICAgRm9yIHNoYXJlZCBtYXBw
aW5ncywgd2Ugc2hvdWxkIGNvbnZlcnNlbHkgdmVyaWZ5IHRoYXQgY2hhbmdlcyBnZXQKICAgcHJv
cG9nYXRlZCBiYWNrIHRvIGFsbCB0aGUgcGxhY2VzIHRoZXkncmUgc3VwcG9zZWQgdG8gYmUuCgog
ICBHcmVwIHdhbnRzIHByaXZhdGUgZml4ZWQgYWxyZWFkeSBtYXBwZWQuCiAgIFRoZSBtYWluIHRo
aW5ncyBncmVwIG5lZWRzIHRvIGtub3cgYWJvdXQgbW1hcCBhcmU6CiAgICogZG9lcyBpdCBleGlz
dCBhbmQgaXMgaXQgc2FmZSB0byB3cml0ZSBpbnRvIHRoZSBtbWFwJ2QgYXJlYQogICAqIGhvdyB0
byB1c2UgaXQgKEJTRCB2YXJpYW50cykgICovCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1
ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxzeXMvbW1hbi5oPgoKI2lmIEhBVkVfU1lTX1RZUEVTX0gK
IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCgojaWYgSEFWRV9TVERMSUJfSAojIGluY2x1
ZGUgPHN0ZGxpYi5oPgojZW5kaWYKCiNpZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRlIDxzeXMv
c3RhdC5oPgojZW5kaWYKCiNpZiBIQVZFX1VOSVNURF9ICiMgaW5jbHVkZSA8dW5pc3RkLmg+CiNl
bmRpZgoKLyogVGhpcyBtZXNzIHdhcyBjb3BpZWQgZnJvbSB0aGUgR05VIGdldHBhZ2VzaXplLmgu
ICAqLwojaWZuZGVmIEhBVkVfR0VUUEFHRVNJWkUKCi8qIEFzc3VtZSB0aGF0IGFsbCBzeXN0ZW1z
IHRoYXQgY2FuIHJ1biBjb25maWd1cmUgaGF2ZSBzeXMvcGFyYW0uaC4gICovCiMgaWZuZGVmIEhB
VkVfU1lTX1BBUkFNX0gKIyAgZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQojIGVuZGlmCgojIGlm
ZGVmIF9TQ19QQUdFU0laRQojICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBzeXNjb25mKF9TQ19QQUdF
U0laRSkKIyBlbHNlIC8qIG5vIF9TQ19QQUdFU0laRSAqLwojICBpZmRlZiBIQVZFX1NZU19QQVJB
TV9ICiMgICBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KIyAgIGlmZGVmIEVYRUNfUEFHRVNJWkUKIyAg
ICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBFWEVDX1BBR0VTSVpFCiMgICBlbHNlIC8qIG5vIEVYRUNf
UEFHRVNJWkUgKi8KIyAgICBpZmRlZiBOQlBHCiMgICAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIE5C
UEcgKiBDTFNJWkUKIyAgICAgaWZuZGVmIENMU0laRQojICAgICAgZGVmaW5lIENMU0laRSAxCiMg
ICAgIGVuZGlmIC8qIG5vIENMU0laRSAqLwojICAgIGVsc2UgLyogbm8gTkJQRyAqLwojICAgICBp
ZmRlZiBOQlBDCiMgICAgICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBOQlBDCiMgICAgIGVsc2UgLyog
bm8gTkJQQyAqLwojICAgICAgaWZkZWYgUEFHRVNJWkUKIyAgICAgICBkZWZpbmUgZ2V0cGFnZXNp
emUoKSBQQUdFU0laRQojICAgICAgZW5kaWYgLyogUEFHRVNJWkUgKi8KIyAgICAgZW5kaWYgLyog
bm8gTkJQQyAqLwojICAgIGVuZGlmIC8qIG5vIE5CUEcgKi8KIyAgIGVuZGlmIC8qIG5vIEVYRUNf
UEFHRVNJWkUgKi8KIyAgZWxzZSAvKiBubyBIQVZFX1NZU19QQVJBTV9IICovCiMgICBkZWZpbmUg
Z2V0cGFnZXNpemUoKSA4MTkyCS8qIHB1bnQgdG90YWxseSAqLwojICBlbmRpZiAvKiBubyBIQVZF
X1NZU19QQVJBTV9IICovCiMgZW5kaWYgLyogbm8gX1NDX1BBR0VTSVpFICovCgojZW5kaWYgLyog
bm8gSEFWRV9HRVRQQUdFU0laRSAqLwoKI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIgeyB2
b2lkICptYWxsb2ModW5zaWduZWQpOyB9CiNlbHNlCmNoYXIgKm1hbGxvYygpOwojZW5kaWYKCmlu
dAptYWluKCkKewoJY2hhciAqZGF0YSwgKmRhdGEyLCAqZGF0YTM7CglpbnQgaSwgcGFnZXNpemU7
CglpbnQgZmQ7CgoJcGFnZXNpemUgPSBnZXRwYWdlc2l6ZSgpOwoKCS8qCgkgKiBGaXJzdCwgbWFr
ZSBhIGZpbGUgd2l0aCBzb21lIGtub3duIGdhcmJhZ2UgaW4gaXQuCgkgKi8KCWRhdGEgPSBtYWxs
b2MocGFnZXNpemUpOwoJaWYgKCFkYXRhKQoJCWV4aXQoMSk7Cglmb3IgKGkgPSAwOyBpIDwgcGFn
ZXNpemU7ICsraSkKCQkqKGRhdGEgKyBpKSA9IHJhbmQoKTsKCXVtYXNrKDApOwoJZmQgPSBjcmVh
dCgiY29uZnRlc3RtbWFwIiwgMDYwMCk7CglpZiAoZmQgPCAwKQoJCWV4aXQoMSk7CglpZiAod3Jp
dGUoZmQsIGRhdGEsIHBhZ2VzaXplKSAhPSBwYWdlc2l6ZSkKCQlleGl0KDEpOwoJY2xvc2UoZmQp
OwoKCS8qCgkgKiBOZXh0LCB0cnkgdG8gbW1hcCB0aGUgZmlsZSBhdCBhIGZpeGVkIGFkZHJlc3Mg
d2hpY2gKCSAqIGFscmVhZHkgaGFzIHNvbWV0aGluZyBlbHNlIGFsbG9jYXRlZCBhdCBpdC4gIElm
IHdlIGNhbiwKCSAqIGFsc28gbWFrZSBzdXJlIHRoYXQgd2Ugc2VlIHRoZSBzYW1lIGdhcmJhZ2Uu
CgkgKi8KCWZkID0gb3BlbigiY29uZnRlc3RtbWFwIiwgT19SRFdSKTsKCWlmIChmZCA8IDApCgkJ
ZXhpdCgxKTsKCWRhdGEyID0gbWFsbG9jKDIgKiBwYWdlc2l6ZSk7CglpZiAoIWRhdGEyKQoJCWV4
aXQoMSk7CglkYXRhMiArPSAocGFnZXNpemUgLSAoKGludCkgZGF0YTIgJiAocGFnZXNpemUgLSAx
KSkpICYgKHBhZ2VzaXplIC0gMSk7CglpZiAoZGF0YTIgIT0gbW1hcChkYXRhMiwgcGFnZXNpemUs
IFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCgkgICAgTUFQX1BSSVZBVEUgfCBNQVBfRklYRUQsIGZk
LCAwTCkpCgkJZXhpdCgxKTsKCWZvciAoaSA9IDA7IGkgPCBwYWdlc2l6ZTsgKytpKQoJCWlmICgq
KGRhdGEgKyBpKSAhPSAqKGRhdGEyICsgaSkpCgkJCWV4aXQoMSk7CgoJLyoKCSAqIEZpbmFsbHks
IG1ha2Ugc3VyZSB0aGF0IGNoYW5nZXMgdG8gdGhlIG1hcHBlZCBhcmVhCgkgKiBkbyBub3QgcGVy
Y29sYXRlIGJhY2sgdG8gdGhlIGZpbGUgYXMgc2VlbiBieSByZWFkKCkuCgkgKiAoVGhpcyBpcyBh
IGJ1ZyBvbiBzb21lIHZhcmlhbnRzIG9mIGkzODYgc3ZyNC4wLikKCSAqLwoJZm9yIChpID0gMDsg
aSA8IHBhZ2VzaXplOyArK2kpCgkJKihkYXRhMiArIGkpID0gKihkYXRhMiArIGkpICsgMTsKCWRh
dGEzID0gbWFsbG9jKHBhZ2VzaXplKTsKCWlmICghZGF0YTMpCgkJZXhpdCgxKTsKCWlmIChyZWFk
KGZkLCBkYXRhMywgcGFnZXNpemUpICE9IHBhZ2VzaXplKQoJCWV4aXQoMSk7Cglmb3IgKGkgPSAw
OyBpIDwgcGFnZXNpemU7ICsraSkKCQlpZiAoKihkYXRhICsgaSkgIT0gKihkYXRhMyArIGkpKQoJ
CQlleGl0KDEpOwoJY2xvc2UoZmQpOwoJdW5saW5rKCJjb25mdGVzdG1tYXAiKTsKCWV4aXQoMCk7
Cn0KCmNvbmZpZ3VyZToyNjUwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V
IEMgTGlicmFyeSAyLjEgb3IgbmV3ZXIKY29uZmlndXJlOjI2NTc6IGZlYXR1cmVzLmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjI2ODg6IGNoZWNraW5nIHdoZXRoZXIgaW50
ZWdlciBkaXZpc2lvbiBieSB6ZXJvIHJhaXNlcyBTSUdGUEUKY29uZmlndXJlOjI3NDU6IGNjIC1v
IGNvbmZ0ZXN0IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5j
bHVkZSAgY29uZnRlc3QuYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRs
IDE+JjUKY29uZmlndXJlOjI3ODY6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZToy
ODAwOiBjYyAtYyAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2lu
Y2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZToyODI1OiBjaGVja2luZyB3aGV0aGVyIHRo
ZSBpbnR0eXBlcy5oIFBSSXhOTiBtYWNyb3MgYXJlIGJyb2tlbgpjb25maWd1cmU6Mjg0MjogY2Mg
LWMgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNv
bmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6MzI1MzogY2hlY2tpbmcgZm9yIG1zZ2ZtdApjb25maWd1
cmU6MzI4ODogY2hlY2tpbmcgZm9yIGdtc2dmbXQKY29uZmlndXJlOjMzMjU6IGNoZWNraW5nIGZv
ciB4Z2V0dGV4dApjb25maWd1cmU6MzM2MjogY2hlY2tpbmcgZm9yIG1zZ21lcmdlCmNvbmZpZ3Vy
ZTozNDI1OiBjaGVja2luZyBmb3IgYXJnei5oCmNvbmZpZ3VyZTozNDM1OiBjYyAtRSAtSS91c3Iv
bG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwg
Mj5jb25mdGVzdC5vdXQKY29uZmlndXJlOjM0MzE6IGFyZ3ouaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzQzMCAiY29uZmln
dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGFyZ3ouaD4KY29uZmlndXJlOjM0
MjU6IGNoZWNraW5nIGZvciBsaW1pdHMuaApjb25maWd1cmU6MzQzNTogY2MgLUUgLUkvdXNyL2xv
Y2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+
Y29uZnRlc3Qub3V0CmNvbmZpZ3VyZTozNDI1OiBjaGVja2luZyBmb3IgbG9jYWxlLmgKY29uZmln
dXJlOjM0MzU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRl
IGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MzQyNTogY2hl
Y2tpbmcgZm9yIG5sX3R5cGVzLmgKY29uZmlndXJlOjM0MzU6IGNjIC1FIC1JL3Vzci9sb2NhbC9p
bmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0
ZXN0Lm91dApjb25maWd1cmU6MzQyNTogY2hlY2tpbmcgZm9yIG1hbGxvYy5oCmNvbmZpZ3VyZToz
NDM1OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25m
dGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNv
bmZpZ3VyZTozNDMxOgovdXNyL2luY2x1ZGUvbWFsbG9jLmg6Mjogd2FybmluZzogI3dhcm5pbmcg
InRoaXMgZmlsZSBpbmNsdWRlcyA8bWFsbG9jLmg+IHdoaWNoIGlzIGRlcHJlY2F0ZWQsIHVzZSA8
c3RkbGliLmg+IGluc3RlYWQiCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAz
NDMwICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8bWFsbG9jLmg+
CmNvbmZpZ3VyZTozNDI1OiBjaGVja2luZyBmb3Igc3RkZGVmLmgKY29uZmlndXJlOjM0MzU6IGNj
IC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMg
Pi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MzQyNTogY2hlY2tpbmcgZm9yIHN0
ZGxpYi5oCmNvbmZpZ3VyZTozNDI1OiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjM0
MzU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0
ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MzQyNTogY2hlY2tpbmcg
Zm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTozNDI1OiBjaGVja2luZyBmb3Igc3lzL3BhcmFtLmgKY29u
ZmlndXJlOjM0MzU6IGNjIC1FIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNs
dWRlIGNvbmZ0ZXN0LmMgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dApjb25maWd1cmU6MzQ2Njog
Y2hlY2tpbmcgZm9yIGZlb2ZfdW5sb2NrZWQKY29uZmlndXJlOjM0OTQ6IGNjIC1vIGNvbmZ0ZXN0
IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29u
ZnRlc3QuYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRsIDE+JjUKL3Rt
cC9jY3hBaWJDMS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvY2N4QWliQzEubygudGV4dCsw
eDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmZW9mX3VubG9ja2VkJwpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzQ3MSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRl
ZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmZW9m
X3VubG9ja2VkKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBh
bnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
CiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwpjaGFyIGZlb2ZfdW5sb2NrZWQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdO
VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50
cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0
dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs
IG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2Zlb2ZfdW5sb2NrZWQp
IHx8IGRlZmluZWQgKF9fc3R1Yl9fX2Zlb2ZfdW5sb2NrZWQpCmNob2tlIG1lCiNlbHNlCmZlb2Zf
dW5sb2NrZWQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTozNDY2OiBjaGVja2lu
ZyBmb3IgZmdldHNfdW5sb2NrZWQKY29uZmlndXJlOjM0OTQ6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1w
aXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3Qu
YyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRsIDE+JjUKL3RtcC9jY2dp
QXBiVC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvY2NnaUFwYlQubygudGV4dCsweDcpOiB1
bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmZ2V0c191bmxvY2tlZCcKY29uZmlndXJlOiBmYWlsZWQg
cHJvZ3JhbSB3YXM6CiNsaW5lIDM0NzEgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi
Ci8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm
ZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZmdldHNfdW5s
b2NrZWQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBn
Y2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAg
IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs
eS4gICovCmNoYXIgZmdldHNfdW5sb2NrZWQoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBD
IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwog
ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs
bHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
bWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2ZnZXRzX3VubG9ja2VkKSB8
fCBkZWZpbmVkIChfX3N0dWJfX19mZ2V0c191bmxvY2tlZCkKY2hva2UgbWUKI2Vsc2UKZmdldHNf
dW5sb2NrZWQoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTozNDY2OiBjaGVja2lu
ZyBmb3IgZ2V0Y191bmxvY2tlZApjb25maWd1cmU6MzQ5NDogY2MgLW8gY29uZnRlc3QgLU8gLXBp
cGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5j
IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4mNQovdG1wL2NjYzBU
S2lYLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3RtcC9jY2MwVEtpWC5vKC50ZXh0KzB4Nyk6IHVu
ZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGNfdW5sb2NrZWQnCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgojbGluZSAzNDcxICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgov
KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3
IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldGNfdW5sb2Nr
ZWQoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2My
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFy
IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1
aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g
ICovCmNoYXIgZ2V0Y191bmxvY2tlZCgpOwoKaW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGli
cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0
byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu
YW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp
cyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfZ2V0Y191bmxvY2tlZCkgfHwgZGVm
aW5lZCAoX19zdHViX19fZ2V0Y191bmxvY2tlZCkKY2hva2UgbWUKI2Vsc2UKZ2V0Y191bmxvY2tl
ZCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29uZmlndXJlOjM0NjY6IGNoZWNraW5nIGZvciBn
ZXRjd2QKY29uZmlndXJlOjM0OTQ6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAtSS91c3IvbG9j
YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtTC91c3IvbG9jYWwv
bGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRsIDE+JjUKY29uZmlndXJlOjM0NjY6IGNoZWNraW5n
IGZvciBnZXRlZ2lkCmNvbmZpZ3VyZTozNDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkv
dXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNy
L2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTozNDY2OiBj
aGVja2luZyBmb3IgZ2V0ZXVpZApjb25maWd1cmU6MzQ5NDogY2MgLW8gY29uZnRlc3QgLU8gLXBp
cGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5j
IC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4mNQpjb25maWd1cmU6
MzQ2NjogY2hlY2tpbmcgZm9yIGdldGdpZApjb25maWd1cmU6MzQ5NDogY2MgLW8gY29uZnRlc3Qg
LU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25m
dGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4mNQpjb25m
aWd1cmU6MzQ2NjogY2hlY2tpbmcgZm9yIGdldHVpZApjb25maWd1cmU6MzQ5NDogY2MgLW8gY29u
ZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRl
ICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4m
NQpjb25maWd1cmU6MzQ2NjogY2hlY2tpbmcgZm9yIG1lbXBjcHkKY29uZmlndXJlOjM0OTQ6IGNj
IC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYv
aW5jbHVkZSAgY29uZnRlc3QuYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxp
bnRsIDE+JjUKL3RtcC9jYzl2eldEMy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90bXAvY2M5dnpX
RDMubygudGV4dCsweDcpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtZW1wY3B5Jwpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzQ3MSAiY29uZmlndXJlIgojaW5jbHVkZSAi
Y29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg
aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh
ciBtZW1wY3B5KCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBh
bnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwovKiBXZSB1
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2My
CiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwpjaGFyIG1lbXBjcHkoKTsKCmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxp
YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAg
dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkg
bmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg
aXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX21lbXBjcHkpIHx8IGRlZmluZWQg
KF9fc3R1Yl9fX21lbXBjcHkpCmNob2tlIG1lCiNlbHNlCm1lbXBjcHkoKTsKI2VuZGlmCgo7IHJl
dHVybiAwOyB9CmNvbmZpZ3VyZTozNDY2OiBjaGVja2luZyBmb3IgbXVubWFwCmNvbmZpZ3VyZToz
NDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNy
L1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYv
bGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTozNDY2OiBjaGVja2luZyBmb3IgcHV0ZW52CmNvbmZp
Z3VyZTozNDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
LUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3Iv
WDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTozNDY2OiBjaGVja2luZyBmb3Igc2V0ZW52
CmNvbmZpZ3VyZTozNDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2lu
Y2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAt
TC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTozNDY2OiBjaGVja2luZyBmb3Ig
c2V0bG9jYWxlCmNvbmZpZ3VyZTozNDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xv
Y2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTozNDY2OiBjaGVj
a2luZyBmb3Igc3RwY3B5CmNvbmZpZ3VyZTozNDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAg
LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwv
dXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1Ci90bXAvY2NrY2MzbXcu
bzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2Nja2NjM213Lm8oLnRleHQrMHg3KTogdW5kZWZp
bmVkIHJlZmVyZW5jZSB0byBgc3RwY3B5Jwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
I2xpbmUgMzQ3MSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhl
YWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz
LAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHBjcHkoKTsgYmVsb3cuICAqLwoj
aW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz
IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgc3RwY3B5KCk7
CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu
Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRp
bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmlu
ZWQgKF9fc3R1Yl9zdHBjcHkpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3N0cGNweSkKY2hva2UgbWUK
I2Vsc2UKc3RwY3B5KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzQ2NjogY2hl
Y2tpbmcgZm9yIHN0cmNhc2VjbXAKY29uZmlndXJlOjM0OTQ6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1w
aXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3Qu
YyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRsIDE+JjUKY29uZmlndXJl
OjM0NjY6IGNoZWNraW5nIGZvciBzdHJkdXAKY29uZmlndXJlOjM0OTQ6IGNjIC1vIGNvbmZ0ZXN0
IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29u
ZnRlc3QuYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRsIDE+JjUKY29u
ZmlndXJlOjM0NjY6IGNoZWNraW5nIGZvciBzdHJ0b3VsCmNvbmZpZ3VyZTozNDk0OiBjYyAtbyBj
b25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1
ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAx
PiY1CmNvbmZpZ3VyZTozNDY2OiBjaGVja2luZyBmb3IgdHNlYXJjaApjb25maWd1cmU6MzQ5NDog
Y2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFS
Ni9pbmNsdWRlICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAt
bGludGwgMT4mNQpjb25maWd1cmU6MzQ2NjogY2hlY2tpbmcgZm9yIF9fYXJnel9jb3VudApjb25m
aWd1cmU6MzQ5NDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl
IC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy
L1gxMVI2L2xpYiAtbGludGwgMT4mNQovdG1wL2NjVU9pU00xLm86IEluIGZ1bmN0aW9uIGBtYWlu
JzoKL3RtcC9jY1VPaVNNMS5vKC50ZXh0KzB4Nyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9f
YXJnel9jb3VudCcKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDM0NzEgImNv
bmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5l
IF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNh
biBjb25mbGljdCB3aXRoIGNoYXIgX19hcmd6X2NvdW50KCk7IGJlbG93LiAgKi8KI2luY2x1ZGUg
PGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv
aWQgYW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0
aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu
dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9fYXJnel9jb3VudCgpOwoK
aW50IG1haW4oKSB7CgovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0
aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5n
IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVk
IChfX3N0dWJfX19hcmd6X2NvdW50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19fX2FyZ3pfY291bnQp
CmNob2tlIG1lCiNlbHNlCl9fYXJnel9jb3VudCgpOwojZW5kaWYKCjsgcmV0dXJuIDA7IH0KY29u
ZmlndXJlOjM0NjY6IGNoZWNraW5nIGZvciBfX2FyZ3pfc3RyaW5naWZ5CmNvbmZpZ3VyZTozNDk0
OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gx
MVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGli
IC1saW50bCAxPiY1Ci90bXAvY2NVTDM4cVkubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG1wL2Nj
VUwzOHFZLm8oLnRleHQrMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19hcmd6X3N0cmlu
Z2lmeScKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDM0NzEgImNvbmZpZ3Vy
ZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1
YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25m
bGljdCB3aXRoIGNoYXIgX19hcmd6X3N0cmluZ2lmeSgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxh
c3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk
IGFuIGVycm9yLiAgKi8KLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg
cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfX2FyZ3pfc3RyaW5naWZ5KCk7
CgppbnQgbWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu
Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRp
bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmlu
ZWQgKF9fc3R1Yl9fX2FyZ3pfc3RyaW5naWZ5KSB8fCBkZWZpbmVkIChfX3N0dWJfX19fX2FyZ3pf
c3RyaW5naWZ5KQpjaG9rZSBtZQojZWxzZQpfX2FyZ3pfc3RyaW5naWZ5KCk7CiNlbmRpZgoKOyBy
ZXR1cm4gMDsgfQpjb25maWd1cmU6MzQ2NjogY2hlY2tpbmcgZm9yIF9fYXJnel9uZXh0CmNvbmZp
Z3VyZTozNDk0OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
LUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3Iv
WDExUjYvbGliIC1saW50bCAxPiY1Ci90bXAvY2NFRlRvTUEubzogSW4gZnVuY3Rpb24gYG1haW4n
OgovdG1wL2NjRUZUb01BLm8oLnRleHQrMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19h
cmd6X25leHQnCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzNDcxICJjb25m
aWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBf
X3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4g
Y29uZmxpY3Qgd2l0aCBjaGFyIF9fYXJnel9uZXh0KCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFz
c2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg
YW4gZXJyb3IuICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg
cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw
cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIF9fYXJnel9uZXh0KCk7CgppbnQg
bWFpbigpIHsKCi8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z
IHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t
ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0
aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9f
c3R1Yl9fX2FyZ3pfbmV4dCkgfHwgZGVmaW5lZCAoX19zdHViX19fX19hcmd6X25leHQpCmNob2tl
IG1lCiNlbHNlCl9fYXJnel9uZXh0KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6
MzU1MDogY2hlY2tpbmcgZm9yIGljb252CmNvbmZpZ3VyZTozNTY4OiBjYyAtbyBjb25mdGVzdCAt
TyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0
ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZp
Z3VyZTozNjI1OiBjaGVja2luZyBmb3IgaWNvbnYgZGVjbGFyYXRpb24KY29uZmlndXJlOjM2NTA6
IGNjIC1jIC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVk
ZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjM2NDA6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBg
bGliaWNvbnYnCi91c3IvbG9jYWwvaW5jbHVkZS9pY29udi5oOjgyOiBwcmV2aW91cyBkZWNsYXJh
dGlvbiBvZiBgbGliaWNvbnYnCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAz
NjMxICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN0ZGxpYi5o
PgojaW5jbHVkZSA8aWNvbnYuaD4KZXh0ZXJuCiNpZmRlZiBfX2NwbHVzcGx1cwoiQyIKI2VuZGlm
CiNpZiBkZWZpbmVkKF9fU1REQ19fKSB8fCBkZWZpbmVkKF9fY3BsdXNwbHVzKQpzaXplX3QgaWNv
bnYgKGljb252X3QgY2QsIGNoYXIgKiAqaW5idWYsIHNpemVfdCAqaW5ieXRlc2xlZnQsIGNoYXIg
KiAqb3V0YnVmLCBzaXplX3QgKm91dGJ5dGVzbGVmdCk7CiNlbHNlCnNpemVfdCBpY29udigpOwoj
ZW5kaWYKCmludCBtYWluKCkgewoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6MzY3NDogY2hlY2tp
bmcgZm9yIG5sX2xhbmdpbmZvIGFuZCBDT0RFU0VUCmNvbmZpZ3VyZTozNjg2OiBjYyAtbyBjb25m
dGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUg
IGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1
CmNvbmZpZ3VyZTozNzEwOiBjaGVja2luZyBmb3IgTENfTUVTU0FHRVMKY29uZmlndXJlOjM3MjI6
IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDEx
UjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIg
LWxpbnRsIDE+JjUKY29uZmlndXJlOjM3NDk6IGNoZWNraW5nIGZvciBiaXNvbgpjb25maWd1cmU6
Mzc4MjogY2hlY2tpbmcgdmVyc2lvbiBvZiBiaXNvbgpjb25maWd1cmU6MzgxMTogY2hlY2tpbmcg
d2hldGhlciBOTFMgaXMgcmVxdWVzdGVkCmNvbmZpZ3VyZTozODM1OiBjaGVja2luZyB3aGV0aGVy
IGluY2x1ZGVkIGdldHRleHQgaXMgcmVxdWVzdGVkCmNvbmZpZ3VyZTozODU1OiBjaGVja2luZyBm
b3IgR05VIGdldHRleHQgaW4gbGliYwpjb25maWd1cmU6Mzg3MDogY2MgLW8gY29uZnRlc3QgLU8g
LXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVz
dC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4mNQpjb25maWd1
cmU6NDQ1NzogY2hlY2tpbmcgd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZpYyBw
b3J0aW9ucyBvZiBNYWtlZmlsZXMKY29uZmlndXJlOjQ1MDc6IGNoZWNraW5nIGZvciBhIEJTRCBj
b21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjQ1OTY6IGNoZWNraW5nIGZvciBDeWd3aW4gZW52
aXJvbm1lbnQKY29uZmlndXJlOjQ2MTI6IGNjIC1jIC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5j
bHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOiBJbiBm
dW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZTo0NjA4OiBgX19DWUdXSU4zMl9fJyB1bmRlY2xhcmVk
IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZmlndXJlOjQ2MDg6IChFYWNoIHVuZGVj
bGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZmlndXJlOjQ2MDg6IGZv
ciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgNDYwMSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCmludCBt
YWluKCkgewoKI2lmbmRlZiBfX0NZR1dJTl9fCiNkZWZpbmUgX19DWUdXSU5fXyBfX0NZR1dJTjMy
X18KI2VuZGlmCnJldHVybiBfX0NZR1dJTl9fOwo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo0NjI5
OiBjaGVja2luZyBmb3IgbWluZ3czMiBlbnZpcm9ubWVudApjb25maWd1cmU6NDY0MTogY2MgLWMg
LU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0
ZXN0LmMgMT4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZmlndXJlOjQ2Mzc6
IGBfX01JTkdXMzJfXycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmNv
bmZpZ3VyZTo0NjM3OiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25s
eSBvbmNlCmNvbmZpZ3VyZTo0NjM3OiBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluLikK
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ2MzQgImNvbmZpZ3VyZSIKI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiCgppbnQgbWFpbigpIHsKcmV0dXJuIF9fTUlOR1czMl9fOwo7IHJl
dHVybiAwOyB9CmNvbmZpZ3VyZTo0NzA0OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25m
aWd1cmU6NDczMzogY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgR0NDCmNvbmZpZ3VyZTo0ODAxOiBj
aGVja2luZyBpZiB0aGUgbGlua2VyICgvdXNyL2Jpbi9sZCkgaXMgR05VIGxkCkdOVSBsZCB2ZXJz
aW9uIDIuMTIuMSBbRnJlZUJTRF0gMjAwMi0wNy0yMApjb25maWd1cmU6NDgxODogY2hlY2tpbmcg
Zm9yIC91c3IvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo0
ODMwOiBjaGVja2luZyBmb3IgQlNELWNvbXBhdGlibGUgbm0KY29uZmlndXJlOjQ4Njg6IGNoZWNr
aW5nIHdoZXRoZXIgbG4gLXMgd29ya3MKY29uZmlndXJlOjQ4ODk6IGNoZWNraW5nIGhvdyB0byBy
ZWNvZ25pc2UgZGVwZW5kYW50IGxpYnJhcmllcwpjb25maWd1cmU6NTA3MjogY2hlY2tpbmcgZm9y
IG9iamVjdCBzdWZmaXgKY29uZmlndXJlOjUwNzg6IGNjIC1jIC1PIC1waXBlICAtSS91c3IvbG9j
YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl
OjUwOTg6IGNoZWNraW5nIGZvciBleGVjdXRhYmxlIHN1ZmZpeApjb25maWd1cmU6NTEwODogY2Mg
LW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9p
bmNsdWRlICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGlu
dGwgMT4mNQpjb25maWd1cmU6NTEzOTogY2hlY2tpbmcgY29tbWFuZCB0byBwYXJzZSAvdXNyL2Jp
bi9ubSAtQiBvdXRwdXQKY29uZmlndXJlOjUyMTk6IGNjIC1jIC1PIC1waXBlICAtSS91c3IvbG9j
YWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJl
OjUyMjI6IC91c3IvYmluL25tIC1CIGNvbmZ0ZXN0Lm8gfCBzZWQgLW4gLWUgJ3MvXi4qWyBdXChb
QUJDREdJU1RXXVtBQkNER0lTVFddKlwpWyBdWyBdKlwoXClcKFtfQS1aYS16XVtfQS1aYS16MC05
XSpcKSQvXDEgXDJcMyBcMy9wJyA+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo1MjczOiBjYyAtbyBj
b25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1
ZGUgIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyAxPiY1CmNvbmZpZ3VyZTo1MzIyOiBjaGVja2luZyBm
b3IgZGxmY24uaApjb25maWd1cmU6NTMzMjogY2MgLUUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv
dXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyA+L2Rldi9udWxsIDI+Y29uZnRlc3Qub3V0CmNv
bmZpZ3VyZTo1NTAwOiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTo1NTY3OiBjaGVja2lu
ZyBmb3Igc3RyaXAKY29uZmlndXJlOjU4MTA6IGNoZWNraW5nIGZvciBvYmpkaXIKY29uZmlndXJl
OjU4Mzc6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMKY29uZmlndXJlOjU5
ODk6IGNoZWNraW5nIGlmIGNjIFBJQyBmbGFnIC1mUElDIHdvcmtzCmNvbmZpZ3VyZTo2MDAzOiBj
YyAtYyAtTyAtcGlwZSAgLWZQSUMgLURQSUMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gx
MVI2L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2MDU1OiBjaGVja2luZyBpZiBj
YyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZpZ3VyZTo2MDcwOiBjYyAtbyBjb25mdGVz
dCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIC1z
dGF0aWMgY29uZnRlc3QuYyAtTC91c3IvbG9jYWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRs
IDE+JjUKY29uZmlndXJlOjYwOTc6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1jIC1vIGZpbGUu
bwpjb25maWd1cmU6NjExNjogY2MgLWMgLU8gLXBpcGUgIC1vIG91dC9jb25mdGVzdDIubyAtSS91
c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29u
ZmlndXJlOjYxNDU6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1jIC1vIGZpbGUubG8KY29uZmln
dXJlOjYxNjM6IGNjIC1jIC1PIC1waXBlICAtYyAtbyBjb25mdGVzdC5sbyAtSS91c3IvbG9jYWwv
aW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSBjb25mdGVzdC5jIDE+JjUKY29uZmlndXJlOjYy
MTM6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMKY29u
ZmlndXJlOjYyMjY6IGNjIC1jIC1PIC1waXBlICAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIC1j
IGNvbmZ0ZXN0LmMgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29u
ZnRlc3QuYyAxPiY1CmNvbmZpZ3VyZTo2MjUzOiBjaGVja2luZyB3aGV0aGVyIHRoZSBsaW5rZXIg
KC91c3IvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZTo2OTM3OiBj
aGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZp
Z3VyZTo2OTY1OiBjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2li
bGUKY29uZmlndXJlOjY5Nzk6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGlj
cwpjb25maWd1cmU6NzM3NjogY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGli
cmFyaWVzCmNvbmZpZ3VyZTo3MzgwOiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBs
aWJyYXJpZXMKY29uZmlndXJlOjc0MDM6IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGlj
IGxpYnJhcmllcwpjb25maWd1cmU6NzQ0NDogY2hlY2tpbmcgZm9yIHNobF9sb2FkCmNvbmZpZ3Vy
ZTo3NDcyOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv
dXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDEx
UjYvbGliIC1saW50bCAxPiY1Ci90bXAvY2NNNkhrbGQubzogSW4gZnVuY3Rpb24gYG1haW4nOgov
dG1wL2NjTTZIa2xkLm8oLnRleHQrMHg3KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2hsX2xv
YWQnCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA3NDQ5ICJjb25maWd1cmUi
CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxp
Y3Qgd2l0aCBjaGFyIHNobF9sb2FkKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgov
KiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
ICAqLwovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBnY2MyCiAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNobF9sb2FkKCk7CgppbnQgbWFpbigpIHsKCi8q
IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt
cGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg
YXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl
IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9zaGxfbG9h
ZCkgfHwgZGVmaW5lZCAoX19zdHViX19fc2hsX2xvYWQpCmNob2tlIG1lCiNlbHNlCnNobF9sb2Fk
KCk7CiNlbmRpZgoKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NzQ5MDogY2hlY2tpbmcgZm9yIHNo
bF9sb2FkIGluIC1sZGxkCmNvbmZpZ3VyZTo3NTA5OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAg
LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLWxk
bGQgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwgMT4mNQovdXNyL2xp
YmV4ZWMvZWxmL2xkOiBjYW5ub3QgZmluZCAtbGRsZApjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgNzQ5OCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogT3Zl
cnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8K
LyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m
IGEgZ2NjMgogICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KY2hhciBzaGxfbG9hZCgpOwoKaW50IG1haW4oKSB7CnNobF9sb2Fk
KCkKOyByZXR1cm4gMDsgfQpjb25maWd1cmU6NzUyODogY2hlY2tpbmcgZm9yIGRsb3Blbgpjb25m
aWd1cmU6NzU1NjogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRl
IC1JL3Vzci9YMTFSNi9pbmNsdWRlICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNy
L1gxMVI2L2xpYiAtbGludGwgMT4mNQpjb25maWd1cmU6NzcyNTogY2hlY2tpbmcgd2hldGhlciBh
IHByb2dyYW0gY2FuIGRsb3BlbiBpdHNlbGYKY29uZmlndXJlOjc3OTY6IGNjIC1vIGNvbmZ0ZXN0
IC1PIC1waXBlICAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAtREhB
VkVfRExGQ05fSCAgLVdsLC0tZXhwb3J0LWR5bmFtaWMgY29uZnRlc3QuYyAgLUwvdXNyL2xvY2Fs
L2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTo3ODE5OiBjaGVja2lu
ZyB3aGV0aGVyIGEgc3RhdGljYWxseSBsaW5rZWQgcHJvZ3JhbSBjYW4gZGxvcGVuIGl0c2VsZgpj
b25maWd1cmU6Nzg5MDogY2MgLW8gY29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIC1ESEFWRV9ETEZDTl9IICAtV2wsLS1leHBvcnQtZHlu
YW1pYyAtc3RhdGljIGNvbmZ0ZXN0LmMgIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xp
YiAtbGludGwgMT4mNQpjb25maWd1cmU6NzkzOTogY2hlY2tpbmcgd2hldGhlciAtbGMgc2hvdWxk
IGJlIGV4cGxpY2l0bHkgbGlua2VkIGluCmNvbmZpZ3VyZTo3OTQ2OiBjYyAtYyAtTyAtcGlwZSAg
LUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgY29uZnRlc3QuYyAxPiY1
CmNvbmZpZ3VyZTo3OTU5OiBjYyAtc2hhcmVkIGNvbmZ0ZXN0Lm8gIC12IC1XbCwtc29uYW1lIC1X
bCxjb25mdGVzdCAtbyBjb25mdGVzdCAyPiYxIHwgZ3JlcCAgLWxjICA+L2Rldi9udWxsIDI+JjEK
Y29uZmlndXJlOjg1NDU6IGNoZWNraW5nIGZvciBzdHJlcnJvciBpbiAtbGNwb3NpeApjb25maWd1
cmU6ODU4NzogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbgpjb25m
aWd1cmU6ODYwNTogY2MgLWMgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9Y
MTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMgMT4mNQpjb25maWd1cmU6ODYyMDogY2MgLWMgLU8gLXBp
cGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlIGNvbmZ0ZXN0LmMg
MT4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZmlndXJlOjg2MTU6IHN5bnRh
eCBlcnJvciBiZWZvcmUgYGJpZycKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l
IDg2MDkgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4KI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgppbnQgbWFpbigpIHsKCiNpZiBCWVRFX09SREVS
ICE9IEJJR19FTkRJQU4KIG5vdCBiaWcgZW5kaWFuCiNlbmRpZgo7IHJldHVybiAwOyB9CmNvbmZp
Z3VyZTo4Njc3OiBjaGVja2luZyB3aGV0aGVyIGdtYWtlIHNldHMgJHtNQUtFfQpjb25maWd1cmU6
ODcwNDogY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjg4MTI6IGNo
ZWNraW5nIGZvciBsaW1pdHMuaApjb25maWd1cmU6ODg1MTogY2hlY2tpbmcgZm9yIHN0cGNweQpj
b25maWd1cmU6ODg1MTogY2hlY2tpbmcgZm9yIG1lbWNweQpjb25maWd1cmU6ODg3OTogY2MgLW8g
Y29uZnRlc3QgLU8gLXBpcGUgIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNs
dWRlICBjb25mdGVzdC5jIC1ML3Vzci9sb2NhbC9saWIgLUwvdXNyL1gxMVI2L2xpYiAtbGludGwg
MT4mNQpjb25maWd1cmU6ODg2Mzogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0
LWluIGZ1bmN0aW9uIGBtZW1jcHknCmNvbmZpZ3VyZTo4ODUxOiBjaGVja2luZyBmb3IgdGltZWdt
CmNvbmZpZ3VyZTo4ODc5OiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2lu
Y2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAt
TC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTo4ODUxOiBjaGVja2luZyBmb3Ig
dG93dXBwZXIKY29uZmlndXJlOjg4Nzk6IGNjIC1vIGNvbmZ0ZXN0IC1PIC1waXBlICAtSS91c3Iv
bG9jYWwvaW5jbHVkZSAtSS91c3IvWDExUjYvaW5jbHVkZSAgY29uZnRlc3QuYyAtTC91c3IvbG9j
YWwvbGliIC1ML3Vzci9YMTFSNi9saWIgLWxpbnRsIDE+JjUKL3RtcC9jY2ZMaUwzYy5vOiBJbiBm
dW5jdGlvbiBgbWFpbic6Ci90bXAvY2NmTGlMM2MubygudGV4dCsweDcpOiB1bmRlZmluZWQgcmVm
ZXJlbmNlIHRvIGB0b3d1cHBlcicKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l
IDg4NTYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIg
dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAg
IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdG93dXBwZXIoKTsgYmVsb3cuICAqLwojaW5j
bHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0
byBhdm9pZCBhbiBlcnJvci4gICovCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h
dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy
Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgdG93dXBwZXIoKTsK
CmludCBtYWluKCkgewoKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j
dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGlu
ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5l
ZCAoX19zdHViX3Rvd3VwcGVyKSB8fCBkZWZpbmVkIChfX3N0dWJfX190b3d1cHBlcikKY2hva2Ug
bWUKI2Vsc2UKdG93dXBwZXIoKTsKI2VuZGlmCgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZTo4OTA2
OiBjaGVja2luZyBmb3IgdGhlIHRtX2dtdG9mZiBtZW1iZXIgb2Ygc3RydWN0IHRtCmNvbmZpZ3Vy
ZTo4OTIzOiBjYyAtbyBjb25mdGVzdCAtTyAtcGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkv
dXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDEx
UjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3VyZTo4OTQ2OiBjaGVja2luZyBpZiBzY2FuZiBzdXBw
b3J0cyAlbGxkIGNvbnZlcnNpb25zCmNvbmZpZ3VyZTo4OTcyOiBjYyAtbyBjb25mdGVzdCAtTyAt
cGlwZSAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL1gxMVI2L2luY2x1ZGUgIGNvbmZ0ZXN0
LmMgLUwvdXNyL2xvY2FsL2xpYiAtTC91c3IvWDExUjYvbGliIC1saW50bCAxPiY1CmNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA4OTU0ICJjb25maWd1cmUiCiNpbmNsdWRlICJj
b25mZGVmcy5oIgoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBt
YWluICgpCnsKICBsb25nIGxvbmcgaW50IGQ7CgogIGQgPSAwOwogIGlmICgoc3NjYW5mICgiMTAw
MDAwMDAwMDAiLCAiJWxsZCIsICZkKSAhPSAxKSB8fCAoZCAhPSAxMDAwMDAwMDAwMCkpCiAgICBl
eGl0ICgxKTsKCiAgZXhpdCAoMCk7Cn0KCmNvbmZpZ3VyZTo4OTk5OiBjaGVja2luZyBmb3IgbHRk
bC5oCmNvbmZpZ3VyZTo5MDA5OiBjYyAtRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91c3IvWDEx
UjYvaW5jbHVkZSBjb25mdGVzdC5jID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQKY29uZmlndXJl
OjkwMDU6IGx0ZGwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6IGZhaWxl
ZCBwcm9ncmFtIHdhczoKI2xpbmUgOTAwNCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMu
aCIKI2luY2x1ZGUgPGx0ZGwuaD4K

--Multipart_Tue__28_Oct_2003_00_45_37_-0200_08340a00
Content-Type: application/octet-stream;
 name="temp1"
Content-Disposition: attachment;
 filename="temp1"
Content-Transfer-Encoding: base64

SGVybWVzLTEuMy4zCkltYWdlTWFnaWNrLTUuNS43LjExXzEKTWVzYS0zLjQuMl8yCk9SQml0LTAu
NS4xN18xCk9SQml0Mi0yLjguMgpPcGVuU1AtMS41XzIKWEZyZWU4Ni00LjMuMCwxClhGcmVlODYt
Rm9udFNlcnZlci00LjMuMF8yClhGcmVlODYtU2VydmVyLTQuMy4wXzExClhGcmVlODYtY2xpZW50
cy00LjMuMF8zClhGcmVlODYtZG9jdW1lbnRzLTQuMy4wClhGcmVlODYtZm9udDEwMGRwaS00LjMu
MApYRnJlZTg2LWZvbnQ3NWRwaS00LjMuMApYRnJlZTg2LWZvbnRDeXJpbGxpYy00LjMuMApYRnJl
ZTg2LWZvbnREZWZhdWx0Qml0bWFwcy00LjMuMApYRnJlZTg2LWZvbnRFbmNvZGluZ3MtNC4zLjAK
WEZyZWU4Ni1mb250U2NhbGFibGUtNC4zLjAKWEZyZWU4Ni1saWJyYXJpZXMtNC4zLjBfNgpYTmFw
LTIuNS5wMQpYZnQtMi4xLjIKYWFsaWItMS40LnI1XzEKYWNyb3JlYWQtNS4wOAphcnRzLTEuMS40
LDEKYXNwZWxsLTAuNTAuNC4xCmF0ZXJtLTAuNC4yCmF0ay0xLjQuMQphdXRvY29uZi0yLjEzLjAw
MDIyN181CmF1dG9jb25mLTIuNTNfMQphdXRvbWFrZS0xLjQuNV85CmF1dG9tYWtlLTEuNSwxCmF1
dG90cmFjZS0wLjMxLjFfMQpiaXNvbi0xLjc1XzEKYm9ub2JvLTEuMC4yMgpib3h0b29scy0wLjY1
LjAKY2FiZXh0cmFjdC0wLjZfMQpjZGJha2VvdmVuLTEuOC45XzMKY2RwYXJhbm9pYS0zLjkuOF81
CmNkcnRvb2xzLTIuMC4zCmNzY29wZS0xNS41CmN1cHMtYmFzZS0xLjEuMTkuMApjdXBzLXBzdG9y
YXN0ZXItNy4wNwpjdXJsLTcuMTAuNwpjdnN1cC0xNi4xaApkYjQtNC4wLjE0XzEsMQpkYjQxLTQu
MS4yNV8xCmRiaC0xLjAuMTUKZG9jYm9vay1zay00LjEuMgpkb2Nib29rLXhtbC00LjJfMQpkb2Ni
b29rLXhzbC0xLjYyLjMKZWRvbmtleS1ndWktZ3RrLTAuNS4wCmVkb25rZXktZ3VpLWphdmEtMS4x
LjIKZWRvbmtleS10b29sLXNsaXN0LTAuMgplc291bmQtMC4yLjMyXzEKZXhwYXQtMS45NS42XzEK
ZXptMy0xLjEKZmFtLTIuNi45XzMKZmV0Y2htYWlsLTYuMi41CmZsYXNocGx1Z2lud3JhcHBlci0w
LjIwMDIxMTEzCmZsdXhib3gtMC4xLjE0XzIKZmx1eHRlci0wLjEuMApmb250Y29uZmlnLTIuMi45
MF8zCmZyZWVmb250cy0wLjEwXzIKZnJlZXR5cGUtMS4zLjFfMgpmcmVldHlwZTItMi4xLjVfMQpn
LXdyYXAtMS4zLjRfNApnYWwtMC4yNApnY2MtMy4zLjIKZ2NvbmYtMS4wLjlfNgpnY29uZjItMi40
LjAuMQpnZGJtLTEuOC4zCmdkay1waXhidWYtMC4yMi4wCmdlZy0xLjAuMgpnZXR0ZXh0LTAuMTIu
MQpnaG9zdHNjcmlwdC1nbnUtNy4wN180CmdpbXAtMS4zLjIxLDEKZ2ltcC1wcmludC00LjIuNV8x
CmdrcmVsbG0tMi4xLjIxCmdsaWItMS4yLjEwXzEwCmdsaWItMi4yLjMKZ2xpYnd3dy0wLjJfMQpn
bWFrZS0zLjgwXzEKZ25ldC0xLjEuNApnbm9tZWNhbnZhcy0wLjIyLjAKZ25vbWVkYi0wLjIuOTZf
MQpnbm9tZWhpZXItMS4wXzEwCmdub21lbGlicy0xLjQuMl8xCmdub21lbWltZWRhdGEtMi40LjAK
Z25vbWVwcmludC0wLjM3Cmdub21ldmZzLTEuMC41XzQKZ25vbWV2ZnMyLTIuNC4xXzEKZ251Y2Fz
aC1kb2NzLTEuOC4zCmdudWNoZXNzLTUuMDZfMQpndGstMS4yLjEwXzEwCmd0ay0yLjIuNF8xCmd0
ay1lbmdpbmVzMi0yLjIuMApndGstZ251dGVsbGEtMC45MS4xCmd0ay10aGVtZS1zd2l0Y2gtMS4w
LjFfMQpndGsteGZjZS1lbmdpbmUtMi4xLjYKZ3RrZ2xhcmVhLTEuMi4yXzEKZ3RraHRtbC0xLjEu
MTBfMgpndWlsZS0xLjYuNF8yCmd1aWxlLWd0ay0wLjMxCmd1cHBpLTAuNDAuM18zCmhkZi00LjFy
NQpoZWxwMm1hbi0xLjI5Cmh0dHJhY2stMy4yMC4yCmltYWtlLTQuMy4wXzEKaW1saWItMS45LjE0
XzEKaW50bHRvb2wtMC4yNy4yCmlzcGVsbC0zLjIuMDZfMwpqYS1ua2YtMi4wMgpqYXNwZXItMS43
MDAuMgpqYXZhdm13cmFwcGVyLTEuNApqYmlna2l0LTEuNQpqcGVnLTZiXzEKa2RlLTMuMS40Cmtk
ZWFkZG9ucy0zLjEuNAprZGVhZG1pbi0zLjEuNAprZGVhcnR3b3JrLTMuMS40XzEKa2RlYmFzZS0z
LjEuNAprZGVlZHUtMy4xLjQKa2RlZ2FtZXMtMy4xLjQKa2RlZ3JhcGhpY3MtMy4xLjQKa2RlbGli
cy0zLjEuNAprZGVtdWx0aW1lZGlhLTMuMS40CmtkZW5ldHdvcmstMy4xLjQKa2RlcGltLTMuMS40
CmtkZXNkay0zLjEuNAprZGV0b3lzLTMuMS40CmtkZXV0aWxzLTMuMS40CmtkZXZlbG9wLTIuMS41
CmtvZmZpY2UtMS4yLjFfMSwxCmxhbWUtMy45My4xCmxjbXMtMS4wOSwxCmxpYklETC0wLjguMgps
aWJhby1lc291bmQtMC44LjRfMQpsaWJhcnRfbGdwbDItMi4zLjE2CmxpYmF1ZGlvZmlsZS0wLjIu
NApsaWJib25vYm8tMi40LjEKbGliY2FwcGxldC0xLjQuMC41XzEKbGliZXhpZi0wLjUuMTJfMQps
aWJmbGFzaC0wLjQuMTAKbGliZnB4LTEuMi4wLjkKbGliZ2RhLTAuMi45Nl8xCmxpYmdodHRwLTEu
MC45CmxpYmdsYWRlLTAuMTdfMgpsaWJnbnVnZXRvcHQtMS4yCmxpYmdzZi0xLjguMgpsaWJpY29u
di0xLjkuMV8zCmxpYmlqcy0wLjM0CmxpYmx0ZGwtMS41CmxpYm1pa21vZC1lc291bmQtMy4xLjEw
XzEKbGlibW5nLTEuMC41XzEKbGlibXBlZzItMC4zLjFfMQpsaWJvZngtMC42LjQKbGlib2dnLTEu
MF8xLDMKbGlicnN2ZzItMi40LjAKbGlidG9vbC0xLjMuNV8xCmxpYnRvb2wtMS40LjNfMgpsaWJ0
b29sLTEuNQpsaWJ1bmdpZi00LjEuMGIxXzEKbGlidW5pY29kZS0wLjRfMwpsaWJ2b3JiaXMtMS4w
XzEsMwpsaWJ3bWYtMC4yLjgKbGlid3d3LTUuNC4wCmxpYnhmY2U0Z3VpLTQuMC4wXzEKbGlieGZj
ZTRtY3MtNC4wLjAKbGlieGZjZTR1dGlsLTQuMC4wCmxpYnhtbC0xLjguMTdfMQpsaWJ4bWwyLTIu
Ni4wCmxpYnhzbHQtMS4wLjMzCmxpY3EtYmFzZS0xLjIuNwpsaWNxLXF0LWd1aS0xLjIuN18xCmxp
bmMtMS4wLjMKbGlua3MtMi4xLnAxMSwxCmxpbnV4LWVkb25rZXktY29yZS0wLjUwLjEsMQpsaW51
eC1lc291bmQtMC4yLjIyXzEKbGludXgtZmxhc2hwbHVnaW4tNS4wcjUxCmxpbnV4LWZsYXNocGx1
Z2luLTYuMHI3OQpsaW51eC1saWJhdWRpb2ZpbGUtMC4xLjExXzIKbGludXgtcmVhbHBsYXllci04
LmNzMl80CmxpbnV4X2Jhc2UtNy4xXzUKbHl4LTEuMy4yXzEKbTQtMS40XzEKbWZ0cmFjZS0xLjAu
MTkKbWluZy0wLjJhXzEKbWtpc29mcy0yLjAuMwptb3ppbGxhLWZpcmViaXJkLTAuN18xCm1wZzEy
My1lc291bmQtMC41OXJfOQptcGxheWVyLWZvbnRzLTAuNTAKbXBsYXllci1za2lucy0xLjEuMApt
cGxheWVyeHAtMC4xLjlfMQptdXRlbGxhLTAuNC4zLDEKbmFzbS0wLjk4LjM1LDEKbnNwci00LjNf
MgpudmlkaWEtZHJpdmVyLTEuMC40MzY1Cm9hZi0wLjYuMTBfMQpvY2FtbC0zLjA2Cm9jYW1sLWNy
eXB0b2tpdC0xLjEKb2NhbWwtamFiYnItMC4wLjIwMDIxMTI0Cm9jYW1sLWxhYmxnbC0wLjk5Cm9j
YW1sLWxhYmxndGstMS4yLjUKb2NhbWwteWF4cG8tMC4wLjIwMDIwODE2Cm9uZWtvLTIuMGJfMgpv
cGVuLW1vdGlmLTIuMi4yXzEKb3BlbmxkYXAtY2xpZW50LTIuMS4yMgpwNS1BdXRoZW4tU0FTTC0y
LjA0CnA1LURhdGUtTWFuaXAtNS40MgpwNS1EaWdlc3QtTUQ1LTIuMjcKcDUtRmluYW5jZS1RdW90
ZS0xLjA3CnA1LUZpbmFuY2UtUXVvdGVIaXN0LTAuMzEKcDUtSFRNTC0wLjYKcDUtSFRNTC1QYXJz
ZXItMy4zMQpwNS1IVE1MLVRhYmxlRXh0cmFjdC0xLjA4CnA1LUhUTUwtVGFnc2V0LTMuMDMKcDUt
TUlNRS1CYXNlNjQtMi4yMApwNS1OZXQtMS4xNiwxCnA1LU9wZW5HTC0wLjU0CnA1LVRpbWUtSGlS
ZXMtMS41MSwxCnA1LVVSSS0xLjI1CnA1LWxpYnd3dy01LjY5CnA1LXR5cGUxaW5zdC0wLjYuMQpw
YW5nby0xLjIuNQpwY3JlLTQuNApwZmFlZGl0LTIwMDMwOTA0CnBpbG90LWxpbmstMC4xMS43XzIK
cGtnY29uZmlnLTAuMTUuMApwbG90dXRpbHMtMi40LjEKcG5nLTEuMi41XzIKcG9wdC0xLjYuNF8x
CnBzdG9lZGl0LTMuMzNfMQpweTIzLXRraW50ZXItMi4zLjJfMQpweXRob24tMi4zLjIKcXQtMy4y
LjEKcXVhbnRhLTMuMS40LDIKcmNfc3Vici0xLjE2CnJwbS0zLjAuNl84CnNhbWJhLWxpYnNtYmNs
aWVudC0zLjAuMApzY3JvbGxrZWVwZXItMC4zLjEyXzIsMQpzZGwtMS4yLjVfMgpzZG9jYm9vay14
bWwtNC4xLjIuNV8xCnNsaWItMmQ1XzEKc291cC0wLjcuMTEKc3RhcnR1cC1ub3RpZmljYXRpb24t
MC41XzEKc3ZnYWxpYi0xLjQuM18xCnN5bHBoZWVkLWd0azItMC45LjUuMjAwMzA5MDYKdDFsaWIt
NS4wLjAKdDF1dGlscy0xLjI1CnRjbC04LjMuNV8yCnRjbC04LjQuNF8xLDEKdGVUZVgtMi4wLjJf
Mgp0aWZmLTMuNi4wCnRpbWlkaXR5KystZ3RrLTIuMTEuMwp0aW1pZGl0eS0wLjJpCnRrLTguMy41
XzIKdGstOC40LjQsMQp0dG1rZmRpci0wLjBfMQp1bnJhci0zLjIwLDIKdW56aXAtNS41MF8yCnV1
bGliLTAuNS4xOAp2aW0tNi4yLjcyCnZvcmJpcy10b29scy0xLjBfNCwzCndhdnBsYXktMS40Cndl
YmZvbnRzLTAuMjFfMQp3Z2V0LTEuOC4yXzUKd2luMzItY29kZWNzLTIuMC45MCwxCndpbmRvd21h
a2VyLTAuODAuMl8xCndpbmUtMjAwMzEwMTYKd21jbGlwaGlzdC0wLjUKd21pY29ucy0xLjAKd21t
aW5pY2hlc3MtMC44CndyYXBwZXItMS4wXzMKd3hndGstMi40LjJfMQp4YW5pbS0yLjkyLjAKeGNk
cm9hc3QtMC45OC5hLjE0CnhjaGF0Mi0yLjAuNV8xCnhmY2UtNC4wLjAKeGZjZTQtZGVza3RvcC00
LjAuMF8xCnhmY2U0LWZtLTQuMC4wXzEKeGZjZTQtZm0taWNvbnMtNC4wLjAKeGZjZTQtaWNvbmJv
eC00LjAuMF8xCnhmY2U0LW1jcy1tYW5hZ2VyLTQuMC4wXzEKeGZjZTQtbWNzLXBsdWdpbnMtNC4w
LjBfMQp4ZmNlNC1taXhlci00LjAuMF8xCnhmY2U0LXBhbmVsLTQuMC4wXzEKeGZjZTQtcGFuZWwt
dGhlbWVzLTQuMC4wCnhmY2U0LXByaW50LTQuMC4wXzEKeGZjZTQtc3lzdHJheS00LjAuMF8xCnhm
Y2U0LXRveXMtNC4wLjBfMQp4ZmNlNC11dGlscy00LjAuMF8xCnhmY2U0LXdtLTQuMC4wXzEKeGZj
ZTQtd20tdGhlbWVzLTQuMC4wCnhmb3Jtcy0xLjBfMywxCnhtbGNhdG1nci0xLjEKeG1tcy1hdmkt
MS4yLjMKeG1tcy1jZHJlYWQtMC4xNGEKeG1tcy1lc291bmQtMS4yLjhfMQp4bW1zLW11c2VwYWNr
LTEuOC4wCnhtbXMtc25kc3RyZXRjaC0wLjUKeG11bGUtMS42LjAKemlwLTIuM18xCg==

--Multipart_Tue__28_Oct_2003_00_45_37_-0200_08340a00--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031028004537.560aa8c7.fallenbr>