No subject


Tue Aug 19 22:18:26 CEST 2008


was only able to display the logo included in the file logo_linux.h. The
MPC8xx LCD driver use the logo
included in bmp_logo.h. This file is very easy to create because the
tool bmp_logo is included in U-boot.
I saw that the video driver for the MPC8xx use another logo created by
easy_logo. I think that it would be nie to use
only one file format in all the graphic drivers.
To use the BMP logo with the cfb_console driver, add #define
CONFIG_VIDEO_BMP_LOGO in the board config
file (see RPXClassic.h).

This patch fixes also a warning in mkimage.c.


CHANGELOG:
* Patch by Pierre Aubert , 20 Nov 2002
  Add driver for Epson SED13806 graphic controller.
  Add support for BMP logos in cfb_console driver.


Best regards


--------------3E16665E1CF41E464E400FD0
Content-Type: application/octet-stream; name="sed13806.patch"
Content-Disposition: attachment; filename="sed13806.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtcHVyTiBwcGNib290LTIuMC4wLWN2cy9ib2FyZC9SUFhDbGFzc2ljL01ha2VmaWxlIHBw
Y2Jvb3QtMi4wLjAtbGNkL2JvYXJkL1JQWENsYXNzaWMvTWFrZWZpbGUKLS0tIHBwY2Jvb3QtMi4w
LjAtY3ZzL2JvYXJkL1JQWENsYXNzaWMvTWFrZWZpbGUJMjAwMi0xMS0yMCAxNzowNjoyOC4wMDAw
MDAwMDAgKzAxMDAKKysrIHBwY2Jvb3QtMi4wLjAtbGNkL2JvYXJkL1JQWENsYXNzaWMvTWFrZWZp
bGUJMjAwMi0xMS0yMCAxNzowNzo0Ny4wMDAwMDAwMDAgKzAxMDAKQEAgLTI1LDcgKzI1LDcgQEAg
aW5jbHVkZSAkKFRPUERJUikvY29uZmlnLm1rCiAKIExJQgk9IGxpYiQoQk9BUkQpLmEKIAotT0JK
Uwk9ICQoQk9BUkQpLm8gZmxhc2gubworT0JKUwk9ICQoQk9BUkQpLm8gZmxhc2gubyBlY2N4Lm8K
IAogJChMSUIpOgkuZGVwZW5kICQoT0JKUykKIAkkKEFSKSBjcnYgJEAgJF4KZGlmZiAtcHVyTiBw
cGNib290LTIuMC4wLWN2cy9ib2FyZC9SUFhDbGFzc2ljL2VjY3guYyBwcGNib290LTIuMC4wLWxj
ZC9ib2FyZC9SUFhDbGFzc2ljL2VjY3guYwotLS0gcHBjYm9vdC0yLjAuMC1jdnMvYm9hcmQvUlBY
Q2xhc3NpYy9lY2N4LmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHBw
Y2Jvb3QtMi4wLjAtbGNkL2JvYXJkL1JQWENsYXNzaWMvZWNjeC5jCTIwMDItMTEtMjAgMTc6MDc6
NDcuMDAwMDAwMDAwICswMTAwCkBAIC0wLDAgKzEsMzUzIEBACisvKgorICogKEMpIENvcHlyaWdo
dCAyMDAyCisgKiBTdOR1YmxpIEZhdmVyZ2VzIC0gPHd3dy5zdGF1YmxpLmNvbT4KKyAqIFBpZXJy
ZSBBVUJFUlQgIHAuYXViZXJ0QHN0YXVibGkuY29tCisgKgorICogU2VlIGZpbGUgQ1JFRElUUyBm
b3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyAqIHByb2plY3QuCisg
KgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBs
YWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKy8qIFZp
ZGVvIHN1cHBvcnQgZm9yIHRoZSBFQ0NYIGRhdWdodGVyIGJvYXJkICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8KKworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8Y29u
ZmlnLmg+CisKKyNpZmRlZiBDT05GSUdfVklERU9fU0VEMTM4MDYKKyNpbmNsdWRlIDxzZWQxMzgw
Ni5oPgorCisKKworLyogU2NyZWVuIGNvbmZpZ3VyYXRpb25zOiB0aGUgaW5pdGlhbGl6YXRpb24g
b2YgdGhlIFNEMTM4MDYgZGVwZW5kcyBvbgorICAgc2NyZWVuIGFuZCBvbiBkaXNwbGF5IG1vZGUu
IFdlIGhhbmRsZSBvbmx5IDhicHAgYW5kIDE2IGJwcCBtb2RlcyAgICAgICAgICAqLworCisvKiBF
Q0NYIGJvYXJkIGlzIHN1cHBsaWVkIHdpdGggYSBORUMgTkw2NDQ4QkMyMCBzY3JlZW4gICAgICAg
ICAgICAgICAgICAgICAgICovCisjaWZkZWYgQ09ORklHX05FQ19OTDY0NDhCQzIwCisjZGVmaW5l
IERJU1BMQVlfV0lEVEggICA2NDAKKyNkZWZpbmUgRElTUExBWV9IRUlHSFQgIDQ4MAorCisjaWZk
ZWYgQ09ORklHX1ZJREVPX1NFRDEzODA2XzhCUFAKK3N0YXRpYyBjb25zdCBTMURfUkVHUyBpbml0
X3JlZ3MgW10gPSAKK3sKKyAgICB7MHgwMDAxLDB4MDB9LCAgIC8vIE1pc2NlbGxhbmVvdXMgUmVn
aXN0ZXIKKyAgICB7MHgwMUZDLDB4MDB9LCAgIC8vIERpc3BsYXkgTW9kZSBSZWdpc3RlcgorICAg
IHsweDAwMDQsMHgxYn0sICAgLy8gR2VuZXJhbCBJTyBQaW5zIENvbmZpZ3VyYXRpb24gUmVnaXN0
ZXIgMAorICAgIHsweDAwMDUsMHgwMH0sICAgLy8gR2VuZXJhbCBJTyBQaW5zIENvbmZpZ3VyYXRp
b24gUmVnaXN0ZXIgMQorICAgIHsweDAwMDgsMHhlNX0sICAgLy8gR2VuZXJhbCBJTyBQaW5zIENv
bnRyb2wgUmVnaXN0ZXIgMAorICAgIHsweDAwMDksMHgxZn0sICAgLy8gR2VuZXJhbCBJTyBQaW5z
IENvbnRyb2wgUmVnaXN0ZXIgMQorICAgIHsweDAwMTAsMHgwMn0sICAgLy8gTWVtb3J5IENsb2Nr
IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIKKyAgICB7MHgwMDE0LDB4MTB9LCAgIC8vIExDRCBQaXhl
bCBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyCisgICAgezB4MDAxOCwweDAyfSwgICAvLyBD
UlQvVFYgUGl4ZWwgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlcgorICAgIHsweDAwMUMsMHgw
Mn0sICAgLy8gTWVkaWFQbHVnIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIKKyAgICB7MHgw
MDFFLDB4MDF9LCAgIC8vIENQVSBUbyBNZW1vcnkgV2FpdCBTdGF0ZSBTZWxlY3QgUmVnaXN0ZXIK
KyAgICB7MHgwMDIxLDB4MDR9LCAgIC8vIERSQU0gUmVmcmVzaCBSYXRlIFJlZ2lzdGVyCisgICAg
ezB4MDAyQSwweDAwfSwgICAvLyBEUkFNIFRpbWluZ3MgQ29udHJvbCBSZWdpc3RlciAwCisgICAg
ezB4MDAyQiwweDAxfSwgICAvLyBEUkFNIFRpbWluZ3MgQ29udHJvbCBSZWdpc3RlciAxCisgICAg
ezB4MDAyMCwweDgwfSwgICAvLyBNZW1vcnkgQ29uZmlndXJhdGlvbiBSZWdpc3RlcgorICAgIHsw
eDAwMzAsMHgyNX0sICAgLy8gUGFuZWwgVHlwZSBSZWdpc3RlcgorICAgIHsweDAwMzEsMHgwMH0s
ICAgLy8gTU9EIFJhdGUgUmVnaXN0ZXIKKyAgICB7MHgwMDMyLDB4NEZ9LCAgIC8vIExDRCBIb3Jp
em9udGFsIERpc3BsYXkgV2lkdGggUmVnaXN0ZXIKKyAgICB7MHgwMDM0LDB4MTN9LCAgIC8vIExD
RCBIb3Jpem9udGFsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlcgorICAgIHsweDAwMzUsMHgw
MX0sICAgLy8gVEZUIEZQTElORSBTdGFydCBQb3NpdGlvbiBSZWdpc3RlcgorICAgIHsweDAwMzYs
MHgwQn0sICAgLy8gVEZUIEZQTElORSBQdWxzZSBXaWR0aCBSZWdpc3RlcgorICAgIHsweDAwMzgs
MHhERn0sICAgLy8gTENEIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDAKKyAgICB7
MHgwMDM5LDB4MDF9LCAgIC8vIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAx
CisgICAgezB4MDAzQSwweDJDfSwgICAvLyBMQ0QgVmVydGljYWwgTm9uLURpc3BsYXkgUGVyaW9k
IFJlZ2lzdGVyCisgICAgezB4MDAzQiwweDAwfSwgICAvLyBURlQgRlBGUkFNRSBTdGFydCBQb3Np
dGlvbiBSZWdpc3RlcgorICAgIHsweDAwM0MsMHgwMX0sICAgLy8gVEZUIEZQRlJBTUUgUHVsc2Ug
V2lkdGggUmVnaXN0ZXIKKyAgICB7MHgwMDQwLDB4MDN9LCAgIC8vIExDRCBEaXNwbGF5IE1vZGUg
UmVnaXN0ZXIKKyAgICB7MHgwMDQxLDB4MDJ9LCAgIC8vIExDRCBNaXNjZWxsYW5lb3VzIFJlZ2lz
dGVyCisgICAgezB4MDA0MiwweDAwfSwgICAvLyBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJl
Z2lzdGVyIDAKKyAgICB7MHgwMDQzLDB4MDB9LCAgIC8vIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJl
c3MgUmVnaXN0ZXIgMQorICAgIHsweDAwNDQsMHgwMH0sICAgLy8gTENEIERpc3BsYXkgU3RhcnQg
QWRkcmVzcyBSZWdpc3RlciAyCisgICAgezB4MDA0NiwweDQwfSwgICAvLyBMQ0QgTWVtb3J5IEFk
ZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAKKyAgICB7MHgwMDQ3LDB4MDF9LCAgIC8vIExDRCBNZW1v
cnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMQorICAgIHsweDAwNDgsMHgwMH0sICAgLy8gTENE
IFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIKKyAgICB7MHgwMDRBLDB4MDB9LCAgIC8vIExDRCBEaXNw
bGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlcgorICAgIHsweDAwNEIsMHgw
MH0sICAgLy8gTENEIERpc3BsYXkgRklGTyBMb3cgVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIK
KyAgICB7MHgwMDUwLDB4NEZ9LCAgIC8vIENSVC9UViBIb3Jpem9udGFsIERpc3BsYXkgV2lkdGgg
UmVnaXN0ZXIKKyAgICB7MHgwMDUyLDB4MTN9LCAgIC8vIENSVC9UViBIb3Jpem9udGFsIE5vbi1E
aXNwbGF5IFBlcmlvZCBSZWdpc3RlcgorICAgIHsweDAwNTMsMHgwMX0sICAgLy8gQ1JUL1RWIEhS
VEMgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIKKyAgICB7MHgwMDU0LDB4MEJ9LCAgIC8vIENSVC9U
ViBIUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyCisgICAgezB4MDA1NiwweERGfSwgICAvLyBDUlQv
VFYgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMAorICAgIHsweDAwNTcsMHgwMX0s
ICAgLy8gQ1JUL1RWIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEKKyAgICB7MHgw
MDU4LDB4MkJ9LCAgIC8vIENSVC9UViBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0
ZXIKKyAgICB7MHgwMDU5LDB4MDl9LCAgIC8vIENSVC9UViBWUlRDIFN0YXJ0IFBvc2l0aW9uIFJl
Z2lzdGVyCisgICAgezB4MDA1QSwweDAxfSwgICAvLyBDUlQvVFYgVlJUQyBQdWxzZSBXaWR0aCBS
ZWdpc3RlcgorICAgIHsweDAwNUIsMHgwMH0sICAgLy8gVFYgT3V0cHV0IENvbnRyb2wgUmVnaXN0
ZXIKKyAgICB7MHgwMDYwLDB4MDN9LCAgIC8vIENSVC9UViBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIK
KyAgICB7MHgwMDYyLDB4MDB9LCAgIC8vIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVn
aXN0ZXIgMAorICAgIHsweDAwNjMsMHgwMH0sICAgLy8gQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRk
cmVzcyBSZWdpc3RlciAxCisgICAgezB4MDA2NCwweDAwfSwgICAvLyBDUlQvVFYgRGlzcGxheSBT
dGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIKKyAgICB7MHgwMDY2LDB4NDB9LCAgIC8vIENSVC9UViBN
ZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMAorICAgIHsweDAwNjcsMHgwMX0sICAgLy8g
Q1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxCisgICAgezB4MDA2OCwweDAw
fSwgICAvLyBDUlQvVFYgUGl4ZWwgUGFubmluZyBSZWdpc3RlcgorICAgIHsweDAwNkEsMHgwMH0s
ICAgLy8gQ1JUL1RWIERpc3BsYXkgRklGTyBIaWdoIFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVy
CisgICAgezB4MDA2QiwweDAwfSwgICAvLyBDUlQvVFYgRGlzcGxheSBGSUZPIExvdyBUaHJlc2hv
bGQgQ29udHJvbCBSZWdpc3RlcgorICAgIHsweDAwNzAsMHgwMH0sICAgLy8gTENEIEluay9DdXJz
b3IgQ29udHJvbCBSZWdpc3RlcgorICAgIHsweDAwNzEsMHgwMH0sICAgLy8gTENEIEluay9DdXJz
b3IgU3RhcnQgQWRkcmVzcyBSZWdpc3RlcgorICAgIHsweDAwNzIsMHgwMH0sICAgLy8gTENEIEN1
cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAKKyAgICB7MHgwMDczLDB4MDB9LCAgIC8vIExDRCBD
dXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAxCisgICAgezB4MDA3NCwweDAwfSwgICAvLyBMQ0Qg
Q3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMAorICAgIHsweDAwNzUsMHgwMH0sICAgLy8gTENE
IEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEKKyAgICB7MHgwMDc2LDB4MDB9LCAgIC8vIExD
RCBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMCBSZWdpc3RlcgorICAgIHsweDAwNzcsMHgwMH0sICAg
Ly8gTENEIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMCBSZWdpc3RlcgorICAgIHsweDAwNzgsMHgw
MH0sICAgLy8gTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIKKyAgICB7MHgwMDdB
LDB4MUZ9LCAgIC8vIExDRCBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMSBSZWdpc3RlcgorICAgIHsw
eDAwN0IsMHgzRn0sICAgLy8gTENEIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMSBSZWdpc3Rlcgor
ICAgIHsweDAwN0MsMHgxRn0sICAgLy8gTENEIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0
ZXIKKyAgICB7MHgwMDdFLDB4MDB9LCAgIC8vIExDRCBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xk
IFJlZ2lzdGVyCisgICAgezB4MDA4MCwweDAwfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBDb250
cm9sIFJlZ2lzdGVyCisgICAgezB4MDA4MSwweDAwfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBT
dGFydCBBZGRyZXNzIFJlZ2lzdGVyCisgICAgezB4MDA4MiwweDAwfSwgICAvLyBDUlQvVFYgQ3Vy
c29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMAorICAgIHsweDAwODMsMHgwMH0sICAgLy8gQ1JUL1RW
IEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEKKyAgICB7MHgwMDg0LDB4MDB9LCAgIC8vIENS
VC9UViBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAwCisgICAgezB4MDA4NSwweDAwfSwgICAv
LyBDUlQvVFYgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMQorICAgIHsweDAwODYsMHgwMH0s
ICAgLy8gQ1JUL1RWIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJlZ2lzdGVyCisgICAgezB4MDA4
NywweDAwfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBHcmVlbiBDb2xvciAwIFJlZ2lzdGVyCisg
ICAgezB4MDA4OCwweDAwfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBSZWQgQ29sb3IgMCBSZWdp
c3RlcgorICAgIHsweDAwOEEsMHgxRn0sICAgLy8gQ1JUL1RWIEluay9DdXJzb3IgQmx1ZSBDb2xv
ciAxIFJlZ2lzdGVyCisgICAgezB4MDA4QiwweDNGfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBH
cmVlbiBDb2xvciAxIFJlZ2lzdGVyCisgICAgezB4MDA4QywweDFGfSwgICAvLyBDUlQvVFYgSW5r
L0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlcgorICAgIHsweDAwOEUsMHgwMH0sICAgLy8gQ1JU
L1RWIEluay9DdXJzb3IgRklGTyBUaHJlc2hvbGQgUmVnaXN0ZXIKKyAgICB7MHgwMTAwLDB4MDB9
LCAgIC8vIEJpdEJsdCBDb250cm9sIFJlZ2lzdGVyIDAKKyAgICB7MHgwMTAxLDB4MDB9LCAgIC8v
IEJpdEJsdCBDb250cm9sIFJlZ2lzdGVyIDEKKyAgICB7MHgwMTAyLDB4MDB9LCAgIC8vIEJpdEJs
dCBST1AgQ29kZS9Db2xvciBFeHBhbnNpb24gUmVnaXN0ZXIKKyAgICB7MHgwMTAzLDB4MDB9LCAg
IC8vIEJpdEJsdCBPcGVyYXRpb24gUmVnaXN0ZXIKKyAgICB7MHgwMTA0LDB4MDB9LCAgIC8vIEJp
dEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwCisgICAgezB4MDEwNSwweDAwfSwg
ICAvLyBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMQorICAgIHsweDAxMDYs
MHgwMH0sICAgLy8gQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIKKyAgICB7
MHgwMTA4LDB4MDB9LCAgIC8vIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lz
dGVyIDAKKyAgICB7MHgwMTA5LDB4MDB9LCAgIC8vIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBB
ZGRyZXNzIFJlZ2lzdGVyIDEKKyAgICB7MHgwMTBBLDB4MDB9LCAgIC8vIEJpdEJsdCBEZXN0aW5h
dGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIKKyAgICB7MHgwMTBDLDB4MDB9LCAgIC8vIEJp
dEJsdCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMAorICAgIHsweDAxMEQsMHgwMH0s
ICAgLy8gQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxCisgICAgezB4MDEx
MCwweDAwfSwgICAvLyBCaXRCbHQgV2lkdGggUmVnaXN0ZXIgMAorICAgIHsweDAxMTEsMHgwMH0s
ICAgLy8gQml0Qmx0IFdpZHRoIFJlZ2lzdGVyIDEKKyAgICB7MHgwMTEyLDB4MDB9LCAgIC8vIEJp
dEJsdCBIZWlnaHQgUmVnaXN0ZXIgMAorICAgIHsweDAxMTMsMHgwMH0sICAgLy8gQml0Qmx0IEhl
aWdodCBSZWdpc3RlciAxCisgICAgezB4MDExNCwweDAwfSwgICAvLyBCaXRCbHQgQmFja2dyb3Vu
ZCBDb2xvciBSZWdpc3RlciAwCisgICAgezB4MDExNSwweDAwfSwgICAvLyBCaXRCbHQgQmFja2dy
b3VuZCBDb2xvciBSZWdpc3RlciAxCisgICAgezB4MDExOCwweDAwfSwgICAvLyBCaXRCbHQgRm9y
ZWdyb3VuZCBDb2xvciBSZWdpc3RlciAwCisgICAgezB4MDExOSwweDAwfSwgICAvLyBCaXRCbHQg
Rm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAxCisgICAgezB4MDFFMCwweDAwfSwgICAvLyBMb29r
LVVwIFRhYmxlIE1vZGUgUmVnaXN0ZXIKKyAgICB7MHgwMUUyLDB4MDB9LCAgIC8vIExvb2stVXAg
VGFibGUgQWRkcmVzcyBSZWdpc3RlcgorICAgIHsweDAxRTQsMHgwMH0sICAgLy8gTG9vay1VcCBU
YWJsZSBEYXRhIFJlZ2lzdGVyCisgICAgezB4MDFGMCwweDEwfSwgICAvLyBQb3dlciBTYXZlIENv
bmZpZ3VyYXRpb24gUmVnaXN0ZXIKKyAgICB7MHgwMUYxLDB4MDB9LCAgIC8vIFBvd2VyIFNhdmUg
U3RhdHVzIFJlZ2lzdGVyCisgICAgezB4MDFGNCwweDAwfSwgICAvLyBDUFUtdG8tTWVtb3J5IEFj
Y2VzcyBXYXRjaGRvZyBUaW1lciBSZWdpc3RlcgorICAgIHsweDAxRkMsMHgwMX0sICAgLy8gRGlz
cGxheSBNb2RlIFJlZ2lzdGVyCisgICAgezAsIDB9Cit9OworI2VuZGlmIC8qIENPTkZJR19WSURF
T19TRUQxMzgwNl84QlBQICovCisKKyNpZmRlZiBDT05GSUdfVklERU9fU0VEMTM4MDZfMTZCUFAK
Kworc3RhdGljIGNvbnN0IFMxRF9SRUdTIGluaXRfcmVncyBbXSA9IAoreworICAgIHsweDAwMDEs
MHgwMH0sICAgLy8gTWlzY2VsbGFuZW91cyBSZWdpc3RlcgorICAgIHsweDAxRkMsMHgwMH0sICAg
Ly8gRGlzcGxheSBNb2RlIFJlZ2lzdGVyCisgICAgezB4MDAwNCwweDFifSwgICAvLyBHZW5lcmFs
IElPIFBpbnMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAwCisgICAgezB4MDAwNSwweDAwfSwgICAv
LyBHZW5lcmFsIElPIFBpbnMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAxCisgICAgezB4MDAwOCww
eGU1fSwgICAvLyBHZW5lcmFsIElPIFBpbnMgQ29udHJvbCBSZWdpc3RlciAwCisgICAgezB4MDAw
OSwweDFmfSwgICAvLyBHZW5lcmFsIElPIFBpbnMgQ29udHJvbCBSZWdpc3RlciAxCisgICAgezB4
MDAxMCwweDAyfSwgICAvLyBNZW1vcnkgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlcgorICAg
IHsweDAwMTQsMHgxMH0sICAgLy8gTENEIFBpeGVsIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0
ZXIKKyAgICB7MHgwMDE4LDB4MDJ9LCAgIC8vIENSVC9UViBQaXhlbCBDbG9jayBDb25maWd1cmF0
aW9uIFJlZ2lzdGVyCisgICAgezB4MDAxQywweDAyfSwgICAvLyBNZWRpYVBsdWcgQ2xvY2sgQ29u
ZmlndXJhdGlvbiBSZWdpc3RlcgorICAgIHsweDAwMUUsMHgwMX0sICAgLy8gQ1BVIFRvIE1lbW9y
eSBXYWl0IFN0YXRlIFNlbGVjdCBSZWdpc3RlcgorICAgIHsweDAwMjEsMHgwNH0sICAgLy8gRFJB
TSBSZWZyZXNoIFJhdGUgUmVnaXN0ZXIKKyAgICB7MHgwMDJBLDB4MDB9LCAgIC8vIERSQU0gVGlt
aW5ncyBDb250cm9sIFJlZ2lzdGVyIDAKKyAgICB7MHgwMDJCLDB4MDF9LCAgIC8vIERSQU0gVGlt
aW5ncyBDb250cm9sIFJlZ2lzdGVyIDEKKyAgICB7MHgwMDIwLDB4ODB9LCAgIC8vIE1lbW9yeSBD
b25maWd1cmF0aW9uIFJlZ2lzdGVyCisgICAgezB4MDAzMCwweDI1fSwgICAvLyBQYW5lbCBUeXBl
IFJlZ2lzdGVyCisgICAgezB4MDAzMSwweDAwfSwgICAvLyBNT0QgUmF0ZSBSZWdpc3RlcgorICAg
IHsweDAwMzIsMHg0Rn0sICAgLy8gTENEIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3Rl
cgorICAgIHsweDAwMzQsMHgxM30sICAgLy8gTENEIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVy
aW9kIFJlZ2lzdGVyCisgICAgezB4MDAzNSwweDAxfSwgICAvLyBURlQgRlBMSU5FIFN0YXJ0IFBv
c2l0aW9uIFJlZ2lzdGVyCisgICAgezB4MDAzNiwweDBCfSwgICAvLyBURlQgRlBMSU5FIFB1bHNl
IFdpZHRoIFJlZ2lzdGVyCisgICAgezB4MDAzOCwweERGfSwgICAvLyBMQ0QgVmVydGljYWwgRGlz
cGxheSBIZWlnaHQgUmVnaXN0ZXIgMAorICAgIHsweDAwMzksMHgwMX0sICAgLy8gTENEIFZlcnRp
Y2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDEKKyAgICB7MHgwMDNBLDB4MkN9LCAgIC8vIExD
RCBWZXJ0aWNhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIKKyAgICB7MHgwMDNCLDB4MDB9
LCAgIC8vIFRGVCBGUEZSQU1FIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyCisgICAgezB4MDAzQyww
eDAxfSwgICAvLyBURlQgRlBGUkFNRSBQdWxzZSBXaWR0aCBSZWdpc3RlcgorICAgIHsweDAwNDAs
MHgwNX0sICAgLy8gTENEIERpc3BsYXkgTW9kZSBSZWdpc3RlcgorICAgIHsweDAwNDEsMHgwMn0s
ICAgLy8gTENEIE1pc2NlbGxhbmVvdXMgUmVnaXN0ZXIKKyAgICB7MHgwMDQyLDB4MDB9LCAgIC8v
IExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMAorICAgIHsweDAwNDMsMHgwMH0s
ICAgLy8gTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxCisgICAgezB4MDA0NCww
eDAwfSwgICAvLyBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIKKyAgICB7MHgw
MDQ2LDB4ODB9LCAgIC8vIExDRCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMAorICAg
IHsweDAwNDcsMHgwMn0sICAgLy8gTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAx
CisgICAgezB4MDA0OCwweDAwfSwgICAvLyBMQ0QgUGl4ZWwgUGFubmluZyBSZWdpc3RlcgorICAg
IHsweDAwNEEsMHgwMH0sICAgLy8gTENEIERpc3BsYXkgRklGTyBIaWdoIFRocmVzaG9sZCBDb250
cm9sIFJlZ2lzdGVyCisgICAgezB4MDA0QiwweDAwfSwgICAvLyBMQ0QgRGlzcGxheSBGSUZPIExv
dyBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlcgorICAgIHsweDAwNTAsMHg0Rn0sICAgLy8gQ1JU
L1RWIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3RlcgorICAgIHsweDAwNTIsMHgxM30s
ICAgLy8gQ1JUL1RWIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyCisgICAg
ezB4MDA1MywweDAxfSwgICAvLyBDUlQvVFYgSFJUQyBTdGFydCBQb3NpdGlvbiBSZWdpc3Rlcgor
ICAgIHsweDAwNTQsMHgwQn0sICAgLy8gQ1JUL1RWIEhSVEMgUHVsc2UgV2lkdGggUmVnaXN0ZXIK
KyAgICB7MHgwMDU2LDB4REZ9LCAgIC8vIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBS
ZWdpc3RlciAwCisgICAgezB4MDA1NywweDAxfSwgICAvLyBDUlQvVFYgVmVydGljYWwgRGlzcGxh
eSBIZWlnaHQgUmVnaXN0ZXIgMQorICAgIHsweDAwNTgsMHgyQn0sICAgLy8gQ1JUL1RWIFZlcnRp
Y2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlcgorICAgIHsweDAwNTksMHgwOX0sICAgLy8g
Q1JUL1RWIFZSVEMgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIKKyAgICB7MHgwMDVBLDB4MDF9LCAg
IC8vIENSVC9UViBWUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyCisgICAgezB4MDA1QiwweDAwfSwg
ICAvLyBUViBPdXRwdXQgQ29udHJvbCBSZWdpc3RlcgorICAgIHsweDAwNjAsMHgwNX0sICAgLy8g
Q1JUL1RWIERpc3BsYXkgTW9kZSBSZWdpc3RlcgorICAgIHsweDAwNjIsMHgwMH0sICAgLy8gQ1JU
L1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwCisgICAgezB4MDA2MywweDAwfSwg
ICAvLyBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEKKyAgICB7MHgwMDY0
LDB4MDB9LCAgIC8vIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMgorICAg
IHsweDAwNjYsMHg4MH0sICAgLy8gQ1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3Rl
ciAwCisgICAgezB4MDA2NywweDAyfSwgICAvLyBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0
IFJlZ2lzdGVyIDEKKyAgICB7MHgwMDY4LDB4MDB9LCAgIC8vIENSVC9UViBQaXhlbCBQYW5uaW5n
IFJlZ2lzdGVyCisgICAgezB4MDA2QSwweDAwfSwgICAvLyBDUlQvVFYgRGlzcGxheSBGSUZPIEhp
Z2ggVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIKKyAgICB7MHgwMDZCLDB4MDB9LCAgIC8vIENS
VC9UViBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyCisgICAgezB4
MDA3MCwweDAwfSwgICAvLyBMQ0QgSW5rL0N1cnNvciBDb250cm9sIFJlZ2lzdGVyCisgICAgezB4
MDA3MSwweDAwfSwgICAvLyBMQ0QgSW5rL0N1cnNvciBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyCisg
ICAgezB4MDA3MiwweDAwfSwgICAvLyBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMAor
ICAgIHsweDAwNzMsMHgwMH0sICAgLy8gTENEIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDEK
KyAgICB7MHgwMDc0LDB4MDB9LCAgIC8vIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAw
CisgICAgezB4MDA3NSwweDAwfSwgICAvLyBMQ0QgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIg
MQorICAgIHsweDAwNzYsMHgwMH0sICAgLy8gTENEIEluay9DdXJzb3IgQmx1ZSBDb2xvciAwIFJl
Z2lzdGVyCisgICAgezB4MDA3NywweDAwfSwgICAvLyBMQ0QgSW5rL0N1cnNvciBHcmVlbiBDb2xv
ciAwIFJlZ2lzdGVyCisgICAgezB4MDA3OCwweDAwfSwgICAvLyBMQ0QgSW5rL0N1cnNvciBSZWQg
Q29sb3IgMCBSZWdpc3RlcgorICAgIHsweDAwN0EsMHgxRn0sICAgLy8gTENEIEluay9DdXJzb3Ig
Qmx1ZSBDb2xvciAxIFJlZ2lzdGVyCisgICAgezB4MDA3QiwweDNGfSwgICAvLyBMQ0QgSW5rL0N1
cnNvciBHcmVlbiBDb2xvciAxIFJlZ2lzdGVyCisgICAgezB4MDA3QywweDFGfSwgICAvLyBMQ0Qg
SW5rL0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlcgorICAgIHsweDAwN0UsMHgwMH0sICAgLy8g
TENEIEluay9DdXJzb3IgRklGTyBUaHJlc2hvbGQgUmVnaXN0ZXIKKyAgICB7MHgwMDgwLDB4MDB9
LCAgIC8vIENSVC9UViBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIKKyAgICB7MHgwMDgxLDB4
MDB9LCAgIC8vIENSVC9UViBJbmsvQ3Vyc29yIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIKKyAgICB7
MHgwMDgyLDB4MDB9LCAgIC8vIENSVC9UViBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAwCisg
ICAgezB4MDA4MywweDAwfSwgICAvLyBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIg
MQorICAgIHsweDAwODQsMHgwMH0sICAgLy8gQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lz
dGVyIDAKKyAgICB7MHgwMDg1LDB4MDB9LCAgIC8vIENSVC9UViBDdXJzb3IgWSBQb3NpdGlvbiBS
ZWdpc3RlciAxCisgICAgezB4MDA4NiwweDAwfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBCbHVl
IENvbG9yIDAgUmVnaXN0ZXIKKyAgICB7MHgwMDg3LDB4MDB9LCAgIC8vIENSVC9UViBJbmsvQ3Vy
c29yIEdyZWVuIENvbG9yIDAgUmVnaXN0ZXIKKyAgICB7MHgwMDg4LDB4MDB9LCAgIC8vIENSVC9U
ViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAwIFJlZ2lzdGVyCisgICAgezB4MDA4QSwweDFGfSwgICAv
LyBDUlQvVFYgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIKKyAgICB7MHgwMDhCLDB4
M0Z9LCAgIC8vIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDEgUmVnaXN0ZXIKKyAgICB7
MHgwMDhDLDB4MUZ9LCAgIC8vIENSVC9UViBJbmsvQ3Vyc29yIFJlZCBDb2xvciAxIFJlZ2lzdGVy
CisgICAgezB4MDA4RSwweDAwfSwgICAvLyBDUlQvVFYgSW5rL0N1cnNvciBGSUZPIFRocmVzaG9s
ZCBSZWdpc3RlcgorICAgIHsweDAxMDAsMHgwMH0sICAgLy8gQml0Qmx0IENvbnRyb2wgUmVnaXN0
ZXIgMAorICAgIHsweDAxMDEsMHgwMH0sICAgLy8gQml0Qmx0IENvbnRyb2wgUmVnaXN0ZXIgMQor
ICAgIHsweDAxMDIsMHgwMH0sICAgLy8gQml0Qmx0IFJPUCBDb2RlL0NvbG9yIEV4cGFuc2lvbiBS
ZWdpc3RlcgorICAgIHsweDAxMDMsMHgwMH0sICAgLy8gQml0Qmx0IE9wZXJhdGlvbiBSZWdpc3Rl
cgorICAgIHsweDAxMDQsMHgwMH0sICAgLy8gQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJl
Z2lzdGVyIDAKKyAgICB7MHgwMTA1LDB4MDB9LCAgIC8vIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRk
cmVzcyBSZWdpc3RlciAxCisgICAgezB4MDEwNiwweDAwfSwgICAvLyBCaXRCbHQgU291cmNlIFN0
YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMgorICAgIHsweDAxMDgsMHgwMH0sICAgLy8gQml0Qmx0IERl
c3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMAorICAgIHsweDAxMDksMHgwMH0sICAg
Ly8gQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMQorICAgIHsweDAx
MEEsMHgwMH0sICAgLy8gQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIg
MgorICAgIHsweDAxMEMsMHgwMH0sICAgLy8gQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBS
ZWdpc3RlciAwCisgICAgezB4MDEwRCwweDAwfSwgICAvLyBCaXRCbHQgTWVtb3J5IEFkZHJlc3Mg
T2Zmc2V0IFJlZ2lzdGVyIDEKKyAgICB7MHgwMTEwLDB4MDB9LCAgIC8vIEJpdEJsdCBXaWR0aCBS
ZWdpc3RlciAwCisgICAgezB4MDExMSwweDAwfSwgICAvLyBCaXRCbHQgV2lkdGggUmVnaXN0ZXIg
MQorICAgIHsweDAxMTIsMHgwMH0sICAgLy8gQml0Qmx0IEhlaWdodCBSZWdpc3RlciAwCisgICAg
ezB4MDExMywweDAwfSwgICAvLyBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDEKKyAgICB7MHgwMTE0
LDB4MDB9LCAgIC8vIEJpdEJsdCBCYWNrZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDAKKyAgICB7MHgw
MTE1LDB4MDB9LCAgIC8vIEJpdEJsdCBCYWNrZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDEKKyAgICB7
MHgwMTE4LDB4MDB9LCAgIC8vIEJpdEJsdCBGb3JlZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDAKKyAg
ICB7MHgwMTE5LDB4MDB9LCAgIC8vIEJpdEJsdCBGb3JlZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDEK
KyAgICB7MHgwMUUwLDB4MDF9LCAgIC8vIExvb2stVXAgVGFibGUgTW9kZSBSZWdpc3RlcgorICAg
IHsweDAxRTIsMHgwMH0sICAgLy8gTG9vay1VcCBUYWJsZSBBZGRyZXNzIFJlZ2lzdGVyCisgICAg
ezB4MDFFNCwweDAwfSwgICAvLyBMb29rLVVwIFRhYmxlIERhdGEgUmVnaXN0ZXIKKyAgICB7MHgw
MUYwLDB4MTB9LCAgIC8vIFBvd2VyIFNhdmUgQ29uZmlndXJhdGlvbiBSZWdpc3RlcgorICAgIHsw
eDAxRjEsMHgwMH0sICAgLy8gUG93ZXIgU2F2ZSBTdGF0dXMgUmVnaXN0ZXIKKyAgICB7MHgwMUY0
LDB4MDB9LCAgIC8vIENQVS10by1NZW1vcnkgQWNjZXNzIFdhdGNoZG9nIFRpbWVyIFJlZ2lzdGVy
CisgICAgezB4MDFGQywweDAxfSwgICAvLyBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIKKyAgICB7MCwg
MH0KK307CisKKyNlbmRpZiAvKiBDT05GSUdfVklERU9fU0VEMTM4MDZfMTZCUFAgKi8KKyNlbmRp
ZiAvKiBDT05GSUdfTkVDX05MNjQ0OEJDMjAgKi8KKworCisKKyNpZmRlZiBDT05GSUdfQ09OU09M
RV9FWFRSQV9JTkZPCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHZpZGVvX2dldF9pbmZv
X3N0ciAtLSBzZXR1cCBhIGJvYXJkIHN0cmluZzogdHlwZSwgc3BlZWQsIGV0Yy4KKyAqIGxpbmVf
bnVtYmVyPSBsb2NhdGlvbiB0byBwbGFjZSBpbmZvIHN0cmluZyBiZXNpZGUgbG9nbworICogaW5m
bz0gYnVmZmVyIGZvciBpbmZvIHN0cmluZworICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCit2
b2lkIHZpZGVvX2dldF9pbmZvX3N0ciAoaW50IGxpbmVfbnVtYmVyLCBjaGFyICppbmZvKQorewor
ICAgIGlmIChsaW5lX251bWJlciA9PSAxKSB7CisgICAgICAgIHN0cmNweSAoaW5mbywgIiBSUFhD
bGFzc2ljIGJvYXJkIik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpbmZvIFswXSA9ICdc
MCc7CisgICAgfQorCit9CisjZW5kaWYKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogYm9h
cmRfdmlkZW9faW5pdCAtLSBpbml0IGRlIGwnRVBTT04sIGNvbmZpZyBkdSBDUworICotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorICovCit1bnNpZ25lZCBpbnQgYm9hcmRfdmlkZW9faW5pdCAodm9pZCkK
K3sKKyAgICB2b2xhdGlsZSBpbW1hcF90ICAgICAqaW1tYXAgID0gKGltbWFwX3QgKilDRkdfSU1N
UjsKKyAgICB2b2xhdGlsZSBtZW1jdGw4eHhfdCAqbWVtY3RsID0gJmltbWFwLT5pbV9tZW1jdGw7
CisKKyAgICAvKiBQcm9ncmFtIEVDQ1ggcmVnaXN0ZXJzICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAqKEVDQ1hfQ1NSMTIpIHw9IEVDQ1hfODYw
OworICAgICooRUNDWF9DU1I4KSB8PSBFQ0NYX0JFIHwgRUNDWF9DUzI7CisgICAgKihFQ0NYX0NT
UjgpIHw9IEVDQ1hfRU5FUFNPTjsKKyAgICAKKyAgICBtZW1jdGwtPm1lbWNfb3IyID0gU0VEMTM4
MDZfT1I7CisgICAgbWVtY3RsLT5tZW1jX2JyMiA9IFNFRDEzODA2X1JFR19BRERSIHwgU0VEMTM4
MDZfQUNDRVM7CisKKyAgICByZXR1cm4gKFNFRDEzODA2X1JFR19BRERSKTsKK30KKworLyotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorICogYm9hcmRfdmFsaWRhdGVfc2NyZWVuIC0tIAorICotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorICovCit2b2lkIGJvYXJkX3ZhbGlkYXRlX3NjcmVlbiAodW5zaWduZWQg
aW50IGJhc2UpCit7CisgICAgLyogQWN0aXZhdGUgdGhlIHBhbmVsIGJpYXMgcG93ZXIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgKih2b2xhdGlsZSB1bnNp
Z25lZCBjaGFyICopKGJhc2UgKyBSRUdfR1BJT19DVFJMKSA9IDB4ODA7Cit9CisvKi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisgKiBib2FyZF9nZXRfcmVncyAtLSAKKyAqLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKyAqLworY29uc3QgUzFEX1JFR1MgKmJvYXJkX2dldF9yZWdzICh2b2lkKQoreworICAgIHJl
dHVybiAoaW5pdF9yZWdzKTsKK30KKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIGJvYXJkX2dl
dF93aWR0aCAtLSAKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworaW50IGJvYXJkX2dldF93
aWR0aCAodm9pZCkKK3sKKyAgICByZXR1cm4gKERJU1BMQVlfV0lEVEgpOworfQorCisvKi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCisgKiBib2FyZF9nZXRfaGVpZ2h0IC0tIAorICotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorICovCitpbnQgYm9hcmRfZ2V0X2hlaWdodCAodm9pZCkKK3sKKyAgICByZXR1cm4g
KERJU1BMQVlfSEVJR0hUKTsKK30KKworI2VuZGlmIC8qIENPTkZJR19WSURFT19TRUQxMzgwNiAq
LwpkaWZmIC1wdXJOIHBwY2Jvb3QtMi4wLjAtY3ZzL2NvbW1vbi9kZXZpY2VzLmMgcHBjYm9vdC0y
LjAuMC1sY2QvY29tbW9uL2RldmljZXMuYwotLS0gcHBjYm9vdC0yLjAuMC1jdnMvY29tbW9uL2Rl
dmljZXMuYwkyMDAyLTExLTIwIDE4OjA2OjUxLjAwMDAwMDAwMCArMDEwMAorKysgcHBjYm9vdC0y
LjAuMC1sY2QvY29tbW9uL2RldmljZXMuYwkyMDAyLTExLTIwIDE3OjA5OjExLjAwMDAwMDAwMCAr
MDEwMApAQCAtMTcyLDcgKzE3Miw3IEBAIGludCBkZXZpY2VzX2luaXQgKHZvaWQpCiAjaWZkZWYg
Q09ORklHX0xDRAogCWRydl9sY2RfaW5pdCAoKTsKICNlbmRpZgotI2lmZGVmIENPTkZJR19WSURF
TworI2lmIGRlZmluZWQoQ09ORklHX1ZJREVPKSB8fCBkZWZpbmVkKENPTkZJR19DRkJfQ09OU09M
RSkKIAlkcnZfdmlkZW9faW5pdCAoKTsKICNlbmRpZgogI2lmZGVmIENPTkZJR19XTF80UFBNX0tF
WUJPQVJECmRpZmYgLXB1ck4gcHBjYm9vdC0yLjAuMC1jdnMvZHJpdmVycy9NYWtlZmlsZSBwcGNi
b290LTIuMC4wLWxjZC9kcml2ZXJzL01ha2VmaWxlCi0tLSBwcGNib290LTIuMC4wLWN2cy9kcml2
ZXJzL01ha2VmaWxlCTIwMDItMTEtMjAgMTc6MDM6MzAuMDAwMDAwMDAwICswMTAwCisrKyBwcGNi
b290LTIuMC4wLWxjZC9kcml2ZXJzL01ha2VmaWxlCTIwMDItMTEtMjAgMTc6MDc6NTguMDAwMDAw
MDAwICswMTAwCkBAIC0zMSw3ICszMSw3IEBAIE9CSlMJPSAzYzU4OS5vIDU3MDFybHMubyBiY201
NzB4Lm8gYmNtNTcKIAkgIGNmYl9jb25zb2xlLm8gY3M4OTAwLm8gZGMyMTE0eC5vIGVlcHJvMTAw
Lm8gXAogCSAgaTgwNDIubyBuYXRzZW1pLm8gbnMxNjU1MC5vIG5zODM4MngubyBuczg3MzA4Lm8g
XAogCSAgcGNpLm8gcGNpX2F1dG8ubyBwY2lfaW5kaXJlY3QubyBcCi0JICBwY25ldC5vIHNlcmlh
bC5vIFwKKwkgIHBjbmV0Lm8gc2VkMTM4MDYubyBzZXJpYWwubyBcCiAJICBzbWM5MTExMS5vIHNt
aUx5bnhFTS5vIHN5bTUzYzh4eC5vIFwKIAkgIHRpZ29uMy5vIHc4M2M1NTNmLm8gY3Q2OTAwMC5v
CiAKZGlmZiAtcHVyTiBwcGNib290LTIuMC4wLWN2cy9kcml2ZXJzL2NmYl9jb25zb2xlLmMgcHBj
Ym9vdC0yLjAuMC1sY2QvZHJpdmVycy9jZmJfY29uc29sZS5jCi0tLSBwcGNib290LTIuMC4wLWN2
cy9kcml2ZXJzL2NmYl9jb25zb2xlLmMJMjAwMi0xMS0yMCAxNzowMzo1MS4wMDAwMDAwMDAgKzAx
MDAKKysrIHBwY2Jvb3QtMi4wLjAtbGNkL2RyaXZlcnMvY2ZiX2NvbnNvbGUuYwkyMDAyLTExLTIw
IDE3OjUwOjIwLjAwMDAwMDAwMCArMDEwMApAQCAtNjUsNiArNjUsNyBAQAogIENPTkZJR19DT05T
T0xFX1RJTUUgICAgICAgICAtIGRpc3BsYXkgdGltZS9kYXRlIGluIHVwcGVyIHJpZ2h0IGNvcm5l
ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkcyBDRkdfQ01EX0RBVEUgYW5k
IENPTkZJR19DT05TT0xFX0NVUlNPUgogIENPTkZJR19WSURFT19MT0dPICAgICAgICAgICAtIGRp
c3BsYXkgTGludXggTG9nbyBpbiB1cHBlciBsZWZ0IGNvcm5lcgorIENPTkZJR19WSURFT19CTVBf
TE9HTyAgICAgICAtIHVzZSBibXBfbG9nbyBpbnN0ZWFkIG9mIGxpbnV4X2xvZ28KICBDT05GSUdf
Q09OU09MRV9FWFRSQV9JTkZPICAgLSBkaXNwbGF5IGFkZGl0aW9uYWwgYm9hcmQgaW5mb3JtYXRp
b24gc3RyaW5ncwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgbm9ybWFseSBn
b2VzIHRvIHNlcmlhbCBwb3J0LiBUaGlzIGRlZmluZQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVpcmVzIGEgYm9hcmQgc3BlY2lmaWMgZnVuY3Rpb246CkBAIC05Myw2ICs5NCw4
IEBAIENPTkZJR19WSURFT19IV19DVVJTT1I6ICAgICAgLSBVc2VzIHRoZSAKIAogI2lmZGVmIENP
TkZJR19DRkJfQ09OU09MRQogCisjaW5jbHVkZSA8bWFsbG9jLmg+CisKIC8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KIC8qIENvbnNvbGUgZGV2aWNlIGRlZmluZXMgd2l0aCBTTUkgZ3JhcGhpYyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qIEFueSBvdGhlciBncmFwaGljIG11
c3QgY2hhbmdlIHRoaXMgc2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8K
QEAgLTExNiw2ICsxMTksMTYgQEAgQ09ORklHX1ZJREVPX0hXX0NVUlNPUjogICAgICAtIFVzZXMg
dGhlIAogI2VuZGlmCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIERlZmluZXMgZm9yIHRo
ZSBTRUQxMzgwNiBkcml2ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBDT05GSUdfVklERU9fU0VEMTM4
MDYKKworI2RlZmluZSBWSURFT19GQl9MSVRUTEVfRU5ESUFOCisjZGVmaW5lIFZJREVPX0hXX1JF
Q1RGSUxMCisjZGVmaW5lIFZJREVPX0hXX0JJVEJMVAorI2VuZGlmCisKKy8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKi8KIC8qIEluY2x1ZGUgdmlkZW9fZmIuaCBhZnRlciBkZWZpbml0aW9ucyBvZiBWSURF
T19IV19SRUNURklMTCBldGMgICAgICAgICAgICAgKi8KIC8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
ICNpbmNsdWRlIDx2aWRlb19mYi5oPgpAQCAtMjE3LDYgKzIzMCwxNCBAQCB2b2lkICAgIGNvbnNv
bGVfY3Vyc29yIChpbnQgc3RhdGUpOwogI2VuZGlmICAvKiBDT05GSUdfVklERU9fSFdfQ1VSU09S
ICovCiAKICNpZmRlZiAgQ09ORklHX1ZJREVPX0xPR08KKyNpZmRlZiAgQ09ORklHX1ZJREVPX0JN
UF9MT0dPCisjaW5jbHVkZSA8Ym1wX2xvZ28uaD4KKyNkZWZpbmUgVklERU9fTE9HT19XSURUSCAg
ICAgICAgQk1QX0xPR09fV0lEVEgKKyNkZWZpbmUgVklERU9fTE9HT19IRUlHSFQgICAgICAgQk1Q
X0xPR09fSEVJR0hUCisjZGVmaW5lIFZJREVPX0xPR09fTFVUX09GRlNFVCAgIEJNUF9MT0dPX09G
RlNFVAorI2RlZmluZSBWSURFT19MT0dPX0NPTE9SUyAgICAgICBCTVBfTE9HT19DT0xPUlMKKwor
I2Vsc2UgICAvKiBDT05GSUdfVklERU9fQk1QX0xPR08gKi8KICNkZWZpbmUgTElOVVhfTE9HT19X
SURUSCAgICAgICAgODAKICNkZWZpbmUgTElOVVhfTE9HT19IRUlHSFQgICAgICAgODAKICNkZWZp
bmUgTElOVVhfTE9HT19DT0xPUlMgICAgICAgMjE0CkBAIC0yMjUsMTMgKzI0NiwxNSBAQCB2b2lk
ICAgIGNvbnNvbGVfY3Vyc29yIChpbnQgc3RhdGUpOwogI2luY2x1ZGUgPGxpbnV4X2xvZ28uaD4K
ICNkZWZpbmUgVklERU9fTE9HT19XSURUSCAgICAgICAgTElOVVhfTE9HT19XSURUSAogI2RlZmlu
ZSBWSURFT19MT0dPX0hFSUdIVCAgICAgICBMSU5VWF9MT0dPX0hFSUdIVAotCisjZGVmaW5lIFZJ
REVPX0xPR09fTFVUX09GRlNFVCAgIExJTlVYX0xPR09fTFVUX09GRlNFVAorI2RlZmluZSBWSURF
T19MT0dPX0NPTE9SUyAgICAgICBMSU5VWF9MT0dPX0NPTE9SUworI2VuZGlmICAvKiBDT05GSUdf
VklERU9fQk1QX0xPR08gKi8KICNkZWZpbmUgVklERU9fSU5GT19YICAgICAgICAgICAgKFZJREVP
X0xPR09fV0lEVEgpCiAjZGVmaW5lIFZJREVPX0lORk9fWSAgICAgICAgICAgIChWSURFT19GT05U
X0hFSUdIVC8yKQotI2Vsc2UKKyNlbHNlICAgLyogQ09ORklHX1ZJREVPX0xPR08gKi8KICNkZWZp
bmUgVklERU9fTE9HT19XSURUSCAgICAgICAgMAogI2RlZmluZSBWSURFT19MT0dPX0hFSUdIVCAg
ICAgICAwCi0jZW5kaWYKKyNlbmRpZiAgLyogQ09ORklHX1ZJREVPX0xPR08gKi8KIAogI2RlZmlu
ZSBWSURFT19DT0xTICAgICAgICAgICAgICBWSURFT19WSVNJQkxFX0NPTFMKICNkZWZpbmUgVklE
RU9fUk9XUyAgICAgICAgICAgICAgVklERU9fVklTSUJMRV9ST1dTCkBAIC00NjMsMTEgKzQ4Niw3
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2aWRlb19kcmF3c3RyaW5nKGludCAKIAogc3RhdGljIHZv
aWQgdmlkZW9fcHV0Y2hhcihpbnQgeHgsIGludCB5eSwgdW5zaWduZWQgY2hhciBjKQogewotI2lm
ZGVmIENPTkZJR19WSURFT19MT0dPCiAgICAgdmlkZW9fZHJhd2NoYXJzICh4eCwgeXkgKyBWSURF
T19MT0dPX0hFSUdIVCwgJmMsIDEpOwotI2Vsc2UKLSAgICB2aWRlb19kcmF3Y2hhcnMgKHh4LCB5
eSwgJmMsIDEpOwotI2VuZGlmCiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTY3Niw4
MyArNjk1LDEwNyBAQCB2b2lkIHZpZGVvX3B1dHMgKGNvbnN0IGNoYXIgKnMpCiAjaWZkZWYgQ09O
RklHX1ZJREVPX0xPR08KIHZvaWQgbG9nb19wbG90ICh2b2lkICpzY3JlZW4sIGludCB3aWR0aCwg
aW50IHgsIGludCB5KQogewotICAgIGludCBza2lwID0gKHdpZHRoIC0gTElOVVhfTE9HT19XSURU
SCkgKiBWSURFT19QSVhFTF9TSVpFLAorCisgICAgaW50IHNraXAgPSAod2lkdGggLSBWSURFT19M
T0dPX1dJRFRIKSAqIFZJREVPX1BJWEVMX1NJWkUsCiAgICAgICAgIHhjb3VudCwgaSwKLSAgICAg
ICAgeWNvdW50ID0gTElOVVhfTE9HT19IRUlHSFQ7CisgICAgICAgIHljb3VudCA9IFZJREVPX0xP
R09fSEVJR0hUOwogICAgIHVuc2lnbmVkIGNoYXIKLSAgICAgICAgKnNvdXJjZSA9IGxpbnV4X2xv
Z28sCisgICAgICAgICpzb3VyY2UsCiAgICAgICAgICpkZXN0ICAgPSAodW5zaWduZWQgY2hhciAq
KSBzY3JlZW4gKyAoKHkgKiB3aWR0aCAqIFZJREVPX1BJWEVMX1NJWkUpICsgeCksCi0gICAgICAg
IHIsIGcsIGI7CisgICAgICAgIHIsIGcsIGIsICpsb2dvX3JlZCwgKmxvZ29fYmx1ZSwgKmxvZ29f
Z3JlZW47CiAKKyNpZmRlZiBDT05GSUdfVklERU9fQk1QX0xPR08KKyAgICBzb3VyY2UgPSBibXBf
bG9nb19iaXRtYXA7CisgICAgCisgICAgLyogQWxsb2NhdGUgdGVtcG9yYXJ5IHNwYWNlIGZvciBj
b21wdXRpbmcgY29sb3JtYXAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgbG9nb19yZWQg
PSBtYWxsb2MgKEJNUF9MT0dPX0NPTE9SUyk7CisgICAgbG9nb19ncmVlbiA9IG1hbGxvYyAoQk1Q
X0xPR09fQ09MT1JTKTsKKyAgICBsb2dvX2JsdWUgPSBtYWxsb2MgKEJNUF9MT0dPX0NPTE9SUyk7
CisgICAgLyogQ29tcHV0ZSBjb2xvciBtYXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovCisgICAgZm9yIChpID0gMDsgaSA8IFZJREVPX0xPR09f
Q09MT1JTOyBpKyspIHsKKyAgICAgICAgbG9nb19yZWQgW2ldID0gKGJtcF9sb2dvX3BhbGV0dGUg
W2ldICYgMHgwZjAwKSA+PiA0OworICAgICAgICBsb2dvX2dyZWVuIFtpXSA9IChibXBfbG9nb19w
YWxldHRlIFtpXSAmIDB4MDBmMCk7CisgICAgICAgIGxvZ29fYmx1ZSBbaV0gPSAoYm1wX2xvZ29f
cGFsZXR0ZSBbaV0gJiAweDAwMGYpIDw8IDQ7CisgICAgfQorI2Vsc2UKKyAgICBzb3VyY2UgPSBs
aW51eF9sb2dvOworICAgIGxvZ29fcmVkID0gbGludXhfbG9nb19yZWQ7CisgICAgbG9nb19ncmVl
biA9IGxpbnV4X2xvZ29fZ3JlZW47CisgICAgbG9nb19ibHVlID0gbGludXhfbG9nb19ibHVlOwor
I2VuZGlmCisgICAgCiAgICAgaWYgKFZJREVPX0RBVEFfRk9STUFUID09IEdERl9fOEJJVF9JTkRF
WCkKICAgICB7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBMSU5VWF9MT0dPX0NPTE9SUzsgaSsr
KQorICAgICAgICBmb3IgKGkgPSAwOyBpIDwgVklERU9fTE9HT19DT0xPUlM7IGkrKykKICAgICAg
ICAgewotICAgICAgICAgICAgciA9ICh1bnNpZ25lZCBjaGFyKWxpbnV4X2xvZ29fcmVkICBbaV07
Ci0gICAgICAgICAgICBnID0gKHVuc2lnbmVkIGNoYXIpbGludXhfbG9nb19ncmVlbltpXTsKLSAg
ICAgICAgICAgIGIgPSAodW5zaWduZWQgY2hhcilsaW51eF9sb2dvX2JsdWUgW2ldOwotICAgICAg
ICAgICAgdmlkZW9fc2V0X2x1dCAoTElOVVhfTE9HT19MVVRfT0ZGU0VUICsgaSwgciwgZywgYik7
CisgICAgICAgICAgICB2aWRlb19zZXRfbHV0IChpICsgVklERU9fTE9HT19MVVRfT0ZGU0VULAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nb19yZWQgW2ldLCBsb2dvX2dyZWVuIFtpXSwg
bG9nb19ibHVlIFtpXSk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICB3aGlsZSAoeWNvdW50LS0p
CiAgICAgewotICAgIHhjb3VudCA9IExJTlVYX0xPR09fV0lEVEg7Ci0gICAgd2hpbGUgKHhjb3Vu
dC0tKQotICAgIHsKLSAgICAgICAgciA9ICh1bnNpZ25lZCBjaGFyKWxpbnV4X2xvZ29fcmVkICBb
KnNvdXJjZSAtIExJTlVYX0xPR09fTFVUX09GRlNFVF07Ci0gICAgICAgIGcgPSAodW5zaWduZWQg
Y2hhcilsaW51eF9sb2dvX2dyZWVuWypzb3VyY2UgLSBMSU5VWF9MT0dPX0xVVF9PRkZTRVRdOwot
ICAgICAgICBiID0gKHVuc2lnbmVkIGNoYXIpbGludXhfbG9nb19ibHVlIFsqc291cmNlIC0gTElO
VVhfTE9HT19MVVRfT0ZGU0VUXTsKLQotICAgICAgICBzd2l0Y2ggKFZJREVPX0RBVEFfRk9STUFU
KQotICAgICAgICB7Ci0gICAgICAgIGNhc2UgR0RGX184QklUX0lOREVYOgotICAgICAgICAgICAg
KmRlc3QgPSAqc291cmNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgR0RGX184
QklUXzMzMlJHQjoKLSAgICAgICAgICAgICpkZXN0ID0gKChyPj41KTw8NSkgfCAoKGc+PjUpPDwy
KSB8IChiPj42KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEdERl8xNUJJVF81
NTVSR0I6Ci0gICAgICAgICAgICAqKHVuc2lnbmVkIHNob3J0ICopZGVzdCA9Ci0gICAgICAgICAg
ICBTV0FQMTYoKHVuc2lnbmVkIHNob3J0KSgoKHI+PjMpPDwxMCkgfCAoKGc+PjMpPDw1KSB8IChi
Pj4zKSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgR0RGXzE2QklUXzU2NVJH
QjoKLSAgICAgICAgICAgICoodW5zaWduZWQgc2hvcnQgKilkZXN0ID0KLSAgICAgICAgICAgIFNX
QVAxNigodW5zaWduZWQgc2hvcnQpKCgocj4+Myk8PDExKSB8ICgoZz4+Mik8PDUpIHwgKGI+PjMp
KSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBHREZfMzJCSVRfWDg4OFJHQjoK
LSAgICAgICAgICAgICoodW5zaWduZWQgbG9uZyAgKilkZXN0ID0KLSAgICAgICAgICAgIFNXQVAz
MigodW5zaWduZWQgbG9uZykoKHI8PDE2KSB8IChnPDw4KSB8IGIpKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEdERl8yNEJJVF84ODhSR0I6CisgICAgICAgIHhjb3VudCA9IFZJ
REVPX0xPR09fV0lEVEg7CisgICAgICAgIHdoaWxlICh4Y291bnQtLSkKKyAgICAgICAgeworICAg
ICAgICAgICAgciA9IGxvZ29fcmVkIFsqc291cmNlIC0gVklERU9fTE9HT19MVVRfT0ZGU0VUXTsK
KyAgICAgICAgICAgIGcgPSBsb2dvX2dyZWVuIFsqc291cmNlIC0gVklERU9fTE9HT19MVVRfT0ZG
U0VUXTsKKyAgICAgICAgICAgIGIgPSBsb2dvX2JsdWUgWypzb3VyY2UgLSBWSURFT19MT0dPX0xV
VF9PRkZTRVRdOworICAgICAgICAgICAgCisgICAgICAgICAgICBzd2l0Y2ggKFZJREVPX0RBVEFf
Rk9STUFUKQorICAgICAgICAgICAgeworICAgICAgICAgICAgY2FzZSBHREZfXzhCSVRfSU5ERVg6
CisgICAgICAgICAgICAgICAgKmRlc3QgPSAqc291cmNlOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgY2FzZSBHREZfXzhCSVRfMzMyUkdCOgorICAgICAgICAgICAgICAgICpk
ZXN0ID0gKChyPj41KTw8NSkgfCAoKGc+PjUpPDwyKSB8IChiPj42KTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgR0RGXzE1QklUXzU1NVJHQjoKKyAgICAgICAgICAg
ICAgICAqKHVuc2lnbmVkIHNob3J0ICopZGVzdCA9CisgICAgICAgICAgICAgICAgICAgIFNXQVAx
NigodW5zaWduZWQgc2hvcnQpKCgocj4+Myk8PDEwKSB8ICgoZz4+Myk8PDUpIHwgKGI+PjMpKSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEdERl8xNkJJVF81NjVS
R0I6CisgICAgICAgICAgICAgICAgKih1bnNpZ25lZCBzaG9ydCAqKWRlc3QgPQorICAgICAgICAg
ICAgICAgICAgICBTV0FQMTYoKHVuc2lnbmVkIHNob3J0KSgoKHI+PjMpPDwxMSkgfCAoKGc+PjIp
PDw1KSB8IChiPj4zKSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSBHREZfMzJCSVRfWDg4OFJHQjoKKyAgICAgICAgICAgICAgICAqKHVuc2lnbmVkIGxvbmcgICop
ZGVzdCA9CisgICAgICAgICAgICAgICAgICAgIFNXQVAzMigodW5zaWduZWQgbG9uZykoKHI8PDE2
KSB8IChnPDw4KSB8IGIpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNh
c2UgR0RGXzI0QklUXzg4OFJHQjoKICNpZmRlZiBWSURFT19GQl9MSVRUTEVfRU5ESUFOCi0gICAg
ICAgICAgICBkZXN0WzBdID0gYjsKLSAgICAgICAgICAgIGRlc3RbMV0gPSBnOwotICAgICAgICAg
ICAgZGVzdFsyXSA9IHI7Ci0jZWxzZQotICAgICAgICAgICAgZGVzdFswXSA9IHI7Ci0gICAgICAg
ICAgICBkZXN0WzFdID0gZzsKLSAgICAgICAgICAgIGRlc3RbMl0gPSBiOworICAgICAgICAgICAg
ICAgIGRlc3RbMF0gPSBiOworICAgICAgICAgICAgICAgIGRlc3RbMV0gPSBnOworICAgICAgICAg
ICAgICAgIGRlc3RbMl0gPSByOworI2Vsc2UKKyAgICAgICAgICAgICAgICBkZXN0WzBdID0gcjsK
KyAgICAgICAgICAgICAgICBkZXN0WzFdID0gZzsKKyAgICAgICAgICAgICAgICBkZXN0WzJdID0g
YjsKICNlbmRpZgotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBzb3VyY2UrKzsKKyAgICAgICAgICAgIGRlc3QgKz0g
VklERU9fUElYRUxfU0laRTsKICAgICAgICAgfQotICAgICAgICBzb3VyY2UrKzsKLSAgICAgICAg
ZGVzdCArPSBWSURFT19QSVhFTF9TSVpFOwotICAgIH0KLSAgICBkZXN0ICs9IHNraXA7CisgICAg
ICAgIGRlc3QgKz0gc2tpcDsKICAgICB9CisjaWZkZWYgQ09ORklHX1ZJREVPX0JNUF9MT0dPCisg
ICAgZnJlZSAobG9nb19yZWQpOworICAgIGZyZWUgKGxvZ29fZ3JlZW4pOworICAgIGZyZWUgKGxv
Z29fYmx1ZSk7CisjZW5kaWYKIH0KIAotCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIHN0YXRp
YyB2b2lkICp2aWRlb19sb2dvICh2b2lkKQogewogICAgIGNoYXIgaW5mb1sxMjhdOworICAgIGV4
dGVybiBjaGFyIHZlcnNpb25fc3RyaW5nOwogCiAgICAgbG9nb19wbG90ICh2aWRlb19mYl9hZGRy
ZXNzLCBWSURFT19DT0xTLCAwLCAwKTsKIAotICAgIHNwcmludGYoaW5mbywgIiAlcyAoJXMgLSAl
cykiLCBVX0JPT1RfVkVSU0lPTiwgX19EQVRFX18sIF9fVElNRV9fKTsKKyAgICBzcHJpbnRmKGlu
Zm8sICIgJXMiLCAmdmVyc2lvbl9zdHJpbmcpOwogICAgIHZpZGVvX2RyYXdzdHJpbmcgKFZJREVP
X0lORk9fWCwgVklERU9fSU5GT19ZLCBpbmZvKTsKIAogI2lmZGVmIENPTkZJR19DT05TT0xFX0VY
VFJBX0lORk8KZGlmZiAtcHVyTiBwcGNib290LTIuMC4wLWN2cy9kcml2ZXJzL3NlZDEzODA2LmMg
cHBjYm9vdC0yLjAuMC1sY2QvZHJpdmVycy9zZWQxMzgwNi5jCi0tLSBwcGNib290LTIuMC4wLWN2
cy9kcml2ZXJzL3NlZDEzODA2LmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK
KysrIHBwY2Jvb3QtMi4wLjAtbGNkL2RyaXZlcnMvc2VkMTM4MDYuYwkyMDAyLTExLTIwIDE4OjI2
OjAyLjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDMwNiBAQAorLyoKKyAqIChDKSBDb3B5cmln
aHQgMjAwMgorICogU3TkdWJsaSBGYXZlcmdlcyAtIDx3d3cuc3RhdWJsaS5jb20+CisgKiBQaWVy
cmUgQVVCRVJUICBwLmF1YmVydEBzdGF1YmxpLmNvbQorICoKKyAqIFNlZSBmaWxlIENSRURJVFMg
Zm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0Lgor
ICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ
bGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisvKiBW
aWRlbyBzdXBwb3J0IGZvciBFcHNvbiBTRUQxMzgwNiBjaGlwc2V0ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICovCisKKyNpbmNsdWRlIDxjb21tb24uaD4KKworI2lmZGVmIENPTkZJ
R19WSURFT19TRUQxMzgwNgorCisjaW5jbHVkZSA8dmlkZW9fZmIuaD4KKyNpbmNsdWRlIDxzZWQx
MzgwNi5oPgorCisjZGVmaW5lIHJlYWRCeXRlKHB0clJlZykgICAgICAgICAgICAgICAgXAorICAg
ICoodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKShzZWQxMzgwNi5pc2FCYXNlICsgcHRyUmVnKQor
CisjZGVmaW5lIHdyaXRlQnl0ZShwdHJSZWcsdmFsdWUpIFwKKyAgICAqKHZvbGF0aWxlIHVuc2ln
bmVkIGNoYXIgKikoc2VkMTM4MDYuaXNhQmFzZSArIHB0clJlZykgPSB2YWx1ZQorCisjZGVmaW5l
IHdyaXRlV29yZChwdHJSZWcsdmFsdWUpIFwKKyAgICAoKih2b2xhdGlsZSB1bnNpZ25lZCBzaG9y
dCAqKShzZWQxMzgwNi5pc2FCYXNlICsgcHRyUmVnKSA9ICgodmFsdWUgPj4gOCApICYgMHhmZikg
fCAoKHZhbHVlIDw8IDgpICYgMHhmZjAwKSkKKworCitHcmFwaGljRGV2aWNlIHNlZDEzODA2Owor
CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBFcHNvblNldFJlZ3MgLS0gCisgKi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkIEVwc29uU2V0UmVncyAodm9pZCkKK3sKKyAg
ICAvKiB0aGUgY29udGVudCBvZiB0aGUgY2hpcHNldCByZWdpc3RlciBkZXBlbmRzIG9uIHRoZSBi
b2FyZCAoY2xvY2tzLCAuLi4pKi8KKyAgICBjb25zdCBTMURfUkVHUyAqcHJlZyA9IGJvYXJkX2dl
dF9yZWdzICgpOworICAgIHdoaWxlIChwcmVnIC0+IEluZGV4KSB7CisgICAgICAgIHdyaXRlQnl0
ZSAocHJlZyAtPiBJbmRleCwgcHJlZyAtPiBWYWx1ZSk7CisgICAgICAgIHByZWcgKys7CisgICAg
fQorfQorICAgIAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogdmlkZW9faHdfaW5pdCAtLSAK
KyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLwordm9pZCAqdmlkZW9faHdfaW5pdCAodm9pZCkK
K3sKKyAgICB1bnNpZ25lZCBpbnQgKnZtLCBpOworCisgICAgbWVtc2V0ICgmc2VkMTM4MDYsIDAs
IHNpemVvZiAoR3JhcGhpY0RldmljZSkpOworCisgICAgLyogSW5pdGlhbGl6YXRpb24gb2YgdGhl
IGFjY2VzcyB0byB0aGUgZ3JhcGhpYyBjaGlwc2V0CisgICAgICAgUmV0cmVpdmUgYmFzZSBhZGRy
ZXNzIG9mIHRoZSBjaGlwc2V0CisgICAgICAgKHNlZSBib2FyZC9SUFhDbGFzc2ljL2VjY3guYykg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgaWYgKChzZWQx
MzgwNi5pc2FCYXNlID0gYm9hcmRfdmlkZW9faW5pdCAoKSkgPT0gMCkgeworICAgICAgICByZXR1
cm4gKE5VTEwpOworICAgIH0KKworICAgIHNlZDEzODA2LmZyYW1lQWRycyA9IHNlZDEzODA2Lmlz
YUJhc2UgKyBGUkFNRV9CVUZGRVJfT0ZGU0VUOworICAgIHNlZDEzODA2LndpblNpemVYID0gYm9h
cmRfZ2V0X3dpZHRoICgpOworICAgIHNlZDEzODA2LndpblNpemVZID0gYm9hcmRfZ2V0X2hlaWdo
dCAoKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1ZJREVPX1NFRDEzODA2XzhCUFApCisgICAgc2Vk
MTM4MDYuZ2RmSW5kZXggPSBHREZfXzhCSVRfSU5ERVg7CisgICAgc2VkMTM4MDYuZ2RmQnl0ZXNQ
UCA9IDE7CisgICAgCisjZWxpZiBkZWZpbmVkKENPTkZJR19WSURFT19TRUQxMzgwNl8xNkJQUCkK
KyAgICBzZWQxMzgwNi5nZGZJbmRleCA9IEdERl8xNkJJVF81NjVSR0I7CisgICAgc2VkMTM4MDYu
Z2RmQnl0ZXNQUCA9IDI7CisKKyNlbHNlCisjZXJyb3IgVW5zdXBwb3J0ZWQgU0VEMTM4MDYgQlBQ
CisjZW5kaWYKKworICAgIHNlZDEzODA2Lm1lbVNpemUgPSBzZWQxMzgwNi53aW5TaXplWCAqIHNl
ZDEzODA2LndpblNpemVZICogc2VkMTM4MDYuZ2RmQnl0ZXNQUDsKKworICAgIC8qIExvYWQgU0VE
IHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqLworICAgIEVwc29uU2V0UmVncyAoKTsKKworICAgIC8qIChzZWUgYm9hcmQvUlBYQ2xh
c3NpYy9SUFhDbGFzc2ljLmMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwor
ICAgIGJvYXJkX3ZhbGlkYXRlX3NjcmVlbiAoc2VkMTM4MDYuaXNhQmFzZSk7CisKKyAgICAvKiBD
bGVhciB2aWRlbyBtZW1vcnkgKi8KKyAgICBpID0gc2VkMTM4MDYubWVtU2l6ZS80OworICAgIHZt
ID0gKHVuc2lnbmVkIGludCAqKXNlZDEzODA2LmZyYW1lQWRyczsKKyAgICB3aGlsZShpLS0pCisg
ICAgICAgICp2bSsrID0gMDsKKyAgICAKKyAgICAKKyAgICByZXR1cm4gKCZzZWQxMzgwNik7Cit9
CisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBFcHNvbl93YWl0X2lkbGUgLS0gV2FpdCBmb3Ig
aGFyZHdhcmUgdG8gYmVjb21lIGlkbGUKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworc3Rh
dGljIHZvaWQgRXBzb25fd2FpdF9pZGxlICh2b2lkKQoreworICAgIHdoaWxlIChyZWFkQnl0ZSAo
QkxUX0NUUkwwKSAmIDB4ODApOworCisgICAgLyogUmVhZCBhIHdvcmQgaW4gdGhlIEJpdEJMVCBt
ZW1vcnkgYXJlYSB0byBzaHV0ZG93biB0aGUgQml0QkxUIGVuZ2luZSAgICovCisgICAgKih2b2xh
dGlsZSB1bnNpZ25lZCBzaG9ydCAqKShzZWQxMzgwNi5pc2FCYXNlICsgQkxUX1JFRyk7Cit9CisK
Ky8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHZpZGVvX2h3X2JpdGJsdCAtLSAKKyAqLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKyAqLwordm9pZCB2aWRlb19od19iaXRibHQgKAorICAgIHVuc2lnbmVk
IGludCBicHAsICAgICAgICAgICAgIC8qIGJ5dGVzIHBlciBwaXhlbCAqLworICAgIHVuc2lnbmVk
IGludCBzcmNfeCwgICAgICAgICAgIC8qIHNvdXJjZSBwb3MgeCAqLworICAgIHVuc2lnbmVkIGlu
dCBzcmNfeSwgICAgICAgICAgIC8qIHNvdXJjZSBwb3MgeSAqLworICAgIHVuc2lnbmVkIGludCBk
c3RfeCwgICAgICAgICAgIC8qIGRlc3QgcG9zIHggKi8KKyAgICB1bnNpZ25lZCBpbnQgZHN0X3ks
ICAgICAgICAgICAvKiBkZXN0IHBvcyB5ICovCisgICAgdW5zaWduZWQgaW50IGRpbV94LCAgICAg
ICAgICAgLyogZnJhbWUgd2lkdGggKi8KKyAgICB1bnNpZ25lZCBpbnQgZGltX3kgICAgICAgICAg
ICAvKiBmcmFtZSBoZWlnaHQgKi8KKyAgICApCit7CisgICAgcmVnaXN0ZXIgR3JhcGhpY0Rldmlj
ZSAqcEdEID0gKEdyYXBoaWNEZXZpY2UgKikmc2VkMTM4MDY7CisgICAgdW5zaWduZWQgbG9uZwlz
cmNBZGRyLCBkc3RBZGRyOworICAgIHVuc2lnbmVkIGludCBzdHJpZGUgPSBicHAgKiBwR0QgLT4g
d2luU2l6ZVg7CisKKyAgICBzcmNBZGRyID0gKHNyY195ICogc3RyaWRlKSArIChzcmNfeCAqIGJw
cCk7CisgICAgZHN0QWRkciA9IChkc3RfeSAqIHN0cmlkZSkgKyAoZHN0X3ggKiBicHApOworCisg
ICAgRXBzb25fd2FpdF9pZGxlICgpOworICAgIAorICAgIHdyaXRlQnl0ZShCTFRfUk9QLDB4MEMp
OwkvLyBzb3VyY2UKKyAgICB3cml0ZUJ5dGUoQkxUX09QLDB4MDIpOy8vIG1vdmUgYmxpdCBpbiBw
b3NpdGl2ZSBkaXJlY3Rpb24gd2l0aCBST1AKKyAgICB3cml0ZVdvcmQoQkxUX01FTV9PRkYwLCBz
dHJpZGUgLyAyKTsKKyAgICBpZiAocEdEIC0+IGdkZkluZGV4ID09IEdERl9fOEJJVF9JTkRFWCkg
eworICAgICAgICB3cml0ZUJ5dGUoQkxUX0NUUkwxLDB4MDApOworICAgIH0KKyAgICBlbHNlIHsK
KyAgICAgICAgd3JpdGVCeXRlKEJMVF9DVFJMMSwweDAxKTsKKyAgICB9CisKKyAgICB3cml0ZVdv
cmQoQkxUX1dJRFRIMCwoZGltX3ggLSAxKSk7CisgICAgd3JpdGVXb3JkKEJMVF9IRUlHSFQwLChk
aW1feSAtIDEpKTsKKyAgICAKKyAgICAvKiBzZXQgdXAgYmxpdCByZWdpc3RlcnMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICB3cml0ZUJ5dGUo
QkxUX1NSQ19BRERSMCxzcmNBZGRyKTsKKyAgICB3cml0ZUJ5dGUoQkxUX1NSQ19BRERSMSxzcmNB
ZGRyPj44KTsgCisgICAgd3JpdGVCeXRlKEJMVF9TUkNfQUREUjIsc3JjQWRkcj4+MTYpOyAKKyAg
ICAKKyAgICB3cml0ZUJ5dGUoQkxUX0RTVF9BRERSMCxkc3RBZGRyKTsKKyAgICB3cml0ZUJ5dGUo
QkxUX0RTVF9BRERSMSxkc3RBZGRyPj44KTsgCisgICAgd3JpdGVCeXRlKEJMVF9EU1RfQUREUjIs
ZHN0QWRkcj4+MTYpOyAKKyAgICAKKyAgICAvKiBFbmdhZ2UgdGhlIGJsdCBlbmdpbmUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAvKiByZWN0
YW5ndWxhciByZWdpb24gZm9yIHNyYyBhbmQgZHN0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KKyAgICB3cml0ZUJ5dGUoQkxUX0NUUkwwLDB4ODApOworCisgICAgLyogd2Fp
dCB1bnRpbGwgY3VycmVudCBibGl0cyBmaW5pc2hlZCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovCisgICAgRXBzb25fd2FpdF9pZGxlICgpOworfQorLyotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorICogdmlkZW9faHdfcmVjdGZpbGwgLS0gCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisgKi8KK3ZvaWQgdmlkZW9faHdfcmVjdGZpbGwgKAorICAgIHVuc2lnbmVkIGludCBicHAsICAg
ICAgICAgICAgIC8qIGJ5dGVzIHBlciBwaXhlbCAqLworICAgIHVuc2lnbmVkIGludCBkc3RfeCwg
ICAgICAgICAgIC8qIGRlc3QgcG9zIHggKi8KKyAgICB1bnNpZ25lZCBpbnQgZHN0X3ksICAgICAg
ICAgICAvKiBkZXN0IHBvcyB5ICovCisgICAgdW5zaWduZWQgaW50IGRpbV94LCAgICAgICAgICAg
LyogZnJhbWUgd2lkdGggKi8KKyAgICB1bnNpZ25lZCBpbnQgZGltX3ksICAgICAgICAgICAvKiBm
cmFtZSBoZWlnaHQgKi8KKyAgICB1bnNpZ25lZCBpbnQgY29sb3IgICAgICAgICAgICAvKiBmaWxs
IGNvbG9yICovCisgICAgICkKK3sKKyAgICByZWdpc3RlciBHcmFwaGljRGV2aWNlICpwR0QgPSAo
R3JhcGhpY0RldmljZSAqKSZzZWQxMzgwNjsKKyAgICB1bnNpZ25lZCBsb25nCWRzdEFkZHI7Cisg
ICAgdW5zaWduZWQgaW50IHN0cmlkZSA9IGJwcCAqIHBHRCAtPiB3aW5TaXplWDsKKworICAgIGRz
dEFkZHIgPSAoZHN0X3kgKiBzdHJpZGUpICsgKGRzdF94ICogYnBwKTsKKworICAgIEVwc29uX3dh
aXRfaWRsZSAoKTsKKworICAgIC8qIHNldCB1cCBibGl0IHJlZ2lzdGVycyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIHdyaXRlQnl0ZShCTFRf
RFNUX0FERFIwLGRzdEFkZHIpOworICAgIHdyaXRlQnl0ZShCTFRfRFNUX0FERFIxLGRzdEFkZHI+
PjgpOyAKKyAgICB3cml0ZUJ5dGUoQkxUX0RTVF9BRERSMixkc3RBZGRyPj4xNik7IAorCisgICAg
d3JpdGVXb3JkKEJMVF9XSURUSDAsKGRpbV94IC0gMSkpOworICAgIHdyaXRlV29yZChCTFRfSEVJ
R0hUMCwoZGltX3kgLSAxKSk7CisgICAgd3JpdGVXb3JkKEJMVF9GR0NPTE9SMCxjb2xvcik7CisK
KyAgICB3cml0ZUJ5dGUoQkxUX09QLDB4MEMpOyAgLyogc29saWQgZmlsbCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICB3cml0ZVdvcmQoQkxUX01FTV9PRkYwLHN0cmlk
ZSAvIDIpOworCisgICAgaWYgKHBHRCAtPiBnZGZJbmRleCA9PSBHREZfXzhCSVRfSU5ERVgpIHsK
KyAgICAgICAgd3JpdGVCeXRlKEJMVF9DVFJMMSwweDAwKTsKKyAgICB9CisgICAgZWxzZSB7Cisg
ICAgICAgIHdyaXRlQnl0ZShCTFRfQ1RSTDEsMHgwMSk7CisgICAgfQorCQorICAgIC8qIEVuZ2Fn
ZSB0aGUgYmx0IGVuZ2luZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqLworICAgIC8qIHJlY3Rhbmd1bGFyIHJlZ2lvbiBmb3Igc3JjIGFuZCBkc3QgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIHdyaXRlQnl0ZShCTFRfQ1RS
TDAsMHg4MCk7CisKKyAgICAvKiB3YWl0IHVudGlsbCBjdXJyZW50IGJsaXRzIGZpbmlzaGVkICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICBFcHNvbl93YWl0X2lkbGUg
KCk7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHZpZGVvX3NldF9sdXQgLS0gCisg
Ki0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3ZvaWQgdmlkZW9fc2V0X2x1dCAoCisgICAgdW5z
aWduZWQgaW50IGluZGV4LCAgICAgICAgICAgLyogY29sb3IgbnVtYmVyICovCisgICAgdW5zaWdu
ZWQgY2hhciByLCAgICAgICAgICAgICAgLyogcmVkICovCisgICAgdW5zaWduZWQgY2hhciBnLCAg
ICAgICAgICAgICAgLyogZ3JlZW4gKi8KKyAgICB1bnNpZ25lZCBjaGFyIGIgICAgICAgICAgICAg
ICAvKiBibHVlICovCisgICAgKQoreworICAgIHdyaXRlQnl0ZShSRUdfTFVUX0FERFIsIGluZGV4
ICk7CisgICAgd3JpdGVCeXRlKFJFR19MVVRfREFUQSwgcik7CisgICAgd3JpdGVCeXRlKFJFR19M
VVRfREFUQSwgZyk7CisgICAgd3JpdGVCeXRlKFJFR19MVVRfREFUQSwgYik7Cit9CisjaWZkZWYg
Q09ORklHX1ZJREVPX0hXX0NVUlNPUgorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogdmlkZW9f
c2V0X2h3X2N1cnNvciAtLSAKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLwordm9pZCB2aWRl
b19zZXRfaHdfY3Vyc29yIChpbnQgeCwgaW50IHkpCit7CisgICAgd3JpdGVCeXRlIChMQ0RfQ1VS
U09SX1hMLCAoeCAmIDB4ZmYpKTsKKyAgICB3cml0ZUJ5dGUgKExDRF9DVVJTT1JfWE0sICh4ID4+
IDgpKTsKKyAgICB3cml0ZUJ5dGUgKExDRF9DVVJTT1JfWUwsICh5ICYgMHhmZikpOworICAgIHdy
aXRlQnl0ZSAoTENEX0NVUlNPUl9ZTSwgKHkgPj4gOCkpOworfQorCisvKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCisgKiB2aWRlb19pbml0X2h3X2N1cnNvciAtLSAKKyAqLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKyAqLwordm9pZCB2aWRlb19pbml0X2h3X2N1cnNvciAoaW50IGZvbnRfd2lkdGgsIGludCBm
b250X2hlaWdodCkKK3sKKyAgICB2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICpwdHI7CisgICAgdW5z
aWduZWQgY2hhciBwYXR0ZXJuOworICAgIGludCBpOworICAgIAorCisgICAgLyogSW5pdCBjdXJz
b3IgY29udGVudAorICAgICAgIEN1cnNvciBzaXplIGlzIDY0eDY0IHBpeGVscworICAgICAgIFN0
YXJ0IG9mIHRoZSBjdXJzb3IgbWVtb3J5IGRlcGVuZHMgb24gcGFuZWwgdHlwZSAoZHVhbCBwYW5l
bCAuLi4pICAgICAqLworICAgIGlmICgoaSA9IHJlYWRCeXRlIChMQ0RfQ1VSU09SX1NUQVJUKSkg
PT0gMCkgeworICAgICAgICBwdHIgPSAodW5zaWduZWQgY2hhciAqKShzZWQxMzgwNi5mcmFtZUFk
cnMgKyBERUZBVUxUX1ZJREVPX01FTU9SWV9TSVpFIC0gSFdDVVJTT1JTSVpFKTsKKyAgICB9Cisg
ICAgZWxzZSB7CisgICAgICAgIHB0ciA9ICh1bnNpZ25lZCBjaGFyICopKHNlZDEzODA2LmZyYW1l
QWRycyArIERFRkFVTFRfVklERU9fTUVNT1JZX1NJWkUgLSAoaSAqIDgxOTIpKTsKKyAgICB9CisK
KyAgICAvKiBGaWxsIHRoZSBmaXJzdCBsaW5lIGFuZCB0aGUgZmlyc3QgZW1wdHkgbGluZSBhZnRl
ciBjdXJzb3IgICAgICAgICAgICAgKi8KKyAgICBmb3IgKGkgPSAwLCBwYXR0ZXJuID0gMDsgaSA8
IDY0OyBpKyspIHsKKyAgICAgICAgaWYgKGkgPCBmb250X3dpZHRoKSB7CisgICAgICAgICAgICAv
KiBJbnZlcnQgYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovCisgICAgICAgICAgICBwYXR0ZXJuIHw9IDB4MzsKKyAgICAgICAgICAgIAorICAg
ICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLyogQmFja2dyb3VuZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAg
ICAgcGF0dGVybiB8PSAweDI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChpICYgMykgPT0gMykg
eworICAgICAgICAgICAgKnB0ciA9IHBhdHRlcm47CisgICAgICAgICAgICAqKHB0ciArIGZvbnRf
aGVpZ2h0ICogMTYpID0gMHhhYTsKKyAgICAgICAgICAgIHB0ciArKzsKKyAgICAgICAgICAgIHBh
dHRlcm4gPSAwOworICAgICAgICB9CisgICAgICAgIHBhdHRlcm4gPDw9IDI7CisgICAgfQorCisg
ICAgLyogRHVwbGljYXRlIHRoaXMgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovCisgICAgZm9yIChpID0gMTsgaSA8IGZvbnRfaGVpZ2h0OyBp
KyspIHsKKyAgICAgICAgbWVtY3B5ICgodm9pZCAqKXB0ciwgKHZvaWQgKikocHRyIC0gMTYpLCAx
Nik7CisgICAgICAgIHB0ciArPSAxNjsKKyAgICB9CisgICAgCisgICAgZm9yICg7IGkgPCA2NDsg
aSsrKSB7CisgICAgICAgIG1lbWNweSAoKHZvaWQgKikocHRyICsgMTYpLCAodm9pZCAqKXB0ciwg
MTYpOworICAgICAgICBwdHIgKz0gMTY7CisgICAgfQorCisgICAgLyogU2VsZWN0IGN1cnNvciBt
b2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
CisgICAgd3JpdGVCeXRlIChMQ0RfQ1VSU09SX0NOVEwsIDEpOworfQorI2VuZGlmCisjZW5kaWYK
ZGlmZiAtcHVyTiBwcGNib290LTIuMC4wLWN2cy9pbmNsdWRlL2NvbmZpZ3MvUlBYQ2xhc3NpYy5o
IHBwY2Jvb3QtMi4wLjAtbGNkL2luY2x1ZGUvY29uZmlncy9SUFhDbGFzc2ljLmgKLS0tIHBwY2Jv
b3QtMi4wLjAtY3ZzL2luY2x1ZGUvY29uZmlncy9SUFhDbGFzc2ljLmgJMjAwMi0xMS0yMCAxODow
NjozMS4wMDAwMDAwMDAgKzAxMDAKKysrIHBwY2Jvb3QtMi4wLjAtbGNkL2luY2x1ZGUvY29uZmln
cy9SUFhDbGFzc2ljLmgJMjAwMi0xMS0yMCAxNzowODo1OC4wMDAwMDAwMDAgKzAxMDAKQEAgLTQ3
LDEzICs0NywyNyBAQAogI3VuZGVmCUNPTkZJR184eHhfQ09OU19OT05FCiAjZGVmaW5lIENPTkZJ
R19CQVVEUkFURQkJOTYwMAkvKiBjb25zb2xlIGJhdWRyYXRlID0gOTYwMGJwcwkqLwogCi0KIC8q
IERlZmluZSBDT05GSUdfRkVDX0VORVQgdG8gdXNlIEZhc3QgZXRoZXJuZXQgaW5zdGVhZCBvZiBl
dGhlcm5ldCBvbiBTQ0MxICAgKi8KLSN1bmRlZiBDT05GSUdfRkVDX0VORVQKKyNkZWZpbmUgQ09O
RklHX0ZFQ19FTkVUCiAjaWZkZWYgQ09ORklHX0ZFQ19FTkVUCiAjZGVmaW5lIENGR19ESVNDT1ZF
Ul9QSFkgICAgICAgIDEKKyNkZWZpbmUgQ09ORklHX01JSSAgICAgICAgICAgICAgMQogI2VuZGlm
IC8qIENPTkZJR19GRUNfRU5FVCAqLwogCisvKiBWaWRlbyBjb25zb2xlIChncmFwaGljOiBFcHNv
biBTRUQxMzgwNiBvbiBFQ0NYIGJvYXJkLCBubyBrZXlib2FyZCAgICAgICAgICovCisjaWYgMQor
I2RlZmluZSBDT05GSUdfVklERU9fU0VEMTM4MDYKKyNkZWZpbmUgQ09ORklHX05FQ19OTDY0NDhC
QzIwCisjZGVmaW5lIENPTkZJR19WSURFT19TRUQxMzgwNl8xNkJQUAorCisjZGVmaW5lIENPTkZJ
R19DRkJfQ09OU09MRQorI2RlZmluZSBDT05GSUdfVklERU9fTE9HTworI2RlZmluZSBDT05GSUdf
VklERU9fQk1QX0xPR08KKyNkZWZpbmUgQ09ORklHX0NPTlNPTEVfRVhUUkFfSU5GTworI2RlZmlu
ZSBDT05GSUdfVkdBX0FTX1NJTkdMRV9ERVZJQ0UKKyNkZWZpbmUgQ09ORklHX1ZJREVPX1NXX0NV
UlNPUgorI2VuZGlmCisKICNpZiAwCiAjZGVmaW5lIENPTkZJR19CT09UREVMQVkJLTEJLyogYXV0
b2Jvb3QgZGlzYWJsZWQJCSovCiAjZWxzZQpAQCAtMTY4LDcgKzE4Miw3IEBACiAjZGVmaW5lCUNG
R19TRFJBTV9CQVNFCQkweDAwMDAwMDAwCiAjZGVmaW5lIENGR19GTEFTSF9CQVNFCTB4RkYwMDAw
MDAKIAotI2lmIGRlZmluZWQoREVCVUcpIHx8IChDT05GSUdfQ09NTUFORFMgJiBDRkdfQ01EX0lE
RSkKKyNpZiBkZWZpbmVkKERFQlVHKSB8fCBkZWZpbmVkIChDT05GSUdfVklERU9fU0VEMTM4MDYp
IHx8IChDT05GSUdfQ09NTUFORFMgJiBDRkdfQ01EX0lERSkgCiAjZGVmaW5lCUNGR19NT05JVE9S
X0xFTgkJKDI1NiA8PCAxMCkJLyogUmVzZXJ2ZSAyNTYga0IgZm9yIE1vbml0b3IJKi8KICNlbHNl
CiAjZGVmaW5lCUNGR19NT05JVE9SX0xFTgkJKDEyOCA8PCAxMCkJLyogUmVzZXJ2ZSAxMjgga0Ig
Zm9yIE1vbml0b3IJKi8KQEAgLTE5Niw3ICsyMTAsOCBAQAogI2lmIDAKICNkZWZpbmUJQ0ZHX0VO
Vl9JU19JTl9GTEFTSAkxCiAjZGVmaW5lCUNGR19FTlZfT0ZGU0VUCQkweDIwMDAwCS8qICAgT2Zm
c2V0ICAgb2YgRW52aXJvbm1lbnQgU2VjdG9yICAqLwotI2RlZmluZQlDRkdfRU5WX1NJWkUJCTB4
NDAwMAkvKiBUb3RhbCBTaXplIG9mIEVudmlyb25tZW50IFNlY3RvciAgKi8KKyNkZWZpbmUgQ0ZH
X0VOVl9TRUNUX1NJWkUgICAgICAgMHg4MDAwCisjZGVmaW5lCUNGR19FTlZfU0laRQkJMHg4MDAw
CS8qIFRvdGFsIFNpemUgb2YgRW52aXJvbm1lbnQgU2VjdG9yICAqLwogI2Vsc2UKICNkZWZpbmUg
Q0ZHX0VOVl9JU19JTl9OVlJBTSAgICAgMQogI2RlZmluZSBDRkdfRU5WX0FERFIgICAgICAgICAg
ICAweGZhMDAwMTAwCkBAIC0zNTMsNiArMzY4LDQ4IEBACiAjZGVmaW5lCUNGR19CUjRfUFJFTElN
CTB4RkEwMDA0MDEJCS8qIE5WUkFNJlNSQU0gKi8KICNkZWZpbmUgQ0ZHX09SNF9QUkVMSU0JMHhG
RkY4MDk3MAogCisvKiBFQ0NYIENTIHNldHRpbmdzICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFNFRDEzODA2X09SICAg
ICAgICAgICAgIDB4RkZDMDAxMDggICAgIC8qIC0gNCBNbworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBCdXJzdCBpbmhpYml0CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGV4dGVybmFsIFRBICAg
ICAgICAgICAgICovCisjZGVmaW5lIFNFRDEzODA2X1JFR19BRERSICAgICAgIDB4YTAwMDAwMDAK
KyNkZWZpbmUgU0VEMTM4MDZfQUNDRVMgICAgICAgICAgMHg4MDEgICAgICAgICAgIC8qIDE2IGJp
dCBhY2Nlc3MgICAgICAgICAgICAgKi8KKworCisvKiBHbG9iYWwgZGVmaW5pdGlvbnMgZm9yIHRo
ZSBFQ0NYIGJvYXJkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZGVm
aW5lIEVDQ1hfQ1NSX0FERFIgICAgICAgICAgICgweGZhYzAwMDAwKQorI2RlZmluZSBFQ0NYX0NT
UjhfT0ZGU0VUICAgICAgICAoMHg4KQorI2RlZmluZSBFQ0NYX0NTUjExX09GRlNFVCAgICAgICAo
MHhCKQorI2RlZmluZSBFQ0NYX0NTUjEyX09GRlNFVCAgICAgICAoMHhDKQorCisjZGVmaW5lIEVD
Q1hfQ1NSOCAgKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikoRUNDWF9DU1JfQUREUiArIEVDQ1hf
Q1NSOF9PRkZTRVQpCisjZGVmaW5lIEVDQ1hfQ1NSMTEgKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIg
KikoRUNDWF9DU1JfQUREUiArIEVDQ1hfQ1NSMTFfT0ZGU0VUKQorI2RlZmluZSBFQ0NYX0NTUjEy
ICh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKEVDQ1hfQ1NSX0FERFIgKyBFQ0NYX0NTUjEyX09G
RlNFVCkKKworCisjZGVmaW5lIFJFR19HUElPX0NUUkwgMHgwMDgKKworLyogRGVmaW5pdGlvbnMg
Zm9yIENTUjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqLworI2RlZmluZSBFQ0NYX0VORVBTT04gICAgICAgICAgICAweDgwICAgIC8qIEJpdCAw
OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA9IGRpc2FibGUg
YW5kIHJlc2V0IFNFRDEzODYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAxPSBlbmFibGUgU0VEMTM4NiAgICAgICAgICAgICAgICAgKi8KKy8qIEJpdCAxOiAgIDA9
IFNFRDEzODYgaW4gQmlnIEVuZGlhbiBtb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi8KKy8qICAgICAgICAgIDE9IFNFRDEzODYgaW4gbGl0dGxlIGVuZGlhbiBtb2RlICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRUNDWF9MRSAgICAgICAg
ICAgICAgICAgMHg0MAorI2RlZmluZSBFQ0NYX0JFICAgICAgICAgICAgICAgICAweDAwCisKKy8q
IEJpdCAyLDM6IFNlbGVjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgMDAgPSBEaXNhYmxlZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgMDEg
PSBDUzIgaXMgdXNlZCBmb3IgdGhlIFNFRDEzODYgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KKy8qICAgICAgMTAgPSBDUzUgaXMgdXNlZCBmb3IgdGhlIFNFRDEzODYgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgMTEgPSByZXNlcnZl
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ki8KKyNkZWZpbmUgRUNDWF9DUzIgICAgICAgICAgICAgICAgMHgxMAorI2RlZmluZSBFQ0NYX0NT
NSAgICAgICAgICAgICAgICAweDIwCisKKy8qIERlZmluaXRpb25zIGZvciBDU1IxMiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUg
RUNDWF9JRCAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBFQ0NYXzg2MCAgICAgICAgICAg
ICAgICAweDAxCisKIC8qCiAgKiBNZW1vcnkgUGVyaW9kaWMgVGltZXIgUHJlc2NhbGVyCiAgKi8K
ZGlmZiAtcHVyTiBwcGNib290LTIuMC4wLWN2cy9pbmNsdWRlL2RldmljZXMuaCBwcGNib290LTIu
MC4wLWxjZC9pbmNsdWRlL2RldmljZXMuaAotLS0gcHBjYm9vdC0yLjAuMC1jdnMvaW5jbHVkZS9k
ZXZpY2VzLmgJMjAwMi0xMS0yMCAxNzowNDozOS4wMDAwMDAwMDAgKzAxMDAKKysrIHBwY2Jvb3Qt
Mi4wLjAtbGNkL2luY2x1ZGUvZGV2aWNlcy5oCTIwMDItMTEtMjAgMTc6MDg6MzEuMDAwMDAwMDAw
ICswMTAwCkBAIC05OSw3ICs5OSw3IEBAIGludAlkcnZfbGNkX2luaXQgKHZvaWQpOwogI2lmZGVm
IENPTkZJR19WRkQKIGludAlkcnZfdmZkX2luaXQgKHZvaWQpOwogI2VuZGlmCi0jaWZkZWYgQ09O
RklHX1ZJREVPCisjaWYgZGVmaW5lZChDT05GSUdfVklERU8pIHx8IGRlZmluZWQoQ09ORklHX0NG
Ql9DT05TT0xFKQogaW50CWRydl92aWRlb19pbml0ICh2b2lkKTsKICNlbmRpZgogI2lmZGVmIENP
TkZJR19XTF80UFBNX0tFWUJPQVJECmRpZmYgLXB1ck4gcHBjYm9vdC0yLjAuMC1jdnMvaW5jbHVk
ZS9zZWQxMzgwNi5oIHBwY2Jvb3QtMi4wLjAtbGNkL2luY2x1ZGUvc2VkMTM4MDYuaAotLS0gcHBj
Ym9vdC0yLjAuMC1jdnMvaW5jbHVkZS9zZWQxMzgwNi5oCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAw
MDAwMDAwICswMTAwCisrKyBwcGNib290LTIuMC4wLWxjZC9pbmNsdWRlL3NlZDEzODA2LmgJMjAw
Mi0xMS0yMCAxNzowODoyNS4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAq
IChDKSBDb3B5cmlnaHQgMjAwMgorICogU3TkdWJsaSBGYXZlcmdlcyAtIDx3d3cuc3RhdWJsaS5j
b20+CisgKiBQaWVycmUgQVVCRVJUICBwLmF1YmVydEBzdGF1YmxpLmNvbQorICoKKyAqIFNlZSBm
aWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisg
KiBwcm9qZWN0LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07
IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVT
QQorICovCisvKiBWaWRlbyBzdXBwb3J0IGZvciBFcHNvbiBTRUQxMzgwNiBjaGlwc2V0ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKworI2lmbmRlZiBfU0VEMTM4MDZfSF8K
KyNkZWZpbmUgX1NFRDEzODA2X0hfCisKKworLyogR2VuZXJhbCBkZWZpbml0aW9ucyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmlu
ZSBGUkFNRV9CVUZGRVJfT0ZGU0VUICAgICAgICAweDIwMDAwMCAgICAgLyogRnJhbWUgYnVmZmVy
IG9mZnNldCAqLworI2RlZmluZSBUT1RBTF9TUEFDRV9TSVpFICAgICAgICAgICAweDQwMDAwMAor
CisjZGVmaW5lIERFRkFVTFRfVklERU9fTUVNT1JZX1NJWkUgIDB4MTQwMDAwICAgICAvKiBWaWRl
byBNZW1vcnkgU2l6ZSAqLworCisjZGVmaW5lIEhXQ1VSU09SU0laRSAJCSAgIDEwMjQgICAgIC8q
IFNpemUgb2YgbWVtb3J5IHJlc2VydmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmb3IgSFcgY3Vyc29yKi8gCisKKy8qIE9mZnNldCBvZiBjaGlw
c2V0IHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi8KKyNkZWZpbmUJQkxUX0NUUkwwCSgweDAxMDApCisjZGVmaW5lCUJMVF9DVFJMMQkoMHgw
MTAxKQorI2RlZmluZSBCTFRfUk9QCQkoMHgwMTAyKQorI2RlZmluZQlCTFRfT1AJCSgweDAxMDMp
CisjZGVmaW5lIEJMVF9TUkNfQUREUjAJKDB4MDEwNCkKKyNkZWZpbmUJQkxUX1NSQ19BRERSMQko
MHgwMTA1KQorI2RlZmluZQlCTFRfU1JDX0FERFIyCSgweDAxMDYpCisjZGVmaW5lCUJMVF9EU1Rf
QUREUjAJKDB4MDEwOCkKKyNkZWZpbmUgQkxUX0RTVF9BRERSMQkoMHgwMTA5KQorI2RlZmluZQlC
TFRfRFNUX0FERFIyCSgweDAxMEEpCisjZGVmaW5lIEJMVF9NRU1fT0ZGMAkoMHgwMTBDKQorI2Rl
ZmluZSBCTFRfTUVNX09GRjEJKDB4MDEwRCkKKyNkZWZpbmUgQkxUX1dJRFRIMAkoMHgwMTEwKQor
I2RlZmluZSBCTFRfV0lEVEgxCSgweDAxMTEpCisjZGVmaW5lIEJMVF9IRUlHSFQwCSgweDAxMTIp
CisjZGVmaW5lIEJMVF9IRUlHSFQxCSgweDAxMTMpCisjZGVmaW5lCUJMVF9CR0NPTE9SMAkoMHgw
MTE0KQorI2RlZmluZQlCTFRfQkdDT0xPUjEJKDB4MDExNSkKKyNkZWZpbmUJQkxUX0ZHQ09MT1Iw
CSgweDAxMTgpCisjZGVmaW5lIEJMVF9GR0NPTE9SMQkoMHgwMTE5KQorCisjZGVmaW5lIEJMVF9S
RUcgICAgICAgICAoMHgxMDAwMDApCisKKy8qIExvb2t1cCB0YWJsZSByZWdpc3RlcnMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUg
UkVHX0xVVF9BRERSIDB4MWUyCisjZGVmaW5lIFJFR19MVVRfREFUQSAweDFlNAorCisvKiBDdXJz
b3IvSW5rIHJlZ2lzdGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICovCisjZGVmaW5lIExDRF9DVVJTT1JfQ05UTCAgICAgICAgICgweDAwNzAp
CisjZGVmaW5lIExDRF9DVVJTT1JfU1RBUlQgICAgICAgICgweDAwNzEpCisjZGVmaW5lIExDRF9D
VVJTT1JfWEwgICAgICAgICAgICgweDAwNzIpCisjZGVmaW5lIExDRF9DVVJTT1JfWE0gICAgICAg
ICAgICgweDAwNzMpCisjZGVmaW5lIExDRF9DVVJTT1JfWUwgICAgICAgICAgICgweDAwNzQpCisj
ZGVmaW5lIExDRF9DVVJTT1JfWU0gICAgICAgICAgICgweDAwNzUpCisjZGVmaW5lIExDRF9DVVJT
T1JfQ09MMF9CICAgICAgICgweDAwNzYpCisjZGVmaW5lIExDRF9DVVJTT1JfQ09MMF9HICAgICAg
ICgweDAwNzcpCisjZGVmaW5lIExDRF9DVVJTT1JfQ09MMF9SICAgICAgICgweDAwNzgpCisjZGVm
aW5lIExDRF9DVVJTT1JfQ09MMV9CICAgICAgICgweDAwN0EpCisjZGVmaW5lIExDRF9DVVJTT1Jf
Q09MMV9HICAgICAgICgweDAwN0IpCisjZGVmaW5lIExDRF9DVVJTT1JfQ09MMV9SICAgICAgICgw
eDAwN0MpCisjZGVmaW5lIExDRF9DVVJTT1JfRklGTyAgICAgICAgICgweDAwN0UpCisKK3R5cGVk
ZWYgc3RydWN0Cit7CisgICAgdW5zaWduZWQgc2hvcnQgICAgICBJbmRleDsKKyAgICB1bnNpZ25l
ZCBjaGFyICAgICAgIFZhbHVlOworfSBTMURfUkVHUzsKKworCisKKy8qIEJvYXJkIHNwZWNpZmlj
IGZ1bmN0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi8KK3Vuc2lnbmVkIGludCBib2FyZF92aWRlb19pbml0ICh2b2lkKTsKK3ZvaWQgYm9hcmRf
dmFsaWRhdGVfc2NyZWVuICh1bnNpZ25lZCBpbnQgYmFzZSk7Citjb25zdCBTMURfUkVHUyAqYm9h
cmRfZ2V0X3JlZ3MgKHZvaWQpOworaW50IGJvYXJkX2dldF93aWR0aCAodm9pZCk7CitpbnQgYm9h
cmRfZ2V0X2hlaWdodCAodm9pZCk7CisKKyNlbmRpZiAvKiBfU0VEMTM4MDZfSF8gKi8KZGlmZiAt
cHVyTiBwcGNib290LTIuMC4wLWN2cy90b29scy9ta2ltYWdlLmMgcHBjYm9vdC0yLjAuMC1sY2Qv
dG9vbHMvbWtpbWFnZS5jCi0tLSBwcGNib290LTIuMC4wLWN2cy90b29scy9ta2ltYWdlLmMJMjAw
Mi0xMS0yMCAxODoyNToyNy4wMDAwMDAwMDAgKzAxMDAKKysrIHBwY2Jvb3QtMi4wLjAtbGNkL3Rv
b2xzL21raW1hZ2UuYwkyMDAyLTExLTIwIDE4OjI0OjM3LjAwMDAwMDAwMCArMDEwMApAQCAtMjUw
LDcgKzI1MCw3IEBAIE5YVEFSRzoJCTsKIAkgKi8KIAlpZiAoeGZsYWcpIHsKIAkJaWYgKGVwICE9
IGFkZHIgKyBzaXplb2YoaW1hZ2VfaGVhZGVyX3QpKSB7Ci0JCQlmcHJpbnRmIChzdGRlcnIsICIl
czogRm9yIFhJUCwgdGhlIGVudHJ5IHBvaW50IG11c3QgYmUgdGhlIGxvYWQgYWRkciArICVkXG4i
LAorCQkJZnByaW50ZiAoc3RkZXJyLCAiJXM6IEZvciBYSVAsIHRoZSBlbnRyeSBwb2ludCBtdXN0
IGJlIHRoZSBsb2FkIGFkZHIgKyAlbHVcbiIsCiAJCQkJY21kbmFtZSwgc2l6ZW9mKGltYWdlX2hl
YWRlcl90KSk7CiAJCQlleGl0IChFWElUX0ZBSUxVUkUpOwogCQl9Cg==

--------------3E16665E1CF41E464E400FD0--





More information about the U-Boot mailing list