Subject: Re: IBM Auto 16/4 Token Ring PC Card and 535E
To: Wada Keiji <keiji@hiemalis.org>
From: Claus Andersen <clan@wheel.dk>
List: port-i386
Date: 08/21/2001 09:55:35
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-2004902223-998380535=:52503
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Mon, 20 Aug 2001, Wada Keiji wrote:

> And I tried a Turbo Token Ring, but I have the same problem.

Mine probes as follows:
tr0 at pcmcia1 function 0 port 0x400-0x403: IBM Token Ring 4/16
tr0: address 00:20:35:c1:d5:21 ring speed 16 Mbps

Later on it gives an error but it _works_ fine.
TR0: adapter check 0xffff
tr0: adapter error, ISRP_e = 0xff

That might be because I'm still using and old 1.4Z on my laptop. I am
however using 1.5.1 with some TokenRing ISA adapters without such a
message.

NetBSD mycomputer 1.4ZD NetBSD 1.4ZD (FLAF) #15: Sat Jun 17 11:46:20 CEST 2000
root@flaf:/usr/src/sys/arch/i386/compile/FLAF i386

A friend of mine was working on integrating this code and he originally
helped me getting this machine running. As I remember we explicitly
disabled Cardbus as it gave us some problems on this machine at least.

I have attached my kernel config and full dmesg for your leisure :-)

> I think my kernel has a bad configuration.
> I added below line to GENERIC and make kernel. Is this right?
>
> tr*   at pcmcia? function ?           # IBM TROPIC based Token-Ring

I would say yes. But with your dmesg I'd say that it is a question of
freeing more sram as the TROPIC card uses a lot.

Kind Regards,
Claus Andersen

--0-2004902223-998380535=:52503
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="dmesg.boot"
Content-Transfer-Encoding: BASE64
Content-ID: <20010821095535.Q52503@freesbee.wheel.dk>
Content-Description: dmesg
Content-Disposition: attachment; filename="dmesg.boot"

TmV0QlNEIDEuNFpEIChGTEFGKSAjMTU6IFNhdCBKdW4gMTcgMTE6NDY6MjAg
Q0VTVCAyMDAwDQogICAgcm9vdEBmbGFmOi91c3Ivc3JjL3N5cy9hcmNoL2kz
ODYvY29tcGlsZS9GTEFGDQpjcHUwOiBmYW1pbHkgNiBtb2RlbCA1IHN0ZXAg
Mg0KY3B1MDogSW50ZWwgUGVudGl1bSBJSSAoRGVzY2h1dGVzKSAoNjg2LWNs
YXNzKQ0KdG90YWwgbWVtb3J5ID0gMjU1IE1CDQphdmFpbCBtZW1vcnkgPSAx
OTUgTUINCnVzaW5nIDQ4NzAgYnVmZmVycyBjb250YWluaW5nIDUyMjQwIEtC
IG9mIG1lbW9yeQ0KQklPUzMyIHJldi4gMCBmb3VuZCBhdCAweGZkODIwDQpQ
Q0kgQklPUyByZXYuIDIuMSBmb3VuZCBhdCAweGZkODgwDQpQQ0kgSVJRIFJv
dXRpbmcgVGFibGUgcmV2LiAxLjAgZm91bmQgYXQgMHhmOWZhMCwgc2l6ZSAx
MTIgYnl0ZXMgKDUgZW50cmllcykNClBDSSBJbnRlcnJ1cHQgUm91dGVyIGF0
IDAwMDowNzowDQpQQ0kgRXhjbHVzaXZlIElSUXM6IDExDQptYWluYnVzMCAo
cm9vdCkNCnBucGJpb3MwIGF0IG1haW5idXMwOiBjb2RlIGYwMDAwLCBkYXRh
IGYwMDAwLCBlbnRyeSBlNzI0LCBjb250cm9sIDEgZXZlbnRwIDQxNQ0KcG5w
YmlvczA6IG5vZGVzIDIzLCBtYXggbGVuIDk4MA0KcG5wYmlvczA6IG5vdCBk
b2NrZWQNClBOUDAwMDAgKGlvIDIwLTIxIGEwLWExLCBpcnEgMikgYXQgcG5w
YmlvczAgaW5kZXggMCBpZ25vcmVkDQpQTlAwMjAwIChpbyAwLWYgODAtOGYg
YzAtZGYsIGRtYSA0KSBhdCBwbnBiaW9zMCBpbmRleCAxIGlnbm9yZWQNClBO
UDAxMDAgKGlvIDQwLTQzLCBpcnEgMCkgYXQgcG5wYmlvczAgaW5kZXggMiBp
Z25vcmVkDQpQTlAwQjAwIChpbyA3MC03MywgaXJxIDgpIGF0IHBucGJpb3Mw
IGluZGV4IDMgaWdub3JlZA0KUE5QMDgwMCAoaW8gNjEpIGF0IHBucGJpb3Mw
IGluZGV4IDQgaWdub3JlZA0KcGNrYmMwIGF0IHBucGJpb3MwIGluZGV4IDUg
KFBOUDAzMDMpOiBrYmQgcG9ydA0KcGNrYmMxIGF0IHBucGJpb3MwIGluZGV4
IDYgKElCTTM3ODAsIGF0dGFjaGVkIGFzIFBOUDBGMTMpOiBhdXggcG9ydA0K
cGNrYmQwIGF0IHBja2JjMCAoa2JkIHNsb3QpDQpwY2tiYzA6IHVzaW5nIGly
cSAxIGZvciBrYmQgc2xvdA0Kd3NrYmQwIGF0IHBja2JkMDogY29uc29sZSBr
ZXlib2FyZA0KcG1zMCBhdCBwY2tiYzAgKGF1eCBzbG90KQ0KcGNrYmMwOiB1
c2luZyBpcnEgMTIgZm9yIGF1eCBzbG90DQp3c21vdXNlMCBhdCBwbXMwIG11
eCAwDQpQTlAwQzA0IChpbyBmMC1mZiwgaXJxIDEzKSBhdCBwbnBiaW9zMCBp
bmRleCA3IGlnbm9yZWQNClBOUDA3MDAgKGlvIDNmMC0zZjUsIGlycSA2LCBk
bWEgMikgYXQgcG5wYmlvczAgaW5kZXggOCBpZ25vcmVkDQpQTlAwQTAzIChp
byBjZjgtY2ZmKSBhdCBwbnBiaW9zMCBpbmRleCA5IGlnbm9yZWQNClBOUDBD
MDIgKG1lbSAwLTlmZmZmIGYwMDAwLWZmZmZmIDEwMDAwMC1mZmZmZmZmIGZm
ZmYwMDAwLWZmZmZmZmZmLCBpbyAyMiAyZS0yZiA5MiBiMi1iMyA0ZDAtNGQx
IDE1ZTAtMTVlZiBlZjAwLWVmYWYpIGF0IHBucGJpb3MwIGluZGV4IDEwIGln
bm9yZWQNCmxwdDAgYXQgcG5wYmlvczAgaW5kZXggMTEgKFBOUDA0MDApDQps
cHQwOiBpbyAzYmMtM2JmLCBpcnEgNw0KUE5QMDUwMSBhdCBwbnBiaW9zMCBp
bmRleCAxMyBkaXNhYmxlZA0Kd3NzMCBhdCBwbnBiaW9zMCBpbmRleCAxNCAo
Q1NDMDEwMCkNCndzczA6IGlvIDUzMC01MzcgMzg4LTM4YiAyMjAtMjMzLCBp
cnEgNSwgZG1hIDEgMA0Kd3NzMDogQ1M0MjM2QiBjb21wYXRpYmxlDQphdWRp
bzAgYXQgd3NzMDogZnVsbCBkdXBsZXgsIG1tYXANCm9wbDAgYXQgd3NzMDog
bW9kZWwgT1BMMw0KbWlkaTAgYXQgb3BsMDogV1NTIFlhbWFoYSBPUEwzDQpD
U0MwMTEwLCBDU0MwMTEwIChpbyA1MzgtNTNmKSBhdCBwbnBiaW9zMCBpbmRl
eCAxNSBpZ25vcmVkDQpDU0MwMTAxLCBQTlBCMDJGIChpbyAyMDAtMjA3KSBh
dCBwbnBiaW9zMCBpbmRleCAxNiBpZ25vcmVkDQpDU0MwMTAzLCBDU0MwMTAz
IGF0IHBucGJpb3MwIGluZGV4IDE3IGRpc2FibGVkDQpJQk0zNzY1IChpbyAx
MzAtMTNmIDJmOC0yZmYsIGlycSAzIDEwLCBkbWEgNykgYXQgcG5wYmlvczAg
aW5kZXggMTggaWdub3JlZA0KY29tMCBhdCBwbnBiaW9zMCBpbmRleCAxOSAo
SUJNMDA3MSwgYXR0YWNoZWQgYXMgUE5QMDUxMSkNCmNvbTA6IGlvIDNmOC0z
ZmYsIGlycSA0LCBkbWEgMw0KY29tMDogbnMxNjU1MGEsIHdvcmtpbmcgZmlm
bw0KUE5QMEUwMywgUE5QMEUwMCAoaW8gM2UwLTNlMSkgYXQgcG5wYmlvczAg
aW5kZXggMjAgaWdub3JlZA0KUE5QMDY4MCwgUE5QMDYwMCAoaW8gMWYwLTFm
NyAzZjYtM2Y3IGZjZjAtZmNmNywgaXJxIDE0KSBhdCBwbnBiaW9zMCBpbmRl
eCAyMyBpZ25vcmVkDQpQTlAwNjgwLCBQTlAwNjAwIChpbyAxNzAtMTc3IDM3
NiBmY2Y4LWZjZmYsIGlycSAxNSkgYXQgcG5wYmlvczAgaW5kZXggMjUgaWdu
b3JlZA0KUE5QMEMwMiAoaW8gMjEwMC0yMTdmIDIxODAtMjFmZikgYXQgcG5w
YmlvczAgaW5kZXggMjcgaWdub3JlZA0KcGNpMCBhdCBtYWluYnVzMCBidXMg
MDogY29uZmlndXJhdGlvbiBtb2RlIDENCnBjaTA6IGkvbyBzcGFjZSwgbWVt
b3J5IHNwYWNlIGVuYWJsZWQNCnBjaGIwIGF0IHBjaTAgZGV2IDAgZnVuY3Rp
b24gMA0KcGNoYjA6IEludGVsIDgyNDQzQlggSG9zdCBCcmlkZ2UvQ29udHJv
bGxlciAocmV2LiAweDAyKQ0KcHBiMCBhdCBwY2kwIGRldiAxIGZ1bmN0aW9u
IDA6IEludGVsIDgyNDQzQlggQUdQIEludGVyZmFjZSAocmV2LiAweDAyKQ0K
cGNpMSBhdCBwcGIwIGJ1cyAxDQpwY2kxOiBpL28gc3BhY2UsIG1lbW9yeSBz
cGFjZSBlbmFibGVkDQp2Z2EwIGF0IHBjaTEgZGV2IDAgZnVuY3Rpb24gMDog
VHJpZGVudCBNaWNyb3N5c3RlbXMgQ1lCRVIgOTM5N0RWRCAocmV2LiAweGYz
KQ0Kd3NkaXNwbGF5MCBhdCB2Z2EwOiBjb25zb2xlICg4MHgyNSwgdnQxMDAg
ZW11bGF0aW9uKSwgdXNpbmcgd3NrYmQwDQpUZXhhcyBJbnN0cnVtZW50cyBQ
Q0kxMjUxIFBDSS1DYXJkQnVzIEJyaWRnZSAoQ2FyZEJ1cyBicmlkZ2UpIGF0
IHBjaTAgZGV2IDIgZnVuY3Rpb24gMCBub3QgY29uZmlndXJlZA0KVGV4YXMg
SW5zdHJ1bWVudHMgUENJMTI1MSBQQ0ktQ2FyZEJ1cyBCcmlkZ2UgKENhcmRC
dXMgYnJpZGdlKSBhdCBwY2kwIGRldiAyIGZ1bmN0aW9uIDEgbm90IGNvbmZp
Z3VyZWQNCkNpcnJ1cyBMb2dpYyBDUzQ2MTAgU291bmRGdXNpb24gQXVkaW8g
QWNjZWxlcmF0b3IgKGF1ZGlvIG11bHRpbWVkaWEsIHJldmlzaW9uIDB4MDEp
IGF0IHBjaTAgZGV2IDYgZnVuY3Rpb24gMCBub3QgY29uZmlndXJlZA0KcGNp
YjAgYXQgcGNpMCBkZXYgNyBmdW5jdGlvbiAwDQpwY2liMDogSW50ZWwgODIz
NzFBQiBQQ0ktdG8tSVNBIEJyaWRnZSAoUElJWDQpIChyZXYuIDB4MDIpDQpw
Y2lpZGUwIGF0IHBjaTAgZGV2IDcgZnVuY3Rpb24gMTogSW50ZWwgODIzNzFB
QiBJREUgY29udHJvbGxlciAoUElJWDQpIChyZXYuIDB4MDEpDQpwY2lpZGUw
OiBidXMtbWFzdGVyIERNQSBzdXBwb3J0IHByZXNlbnQNCnBjaWlkZTA6IHBy
aW1hcnkgY2hhbm5lbCB3aXJlZCB0byBjb21wYXRpYmlsaXR5IG1vZGUNCndk
MCBhdCBwY2lpZGUwIGNoYW5uZWwgMCBkcml2ZSAwOiA8SUJNLURZTEEtMjgx
MDA+DQp3ZDA6IGRyaXZlIHN1cHBvcnRzIDE2LXNlY3RvciBwaW8gdHJhbnNm
ZXJzLCBsYmEgYWRkcmVzc2luZw0Kd2QwOiA3ODE1IE1CLCAxNjkzOCBjeWws
IDE1IGhlYWQsIDYzIHNlYywgNTEyIGJ5dGVzL3NlY3QgeCAxNjAwNjQxMCBz
ZWN0b3JzDQp3ZDA6IDMyLWJpdCBkYXRhIHBvcnQNCndkMDogZHJpdmUgc3Vw
cG9ydHMgUElPIG1vZGUgNCwgRE1BIG1vZGUgMiwgVWx0cmEtRE1BIG1vZGUg
Mg0KcGNpaWRlMDogcHJpbWFyeSBjaGFubmVsIGludGVycnVwdGluZyBhdCBp
cnEgMTQNCndkMChwY2lpZGUwOjA6MCk6IHVzaW5nIFBJTyBtb2RlIDQsIFVs
dHJhLURNQSBtb2RlIDIgKHVzaW5nIERNQSBkYXRhIHRyYW5zZmVycykNCnBj
aWlkZTA6IHNlY29uZGFyeSBjaGFubmVsIHdpcmVkIHRvIGNvbXBhdGliaWxp
dHkgbW9kZQ0KYXRhcGlidXMwIGF0IHBjaWlkZTAgY2hhbm5lbCAxDQpjZDAg
YXQgYXRhcGlidXMwIGRyaXZlIDA6IDxTQU5ZTyBDUkQtUzM3MkJWLCAsIDEu
MjREVkE+IHR5cGUgNSBjZHJvbSByZW1vdmFibGUNCmNkMDogMzItYml0IGRh
dGEgcG9ydA0KY2QwOiBkcml2ZSBzdXBwb3J0cyBQSU8gbW9kZSA0LCBETUEg
bW9kZSAyDQpwY2lpZGUwOiBzZWNvbmRhcnkgY2hhbm5lbCBpbnRlcnJ1cHRp
bmcgYXQgaXJxIDE1DQpjZDAocGNpaWRlMDoxOjApOiB1c2luZyBQSU8gbW9k
ZSA0LCBETUEgbW9kZSAyICh1c2luZyBETUEgZGF0YSB0cmFuc2ZlcnMpDQp1
aGNpMCBhdCBwY2kwIGRldiA3IGZ1bmN0aW9uIDI6IEludGVsIDgyMzcxQUIg
VVNCIEhvc3QgQ29udHJvbGxlciAoUElJWDQpIChyZXYuIDB4MDEpDQp1aGNp
MDogaW50ZXJydXB0aW5nIGF0IGlycSAxMQ0KdXNiIGF0IHVoY2kwIG5vdCBj
b25maWd1cmVkDQpJbnRlbCA4MjM3MUFCIFBvd2VyIE1hbmFnZW1lbnQgQ29u
dHJvbGxlciAoUElJWDQpIChtaXNjZWxsYW5lb3VzIGJyaWRnZSwgcmV2aXNp
b24gMHgwMikgYXQgcGNpMCBkZXYgNyBmdW5jdGlvbiAzIG5vdCBjb25maWd1
cmVkDQppc2EwIGF0IHBjaWIwDQpwY3BwaTAgYXQgaXNhMCBwb3J0IDB4NjEN
CnNwa3IwIGF0IHBjcHBpMA0Kc3lzYmVlcDAgYXQgcGNwcGkwDQppc2FwbnAw
IGF0IGlzYTAgcG9ydCAweDI3OTogSVNBIFBsdWcgJ24gUGxheSBkZXZpY2Ug
c3VwcG9ydA0KbnB4MCBhdCBpc2EwIHBvcnQgMHhmMC0weGZmOiB1c2luZyBl
eGNlcHRpb24gMTYNCmZkYzAgYXQgaXNhMCBwb3J0IDB4M2YwLTB4M2Y3IGly
cSA2IGRycSAyDQpwY2ljMCBhdCBpc2EwIHBvcnQgMHgzZTAtMHgzZTEgaW9t
ZW0gMHhkMDAwMC0weGRmZmZmDQpwY2ljMDogY29udHJvbGxlciAwIChJbnRl
bCA4MjM2NVNMIFJldmlzaW9uIDEpIGhhcyBzb2NrZXRzIEEgYW5kIEINCnBj
aWMwOiBjb250cm9sbGVyIDEgKEludGVsIDgyMzY1U0wgUmV2aXNpb24gMSkg
aGFzIG5vIHNvY2tldHMNCnBjbWNpYTAgYXQgcGNpYzAgY29udHJvbGxlciAw
IHNvY2tldCAwDQpwY21jaWExIGF0IHBjaWMwIGNvbnRyb2xsZXIgMCBzb2Nr
ZXQgMQ0KaXNhcG5wMDogbm8gSVNBIFBsdWcgJ24gUGxheSBkZXZpY2VzIGZv
dW5kDQphcG0wIGF0IG1haW5idXMwOiBQb3dlciBNYW5hZ2VtZW50IHNwZWMg
VjEuMg0KYmlvbWFzayBlZjRkIG5ldG1hc2sgZWY0ZCB0dHltYXNrIGZmY2YN
CnBjaWMwOiBjb250cm9sbGVyIDAgZGV0ZWN0aW5nIGlycXMgd2l0aCBtYXNr
IDB4ZGViODouLjMuLjkuLjEwDQpwY2ljMDogdXNpbmcgaXJxIDMgZm9yIHNv
Y2tldCBldmVudHMNCnRyMCBhdCBwY21jaWExIGZ1bmN0aW9uIDAgcG9ydCAw
eDQwMC0weDQwMzogSUJNIFRva2VuIFJpbmcgNC8xNg0KdHIwOiBhZGRyZXNz
IDAwOjIwOjM1OmMxOmQ1OjIxIHJpbmcgc3BlZWQgMTYgTWJwcw0KYm9vdCBk
ZXZpY2U6IHdkMA0Kcm9vdCBvbiB3ZDBhIGR1bXBzIG9uIHdkMGINCnJvb3Qg
ZmlsZSBzeXN0ZW0gdHlwZTogZmZzDQpwY21jaWExOiBjYXJkIGlycSA5DQp0
cjA6IGFkYXB0ZXIgY2hlY2sgMHhmZmZmDQp0cjA6IGFkYXB0ZXIgZXJyb3Is
IElTUlBfZSA9IDB4ZmYNCndzZGlzcGxheTA6IHNjcmVlbiAxIGFkZGVkICg4
MHgyNSwgdnQxMDAgZW11bGF0aW9uKQ0Kd3NkaXNwbGF5MDogc2NyZWVuIDIg
YWRkZWQgKDgweDI1LCB2dDEwMCBlbXVsYXRpb24pDQp3c2Rpc3BsYXkwOiBz
Y3JlZW4gMyBhZGRlZCAoODB4NTAsIHZ0MTAwIGVtdWxhdGlvbikNCndzZGlz
cGxheTA6IHNjcmVlbiA0IGFkZGVkICg4MHgyNSwgdnQxMDAgZW11bGF0aW9u
KQ0Kd3NtdXgxOiBjb25uZWN0aW5nIHRvIHdzZGlzcGxheTANCg==
--0-2004902223-998380535=:52503
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=FLAF
Content-Transfer-Encoding: BASE64
Content-ID: <20010821095535.M52503@freesbee.wheel.dk>
Content-Description: Kernel config
Content-Disposition: attachment; filename=FLAF

IwkkTmV0QlNEOiBHRU5FUklDLHYgMS4zNDcgMjAwMC8wNi8wMSAwNDoyNDow
MSBkYXZpZCBFeHAgJA0KIw0KIwlHRU5FUklDIC0tIGV2ZXJ5dGhpbmcgdGhh
dCdzIGN1cnJlbnRseSBzdXBwb3J0ZWQNCiMNCg0KaW5jbHVkZSAiYXJjaC9p
Mzg2L2NvbmYvc3RkLmkzODYiDQoNCiNpZGVudCAJCSJHRU5FUklDLSRSZXZp
c2lvbjogMS4zNDcgJCINCg0KbWF4dXNlcnMJMzIJCSMgZXN0aW1hdGVkIG51
bWJlciBvZiB1c2Vycw0KDQpvcHRpb25zIAlCVUZDQUNIRT0yMA0KDQojIENQ
VSBzdXBwb3J0LiAgQXQgbGVhc3Qgb25lIGlzIFJFUVVJUkVELg0KI29wdGlv
bnMgCUkzODZfQ1BVDQojb3B0aW9ucyAJSTQ4Nl9DUFUNCm9wdGlvbnMgCUk1
ODZfQ1BVDQpvcHRpb25zIAlJNjg2X0NQVQ0KDQojIENQVS1yZWxhdGVkIG9w
dGlvbnMuDQojb3B0aW9ucyAJTUFUSF9FTVVMQVRFCSMgZmxvYXRpbmcgcG9p
bnQgZW11bGF0aW9uDQpvcHRpb25zIAlWTTg2CQkjIHZpcnR1YWwgODA4NiBl
bXVsYXRpb24NCm9wdGlvbnMgCVVTRVJfTERUCSMgdXNlci1zZXR0YWJsZSBM
RFQ7IHVzZWQgYnkgV0lORQ0KIyBlbGltaW5hdGUgZGVsYXkgbm8tb3BzIGlu
IEkvTzsgcmVjb21tZW5kZWQgb24gYWxsIGJ1dCB2ZXJ5IG9sZCBtYWNoaW5l
cw0Kb3B0aW9ucyAJRFVNTVlfTk9QUw0KDQojIGRlbGF5IGJldHdlZW4gInJl
Ym9vdGluZyAuLi4iIG1lc3NhZ2UgYW5kIGhhcmR3YXJlIHJlc2V0LCBpbiBt
aWxsaXNlY29uZHMNCiNvcHRpb25zIAlDUFVSRVNFVF9ERUxBWT0yMDAwDQoN
CiMgVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBmb3JjZSBhIHNlcmlhbCBj
b25zb2xlIGF0IHRoZSBzcGVjaWZpZWQNCiMgSS9PIGFkZHJlc3MuICAgc2Vl
IGNvbnNvbGUoNCkgZm9yIGRldGFpbHMuDQojb3B0aW9ucyAJIkNPTlNERVZO
QU1FPVwiY29tXCIiLENPTkFERFI9MHgyZjgsQ09OU1BFRUQ9NTc2MDANCiMJ
eW91IGRvbid0IHdhbnQgdGhlIG9wdGlvbiBiZWxvdyBPTiBpZmYgeW91IGFy
ZSB1c2luZyB0aGUNCiMJc2VyaWFsIGNvbnNvbGUgb3B0aW9uIG9mIHRoZSBu
ZXcgYm9vdCBzdHJhcCBjb2RlLg0KI29wdGlvbnMgCUNPTlNfT1ZFUlJJREUJ
IyBBbHdheXMgdXNlIGFib3ZlISBpbmRlcGVuZGVudCBvZiBib290IGluZm8N
Cg0KIyBUaGUgZm9sbG93aW5nIG9wdGlvbnMgb3ZlcnJpZGUgdGhlIG1lbW9y
eSBzaXplcyBwYXNzZWQgaW4gZnJvbSB0aGUgYm9vdA0KIyBibG9jay4gIFVz
ZSB0aGVtICpvbmx5KiBpZiB0aGUgYm9vdCBibG9jayBpcyB1bmFibGUgdG8g
ZGV0ZXJtaW5lIHRoZSBjb3JyZWN0DQojIHZhbHVlcy4gIE5vdGUgdGhhdCB0
aGUgQklPUyBtYXkgKmNvcnJlY3RseSogcmVwb3J0IGxlc3MgdGhhbiA2NDBr
IG9mIGJhc2UNCiMgbWVtb3J5IGlmIHRoZSBleHRlbmRlZCBCSU9TIGRhdGEg
YXJlYSBpcyBsb2NhdGVkIGF0IHRoZSB0b3Agb2YgYmFzZSBtZW1vcnkNCiMg
KGFzIGlzIHRoZSBjYXNlIG9uIG1vc3QgcmVjZW50IHN5c3RlbXMpLg0KI29w
dGlvbnMgCVJFQUxCQVNFTUVNPTYzOQkJIyBzaXplIG9mIGJhc2UgbWVtb3J5
IChpbiBLQikNCiNvcHRpb25zIAlSRUFMRVhUTUVNPTE1MzYwCSMgc2l6ZSBv
ZiBleHRlbmRlZCBtZW1vcnkgKGluIEtCKQ0KDQojIFN0YW5kYXJkIHN5c3Rl
bSBvcHRpb25zDQoNCm9wdGlvbnMgCVVDT05TT0xFCSMgdXNlcnMgY2FuIHVz
ZSBUSU9DQ09OUyAoZm9yIHhjb25zb2xlKQ0Kb3B0aW9ucyAJSU5TRUNVUkUJ
IyBkaXNhYmxlIGtlcm5lbCBzZWN1cml0eSBsZXZlbHMNCg0Kb3B0aW9ucyAJ
UlRDX09GRlNFVD0tNjAJIyBoYXJkd2FyZSBjbG9jayBpcyB0aGlzIG1hbnkg
bWlucy4gd2VzdCBvZiBHTVQNCm9wdGlvbnMgCU5UUAkJIyBOVFAgcGhhc2Uv
ZnJlcXVlbmN5IGxvY2tlZCBsb29wDQoNCm9wdGlvbnMgCUtUUkFDRQkJIyBz
eXN0ZW0gY2FsbCB0cmFjaW5nIHZpYSBrdHJhY2UoMSkNCg0Kb3B0aW9ucyAJ
U1lTVk1TRwkJIyBTeXN0ZW0gVi1saWtlIG1lc3NhZ2UgcXVldWVzDQpvcHRp
b25zIAlTWVNWU0VNCQkjIFN5c3RlbSBWLWxpa2Ugc2VtYXBob3Jlcw0Kb3B0
aW9ucyAJU1lTVlNITQkJIyBTeXN0ZW0gVi1saWtlIG1lbW9yeSBzaGFyaW5n
DQojb3B0aW9ucyAJU0hNTUFYUEdTPTEwMjQJIyAxMDI0IHBhZ2VzIGlzIHRo
ZSBkZWZhdWx0DQoNCm9wdGlvbnMgCUxLTQkJIyBsb2FkYWJsZSBrZXJuZWwg
bW9kdWxlcw0KDQojIERpYWdub3N0aWMvZGVidWdnaW5nIHN1cHBvcnQgb3B0
aW9ucw0Kb3B0aW9ucyAJRElBR05PU1RJQwkjIGNoZWFwIGtlcm5lbCBjb25z
aXN0ZW5jeSBjaGVja3MNCiNvcHRpb25zIAlERUJVRwkJIyBleHBlbnNpdmUg
ZGVidWdnaW5nIGNoZWNrcy9zdXBwb3J0DQojb3B0aW9ucyAJS01FTVNUQVRT
CSMga2VybmVsIG1lbW9yeSBzdGF0aXN0aWNzICh2bXN0YXQgLW0pDQpvcHRp
b25zIAlEREIJCSMgaW4ta2VybmVsIGRlYnVnZ2VyDQojb3B0aW9ucyAJRERC
X0hJU1RPUllfU0laRT0xMDAJIyBlbmFibGUgaGlzdG9yeSBlZGl0aW5nIGlu
IEREQg0KI29wdGlvbnMgCUtHREIJCSMgcmVtb3RlIGRlYnVnZ2VyDQojb3B0
aW9ucyAJIktHREJfREVWTkFNRT1cImNvbVwiIixLR0RCQUREUj0weDNmOCxL
R0RCUkFURT05NjAwDQojbWFrZW9wdGlvbnMJREVCVUc9Ii1nIgkjIGNvbXBp
bGUgZnVsbCBzeW1ib2wgdGFibGUNCg0KIyBDb21wYXRpYmlsaXR5IG9wdGlv
bnMNCm9wdGlvbnMgCUNPTVBBVF9OT01JRAkjIGNvbXBhdGliaWxpdHkgd2l0
aCAzODZCU0QsIEJTREksIE5ldEJTRCAwLjgsDQojb3B0aW9ucyAJQ09NUEFU
XzA5CSMgTmV0QlNEIDAuOSwNCiNvcHRpb25zIAlDT01QQVRfMTAJIyBOZXRC
U0QgMS4wLA0KI29wdGlvbnMgCUNPTVBBVF8xMQkjIE5ldEJTRCAxLjEsDQoj
b3B0aW9ucyAJQ09NUEFUXzEyCSMgTmV0QlNEIDEuMiwNCiNvcHRpb25zIAlD
T01QQVRfMTMJIyBOZXRCU0QgMS4zLA0Kb3B0aW9ucyAJQ09NUEFUXzE0CSMg
TmV0QlNEIDEuNCwNCm9wdGlvbnMgCUNPTVBBVF80MwkjIGFuZCA0LjNCU0QN
Cm9wdGlvbnMgCUNPTVBBVF8zODZCU0RfTUJSUEFSVCAjIHJlY29nbml6ZSBv
bGQgcGFydGl0aW9uIElEDQoNCm9wdGlvbnMgCUNPTVBBVF9TVlI0CSMgYmlu
YXJ5IGNvbXBhdGliaWxpdHkgd2l0aCBTVlI0DQpvcHRpb25zIAlDT01QQVRf
SUJDUzIJIyBiaW5hcnkgY29tcGF0aWJpbGl0eSB3aXRoIFNDTyBhbmQgSVND
DQpvcHRpb25zIAlDT01QQVRfTElOVVgJIyBiaW5hcnkgY29tcGF0aWJpbGl0
eSB3aXRoIExpbnV4DQpvcHRpb25zIAlDT01QQVRfRlJFRUJTRAkjIGJpbmFy
eSBjb21wYXRpYmlsaXR5IHdpdGggRnJlZUJTRA0KDQpvcHRpb25zIAlDT01Q
QVRfQU9VVAkjIGJpbmFyeSBjb21wYXQgZm9yIE5ldEJTRCBhLm91dCBiaW5h
cmllcw0KI29wdGlvbnMgCUNPTVBBVF9QRUNPRkYNCg0KIyBGaWxlIHN5c3Rl
bXMNCmZpbGUtc3lzdGVtIAlGRlMJCSMgVUZTDQpmaWxlLXN5c3RlbSAJRVhU
MkZTCQkjIHNlY29uZCBleHRlbmRlZCBmaWxlIHN5c3RlbSAobGludXgpDQpm
aWxlLXN5c3RlbSAJTEZTCQkjIGxvZy1zdHJ1Y3R1cmVkIGZpbGUgc3lzdGVt
DQpmaWxlLXN5c3RlbSAJTUZTCQkjIG1lbW9yeSBmaWxlIHN5c3RlbQ0KZmls
ZS1zeXN0ZW0gCU5GUwkJIyBOZXR3b3JrIEZpbGUgU3lzdGVtIGNsaWVudA0K
ZmlsZS1zeXN0ZW0gCU5URlMJCSMgV2luZG93cy9OVCBmaWxlIHN5c3RlbSAo
ZXhwZXJpbWVudGFsKQ0KZmlsZS1zeXN0ZW0gCUNEOTY2MAkJIyBJU08gOTY2
MCArIFJvY2sgUmlkZ2UgZmlsZSBzeXN0ZW0NCmZpbGUtc3lzdGVtIAlNU0RP
U0ZTCQkjIE1TLURPUyBmaWxlIHN5c3RlbQ0KZmlsZS1zeXN0ZW0gCUZERVND
CQkjIC9kZXYvZmQNCmZpbGUtc3lzdGVtIAlLRVJORlMJCSMgL2tlcm4NCmZp
bGUtc3lzdGVtIAlOVUxMRlMJCSMgbG9vcGJhY2sgZmlsZSBzeXN0ZW0NCmZp
bGUtc3lzdGVtIAlPVkVSTEFZCQkjIG92ZXJsYXkgZmlsZSBzeXN0ZW0NCmZp
bGUtc3lzdGVtIAlQT1JUQUwJCSMgcG9ydGFsIGZpbGVzeXN0ZW0gKHN0aWxs
IGV4cGVyaW1lbnRhbCkNCmZpbGUtc3lzdGVtIAlQUk9DRlMJCSMgL3Byb2MN
CmZpbGUtc3lzdGVtIAlVTUFQRlMJCSMgTlVMTEZTICsgdWlkIGFuZCBnaWQg
cmVtYXBwaW5nDQpmaWxlLXN5c3RlbSAJVU5JT04JCSMgdW5pb24gZmlsZSBz
eXN0ZW0NCiNmaWxlLXN5c3RlbQlDT0RBCQkjIENvZGEgRmlsZSBTeXN0ZW07
IGFsc28gbmVlZHMgdmNvZGEgKGJlbG93KQ0KDQojIEZpbGUgc3lzdGVtIG9w
dGlvbnMNCm9wdGlvbnMgCVFVT1RBCQkjIFVGUyBxdW90YXMNCiNvcHRpb25z
IAlGRlNfRUkJCSMgRkZTIEVuZGlhbiBJbmRlcGVuZGVudCBzdXBwb3J0DQpv
cHRpb25zIAlTT0ZUREVQICAgICAgICAgIyBGRlMgc29mdCB1cGRhdGVzIHN1
cHBvcnQuDQpvcHRpb25zIAlORlNTRVJWRVIJIyBOZXR3b3JrIEZpbGUgU3lz
dGVtIHNlcnZlcg0KI29wdGlvbnMgCUVYVDJGU19TWVNURU1fRkxBR1MgIyBt
YWtlcyBleHQyZnMgZmlsZSBmbGFncyAoYXBwZW5kIGFuZA0KCQkJCSMgaW1t
dXRhYmxlKSBiZWhhdmUgYXMgc3lzdGVtIGZsYWdzLg0KDQojIFB1bGwgaW4g
Y29uZmlnIGZyYWdtZW50cyBmb3Iga2VybmVsIGNyeXB0by4gIFRoaXMgaXMg
cmVxdWlyZWQgZm9yDQojIG9wdGlvbnMgSVBTRUMgZXRjLiB0byB3b3JrLiBJ
ZiB5b3Ugd2FudCB0byBydW4gd2l0aCBJUFNFQywgdW5jb21tZW50DQojIG9u
ZSBvZiB0aGVzZSwgYmFzZWQgb24gd2hldGhlciB5b3UgdXNlIGNyeXB0by11
cyBvciBjcnlwdG8taW50bCwgYW5kDQojIGFkanVzdCB0aGUgcHJlZml4ZXMg
YXMgbmVjZXNzYXJ5Lg0KDQojcHJlZml4IC4uL2NyeXB0by11cy9zeXMNCiNj
aW5jbHVkZSAiY29uZi9maWxlcy5jcnlwdG8tdXMiDQojcHJlZml4DQoNCiNw
cmVmaXggLi4vY3J5cHRvLWludGwvc3lzDQojY2luY2x1ZGUgImNvbmYvZmls
ZXMuY3J5cHRvLWludGwiDQojcHJlZml4DQoNCiMgTmV0d29ya2luZyBvcHRp
b25zDQojb3B0aW9ucyAJR0FURVdBWQkJIyBwYWNrZXQgZm9yd2FyZGluZw0K
b3B0aW9ucyAJSU5FVAkJIyBJUCArIElDTVAgKyBUQ1AgKyBVRFANCiNvcHRp
b25zIAlJTkVUNgkJIyBJUFY2DQojb3B0aW9ucyAJSVBTRUMJCSMgSVAgc2Vj
dXJpdHkNCiNvcHRpb25zIAlJUFNFQ19FU1AJIyBJUCBzZWN1cml0eSAoZW5j
cnlwdGlvbiBwYXJ0OyBkZWZpbmUgdy9JUFNFQykNCiNvcHRpb25zIAlJUFNF
Q19ERUJVRwkjIGRlYnVnIGZvciBJUCBzZWN1cml0eQ0KI29wdGlvbnMgCU1S
T1VUSU5HCSMgSVAgbXVsdGljYXN0IHJvdXRpbmcNCiNvcHRpb25zIAlOUwkJ
IyBYTlMNCiNvcHRpb25zIAlOU0lQCQkjIFhOUyB0dW5uZWxpbmcgb3ZlciBJ
UA0KI29wdGlvbnMgCUlTTyxUUElQCSMgT1NJDQojb3B0aW9ucyAJQ0NJVFQs
TExDLEhETEMJIyBYLjI1DQojb3B0aW9ucyAJTkVUQVRBTEsJIyBBcHBsZVRh
bGsgbmV0d29ya2luZyBwcm90b2NvbHMNCm9wdGlvbnMgCVBQUF9CU0RDT01Q
CSMgQlNELUNvbXByZXNzIGNvbXByZXNzaW9uIHN1cHBvcnQgZm9yIFBQUA0K
b3B0aW9ucyAJUFBQX0RFRkxBVEUJIyBEZWZsYXRlIGNvbXByZXNzaW9uIHN1
cHBvcnQgZm9yIFBQUA0Kb3B0aW9ucyAJUFBQX0ZJTFRFUgkjIEFjdGl2ZSBm
aWx0ZXIgc3VwcG9ydCBmb3IgUFBQIChyZXF1aXJlcyBicGYpDQpvcHRpb25z
IAlQRklMX0hPT0tTCSMgcGZpbCg5KSBwYWNrZXQgZmlsdGVyIGhvb2tzDQpv
cHRpb25zIAlJUEZJTFRFUl9MT0cJIyBpcG1vbig4KSBsb2cgc3VwcG9ydA0K
DQojIENvbXBhdGliaWxpdHkgd2l0aCA0LjJCU0QgaW1wbGVtZW50YXRpb24g
b2YgVENQL0lQLiAgTm90IHJlY29tbWVuZGVkLg0KI29wdGlvbnMgCVRDUF9D
T01QQVRfNDINCg0KIyBUaGVzZSBvcHRpb25zIGVuYWJsZSB2ZXJib3NlIG1l
c3NhZ2VzIGZvciBzZXZlcmFsIHN1YnN5c3RlbXMuDQojIFdhcm5pbmcsIHRo
ZXNlIG1heSBjb21waWxlIGxhcmdlIHN0cmluZyB0YWJsZXMgaW50byB0aGUg
a2VybmVsIQ0Kb3B0aW9ucyAJRUlTQVZFUkJPU0UJIyB2ZXJib3NlIEVJU0Eg
ZGV2aWNlIGF1dG9jb25maWcgbWVzc2FnZXMNCm9wdGlvbnMgCU1JSVZFUkJP
U0UJIyB2ZXJib3NlIFBIWSBhdXRvY29uZmlnIG1lc3NhZ2VzDQpvcHRpb25z
IAlQQ0lWRVJCT1NFCSMgdmVyYm9zZSBQQ0kgZGV2aWNlIGF1dG9jb25maWcg
bWVzc2FnZXMNCiNvcHRpb25zIAlQQ0lfQ09ORklHX0RVTVAJIyB2ZXJib3Nl
bHkgZHVtcCBQQ0kgY29uZmlnIHNwYWNlDQojb3B0aW9ucyAJUENNQ0lBVkVS
Qk9TRQkjIHZlcmJvc2UgUENNQ0lBIGNvbmZpZ3VyYXRpb24gbWVzc2FnZXMN
Cm9wdGlvbnMgCVNDU0lWRVJCT1NFCSMgaHVtYW4gcmVhZGFibGUgU0NTSSBl
cnJvciBtZXNzYWdlcw0Kb3B0aW9ucyAJVVNCVkVSQk9TRQkjIHZlcmJvc2Ug
VVNCIGRldmljZSBhdXRvY29uZmlnIG1lc3NhZ2VzDQpvcHRpb25zIAlQTlBC
SU9TVkVSQk9TRQkjIHZlcmJvc2UgUG5QIEJJT1MgbWVzc2FnZXMNCiNvcHRp
b25zCVBOUEJJT1NERUJVRwkjIG1vcmUgZnVsbHNvbWUgUG5wIEJJT1MgZGVi
dWdnaW5nIG1lc3NhZ2VzDQpvcHRpb25zIAlORlNfQk9PVF9ESENQLE5GU19C
T09UX0JPT1RQQVJBTQ0KDQojDQojIHdzY29ucyBvcHRpb25zDQojDQojIGJ1
aWx0aW4gdGVybWluYWwgZW11bGF0aW9ucw0KI29wdGlvbnMgCVdTRU1VTF9T
VU4JCSMgc3VuIHRlcm1pbmFsIGVtdWxhdGlvbg0Kb3B0aW9ucyAJV1NFTVVM
X1ZUMTAwCQkjIFZUMTAwIC8gVlQyMjAgZW11bGF0aW9uDQojIGRpZmZlcmVu
dCBrZXJuZWwgb3V0cHV0IC0gc2VlIGRldi93c2NvbnMvd3NkaXNwbGF5dmFy
LmgNCm9wdGlvbnMgCVdTX0tFUk5FTF9GRz1XU0NPTF9HUkVFTg0KI29wdGlv
bnMgCVdTX0tFUk5FTF9CRz1XU0NPTF9CTEFDSw0KIyBjb21wYXRpYmlsaXR5
IHRvIG90aGVyIGNvbnNvbGUgZHJpdmVycw0Kb3B0aW9ucyAJV1NESVNQTEFZ
X0NPTVBBVF9QQ1ZUCQkjIGVtdWxhdGUgc29tZSBpb2N0bHMNCm9wdGlvbnMg
CVdTRElTUExBWV9DT01QQVRfU1lTQ09OUwkjIGVtdWxhdGUgc29tZSBpb2N0
bHMNCm9wdGlvbnMgCVdTRElTUExBWV9DT01QQVRfVVNMCQkjIFZUIGhhbmRs
aW5nDQpvcHRpb25zIAlXU0RJU1BMQVlfQ09NUEFUX1JBV0tCRAkJIyBjYW4g
Z2V0IHJhdyBzY2FuY29kZXMNCiMgc2VlIGRldi9wY2tiYy93c2tiZG1hcF9t
ZmlpLmMgZm9yIGltcGxlbWVudGVkIGxheW91dHMNCiNvcHRpb25zIAlQQ0tC
RF9MQVlPVVQ9IihLQl9ERSB8IEtCX05PREVBRCkiDQojIGFsbG9jYXRlIGEg
bnVtYmVyIG9mIHZpcnR1YWwgc2NyZWVucyBhdCBhdXRvY29uZmlndXJhdGlv
biB0aW1lDQojb3B0aW9ucyAJV1NESVNQTEFZX0RFRkFVTFRTQ1JFRU5TPTQN
CiMgdXNlIGEgbGFyZ2Ugc29mdHdhcmUgY3Vyc29yIHRoYXQgZG9lc24ndCBi
bGluaw0Kb3B0aW9ucyAJUENESVNQTEFZX1NPRlRDVVJTT1INCg0KIyBLZXJu
ZWwgcm9vdCBmaWxlIHN5c3RlbSBhbmQgZHVtcCBjb25maWd1cmF0aW9uLg0K
Y29uZmlnCQluZXRic2QJcm9vdCBvbiA/IHR5cGUgPw0KI2NvbmZpZwkJbmV0
YnNkCXJvb3Qgb24gc2QwYSB0eXBlIGZmcw0KI2NvbmZpZwkJbmV0YnNkCXJv
b3Qgb24gPyB0eXBlIG5mcw0KDQojDQojIERldmljZSBjb25maWd1cmF0aW9u
DQojDQoNCm1haW5idXMwIGF0IHJvb3QNCg0KYXBtMAlhdCBtYWluYnVzMAkJ
CSMgQWR2YW5jZWQgcG93ZXIgbWFuYWdlbWVudA0KDQojIFR1bmluZyBmb3Ig
cG93ZXIgbWFuYWdlbWVudCwgc2VlIGFwbSg0KSBmb3IgbW9yZSBkZXRhaWxz
Lg0KI29wdGlvbnMgCUFQTV9OT19JRExFCQkjIERvbid0IGNhbGwgQklPUyBD
UFUgaWRsZSBmdW5jdGlvbg0KI29wdGlvbnMgCUFQTV9WMTBfT05MWQkJIyBV
c2Ugb25seSB0aGUgQVBNIDEuMCBjYWxscw0KI29wdGlvbnMgCUFQTV9OT19Q
T1dFUk9GRgkJIyBEb24ndCBwb3dlciBvZmYgb24gaGFsdCg4KQ0KI29wdGlv
bnMgCUFQTV9QT1dFUl9QUklOVAkJIyBEb24ndCBwcmludCBzdGF0cyBvbiB0
aGUgY29uc29sZQ0Kb3B0aW9ucyAJQVBNX0RJU0FCTEVfSU5URVJSVVBUUz0w
ICMgRG9uJ3QgZGlzYWJsZSBpbnRlcnJ1cHRzDQoNCg0KIyBCYXNpYyBCdXMg
U3VwcG9ydA0KDQojIFBsdWctYW5kLVBsYXkgQklPUyBhbmQgYXR0YWNoZWQg
ZGV2aWNlcw0KDQpwbnBiaW9zKglhdCBtYWluYnVzPw0KDQojIG1haW5ib2Fy
ZCBhdWRpbyBjaGlwcw0KI2VzcyoJCWF0IHBucGJpb3M/IGluZGV4ID8JIyBF
U1MgQXVkaW9Ecml2ZQ0KI3NiKgkJYXQgcG5wYmlvcz8gaW5kZXggPwkjIE5l
b01hZ2ljIDI1NkFWIGluIHNiIG1vZGUNCndzcyoJCWF0IHBucGJpb3M/IGlu
ZGV4ID8JIyBOZW9NYWdpYyAyNTZBViBpbiB3c3MgbW9kZQ0KI3ltKgkJYXQg
cG5wYmlvcz8gaW5kZXggPwkjIE9QTDMtU0EzDQoNCiMgY29tIHBvcnQNCiMg
SWYgZW5hYmxlZCwgY29uc2lkZXIgY2hhbmdpbmcgImNvbTAiLCAiY29tMSIs
IGFuZCAiY29tMiIgdW5kZXIgIklTQSBTZXJpYWwNCiMgSW50ZXJmYWNlcyIg
dG8gImNvbSoiLCBvdGhlcndpc2UgY29tMiB3aWxsIGF0dGFjaCBhdCBwbnBi
aW9zPyBhbmQgdGhlcmUNCiMgd2lsbCBiZSBubyBjb20wLiAgQSBzaWRlIGVm
ZmVjdCBpcyBwY21jaWEgKGFuZCBvdGhlcikgY29tPyBwcmV2aW91c2x5DQoj
IHN0YXJ0aW5nIGF0IGNvbTMgbWF5IGF0dGFjaCBhcyBjb20xIG9yIGNvbTIu
DQpjb20qCQlhdCBwbnBiaW9zPyBpbmRleCA/CSMgc2VyaWFsIHBvcnRzDQoN
CiMgcGFyYWxsZWwgcG9ydA0KIyBUaGUgYWJvdmUgImNvbSoiIGNvbW1lbnRz
IGFwcGx5LCBjZi4gImxwdDAiIHVuZGVyICJJU0EgcGFyYWxsZWwNCiMgInBy
aW50ZXIgaW50ZXJmYWNlcyIuDQpscHQqCQlhdCBwbnBiaW9zPyBpbmRleCA/
CSMgcGFyYWxsZWwgcG9ydHMNCg0KcGNrYmMqCQlhdCBwbnBiaW9zPyBpbmRl
eCA/CSMgUEMga2V5Ym9hcmQvbW91c2UgY29udHJvbGxlcg0KI2ZkYyoJCWF0
IHBucGJpb3M/IGluZGV4ID8JIyBmbG9wcHkgY29udHJvbGxlcg0KDQojIElE
RSBjb250cm9sbGVyIG9uIFRvc2hpYmEgUG9ydGVnZSAzMDAwIHNlcmllcyAo
Y3JpcHBsZWQgUENJIGRldmljZSkNCiNwY2lpZGUqIGF0IHBucGJpb3M/IGlu
ZGV4ID8NCg0KIyBQQ0kgYnVzIHN1cHBvcnQNCnBjaSoJYXQgbWFpbmJ1cz8g
YnVzID8NCnBjaSoJYXQgcGNoYj8gYnVzID8NCnBjaSoJYXQgcHBiPyBidXMg
Pw0KDQojIENvbmZpZ3VyZSBQQ0kgdXNpbmcgQklPUyBpbmZvcm1hdGlvbg0K
b3B0aW9ucyAJUENJQklPUwkJCSMgUENJIEJJT1Mgc3VwcG9ydA0KI29wdGlv
bnMgCVBDSUJJT1NWRVJCT1NFCQkjIFBDSSBCSU9TIHZlcmJvc2UgaW5mbw0K
b3B0aW9ucyAJUENJQklPU19JTlRSX0ZJWFVQCSMgZml4dXAgUENJIGludGVy
cnVwdCByb3V0aW5nDQojb3B0aW9ucyAJUENJQklPU19JUlFTX0hJTlQ9IjB4
MGEwMCIgIyBQQ0kgaW50ZXJydXB0cyBoaW50LiBJUlEgOSBvciAxMQ0KI29w
dGlvbnMgCVBDSUlOVFJfREVCVUcJCSMgc3VwZXItdmVyYm9zZSBQQ0kgaW50
ZXJydXB0IGZpeHVwDQojb3B0aW9ucyAJUENJQklPU19CVVNfRklYVVAJIyBm
aXh1cCBQQ0kgYnVzIG51bWJlcmluZw0KI29wdGlvbnMgCVBDSUJJT1NfQURE
Ul9GSVhVUAkjIGZpeHVwIFBDSSBJL08gYWRkcmVzc2VzDQoNCiMgUENJIGJy
aWRnZXMNCnBjaGIqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBDSS1I
b3N0IGJyaWRnZXMNCnBjZWIqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkj
IFBDSS1FSVNBIGJyaWRnZXMNCnBjaWIqCWF0IHBjaT8gZGV2ID8gZnVuY3Rp
b24gPwkjIFBDSS1JU0EgYnJpZGdlcw0KcHBiKglhdCBwY2k/IGRldiA/IGZ1
bmN0aW9uID8JIyBQQ0ktUENJIGJyaWRnZXMNCiMgWFhYICdwdWMncyBhcmVu
J3QgcmVhbGx5IGJyaWRnZXMsIGJ1dCB0aGVyZSdzIG5vIGJldHRlciBwbGFj
ZSBmb3IgdGhlbSBoZXJlDQpwdWMqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIFBDSSAidW5pdmVyc2FsIiBjb21tLiBjYXJkcw0KDQojIEVJU0EgYnVz
IHN1cHBvcnQNCiNlaXNhKglhdCBtYWluYnVzPw0KI2Vpc2EqCWF0IHBjZWI/
DQoNCiMgSVNBIGJ1cyBzdXBwb3J0DQppc2EqCWF0IG1haW5idXM/DQppc2Eq
CWF0IHBjZWI/DQppc2EqCWF0IHBjaWI/DQoNCiMgUENNQ0lBIGJ1cyBzdXBw
b3J0DQpwY21jaWEqCWF0IHBjaWM/IGNvbnRyb2xsZXIgPyBzb2NrZXQgPw0K
I3BjbWNpYSoJYXQgdGNpYz8gY29udHJvbGxlciA/IHNvY2tldCA/DQoNCiMg
SVNBIFBDTUNJQSBjb250cm9sbGVycw0KcGNpYzAJYXQgaXNhPyBwb3J0IDB4
M2UwIGlvbWVtIDB4ZDAwMDAgaW9zaXogMHgxMDAwMA0KcGNpYzEJYXQgaXNh
PyBwb3J0IDB4M2UyIGlvbWVtIDB4ZTAwMDAgaW9zaXogMHg0MDAwDQojdGNp
YzAJYXQgaXNhPyBwb3J0IDB4MjQwIGlvbWVtIDB4ZDAwMDAgaW9zaXogMHgx
MDAwMA0KDQojIFBDSSBQQ01DSUEgY29udHJvbGxlcnMNCnBjaWMwCWF0IHBj
aT8gZGV2PyBmdW5jdGlvbiA/DQoNCiMgSVNBIFBsdWctYW5kLVBsYXkgYnVz
IHN1cHBvcnQNCmlzYXBucDAJYXQgaXNhPw0KDQojIElTQSBQbHVnLWFuZC1Q
bGF5IFBDTUNJQSBjb250cm9sbGVycw0KI3BjaWMqCWF0IGlzYXBucD8NCg0K
IyBDYXJkQnVzIGJyaWRnZSBzdXBwb3J0DQojY2JiKgkJYXQgcGNpPyBkZXYg
PyBmdW5jdGlvbiA/DQojY2FyZHNsb3QqCWF0IGNiYj8JDQoNCiMgQ2FyZEJ1
cyBidXMgc3VwcG9ydA0KI2NhcmRidXMqCWF0IGNhcmRzbG90Pw0KI3BjbWNp
YSogCWF0IGNhcmRzbG90Pw0KDQojIENvcHJvY2Vzc29yIFN1cHBvcnQNCg0K
IyBNYXRoIENvcHJvY2Vzc29yIHN1cHBvcnQNCm5weDAJYXQgaXNhPyBwb3J0
IDB4ZjAgaXJxIDEzCSMgeDg2IG1hdGggY29wcm9jZXNzb3INCg0KDQojIENv
bnNvbGUgRGV2aWNlcw0KDQojIElTQSBjb25zb2xlLiAgWW91IGNhbiBvbmx5
IGNvbmZpZ3VyZSBvbmUgb2YgdGhlc2UhDQojcGMwCWF0IGlzYT8gcG9ydCAw
eDYwIGlycSAxCQkjIHBjY29ucyBnZW5lcmljIFBDIGNvbnNvbGUgZHJpdmVy
DQojdnQwCWF0IGlzYT8gcG9ydCAweDYwIGlycSAxCQkjIFBDVlQgY29uc29s
ZSBkcml2ZXINCiMgS2V5Ym9hcmQgbGF5b3V0IGNvbmZpZ3VyYXRpb24gZm9y
IHBjY29ucw0KI29wdGlvbnMgCUZSRU5DSF9LQkQNCiNvcHRpb25zIAlGSU5O
SVNIX0tCRA0KI29wdGlvbnMgCUdFUk1BTl9LQkQNCiNvcHRpb25zIAlOT1JX
RUdJQU5fS0JEDQojIHBjY29ucy1zcGVjaWZpYyBvcHRpb246DQojb3B0aW9u
cyAJWFNFUlZFUl9EREIJIyBQRjEyIGdldHMgeW91IGludG8gRERCIHdoZW4g
WCBpcyBydW5uaW5nDQojIHBjY29ucy9wY3Z0IC1zcGVjaWZpYyBvcHRpb246
DQojb3B0aW9ucyAJWFNFUlZFUgkJIyBYIHNlcnZlciBzdXBwb3J0DQoNCg0K
IyB3c2NvbnMNCnBja2JjKgkJYXQgaXNhPwkJCSMgcGMga2V5Ym9hcmQgY29u
dHJvbGxlcg0KcGNrYmQqCQlhdCBwY2tiYz8JCSMgUEMga2V5Ym9hcmQNCiMg
Im9wbXMiIHNob3VsZCBub3QgYmUgZW5hYmxlZCB0b2dldGhlciB3aXRoICJw
bXMiIG9yICJwbXNpIg0KcG1zKgkJYXQgcGNrYmM/CQkjIFBTLzIgbW91c2Ug
Zm9yIHdzbW91c2UNCnBtc2kqCQlhdCBwY2tiYz8JCSMgUFMvMiAiSW50ZWxs
aSJtb3VzZSBmb3Igd3Ntb3VzZQ0KI29wbXMqCQlhdCBwY2tiYz8JCSMgYmFj
a3dhcmRzIGNvbXBhdGlibGUgUFMvMiBtb3VzZQ0KdmdhKgkJYXQgaXNhPw0K
dmdhKgkJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/DQpwY2Rpc3BsYXkqCWF0
IGlzYT8JCQkjIENHQSwgTURBLCBFR0EsIEhHQQ0Kd3NkaXNwbGF5KglhdCB2
Z2E/IGNvbnNvbGUgPw0Kd3NkaXNwbGF5KglhdCBwY2Rpc3BsYXk/IGNvbnNv
bGUgPw0Kd3NrYmQqIAkJYXQgcGNrYmQ/IGNvbnNvbGUgPw0Kd3Ntb3VzZSoJ
YXQgcG1zPyBtdXggMA0Kd3Ntb3VzZSoJYXQgcG1zaT8gbXV4IDANCg0KcGNw
cGkwCQlhdCBpc2E/DQpzeXNiZWVwMAlhdCBwY3BwaT8NCg0KIyBTZXJpYWwg
RGV2aWNlcw0KDQojIFBDSSBzZXJpYWwgaW50ZXJmYWNlcw0KY29tKglhdCBw
dWM/IHBvcnQgPwkJCSMgMTZ4NTBzIG9uICJ1bml2ZXJzYWwiIGNvbW0gYm9h
cmRzDQpjeSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQ3ljbGFkZXMg
Q3ljbG9tLVkgc2VyaWFsIGJvYXJkcw0KY3oqCWF0IHBjaT8gZGV2ID8gZnVu
Y3Rpb24gPwkjIEN5Y2xhZGVzLVogbXVsdGktcG9ydCBzZXJpYWwgYm9hcmRz
DQoNCiMgSVNBIFBsdWctYW5kLVBsYXkgc2VyaWFsIGludGVyZmFjZXMNCiNj
b20qCWF0IGlzYXBucD8JCQkjIE1vZGVtcyBhbmQgc2VyaWFsIGJvYXJkcw0K
DQojIFBDTUNJQSBzZXJpYWwgaW50ZXJmYWNlcw0KY29tKglhdCBwY21jaWE/
IGZ1bmN0aW9uID8JCSMgTW9kZW1zIGFuZCBzZXJpYWwgY2FyZHMNCg0KcGNt
Y29tKglhdCBwY21jaWE/IGZ1bmN0aW9uID8JCSMgUENNQ0lBIG11bHRpLXBv
cnQgc2VyaWFsIGNhcmRzDQpjb20qCWF0IHBjbWNvbT8gc2xhdmUgPwkJIyAu
Li5hbmQgdGhlIHNsYXZlIGRldmljZXMNCg0KIyBDYXJkQnVzIHNlcmlhbCBp
bnRlcmZhY2VzDQojY29tKglhdCBjYXJkYnVzPyBmdW5jdGlvbiA/CQkjIE1v
ZGVtcyBhbmQgc2VyaWFsIGNhcmRzDQoNCiMgSVNBIHNlcmlhbCBpbnRlcmZh
Y2VzDQojb3B0aW9ucyAJQ09NX0hBWUVTUAkJIyBhZGRzIEhheWVzIEVTUCBz
ZXJpYWwgYm9hcmQgc3VwcG9ydA0KY29tKglhdCBpc2E/IHBvcnQgMHgzZjgg
aXJxIDQJIyBTdGFuZGFyZCBQQyBzZXJpYWwgcG9ydHMNCmNvbSoJYXQgaXNh
PyBwb3J0IDB4MmY4IGlycSAzDQojY29tKglhdCBpc2E/IHBvcnQgMHgzZTgg
aXJxIDUNCiNjb20qCWF0IGlzYT8gcG9ydCAweDJlOCBpcnEgOQ0KI2FzdDAJ
YXQgaXNhPyBwb3J0IDB4MWEwIGlycSA1CSMgQVNUIDQtcG9ydCBzZXJpYWwg
Y2FyZHMNCiNjb20qCWF0IGFzdD8gc2xhdmUgPw0KI2JvY2EwCWF0IGlzYT8g
cG9ydCAweDEwMCBpcnEgNQkjIEJPQ0EgOC1wb3J0IHNlcmlhbCBjYXJkcw0K
I2JvY2EwCWF0IGlzYT8gcG9ydCAweDEwMCBpcnEgNQkjIEJPQ0EgMTYtcG9y
dCBzZXJpYWwgY2FyZHMgKEJCMjAxNikNCiNib2NhMQlhdCBpc2E/IHBvcnQg
MHgxNDAgaXJxIDUJIyB0aGlzIGxpbmUgaXMgYWxzbyBuZWVkZWQgZm9yIEJC
MjAxNg0KI2NvbSoJYXQgYm9jYT8gc2xhdmUgPw0KI3Rjb20wCWF0IGlzYT8g
cG9ydCAweDEwMCBpcnEgNwkjIFRDLTgwMCA4LXBvcnQgc2VyaWFsIGNhcmRz
DQojY29tKglhdCB0Y29tPyBzbGF2ZSA/DQojcnRmcHMwCWF0IGlzYT8gcG9y
dCAweDEyMzAgaXJxIDEwCSMgUlQgNC1wb3J0IHNlcmlhbCBjYXJkcw0KI2Nv
bSoJYXQgcnRmcHM/IHNsYXZlID8NCiNjeTAJYXQgaXNhPyBpb21lbSAweGQ0
MDAwIGlycSAxMgkjIEN5Y2xhZGVzIHNlcmlhbCBjYXJkcw0KI2FkZGNvbTAg
YXQgaXNhPyBwb3J0IDB4MTA4IGlycSA1CSMgQWRkb25pY3MgRmxleFBvcnQg
OFMNCiNjb20qCWF0IGFkZGNvbT8gc2xhdmUgPw0KDQojIFBhcmFsbGVsIFBy
aW50ZXIgSW50ZXJmYWNlcw0KDQojIFBDSSBwYXJhbGxlbCBwcmludGVyIGlu
dGVyZmFjZXMNCmxwdCoJYXQgcHVjPyBwb3J0ID8JCQkjIHx8IHBvcnRzIG9u
ICJ1bml2ZXJzYWwiIGNvbW0gYm9hcmRzDQoNCiMgSVNBIHBhcmFsbGVsIHBy
aW50ZXIgaW50ZXJmYWNlcw0KbHB0KglhdCBpc2E/IHBvcnQgMHgzNzggaXJx
IDcJIyBzdGFuZGFyZCBQQyBwYXJhbGxlbCBwb3J0cw0KbHB0KglhdCBpc2E/
IHBvcnQgMHgyNzgNCmxwdCoJYXQgaXNhPyBwb3J0IDB4M2JjDQoNCiMgTE03
Wzg5XSBhbmQgY29tcGF0aWJsZSBoYXJkd2FyZSBtb25pdG9ycw0KI2xtMAlh
dCBpc2E/CXBvcnQgMHgyOTAJCSMgb3RoZXIgY29tbW9uIHBvcnRzOiAweDI4
MCwgMHgzMTANCg0KIyBWSUEgVlQ4MkM2ODZBIGhhcmR3YXJlIG1vbml0b3IN
CiN2aWFwbSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/DQojdmlhZW52KiBh
dCB2aWFwbT8NCg0KIyBTQ1NJIENvbnRyb2xsZXJzIGFuZCBEZXZpY2VzDQoN
CiMgUENJIFNDU0kgY29udHJvbGxlcnMNCiNhZHYqCWF0IHBjaT8gZGV2ID8g
ZnVuY3Rpb24gPwkjIEFkdmFuU3lzIDEyMDBbQSxCXSwgOXh4W1UsVUFdIFND
U0kNCiNhZHcqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFkdmFuU3lz
IDl4MFVXW0RdLCAzOTQwVVsyLDNdVyBTQ1NJDQojYWhjKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBBZGFwdGVjIFsyM105NHgsIGFpYzc4eDAgU0NT
SQ0KI2JoYSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQnVzTG9naWMg
OXh4IFNDU0kNCiNkcHQqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIERQ
VCBTbWFydENhY2hlL1NtYXJ0UkFJRA0KI2lzcCoJYXQgcGNpPyBkZXYgPyBm
dW5jdGlvbiA/CSMgUWxvZ2ljIElTUCBbMTJdMHgwIFNDU0kvRmlicmVDaGFu
bmVsDQojbmNyKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBOQ1IgNTNj
OHh4IFNDU0kNCiNzaW9wKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBT
eW1iaW9zIDUzYzh4eCBTQ1NJIChleHBlcmltZW50YWwpDQojcGNzY3AqCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFNRCA1M2M5NzQgUENzY3NpLVBD
SSBTQ1NJDQoNCiMgRUlTQSBTQ1NJIGNvbnRyb2xsZXJzDQojYWhiKglhdCBl
aXNhPyBzbG90ID8JCQkjIEFkYXB0ZWMgMTc0WzAyXSBTQ1NJDQojYWhjKglh
dCBlaXNhPyBzbG90ID8JCQkjIEFkYXB0ZWMgMjc0eCwgYWljNzc3MCBTQ1NJ
DQojYmhhKglhdCBlaXNhPyBzbG90ID8JCQkjIEJ1c0xvZ2ljIDd4eCBTQ1NJ
DQojZHB0KglhdCBlaXNhPyBzbG90ID8JCQkjIERQVCBFQVRBIFNDU0kNCiN1
aGEqCWF0IGVpc2E/IHNsb3QgPwkJCSMgVWx0cmFTdG9yIDI0ZiBTQ1NJDQoN
CiMgUENNQ0lBIFNDU0kgY29udHJvbGxlcnMNCmFpYyoJYXQgcGNtY2lhPyBm
dW5jdGlvbiA/CQkjIEFkYXB0ZWMgQVBBLTE0NjAgU0NTSQ0KZXNwKglhdCBw
Y21jaWE/IGZ1bmN0aW9uID8JCSMgUWxvZ2ljIEVTUDQwNi9GQVM0MDggU0NT
SQ0KDQojIElTQSBQbHVnLWFuZC1QbGF5IFNDU0kgY29udHJvbGxlcnMNCiNh
aGEqCWF0IGlzYXBucD8gCQkJIyBBZGFwdGVjIEFIQS0xNTRbMDINCiNhaWMq
CWF0IGlzYXBucD8JCQkjIEFkYXB0ZWMgQUhBLTE1MjBCDQoNCiMgSVNBIFND
U0kgY29udHJvbGxlcnMNCiNhZHYwCWF0IGlzYT8gcG9ydCA/IGlycSA/IGRy
cSA/CSMgQWR2YW5TeXMgQVBCLTUxNFswMl0NCiNhaGEwCWF0IGlzYT8gcG9y
dCAweDMzMCBpcnEgPyBkcnEgPwkjIEFkYXB0ZWMgMTU0WzAyXSBTQ1NJDQoj
YWhhMQlhdCBpc2E/IHBvcnQgMHgzMzQgaXJxID8gZHJxID8NCiNhaGMwCWF0
IGlzYT8gcG9ydCA/IGlycSA/CQkjIEFkYXB0ZWMgMjg0eCBTQ1NJDQojYWlj
MAlhdCBpc2E/IHBvcnQgMHgzNDAgaXJxIDExCSMgQWRhcHRlYyAxNTJbMDJd
IFNDU0kNCiNiaGEwCWF0IGlzYT8gcG9ydCAweDMzMCBpcnEgPyBkcnEgPwkj
IEJ1c0xvZ2ljIFs0NTddNFggU0NTSQ0KI2JoYTEJYXQgaXNhPyBwb3J0IDB4
MzM0IGlycSA/IGRycSA/DQojIFRoZSAibmNhIiBhbmQgImRwdCIgcHJvYmVz
IG1pZ2h0IGdpdmUgZmFsc2UgaGl0cyBvciBoYW5nIHlvdXIgbWFjaGluZS4N
CiNkcHQwCWF0IGlzYT8gcG9ydCAweDE3MCBpcnEgPyBkcnEgPwkjIERQVCBT
bWFydENhY2hlL1NtYXJ0UkFJRA0KI25jYTAJYXQgaXNhPyBwb3J0IDB4MzYw
IGlycSAxNQkjIFBvcnQtbWFwcGVkIE5DUiA1M0M4MCBjb250b2xsZXINCiNu
Y2ExCWF0IGlzYT8gaW9tZW0gMHhkODAwMCBpcnEgNQkjIE1lbW9yeS1tYXBw
ZWQgY29udHJvbGxlciAoVDEyOCwgZXRjLikNCiNzZWEwCWF0IGlzYT8gaW9t
ZW0gMHhjODAwMCBpcnEgNQkjIFNlYWdhdGUvRnV0dXJlIERvbWFpbiBTQ1NJ
DQojdWhhMAlhdCBpc2E/IHBvcnQgMHgzMzAgaXJxID8gZHJxID8JIyBVbHRy
YVN0b3IgWzEzXTRmIFNDU0kNCiN1aGExCWF0IGlzYT8gcG9ydCAweDM0MCBp
cnEgPyBkcnEgPw0KI3dkczAJYXQgaXNhPyBwb3J0IDB4MzUwIGlycSAxNSBk
cnEgNgkjIFdENzAwMCBhbmQgVE1DLTcwMDAgY29udHJvbGxlcnMNCiN3ZHMx
CWF0IGlzYT8gcG9ydCAweDM1OCBpcnEgMTEgZHJxIDUNCg0KIyBDYXJkQnVz
IFNDU0kgY2FyZHMNCiNhaGMqCWF0IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9u
ID8JIyBBZGFwdGVjIEFEUC0xNDgwDQoNCiMgU0NTSSBidXMgc3VwcG9ydA0K
I3Njc2lidXMqIGF0IGFkdj8NCiNzY3NpYnVzKiBhdCBhZHc/DQojc2NzaWJ1
cyogYXQgYWhhPw0KI3Njc2lidXMqIGF0IGFoYj8NCiNzY3NpYnVzKiBhdCBh
aGM/DQpzY3NpYnVzKiBhdCBhaWM/DQojc2NzaWJ1cyogYXQgYmhhPw0KI3Nj
c2lidXMqIGF0IGRwdD8NCiNzY3NpYnVzKiBhdCBlc3A/DQojc2NzaWJ1cyog
YXQgaXNwPw0KI3Njc2lidXMqIGF0IG5jYT8NCiNzY3NpYnVzKiBhdCBuY3I/
DQojc2NzaWJ1cyogYXQgcGNzY3A/DQojc2NzaWJ1cyogYXQgc2VhPw0KI3Nj
c2lidXMgYXQgc2lvcD8NCiNzY3NpYnVzKiBhdCB1aGE/DQojc2NzaWJ1cyog
YXQgd2RzPw0KDQojIFNDU0kgZGV2aWNlcw0Kc2QqCWF0IHNjc2lidXM/IHRh
cmdldCA/IGx1biA/CSMgU0NTSSBkaXNrIGRyaXZlcw0Kc3QqCWF0IHNjc2li
dXM/IHRhcmdldCA/IGx1biA/CSMgU0NTSSB0YXBlIGRyaXZlcw0KY2QqCWF0
IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CSMgU0NTSSBDRC1ST00gZHJpdmVz
DQpjaCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JIyBTQ1NJIGF1dG9j
aGFuZ2Vycw0Kc3MqCWF0IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CSMgU0NT
SSBzY2FubmVycw0Kc2VzKglhdCBzY3NpYnVzPyB0YXJnZXQgPyBsdW4gPwkj
IFNDU0kgRW5jbG9zdXJlIFNlcnZpY2VzIGRldmljZXMNCnVrKglhdCBzY3Np
YnVzPyB0YXJnZXQgPyBsdW4gPwkjIFNDU0kgdW5rbm93bg0KDQojIFJBSUQg
Y29udHJvbGxlcnMgYW5kIGRldmljZXMNCiNjYWMqCWF0IHBjaT8gZGV2ID8g
ZnVuY3Rpb24gPwkjIENvbXBhcSBhcnJheSBjb250cm9sbGVyDQojY2EqCWF0
IGNhYz8gdW5pdCA/CQkJIyBDb21wYXEgYXJyYXkgZGlzayBkZXZpY2UNCg0K
IyBJREUgYW5kIHJlbGF0ZWQgZGV2aWNlcw0KIyBQQ0kgSURFIGNvbnRyb2xs
ZXJzIC0gc2VlIHBjaWlkZSg0KSBmb3Igc3VwcG9ydGVkIGhhcmR3YXJlLg0K
IyBUaGUgMHgwMDAxIGZsYWcgZm9yY2UgdGhlIGRyaXZlciB0byB1c2UgRE1B
LCBldmVuIGlmIHRoZSBkcml2ZXIgZG9lc24ndCBrbm93DQojIGhvdyB0byBz
ZXQgdXAgRE1BIG1vZGVzIGZvciB0aGlzIGNoaXAuIFRoaXMgbWF5IHdvcmss
IG9yIG1heSBjYXVzZQ0KIyBhIG1hY2hpbmUgaGFuZyB3aXRoIHNvbWUgY29u
dHJvbGxlcnMuDQpwY2lpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPyBm
bGFncyAweDAwMDANCg0KIyBJU0EgUGx1Zy1hbmQtUGxheSBJREUgY29udHJv
bGxlcnMNCiN3ZGMqCWF0IGlzYXBucD8gDQoNCiMgUENNQ0lBIElERSBjb250
cm9sbGVycw0Kd2RjKglhdCBwY21jaWE/IGZ1bmN0aW9uID8NCg0KIyBJU0Eg
U1Q1MDYsIEVTREksIGFuZCBJREUgY29udHJvbGxlcnMNCiMgVXNlIGZsYWdz
IDB4MDEgaWYgeW91IHdhbnQgdG8gdHJ5IHRvIHVzZSAzMmJpdHMgZGF0YSBJ
L08gKHRoZSBkcml2ZXIgd2lsbA0KIyBmYWxsIGJhY2sgdG8gMTZiaXRzIEkv
TyBpZiAzMmJpdHMgSS9PIGFyZSBub3QgZnVuY3Rpb25hbCkuDQojIFNvbWUg
Y29udHJvbGxlcnMgcGFzcyB0aGUgaW5pdGlhbCAzMmJpdCB0ZXN0LCBidXQg
d2lsbCBmYWlsIGxhdGVyLg0Kd2RjMAlhdCBpc2E/IHBvcnQgMHgxZjAgaXJx
IDE0IGZsYWdzIDB4MDANCndkYzEJYXQgaXNhPyBwb3J0IDB4MTcwIGlycSAx
NSBmbGFncyAweDAwDQoNCiMgSURFIGRyaXZlcw0KIyBGbGFncyBhcmUgdXNl
ZCBvbmx5IHdpdGggY29udHJvbGxlcnMgdGhhdCBzdXBwb3J0IERNQSBvcGVy
YXRpb25zDQojIGFuZCBtb2RlIHNldHRpbmdzIChlLmcuIHNvbWUgcGNpaWRl
IGNvbnRyb2xsZXJzKQ0KIyBUaGUgbG93ZXN0IG9yZGVyIGZvdXIgYml0cyAo
cmlnaHRtb3N0IGRpZ2l0KSBvZiB0aGUgZmxhZ3MgZGVmaW5lIHRoZSBQSU8N
CiMgbW9kZSB0byB1c2UsIHRoZSBuZXh0IHNldCBvZiBmb3VyIGJpdHMgdGhl
IERNQSBtb2RlIGFuZCB0aGUgdGhpcmQgc2V0IHRoZQ0KIyBVbHRyYURNQSBt
b2RlLiBGb3IgZWFjaCBzZXQgb2YgZm91ciBiaXRzLCB0aGUgMyBsb3dlciBi
aXRzIGRlZmluZSB0aGUgbW9kZQ0KIyB0byB1c2UsIGFuZCB0aGUgbGFzdCBi
aXQgbXVzdCBiZSAxIGZvciB0aGlzIHNldHRpbmcgdG8gYmUgdXNlZC4NCiMg
Rm9yIERNQSBhbmQgVURNQSwgMHhmICgxMTExKSBtZWFucyAnZGlzYWJsZScu
DQojIDB4MGZhYyBtZWFucyAndXNlIFBJTyBtb2RlIDQsIERNQSBtb2RlIDIs
IGRpc2FibGUgVWx0cmFETUEnLg0KIyAoMHhjPTExMDAsIDB4YT0xMDEwLCAw
eGY9MTExMSkNCiMgMHgwMDAwIG1lYW5zICJ1c2Ugd2hhdGV2ZXIgdGhlIGRy
aXZlIGNsYWltcyB0byBzdXBwb3J0Ii4NCndkKglhdCB3ZGM/IGNoYW5uZWwg
PyBkcml2ZSA/IGZsYWdzIDB4MDAwMA0Kd2QqCWF0IHBjaWlkZT8gY2hhbm5l
bCA/IGRyaXZlID8gZmxhZ3MgMHgwMDAwDQoNCiMgQVRBUEkgYnVzIHN1cHBv
cnQNCmF0YXBpYnVzKiBhdCB3ZGM/IGNoYW5uZWwgPw0KYXRhcGlidXMqIGF0
IHBjaWlkZT8gY2hhbm5lbCA/DQoNCiMgQVRBUEkgZGV2aWNlcw0KIyBmbGFn
cyBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgYXMgZm9yIElERSBkcml2ZXMuDQpj
ZCoJYXQgYXRhcGlidXM/IGRyaXZlID8gZmxhZ3MgMHgwMDAwCSMgQVRBUEkg
Q0QtUk9NIGRyaXZlcw0Kc2QqCWF0IGF0YXBpYnVzPyBkcml2ZSA/IGZsYWdz
IDB4MDAwMAkjIEFUQVBJIGRpc2sgZHJpdmVzDQp1ayoJYXQgYXRhcGlidXM/
IGRyaXZlID8gZmxhZ3MgMHgwMDAwCSMgQVRBUEkgdW5rbm93bg0KDQoNCiMg
TWlzY2VsbGFuZW91cyBtYXNzIHN0b3JhZ2UgZGV2aWNlcw0KDQojIElTQSBm
bG9wcHkNCmZkYzAJYXQgaXNhPyBwb3J0IDB4M2YwIGlycSA2IGRycSAyCSMg
c3RhbmRhcmQgUEMgZmxvcHB5IGNvbnRyb2xsZXJzDQojZmRjMQlhdCBpc2E/
IHBvcnQgMHgzNzAgaXJxID8gZHJxID8NCmZkKglhdCBmZGM/IGRyaXZlID8J
CQkjIHRoZSBkcml2ZXMgdGhlbXNlbHZlcw0KIyBzb21lIG1hY2hpbmVzIG5l
ZWQgeW91IHRvIGRvIHRoaXMgaW5zdGVhZCBvZiBmZCoNCiNmZDAJYXQgZmRj
MCBkcml2ZSAwDQoNCiMgSVNBIENELVJPTSBkZXZpY2VzDQojbWNkMAlhdCBp
c2E/IHBvcnQgMHgzMDAgaXJxIDEwCSMgTWl0c3VtaSBDRC1ST00gZHJpdmVz
DQoNCiMgSVNBIHRhcGUgZGV2aWNlcw0KIyBub3RlOiB0aGUgd3QgZHJpdmVy
IGNvbmZsaWN0cyB1bnBsZWFzYW50bHkgd2l0aCBTTUMgYm9hcmRzIGF0IHRo
ZQ0KIyBzYW1lIEkvTyBhZGRyZXNzLiBUaGUgcHJvYmUgcmVwcm9ncmFtcyB0
aGVpciBFRVBST01zLiBEb24ndA0KIyB1bmNvbW1lbnQgaXQgdW5sZXNzIHlv
dSBhcmUgYWN0dWFsbHkgdXNpbmcgaXQuDQojd3QwCWF0IGlzYT8gcG9ydCAw
eDMwOCBpcnEgNSBkcnEgMQkjIEFyY2hpdmUgYW5kIFdhbmd0ZWsgUUlDIHRh
cGUgZHJpdmVzDQoNCg0KIyBOZXR3b3JrIEludGVyZmFjZXMNCg0KIyBQQ0kg
bmV0d29yayBpbnRlcmZhY2VzDQojZGUqCWF0IHBjaT8gZGV2ID8gZnVuY3Rp
b24gPwkjIERFQyAyMXg0eC1iYXNlZCBFdGhlcm5ldA0KI2VuKglhdCBwY2k/
IGRldiA/IGZ1bmN0aW9uID8JIyBFTkkvQWRhcHRlYyBBVE0NCiNlcCoJYXQg
cGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgM0NvbSAzYzU5eA0KI2V4KglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyAzQ29tIDkweFtCXQ0KI2VwaWMqCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFNNQyBFUElDLzEwMCBFdGhlcm5l
dA0KI2VzaCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgRXNzZW50aWFs
IEhJUFBJIGNhcmQNCiNmcGEqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkj
IERFQyBERUZQQSBGRERJDQojZnhwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9u
ID8JIyBJbnRlbCBFdGhlckV4cHJlc3MgUFJPIDEwKy8xMDBCDQojbGUqCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBDbmV0LVBDSSBFdGhlcm5ldA0K
I2xtYyoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgTGFuIE1lZGlhIENv
cnAgU1NJL0hTU0kvRFMzDQojbmUqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIE5FMjAwMC1jb21wYXRpYmxlIEV0aGVybmV0DQojbnR3b2MqCWF0IHBj
aT8gZGV2ID8gZnVuY3Rpb24gPwkjIFJpc2NvbS9OMiBQQ0kgU3luYyBTZXJp
YWwNCiNydGsqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFJlYWx0ZWsg
ODEyOS84MTM5DQojc2lwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBT
aVMgOTAwIEV0aGVybmV0DQojdGkqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIEFsdGVvbiBBQ0VuaWMgZ2lnYWJpdCBFdGhlcm5ldA0KI3RsKglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBUaHVuZGVyTEFOLWJhc2VkIEV0aGVy
bmV0DQojdGxwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBERUNjaGlw
IDIxeDR4IChhbmQgY2xvbmVzKSBFdGhlcm5ldA0KI29wdGlvbnMgCVRMUF9N
QVRDSF8yMTA0MA0KI29wdGlvbnMgCVRMUF9NQVRDSF8yMTA0MQ0KI29wdGlv
bnMgCVRMUF9NQVRDSF8yMTE0MA0KI29wdGlvbnMgCVRMUF9NQVRDSF8yMTE0
Mg0KI3ZyKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBWSUEgUmhpbmUg
RmFzdCBFdGhlcm5ldA0KDQojIEVJU0EgbmV0d29yayBpbnRlcmZhY2VzDQoj
ZXAqCWF0IGVpc2E/IHNsb3QgPwkJCSMgM0NvbSAzYzU3OSBFdGhlcm5ldA0K
I2ZlYSoJYXQgZWlzYT8gc2xvdCA/CQkJIyBERUMgREVGRUEgRkRESQ0KI3Rs
cCoJYXQgZWlzYT8gc2xvdCA/CQkJIyBERUMgREUtNDI1IEV0aGVybmV0DQoN
CiMgSVNBIFBsdWctYW5kLVBsYXkgbmV0d29yayBpbnRlcmZhY2VzDQojZXAq
CWF0IGlzYXBucD8JCQkjIDNDb20gM2M1MDkgRXRoZXJuZXQNCiNuZSoJYXQg
aXNhcG5wPwkJCSMgTkUyMDAwLWNvbXBhdGlibGUgRXRoZXJuZXQNCiN0cioJ
YXQgaXNhcG5wPwkJCSMgSUJNLzNDT00gVFJPUElDIFRva2VuLVJpbmcNCg0K
IyBQQ01DSUEgbmV0d29yayBpbnRlcmZhY2VzDQphd2kqCWF0IHBjbWNpYT8g
ZnVuY3Rpb24gPwkJIyBCYXlTdGFjayA2NTAvNjYwICg4MDIuMTFGSC9EUykN
CmNudyoJYXQgcGNtY2lhPyBmdW5jdGlvbiA/CQkjIFhpcmNvbS9OZXR3YXZl
IEFpclN1cmZlcg0KZXAqCWF0IHBjbWNpYT8gZnVuY3Rpb24gPwkJIyAzQ29t
IDNjNTg5IGFuZCAzYzU2MiBFdGhlcm5ldA0KbWJlKglhdCBwY21jaWE/IGZ1
bmN0aW9uID8JCSMgTUI4Njk2eCBiYXNlZCBFdGhlcm5ldA0KbmUqCWF0IHBj
bWNpYT8gZnVuY3Rpb24gPwkJIyBORTIwMDAtY29tcGF0aWJsZSBFdGhlcm5l
dA0KcmF5KglhdCBwY21jaWE/IGZ1bmN0aW9uID8JCSMgUmF5dGhlb24gUmF5
bGluayAoODAyLjExKQ0Kc20qCWF0IHBjbWNpYT8gZnVuY3Rpb24gPwkJIyBN
ZWdhaGVydHogRXRoZXJuZXQNCndpKglhdCBwY21jaWE/IGZ1bmN0aW9uID8J
CSMgTHVjZW50IFdhdmVMYW4gSUVFRSAoODAyLjExKQ0KeGkqCWF0IHBjbWNp
YT8gZnVuY3Rpb24gPwkJIyBYaXJjb20gUENNQ0lBIGNhcmRzDQp0cioJYXQg
cGNtY2lhPyBmdW5jdGlvbiA/CQkjIElCTSBUcm9waWMgVG9rZW4gUmluZw0K
DQptaHpjKglhdCBwY21jaWE/IGZ1bmN0aW9uID8JCSMgTWVnYWhlcnR6IEV0
aGVybmV0L01vZGVtIGNvbWJvIGNhcmRzDQpjb20qCWF0IG1oemM/DQpzbSoJ
YXQgbWh6Yz8NCg0KIyBJU0EgbmV0d29yayBpbnRlcmZhY2VzDQojYXRlMAlh
dCBpc2E/IHBvcnQgMHgyYTAgaXJxID8JCSMgQVQxNzAwDQojY3MwCWF0IGlz
YT8gcG9ydCAweDMwMCBpb21lbSA/IGlycSA/IGRycSA/CSMgQ1M4OTAwIEV0
aGVybmV0DQojZWMwCWF0IGlzYT8gcG9ydCAweDI1MCBpb21lbSAweGQ4MDAw
IGlycSA5CSMgM0NvbSAzYzUwMyBFdGhlcm5ldA0KI2VnMAlhdCBpc2E/IHBv
cnQgMHgyODAgaXJxIDkJCSMgM0M1MDUgZXRoZXJuZXQgY2FyZHMNCiNlbDAJ
YXQgaXNhPyBwb3J0IDB4MzAwIGlycSA5CQkjIDNDNTAxIGV0aGVybmV0IGNh
cmRzDQplcCoJYXQgaXNhPyBwb3J0ID8gaXJxID8JCQkjIDNDNTA5IGV0aGVy
bmV0IGNhcmRzDQojZWYwCWF0IGlzYT8gcG9ydCAweDM2MCBpb21lbSAweGQw
MDAwIGlycSA3CSMgM0M1MDcNCiNhaTAJYXQgaXNhPyBwb3J0IDB4MzYwIGlv
bWVtIDB4ZDAwMDAgaXJxIDcJIyBTdGFyTEFODQojZm12MAlhdCBpc2E/IHBv
cnQgMHgyYTAgaXJxID8JCSMgRk1WLTE4MCBzZXJpZXMNCiNpeDAJYXQgaXNh
PyBwb3J0IDB4MzAwIGlycSAxMAkJIyBFdGhlckV4cHJlc3MvMTYNCiNpeTAJ
YXQgaXNhPyBwb3J0IDB4MzYwIGlycSA/CQkjIEV0aGVyRXhwcmVzcyBQUk8g
MTAgSVNBDQojbGMwCWF0IGlzYT8gcG9ydCAweDMyMCBpb21lbSA/IGlycSA/
CSMgREVDIEV0aGVyV09SS1MgSUlJIChMRU1BQykNCiNkZXBjYTAJYXQgaXNh
PyBwb3J0IDB4MzAwIGlvbWVtIDB4YzgwMDAgaW9zaXogMHg4MDAwIGlycSA1
CSMgREVQQ0ENCiNsZSoJYXQgZGVwY2E/DQojbmVsZTAJYXQgaXNhPyBwb3J0
IDB4MzIwIGlycSA5IGRycSA3CQkjIE5FMjEwMA0KI2xlKglhdCBuZWxlPw0K
I250d29jMAlhdCBpc2E/IHBvcnQgMHgzMDAgaXJxIDUgaW9tZW0gMHhjODAw
MCBmbGFncyAxCSMgUmlzY29tL04yIHN5bmMgc2VyaWFsDQojYmljYzAJYXQg
aXNhPyBwb3J0IDB4MzIwIGlycSAxMCBkcnEgNwkJIyBCSUNDIElzb0xhbg0K
I2xlKglhdCBiaWNjPw0KbmUwCWF0IGlzYT8gcG9ydCAweDI4MCBpcnEgOQkJ
IyBORVsxMl0wMDAgZXRoZXJuZXQgY2FyZHMNCm5lMQlhdCBpc2E/IHBvcnQg
MHgzMDAgaXJxIDEwDQojc20wCWF0IGlzYT8gcG9ydCAweDMwMCBpcnEgMTAJ
CSMgU01DOTFDOXggRXRoZXJuZXQNCiN0cjAJYXQgaXNhPyBwb3J0IDB4YTIw
IGlvbWVtIDB4ZDgwMDAgaXJxID8gICMgSUJNIFRST1BJQyBiYXNlZCBUb2tl
bi1SaW5nDQojdHIxCWF0IGlzYT8gcG9ydCAweGEyNCBpb21lbSAweGQwMDAw
IGlycSA/ICAjIElCTSBUUk9QSUMgYmFzZWQgVG9rZW4tUmluZw0KI3RyKglh
dCBpc2E/IHBvcnQgPyBpcnEgPwkJCSMgM0NPTSBUUk9QSUMgYmFzZWQgVG9r
ZW4tUmluZw0KI3dlMAlhdCBpc2E/IHBvcnQgMHgyODAgaW9tZW0gMHhkMDAw
MCBpcnEgOQkjIFdEL1NNQyBFdGhlcm5ldA0KI3dlMQlhdCBpc2E/IHBvcnQg
MHgzMDAgaW9tZW0gMHhjYzAwMCBpcnEgMTANCg0KIyBDYXJkQnVzIG5ldHdv
cmsgY2FyZHMNCiNleCoJYXQgY2FyZGJ1cz8gZGV2ID8gZnVuY3Rpb24gPwkj
IDNDb20gM0M1NzVUWA0KI2Z4cCoJYXQgY2FyZGJ1cz8gZGV2ID8gZnVuY3Rp
b24gPwkjIEludGVsIGk4MjU1eA0KI3J0ayoJYXQgY2FyZGJ1cz8gZGV2ID8g
ZnVuY3Rpb24gPwkjIFJlYWx0ZWsgODEyOS84MTM5DQojdGxwKglhdCBjYXJk
YnVzPyBkZXYgPyBmdW5jdGlvbiA/CSMgREVDY2hpcCAyMTE0Mw0KDQojIE1J
SS9QSFkgc3VwcG9ydA0KZG1waHkqCWF0IG1paT8gcGh5ID8JCQkjIERhdmlj
b20gRE05MTAxIFBIWXMNCmV4cGh5KglhdCBtaWk/IHBoeSA/CQkJIyAzQ29t
IGludGVybmFsIFBIWXMNCmljc3BoeSoJYXQgbWlpPyBwaHkgPwkJCSMgSW50
ZWdyYXRlZCBDaXJjdWl0IFN5c3RlbXMgSUNTMTg5MA0KaW5waHkqCWF0IG1p
aT8gcGh5ID8JCQkjIEludGVsIDgyNTU1IFBIWXMNCmlvcGh5KglhdCBtaWk/
IHBoeSA/CQkJIyBJbnRlbCA4MjU1MyBQSFlzDQpseHRwaHkqCWF0IG1paT8g
cGh5ID8JCQkjIExldmVsIE9uZSBMWFQtOTcwIFBIWXMNCm5zcGh5KglhdCBt
aWk/IHBoeSA/CQkJIyBOUzgzODQwIFBIWXMNCm5zcGh5dGVyKiBhdCBtaWk/
IHBoeSA/CQkJIyBOUzgzODQzIFBIWXMNCnFzcGh5KglhdCBtaWk/IHBoeSA/
CQkJIyBRdWFsaXR5IFNlbWljb25kdWN0b3IgUVM2NjEyIFBIWXMNCnNxcGh5
KglhdCBtaWk/IHBoeSA/CQkJIyBTZWVxIDgwMjIwLzgwMjIxLzgwMjIzIFBI
WXMNCnRscGh5KglhdCBtaWk/IHBoeSA/CQkJIyBUaHVuZGVyTEFOIFBIWXMN
CnRxcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBUREsgU2VtaWNvbmR1Y3RvciBQ
SFlzDQp1a3BoeSoJYXQgbWlpPyBwaHkgPwkJCSMgZ2VuZXJpYyB1bmtub3du
IFBIWXMNCg0KIyBVU0IgQ29udHJvbGxlciBhbmQgRGV2aWNlcw0KDQojIFBD
SSBVU0IgY29udHJvbGxlcnMNCm9oY2kqCWF0IHBjaT8JZGV2ID8gZnVuY3Rp
b24gPwkjIE9wZW4gSG9zdCBDb250cm9sbGVyDQp1aGNpKglhdCBwY2k/CWRl
diA/IGZ1bmN0aW9uID8JIyBVbml2ZXJzYWwgSG9zdCBDb250cm9sbGVyIChJ
bnRlbCkNCg0KIyBDYXJkQnVzIFVTQiBjb250cm9sbGVycw0KI29oY2kqCWF0
IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9uID8JIyBPcGVuIEhvc3QgQ29udHJv
bGxlcg0KDQojIFVTQiBidXMgc3VwcG9ydA0KdXNiKglhdCBvaGNpPw0KI3Vz
YioJYXQgdWhjaT8NCg0KIyBVU0IgSHVicw0KdWh1YioJYXQgdXNiPw0KdWh1
YioJYXQgdWh1Yj8gcG9ydCA/IGNvbmZpZ3VyYXRpb24gPyBpbnRlcmZhY2Ug
Pw0KDQojIFVTQiBNaWNlDQp1bXMqCWF0IHVodWI/IHBvcnQgPyBjb25maWd1
cmF0aW9uID8gaW50ZXJmYWNlID8NCndzbW91c2UqCWF0IHVtcz8gbXV4IDAN
Cg0KIyBVU0IgS2V5Ym9hcmRzDQp1a2JkKglhdCB1aHViPyBwb3J0ID8gY29u
ZmlndXJhdGlvbiA/IGludGVyZmFjZSA/DQp3c2tiZCoJYXQgdWtiZD8gY29u
c29sZSA/IG11eCAxDQoNCiMgVVNCIEdlbmVyaWMgSElEIGRldmljZXMNCnVo
aWQqCWF0IHVodWI/IHBvcnQgPyBjb25maWd1cmF0aW9uID8gaW50ZXJmYWNl
ID8NCg0KIyBVU0IgUHJpbnRlcg0KdWxwdCoJYXQgdWh1Yj8gcG9ydCA/IGNv
bmZpZ3VyYXRpb24gPyBpbnRlcmZhY2UgPw0KDQojIFVTQiBNb2RlbQ0KdW1v
ZGVtKglhdCB1aHViPyBwb3J0ID8gY29uZmlndXJhdGlvbiA/DQp1Y29tKglh
dCB1bW9kZW0/DQoNCiMgVVNCIE1hc3MgU3RvcmFnZQ0KdW1hc3MqCWF0IHVo
dWI/IHBvcnQgPyBjb25maWd1cmF0aW9uID8gaW50ZXJmYWNlID8NCmF0YXBp
YnVzKiBhdCB1bWFzcz8gY2hhbm5lbCA/DQpzY3NpYnVzKiBhdCB1bWFzcz8g
Y2hhbm5lbCA/DQoNCiMgVVNCIGF1ZGlvDQp1YXVkaW8qCWF0IHVodWI/IHBv
cnQgPyBjb25maWd1cmF0aW9uID8NCg0KIyBVU0IgRXRoZXJuZXQgYWRhcHRl
cnMNCmF1ZSoJYXQgdWh1Yj8gcG9ydCA/CQkjIEFETXRlayBBTjk4NiBQZWdh
c3VzIGJhc2VkIGFkYXB0ZXJzDQpjdWUqCWF0IHVodWI/IHBvcnQgPwkJIyBD
QVRDIFVTQi1FTDEyMDFBIGJhc2VkIGFkYXB0ZXJzDQprdWUqCWF0IHVodWI/
IHBvcnQgPwkJIyBLYXdhc2FraSBMU0kgS0w1S1VTQjEwMUIgYmFzZWQgYWRh
cHRlcnMNCg0KIyBQcm9sb2ZpYyBQTDIzMDEvUEwyMzAyIGhvc3QtdG8taG9z
dCBhZGFwdGVyDQp1cGwqCWF0IHVodWI/IHBvcnQgPw0KDQojIFNlcmlhbCBh
ZGFwdGVycw0KIyBGVERJIEZUOFUxMDBBWCBzZXJpYWwgYWRhcHRlcg0KdWZ0
ZGkqCWF0IHVodWI/IHBvcnQgPw0KdWNvbSoJYXQgdWZ0ZGk/IHBvcnRubyA/
DQoNCiMgRGlhbW9uZCBNdWx0aW1lZGlhIFJpbyA1MDANCnVyaW8qCWF0IHVo
dWI/IHBvcnQgPw0KDQojIFVTQiBIYW5kc3ByaW5nIFZpc29yDQp1dmlzb3Iq
CWF0IHVodWI/IHBvcnQgPw0KdWNvbSoJYXQgdXZpc29yPw0KDQojIFVTQiBH
ZW5lcmljIGRyaXZlcg0KdWdlbioJYXQgdWh1Yj8gcG9ydCA/DQoNCiMgQXVk
aW8gRGV2aWNlcw0KDQojIFBDSSBhdWRpbyBkZXZpY2VzDQojYXV2aWEqCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFZJQSBWVDgyQzY4NkEgaW50ZWdy
YXRlZCBBQyc5NyBBdWRpbw0KI2NsY3MqCWF0IHBjaT8gZGV2ID8gZnVuY3Rp
b24gPwkjIENpcnJ1cyBMb2dpYyBDUzQyODANCiNjbXBjaSoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgQy1NZWRpYSBDTUk4MzM4Lzg3MzgNCiNlYXAq
CWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEVuc29uaXEgQXVkaW9QQ0kN
CiNlc28qCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEVTUyBTb2xvLTEg
UENJIEF1ZGlvRHJpdmUNCiNmbXMqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIEZvcnRlIE1lZGlhIEZNODAxDQojc3YqCWF0IHBjaT8gZGV2ID8gZnVu
Y3Rpb24gPwkjIFMzIFNvbmljVmliZXMNCg0KIyBJU0EgUGx1Zy1hbmQtUGxh
eSBhdWRpbyBkZXZpY2VzDQojZXNzKglhdCBpc2FwbnA/CQkJIyBFU1MgVGVj
aCBFUzE4ODcsIEVTMTg4OCwgRVM4ODggYXVkaW8NCiNndXNwbnAqCWF0IGlz
YXBucD8JCQkjIEdyYXZpcyBVbHRyYSBTb3VuZCBQblAgYXVkaW8NCiNzYioJ
YXQgaXNhcG5wPwkJCSMgU291bmRCbGFzdGVyLWNvbXBhdGlibGUgYXVkaW8N
CiN3c3MqCWF0IGlzYXBucD8JCQkjIFdpbmRvd3MgU291bmQgU3lzdGVtDQoj
eW0qCWF0IGlzYXBucD8JCQkjIFlhbWFoYSBPUEwzLVNBMyBhdWRpbw0KDQoj
IElTQSBhdWRpbyBkZXZpY2VzDQojIHRoZSAiYXJpYSIgcHJvYmUgbWlnaHQg
Z2l2ZSBmYWxzZSBoaXRzDQojYXJpYTAJYXQgaXNhPyBwb3J0IDB4MjkwIGly
cSAxMCAJCSMgQXJpYQ0KI2VzczAJYXQgaXNhPyBwb3J0IDB4MjIwIGlycSA1
IGRycSAxIGRycTIgNQkjIEVTUyAxOFhYDQojZ3VzMAlhdCBpc2E/IHBvcnQg
MHgyMjAgaXJxIDcgZHJxIDEgZHJxMiA2CSMgR3JhdmlzIFVsdHJhIFNvdW5k
DQojcGFzMAlhdCBpc2E/IHBvcnQgMHgyMjAgaXJxIDcgZHJxIDEJCSMgUHJv
QXVkaW8gU3BlY3RydW0NCiNwc3MwCWF0IGlzYT8gcG9ydCAweDIyMCBpcnEg
NyBkcnEgNiAgCSMgUGVyc29uYWwgU291bmQgU3lzdGVtDQojc3AwCWF0IHBz
czAgcG9ydCAweDUzMCBpcnEgMTAgZHJxIDAJCSMgCXNvdW5kIHBvcnQgZHJp
dmVyDQojc2IwCWF0IGlzYT8gcG9ydCAweDIyMCBpcnEgNSBkcnEgMSBkcnEy
IDUJIyBTb3VuZEJsYXN0ZXINCiN3c3MwCWF0IGlzYT8gcG9ydCAweDUzMCBp
cnEgMTAgZHJxIDAgZHJxMiAxCSMgV2luZG93cyBTb3VuZCBTeXN0ZW0NCg0K
I2NtczAJYXQgaXNhPyBwb3J0IDB4MjIwCQkJIyBDcmVhdGl2ZSBNdXNpYyBT
eXN0ZW0NCg0KIyBPUExbMjNdIEZNIHN5bnRoZXNpemVycw0KI29wbDAJYXQg
aXNhPyBwb3J0IDB4Mzg4CSMgdXNlIG9ubHkgaWYgbm90IGF0dGFjaGVkIHRv
IHNvdW5kIGNhcmQNCiNvcGwqCWF0IGVzbz8NCiNvcGwqCWF0IGVzcz8NCiNv
cGwqCWF0IGZtcz8NCiNvcGwqCWF0IHNiPw0KI29wbCoJYXQgc3Y/DQpvcGwq
CWF0IHdzcz8NCiNvcGwqCWF0IHltPw0KDQojIEF1ZGlvIHN1cHBvcnQNCiNh
dWRpbyoJYXQgYXJpYT8NCiNhdWRpbyoJYXQgYXV2aWE/DQojYXVkaW8qCWF0
IGNsY3M/DQojYXVkaW8qCWF0IGNtcGNpPw0KI2F1ZGlvKglhdCBlYXA/DQoj
YXVkaW8qCWF0IGVzbz8NCiNhdWRpbyoJYXQgZXNzPw0KI2F1ZGlvKglhdCBm
bXM/DQojYXVkaW8qCWF0IGd1cz8NCiNhdWRpbyoJYXQgZ3VzcG5wPw0KI2F1
ZGlvKglhdCBwYXM/DQojYXVkaW8qCWF0IHNiPw0KI2F1ZGlvKglhdCBzdj8N
CmF1ZGlvKglhdCB1YXVkaW8/DQphdWRpbyoJYXQgd3NzPw0KDQojIE1QVSA0
MDEgVUFSVHMNCiNtcHUqCWF0IGlzYT8gcG9ydCAweDMzMCBpcnEgOSAgICAg
ICAgIyBNUFU0MDEgb3IgY29tcGF0aWJsZSBjYXJkDQojbXB1KglhdCBlc28/
DQojbXB1KglhdCBmbXM/DQojbXB1KglhdCBzYj8NCiNtcHUqCWF0IHltPw0K
DQojIE1JREkgc3VwcG9ydA0KI21pZGkqCWF0IGNtcz8JCQkjIENyZWF0aXZl
IE11c2ljIFN5c3RlbQ0KI21pZGkqCWF0IGVhcD8JCQkjIDEzN1swMV0gTUlE
SSBwb3J0DQojbWlkaSoJYXQgbXB1PwkJCSMgTVBVIDQwMQ0KbWlkaSoJYXQg
b3BsPwkJCSMgT1BMIEZNIHN5bnRoDQojbWlkaSoJYXQgcGNwcGk/CQkjIE1J
REkgaW50ZXJmYWNlIHRvIHRoZSBQQyBzcGVha2VyDQojbWlkaSoJYXQgc2I/
CQkJIyBTQjEgTUlESSBwb3J0DQoNCiMgVGhlIHNwa3IgZHJpdmVyIHByb3Zp
ZGVzIGEgc2ltcGxlIHRvbmUgaW50ZXJmYWNlIHRvIHRoZSBidWlsdCBpbiBz
cGVha2VyLg0Kc3BrcjAJYXQgcGNwcGk/CQkjIFBDIHNwZWFrZXINCg0KIyBU
ViBjYXJkcw0KDQojIEJyb29rdHJlZSA4NDgvODQ5Lzg3OC84NzkgYmFzZWQg
VFYgY2FyZHMNCiNia3RyKiBhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8NCg0K
IyBNaWNlDQoNCiMgSVNBIGJ1c21pY2UNCiNsbXMwCWF0IGlzYT8gcG9ydCAw
eDIzYyBpcnEgNQkjIExvZ2l0ZWNoIGJ1cyBtb3VzZQ0KI2xtczEJYXQgaXNh
PyBwb3J0IDB4MjM4IGlycSA1DQojbW1zMAlhdCBpc2E/IHBvcnQgMHgyM2Mg
aXJxIDUJIyBNaWNyb3NvZnQgSW5Qb3J0IG1vdXNlDQojbW1zMQlhdCBpc2E/
IHBvcnQgMHgyMzggaXJxIDUNCiN3c21vdXNlKglhdCBsbXM/IG11eCAwDQoj
d3Ntb3VzZSoJYXQgbW1zPyBtdXggMA0KIyBiYWNrd2FyZHMgY29tcGF0aWJs
ZSB2ZXJzaW9ucw0KI29sbXMwCWF0IGlzYT8gcG9ydCAweDIzYyBpcnEgNQkj
IExvZ2l0ZWNoIGJ1cyBtb3VzZQ0KI29sbXMxCWF0IGlzYT8gcG9ydCAweDIz
OCBpcnEgNQ0KI29tbXMwCWF0IGlzYT8gcG9ydCAweDIzYyBpcnEgNQkjIE1p
Y3Jvc29mdCBJblBvcnQgbW91c2UNCiNvbW1zMQlhdCBpc2E/IHBvcnQgMHgy
MzggaXJxIDUNCiNvcG1zMAlhdCBwYz8gaXJxIDEyCQkjIFBTLzIgYXV4aWxp
YXJ5IHBvcnQgbW91c2UNCiNvcG1zMAlhdCB2dD8gaXJxIDEyCQkjIFBTLzIg
YXV4aWxpYXJ5IHBvcnQgbW91c2UNCg0KDQojIEpveXN0aWNrcw0KDQojIElT
QSBQbHVnLWFuZC1QbGF5IGpveXN0aWNrcw0KI2pveSoJYXQgaXNhcG5wPwkJ
CSMgR2FtZSBwb3J0cyAodXN1YWxseSBvbiBhdWRpbyBjYXJkcykNCg0KIyBQ
Q0kgam95c3RpY2tzDQojam95KglhdCBwY2k/CQkJCSMgR2FtZSBwb3J0cyAo
dXN1YWxseSBvbiBhdWRpbyBjYXJkcykNCg0KIyBJU0Egam95c3RpY2tzLiBQ
cm9iZSBpcyBhIGxpdHRsZSBzdHJhbmdlOyBhZGQgb25seSBpZiB5b3UgaGF2
ZSBvbmUuDQojam95MAlhdCBpc2E/IHBvcnQgMHgyMDENCg0KDQojIE1pc2Nl
bGxhbmVvdXMgRGV2aWNlcw0KDQojIFBsYW5ldGNvbm5lY3QgU2F0ZWxsaXRl
IHJlY2VpdmVyIGRyaXZlci4NCiNzYXRsaW5rMCBhdCBpc2E/IHBvcnQgMHgz
MDAgZHJxIDENCg0KDQojIFB1bGwgaW4gb3B0aW9uYWwgbG9jYWwgY29uZmln
dXJhdGlvbg0KaW5jbHVkZQkiYXJjaC9pMzg2L2NvbmYvR0VORVJJQy5sb2Nh
bCINCg0KDQojIFBzZXVkby1EZXZpY2VzDQoNCiMgZGlzay9tYXNzIHN0b3Jh
Z2UgcHNldWRvLWRldmljZXMNCiNwc2V1ZG8tZGV2aWNlCWNjZAkJNAkjIGNv
bmNhdGVuYXRlZC9zdHJpcGVkIGRpc2sgZGV2aWNlcw0KI3BzZXVkby1kZXZp
Y2UJcmFpZAkJNAkjIFJBSURmcmFtZSBkaXNrIGRyaXZlcg0KI29wdGlvbnMg
CVJBSURfQVVUT0NPTkZJRwkJIyBhdXRvLWNvbmZpZ3VyYXRpb24gb2YgUkFJ
RCBjb21wb25lbnRzDQojcHNldWRvLWRldmljZQltZAkJMQkjIG1lbW9yeSBk
aXNrIGRldmljZSAocmFtZGlzaykNCiNwc2V1ZG8tZGV2aWNlCXZuZAkJNAkj
IGRpc2stbGlrZSBpbnRlcmZhY2UgdG8gZmlsZXMNCg0KIyBuZXR3b3JrIHBz
ZXVkby1kZXZpY2VzDQpwc2V1ZG8tZGV2aWNlCWJwZmlsdGVyCTgJIyBCZXJr
ZWxleSBwYWNrZXQgZmlsdGVyDQpwc2V1ZG8tZGV2aWNlCWlwZmlsdGVyCQkj
IElQIGZpbHRlciAoZmlyZXdhbGwpIGFuZCBOQVQNCnBzZXVkby1kZXZpY2UJ
bG9vcAkJCSMgbmV0d29yayBsb29wYmFjaw0KcHNldWRvLWRldmljZQlwcHAJ
CTIJIyBQb2ludC10by1Qb2ludCBQcm90b2NvbA0KI3BzZXVkby1kZXZpY2UJ
c2wJCTIJIyBTZXJpYWwgTGluZSBJUA0KI3BzZXVkby1kZXZpY2UJc3RyaXAJ
CTIJIyBTdGFybW9kZSBSYWRpbyBJUCAoTWV0cmljb20pDQojcHNldWRvLWRl
dmljZQl0dW4JCTIJIyBuZXR3b3JrIHR1bm5lbGluZyBvdmVyIHR0eQ0KI3Bz
ZXVkby1kZXZpY2UJZ3JlCQkyCSMgZ2VuZXJpYyBMMyBvdmVyIElQIHR1bm5l
bA0KI3BzZXVkby1kZXZpY2UJaXBpcAkJMgkjIElQIEVuY2Fwc3VsYXRpb24g
d2l0aGluIElQIChSRkMgMjAwMykNCiNwc2V1ZG8tZGV2aWNlCWdpZgkJNAkj
IElQdls0Nl0gb3ZlciBJUHZbNDZdIHR1bm5lbCAoUkZDMTkzMykNCiNwc2V1
ZG8tZGV2aWNlCWZhaXRoCQkxCSMgSVB2WzQ2XSB0Y3AgcmVsYXkgdHJhbnNs
YXRpb24gaS9mDQojcHNldWRvLWRldmljZQlzdGYJCTEJIyA2dG80IElQdjYg
b3ZlciBJUHY0IGVuY2Fwc3VsYXRpb24NCg0KIyBtaXNjZWxsYW5lb3VzIHBz
ZXVkby1kZXZpY2VzDQpwc2V1ZG8tZGV2aWNlCXB0eQkJNjQJIyBwc2V1ZG8t
dGVybWluYWxzDQojcHNldWRvLWRldmljZQl0YgkJMQkjIHRhYmxldCBsaW5l
IGRpc2NpcGxpbmUNCnBzZXVkby1kZXZpY2UJc2VxdWVuY2VyCTEJIyBNSURJ
IHNlcXVlbmNlcg0KIyBybmQgd29ya3M7IFJORF9DT00gZG9lcyBub3Qgb24g
cG9ydCBpMzg2IHlldC4NCnBzZXVkby1kZXZpY2UJcm5kCQkJIyAvZGV2L3Jh
bmRvbSBhbmQgaW4ta2VybmVsIGdlbmVyYXRvcg0KI29wdGlvbnMgCVJORF9D
T00JCQkjIHVzZSAiY29tIiByYW5kb21uZXNzIGFzIHdlbGwgKEJST0tFTikN
Cg0KIyBhIHBzZXVkbyBkZXZpY2UgbmVlZGVkIGZvciBDb2RhCSMgYWxzbyBu
ZWVkcyBDT0RBIChhYm92ZSkNCiNwc2V1ZG8tZGV2aWNlCXZjb2RhCQk0CSMg
Y29kYSBtaW5pY2FjaGUgPC0+IHZlbnVzIGNvbW0uDQoNCiMgbW91c2UgJiBr
ZXlib2FyZCBtdWx0aXBsZXhvciBwc2V1ZG8tZGV2aWNlcw0KcHNldWRvLWRl
dmljZQl3c211eAkJMg0K
--0-2004902223-998380535=:52503--