[3068] in linux-scsi channel archive
ncr53c8xx update for 2.1.78
daemon@ATHENA.MIT.EDU (Gerard Roudier)
Sun Jan 11 12:41:31 1998
Date: Sun, 11 Jan 1998 18:28:21 +0100 (MET)
From: Gerard Roudier <groudier@club-internet.fr>
To: Linus Torvalds <torvalds@transmeta.com>
cc: linux-scsi@vger.rutgers.edu
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.
--8323328-622992876-884539701=:562
Content-Type: TEXT/PLAIN; charset=US-ASCII
Linus,
The attached patch for linux-2.1.78 updates the ncr53c8xx driver to
version 2.5f. This driver version is basically the version 2.5e that
has been reported to work quite well, and severall minor changes
intended to work around some 53C875 rev. 3 chip erratas.
Best Regards, Gerard.
--8323328-622992876-884539701=:562
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ncr53c8xx-2.5c-to-2.5f-for-linux-2.1.78.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.980111182821.562B@localhost>
Content-Description:
LS0tIGxpbnV4L2RyaXZlcnMvc2NzaS9DaGFuZ2VMb2cubmNyNTNjOHh4Lm9y
aWcJU3VuIE9jdCAxOSAxODozNToxNiAxOTk3DQorKysgbGludXgvZHJpdmVy
cy9zY3NpL0NoYW5nZUxvZy5uY3I1M2M4eHgJU3VuIEphbiAxMSAxNjowNjow
NCAxOTk4DQpAQCAtMSwzICsxLDMwIEBADQorRnJpIEphbiAyIDE4OjAwIDE5
OTggR2VyYXJkIFJvdWRpZXIgKGdyb3VkaWVyQGNsdWItaW50ZXJuZXQuZnIp
DQorCSogUmV2aXNpb24gMi41Zg0KKwktIFVzZSBGQVNULTUgaW5zdGVhZCBv
ZiBTTE9XIGZvciBzbG93IHNjc2kgZGV2aWNlcyBhY2NvcmRpbmcgdG8gDQor
CSAgbmV3IFNQSS0yIGRyYWZ0Lg0KKwktIE1ha2Ugc29tZSBjaGFuZ2VzIGlu
IG9yZGVyIHRvIGFjY29tb2RhdGUgd2l0aCA4NzUgcmV2IDw9IDMgDQorCSAg
ZGV2aWNlIGVycmF0YSBsaXN0aW5nIDM5Ny4gTWlub3IgY29uc2VxdWVuY2Vz
IGFyZToNCisJICAuIExlYXZlIHVzZSBvZiBQQ0kgV3JpdGUgYW5kIEludmFs
aWRhdGUgdW5kZXIgdXNlciBjb250cm9sLg0KKwkgICAgTm93LCBieSBkZWZh
dWx0IHRoZSBkcml2ZXIgZG9lcyBub3QgZW5hYmxlIFBDSSBNV0kgYW5kIG9w
dGlvbg0KKwkgICAgJ3NwZWNmOnknIGlzIHJlcXVpcmVkIGluIG9yZGVyIHRv
IGVuYWJsZSB0aGlzIGZlYXR1cmUuDQorCSAgLiBNZW1vcnkgUmVhZCBMaW5l
IGlzIG5vdCBlbmFibGVkIGZvciA4NzUgYW5kIDg3NS1saWtlIGNoaXBzLg0K
KwkgIC4gUHJvZ3JhbW1lZCBidXJzdCBsZW5ndGggc2V0IHRvIDY0IERXT1JE
UyAoaW5zdGVhZCBvZiAxMjgpLg0KKwkgICAgKE5vdGU6IFNZTUJJT1MgdXNl
cyAzMiBEV09SRFMgZm9yIHRoZSBTRE1TIEJJT1MpDQorDQorU3VuIE9jdCAy
NiAxMjowMCAxOTk3IEdlcmFyZCBSb3VkaWVyIChncm91ZGllckBjbHViLWlu
dGVybmV0LmZyKQ0KKwkqIHJldmlzaW9uIDIuNWUNCisJLSBBZGQgJ2J1c2No
aycgYm9vdCBvcHRpb24uDQorCSAgVGhpcyBvcHRpb24gZW5hYmxlcyBjaGVj
a2luZyBvZiBTQ1NJIEJVUyBkYXRhIGxpbmVzIGFmdGVyIFNDU0kgDQorCSAg
UkVTRVQgKHNldCBieSBkZWZhdWx0KS4gKFN1Ym1pdHRlZCBieSBSaWNoYXJk
IFdhbHRoYW0pLg0KKwktIFVwZGF0ZSB0aGUgUkVBRE1FIGZpbGUuDQorDQor
U2F0IE9jdCA0IDE4OjAwIDE5OTcgR2VyYXJkIFJvdWRpZXIgKGdyb3VkaWVy
QGNsdWItaW50ZXJuZXQuZnIpDQorCSogcmV2aXNpb24gMi41ZA0KKwktIERp
c3BhdGNoIENPTkRJVElPTiBNRVQgYW5kIFJFU0VSVkFUSU9OIENPTkZMSUNU
IHNjc2kgc3RhdHVzIA0KKwkgIGFzIE9LIGRyaXZlciBzdGF0dXMuDQorCS0g
VXBkYXRlIHRoZSBSRUFETUUgZmlsZSBhbmQgdGhlIFN5bWJpb3MgTlZSQU0g
Zm9ybWF0IGRlZmluaXRpb24gDQorCSAgd2l0aCByZW1vdmFibGUgbWVkaWEg
ZmxhZ3MgdmFsdWVzIChhdmFpbGFibGUgd2l0aCBTRE1TIDQuMDkpLg0KKw0K
IFNhdCBTZXAgMjAgMjE6MDAgMTk5NyBHZXJhcmQgUm91ZGllciAoZ3JvdWRp
ZXJAY2x1Yi1pbnRlcm5ldC5mcikNCiAJKiByZXZpc2lvbiAyLjVjDQogCS0g
U2V2ZXJhbCBQQ0kgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgZml4LXVwcyBm
b3IgcG93ZXJwYy4NCi0tLSBsaW51eC9kcml2ZXJzL3Njc2kvUkVBRE1FLm5j
cjUzYzh4eC5vcmlnCVN1biBTZXAgIDcgMjE6Mjk6MzAgMTk5Nw0KKysrIGxp
bnV4L2RyaXZlcnMvc2NzaS9SRUFETUUubmNyNTNjOHh4CVN1biBKYW4gMTEg
MTY6MDU6NTQgMTk5OA0KQEAgLTQsNyArNCw3IEBADQogMjEgUnVlIENhcm5v
dA0KIDk1MTcwIERFVUlMIExBIEJBUlJFIC0gRlJBTkNFDQogDQotMjMgQXVn
dXN0IDE5OTcNCisyIEphbnVhcnkgMTk5OA0KID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCiANCiAxLiAgSW50cm9kdWN0aW9uDQpAQCAt
MzAsNiArMzAsNyBAQA0KICAgICAgIDEwLjMgQWR2aXNlZCBib290IHNldHVw
IGNvbW1hbmRzDQogICAgICAgMTAuNCBQQ0kgY29uZmlndXJhdGlvbiBmaXgt
dXAgYm9vdCBvcHRpb24NCiAgICAgICAxMC41IFNlcmlhbCBOVlJBTSBzdXBw
b3J0IGJvb3Qgb3B0aW9uDQorICAgICAgMTAuNiBTQ1NJIEJVUyBjaGVja2lu
ZyBib290IG9wdGlvbg0KIDExLiBTb21lIGNvbnN0YW50cyBhbmQgZmxhZ3Mg
b2YgdGhlIG5jcjUzYzh4eC5oIGhlYWRlciBmaWxlDQogMTIuIEluc3RhbGxh
dGlvbg0KICAgICAgIDEyLjEgUHJvdmlkZWQgZmlsZXMNCkBAIC0zOCw2ICsz
OSw4IEBADQogMTQuIEtub3duIHByb2JsZW1zDQogICAgICAgMTQuMSBUYWdn
ZWQgY29tbWFuZHMgd2l0aCBJb21lZ2EgSmF6IGRldmljZQ0KICAgICAgIDE0
LjIgRGV2aWNlIG5hbWVzIGNoYW5nZSB3aGVuIGFub3RoZXIgY29udHJvbGxl
ciBpcyBhZGRlZA0KKyAgICAgIDE0LjMgVXNpbmcgb25seSA4IGJpdCBkZXZp
Y2VzIHdpdGggYSBXSURFIFNDU0kgY29udHJvbGxlci4NCisgICAgICAxNC40
IFBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbiBkdXJpbmcgYSBNZW1vcnkgV3Jp
dGUgYW5kIEludmFsaWRhdGUNCiAxNS4gU0NTSSBwcm9ibGVtIHRyb3VibGVz
aG9vdGluZw0KIDE2LiBTeW5jaG9ub3VzIHRyYW5zZmVyIG5lZ290aWF0aW9u
IHRhYmxlcw0KICAgICAgIDE2LjEgU3luY2hyb25vdXMgdGltaW5ncyBmb3Ig
NTNDODc1IGFuZCA1M0M4NjAgVWx0cmEtU0NTSSBjb250cm9sbGVycw0KQEAg
LTQ5MCw3ICs0OTMsOSBAQA0KIA0KIDEwLjEgU3ludGF4DQogDQotU2V0dXAg
Y29tbWFuZHMgY2FuIGJlIHBhc3NlZCB0byB0aGUgZHJpdmVyIGF0IGJvb3Qg
dGltZS4NCitTZXR1cCBjb21tYW5kcyBjYW4gYmUgcGFzc2VkIHRvIHRoZSBk
cml2ZXIgZWl0aGVyIGF0IGJvb3QgdGltZSBvciBhcyBhIA0KK3N0cmluZyB2
YXJpYWJsZSB1c2luZyAnaW5zbW9kJy4NCisNCiBBIGJvb3Qgc2V0dXAgY29t
bWFuZCBmb3IgdGhlIG5jcjUzYzh4eCBkcml2ZXIgYmVnaW5zIHdpdGggdGhl
IGRyaXZlciBuYW1lIA0KICJuY3I1M2M4eHg9Ii4gVGhlIGtlcm5lbCBzeW50
YXggcGFyc2VyIHRoZW4gZXhwZWN0cyBhbiBvcHRpb25uYWwgbGlzdCBvZg0K
IGludGVnZXJzIHNlcGFyYXRlZCB3aXRoIGNvbW1hIGZvbGxvd2VkIGJ5IGFu
IG9wdGlvbm5hbCBsaXN0IG9mICBjb21tYS0gDQpAQCAtNTAyLDcgKzUwNywx
NCBAQA0KIC0gc2V0IHN5bmNocm9ub3VzIG5lZ290aWF0aW9uIHNwZWVkIHRv
IDEwIE1lZ2EtdHJhbnNmZXJzIC8gc2Vjb25kLg0KIC0gc2V0IERFQlVHX05F
R08gZmxhZy4NCiANCi1Gb3IgdGhlIG1vbWVudCwgdGhlIGludGVnZXIgbGlz
dCBvZiBhcmd1bWVudHMgaXMgZGlzZ2FyZGVkIGJ5IHRoZSBkcml2ZXIuIA0K
K1NpbmNlIGNvbW1hIHNlZW1zIG5vdCB0byBiZSBhbGxvd2VkIHdoZW4gZGVm
aW5pbmcgYSBzdHJpbmcgdmFyaWFibGUgdXNpbmcgIA0KKydpbnNtb2QnLCB0
aGUgZHJpdmVyIGFsc28gYWNjZXB0cyA8c3BhY2U+IGFzIG9wdGlvbiBzZXBh
cmF0b3IuIA0KK1RoZSBmb2xsb3dpbmcgY29tbWFuZCB3aWxsIGluc3RhbGwg
ZHJpdmVyIG1vZHVsZSB3aXRoIHRoZSBzYW1lIG9wdGlvbnMgYXMgDQorYWJv
dmUuDQorDQoraW5zbW9kIG5jcjUzYzh4eC5vIG5jcjUzYzh4eD0idGFnczo0
IHN5bmM6MTAgZGVidWc6MHgyMDAiDQorDQorRm9yIHRoZSBtb21lbnQsIHRo
ZSBpbnRlZ2VyIGxpc3Qgb2YgYXJndW1lbnRzIGlzIGRpc2NhcmRlZCBieSB0
aGUgZHJpdmVyLiANCiBJdCB3aWxsIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSBp
biBvcmRlciB0byBhbGxvdyBhIHBlciBjb250cm9sbGVyIHNldHVwLg0KIA0K
IEVhY2ggc3RyaW5nIGFyZ3VtZW50IG11c3QgYmUgc3BlY2lmaWVkIGFzICJr
ZXl3b3JkOnZhbHVlIi4gT25seSBsb3dlci1jYXNlIA0KQEAgLTUyNSw4ICs1
MzcsMTIgQEANCiBTcGVjaWFsIGZlYXR1cmVzDQogICAgT25seSBhcHBseSB0
byA4MTBBLCA4MjVBLCA4NjAgYW5kIDg3NSBjb250cm9sbGVycy4NCiAgICBI
YXZlIG5vIGVmZmVjdCB3aXRoIG5vcm1hbCA4MTAgYW5kIDgyNS4NCi0gICAg
ICBzcGVjZjp5ICAgIGVuYWJsZWQNCi0gICAgICBzcGVjZjpuICAgIGRpc2Fi
bGVkDQorICAgICAgc3BlY2Y6eSAgICAob3IgMSkgZW5hYmxlZA0KKyAgICAg
IHNwZWNmOm4gICAgKG9yIDApIGRpc2FibGVkDQorICAgICAgc3BlY2Y6MyAg
ICAgICAgICAgZW5hYmxlZCBleGNlcHQgTWVtb3J5IFdyaXRlIEFuZCBJbnZh
bGlkYXRlDQorICAgVGhlIGRlZmF1bHQgZHJpdmVyIHNldHVwIGlzICdzcGVj
ZjozJy4gQXMgYSBjb25zZXF1ZW5jZSwgb3B0aW9uICdzcGVjZjp5JyANCisg
ICBtdXN0IGJlIHNwZWNpZmllZCBpbiB0aGUgYm9vdCBzZXR1cCBjb21tYW5k
IHRvIGVuYWJsZSBNZW1vcnkgV3JpdGUgQW5kIA0KKyAgIEludmFsaWRhdGUu
DQogDQogVWx0cmEgU0NTSSBzdXBwb3J0DQogICAgT25seSBhcHBseSB0byA4
NjAgYW5kIDg3NSBjb250cm9sbGVycy4NCkBAIC02MjgsNiArNjQ0LDcgQEAN
CiAgICAgcGNpZml4OjxvcHRpb24gYml0cz4NCiANCiAgICAgQXZhaWxhYmxl
IG9wdGlvbiBiaXRzOg0KKyAgICAgICAgMHgwOiAgIE5vIGF0dGVtcHQgdG8g
Zml4IFBDSSBjb25maWd1cmF0aW9uIHNwYWNlIHJlZ2lzdGVycyB2YWx1ZXMu
DQogICAgICAgICAweDE6ICAgU2V0IFBDSSBjYWNoZS1saW5lIHNpemUgcmVn
aXN0ZXIgaWYgbm90IHNldC4NCiAgICAgICAgIDB4MjogICBTZXQgd3JpdGUg
YW5kIGludmFsaWRhdGUgYml0IGluIFBDSSBjb21tYW5kIHJlZ2lzdGVyLg0K
ICAgICAgICAgMHg0OiAgIEluY3JlYXNlIGlmIG5lY2Vzc2FyeSBQQ0kgbGF0
ZW5jeSB0aW1lciBhY2NvcmRpbmcgdG8gYnVyc3QgbWF4Lg0KQEAgLTYzOCw2
ICs2NTUsMTQgQEANCiAgICAgbnZyYW06biAgICAgZG8gbm90IGxvb2sgZm9y
IHNlcmlhbCBOVlJBTQ0KICAgICBudnJhbTp5ICAgICB0ZXN0IGNvbnRyb2xs
ZXJzIGZvciBvbmJvYXJkIHNlcmlhbCBOVlJBTQ0KIA0KK0NoZWNrIFNDU0kg
QlVTIA0KKyAgICBidXNjaGs6PG9wdGlvbiBiaXRzPg0KKw0KKyAgICBBdmFp
bGFibGUgb3B0aW9uIGJpdHM6DQorICAgICAgICAweDA6ICAgTm8gY2hlY2su
DQorICAgICAgICAweDE6ICAgQ2hlY2sgYW5kIGRvbm5vdCBhdHRhY2ggdGhl
IGNvbnRyb2xsZXIgb24gZXJyb3IuICANCisgICAgICAgIDB4MjogICBDaGVj
ayBhbmQganVzdCB3YXJuIG9uIGVycm9yLg0KKw0KIEJvb3QgZmFpbCBzYWZl
DQogICAgIHNhZmU6eQlsb2FkIHRoZSBmb2xsb3dpbmcgYXNzdW1lZCBmYWls
IHNhZmUgaW5pdGlhbCBzZXR1cA0KIA0KQEAgLTY2MCwxMyArNjg1LDE0IEBA
DQogICBzZXR0bGUgdGltZQkJCTEwIHNlY29uZHMJCXNldHRsZToxMA0KICAg
ZGlmZmVyZW50aWFsIHN1cHBvcnQJCWZyb20gQklPUyBzZXR0aW5ncwlkaWZm
OjENCiAgIGlycSBtb2RlCQkJZnJvbSBCSU9TIHNldHRpbmdzCWlycW06MQ0K
KyAgU0NTSSBCVVMgY2hlY2sJCWRvbm5vdCBhdHRhY2ggb24gZXJyb3IJYnVz
Y2hrOjENCiANCiAxMC4zIEFkdmlzZWQgYm9vdCBzZXR1cCBjb21tYW5kcw0K
IA0KIElmIHRoZSBkcml2ZXIgaGFzIGJlZW4gY29uZmlndXJlZCB3aXRoIGRl
ZmF1bHQgb3B0aW9ucywgdGhlIGVxdWl2YWxlbnQgDQogYm9vdCBzZXR1cCBp
czoNCiANCi0gICBuY3I1M2M4eHg9bXBhcjp5LHNwYXI6eSxkaXNjOnksc3Bl
Y2Y6eSxmc246bix1bHRyYTp5LGZzbjpuLHJldnByb2I6bix2ZXJiOjFcDQor
ICAgbmNyNTNjOHh4PW1wYXI6eSxzcGFyOnksZGlzYzp5LHNwZWNmOjMsZnNu
Om4sdWx0cmE6eSxmc246bixyZXZwcm9iOm4sdmVyYjoxXA0KICAgICAgICAg
ICAgICB0YWdzOjAsc3luYzo1MCxkZWJ1ZzowLGJ1cnN0OjcsbGVkOjAsd2lk
ZToxLHNldHRsZToyLGRpZmY6MCxpcnFtOjANCiANCiBGb3IgYW4gaW5zdGFs
bGF0aW9uIGRpc2tldHRlIG9yIGEgc2FmZSBidXQgbm90IGZhc3Qgc3lzdGVt
LA0KQEAgLTY3OSw3ICs3MDUsNyBAQA0KIA0KIE15IHBlcnNvbm5hbCBzeXN0
ZW0gd29ya3MgZmxhd2xlc3NseSB3aXRoIHRoZSBmb2xsb3dpbmcgZXF1aXZh
bGVudCBzZXR1cDoNCiANCi0gICBuY3I1M2M4eHg9bXBhcjp5LHNwYXI6eSxk
aXNjOnksc3BlY2Y6eSxmc246bix1bHRyYTp5LGZzbjpuLHJldnByb2I6bix2
ZXJiOjFcDQorICAgbmNyNTNjOHh4PW1wYXI6eSxzcGFyOnksZGlzYzp5LHNw
ZWNmOjEsZnNuOm4sdWx0cmE6eSxmc246bixyZXZwcm9iOm4sdmVyYjoxXA0K
ICAgICAgICAgICAgICB0YWdzOjgsc3luYzoxMixkZWJ1ZzowLGJ1cnN0Ojcs
bGVkOjEsd2lkZToxLHNldHRsZToyLGRpZmY6MCxpcnFtOjANCiANCiBUaGUg
ZHJpdmVyIHByaW50cyBpdHMgYWN0dWFsIHNldHVwIHdoZW4gdmVyYm9zaXR5
IGxldmVsIGlzIDIuIFlvdSBjYW4gdHJ5IA0KQEAgLTc2NSw2ICs3OTEsMjEg
QEANCiB1c2UgaXRzIHNldHVwIGZvciBzeW5jaHJvbm91cyBhbmQgd2lkZSBu
ZWdvdGlhdGlvbnMuDQogDQogDQorMTAuNiBTQ1NJIEJVUyBjaGVja2luZyBi
b290IG9wdGlvbi4NCisNCitXaGVuIHRoaXMgb3B0aW9uIGlzIHNldCB0byBh
IG5vbi16ZXJvIHZhbHVlLCB0aGUgZHJpdmVyIGNoZWNrcyBTQ1NJIGxpbmVz
IA0KK2xvZ2ljIHN0YXRlLCAxMDAgbWljcm8tc2Vjb25kcyBhZnRlciBoYXZp
bmcgYXNzZXJ0ZWQgdGhlIFNDU0kgUkVTRVQgbGluZS4NCitUaGUgZHJpdmVy
IGp1c3QgcmVhZHMgU0NTSSBsaW5lcyBhbmQgY2hlY2tzIGFsbCBsaW5lcyBy
ZWFkIEZBTFNFIGV4Y2VwdCBSRVNFVC4NCitTaW5jZSBTQ1NJIGRldmljZXMg
c2hhbGwgcmVsZWFzZSB0aGUgQlVTIGF0IG1vc3QgODAwIG5hbm8tc2Vjb25k
cyBhZnRlciBTQ1NJIA0KK1JFU0VUIGhhcyBiZWVuIGFzc2VydGVkLCBhbnkg
c2lnbmFsIHRvIFRSVUUgbWF5IGluZGljYXRlIGEgU0NTSSBCVVMgcHJvYmxl
bS4NCitVbmZvcnR1bmF0ZWx5LCB0aGUgZm9sbG93aW5nIGNvbW1vbiBTQ1NJ
IEJVUyBwcm9ibGVtcyBhcmUgbm90IGRldGVjdGVkOg0KKy0gT25seSAxIHRl
cm1pbmF0b3IgaW5zdGFsbGVkLg0KKy0gTWlzcGxhY2VkIHRlcm1pbmF0b3Jz
Lg0KKy0gQmFkIHF1YWxpdHkgdGVybWluYXRvcnMuDQorT24gdGhlIG90aGVy
IGhhbmQsIGVpdGhlciBiYWQgY2FibGluZywgYnJva2VuIGRldmljZXMsIG5v
dCBjb25mb3JtYW50IA0KK2RldmljZXMsIC4uLiBtYXkgY2F1c2UgYSBTQ1NJ
IHNpZ25hbCB0byBiZSB3cm9uZyB3aGVuIHRlIGRyaXZlciByZWFkcyBpdC4N
CisNCisNCiAxMS4gU29tZSBjb25zdGFudHMgYW5kIGZsYWdzIG9mIHRoZSBu
Y3I1M2M4eHguaCBoZWFkZXIgZmlsZQ0KIA0KIFNvbWUgb2YgdGhlc2UgYXJl
IGRlZmluZWQgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLiAg
VG8NCkBAIC05NTIsNiArOTkzLDUwIEBADQogLSBNYWtlIGFwcHJvcHJpYXRl
IGNoYW5nZXMgaW4gdGhlIGZzdGFiLg0KIC0gVXNlIHRoZSAnc2NzaWRldicg
dG9vbCBmcm9tIEVyaWMgWW91bmdkYWxlLg0KIA0KKzE0LjMgVXNpbmcgb25s
eSA4IGJpdCBkZXZpY2VzIHdpdGggYSBXSURFIFNDU0kgY29udHJvbGxlci4N
CisNCitXaGVuIG9ubHkgOCBiaXQgTkFSUk9XIGRldmljZXMgYXJlIGNvbm5l
Y3RlZCB0byBhIDE2IGJpdCBXSURFIFNDU0kgY29udHJvbGxlciwgDQoreW91
IG11c3QgZW5zdXJlIHRoYXQgbGluZXMgb2YgdGhlIHdpZGUgcGFydCBvZiB0
aGUgU0NTSSBCVVMgYXJlIHB1bGxlZC11cC4NCitUaGlzIGNhbiBiZSBhY2hp
ZXZlZCBieSBFTkFCTElORyB0aGUgV0lERSBURVJNSU5BVE9SIHBvcnRpb24g
b2YgdGhlIFNDU0kgDQorY29udHJvbGxlciBjYXJkLg0KK1RoZSBUWUFOIDEz
NjUgZG9jdW1lbnRhdGlvbiByZXZpc2lvbiAxLjIgaXMgbm90IGNvcnJlY3Qg
YWJvdXQgc3VjaCBzZXR0aW5ncy4NCisocGFnZSAxMCwgZmlndXJlIDMuMyku
DQorDQorMTQuNCBQb3NzaWJsZSBkYXRhIGNvcnJ1cHRpb24gZHVyaW5nIGEg
TWVtb3J5IFdyaXRlIGFuZCBJbnZhbGlkYXRlDQorDQorVGhpcyBwcm9ibGVt
IGlzIGRlc2NyaWJlZCBpbiBTWU1CSU9TIERFTCAzOTcsIFBhcnQgTnVtYmVy
IDY5LTAzOTI0MSwgSVRFTSA0Lg0KKw0KK0luIHNvbWUgY29tcGxleCBzaXR1
YXRpb25zLCA1M0M4NzUgY2hpcHMgcmV2aXNpb24gPD0gMyBtYXkgc3RhcnQg
YSBQQ0kgDQorV3JpdGUgYW5kIEludmFsaWRhdGUgQ29tbWFuZCBhdCBhIG5v
dCBjYWNoZS1saW5lLWFsaWduZWQgNCBEV09SRFMgYm91bmRhcnkuDQorVGhp
cyBpcyBvbmx5IHBvc3NpYmxlIHdoZW4gQ2FjaGUgTGluZSBTaXplIGlzIDgg
RFdPUkRTIG9yIGdyZWF0ZXIuDQorUGVudGl1bSBzeXN0ZW1zIHVzZSBhIDgg
RFdPUkRTIGNhY2hlIGxpbmUgc2l6ZSBhbmQgc28gYXJlIGNvbmNlcm5lZCBi
eSANCit0aGlzIGNoaXAgYnVnLCB1bmxpa2UgaTQ4NiBzeXN0ZW1zIHRoYXQg
dXNlIGEgNCBEV09SRFMgY2FjaGUgbGluZSBzaXplLg0KKw0KK1doZW4gdGhp
cyBzaXR1YXRpb24gb2NjdXJzLCB0aGUgY2hpcCBtYXkgY29tcGxldGUgdGhl
IFdyaXRlIGFuZCBJbnZhbGlkYXRlIA0KK2NvbW1hbmQgYWZ0ZXIgaGF2aW5n
IG9ubHkgZmlsbGVkIHBhcnQgb2YgdGhlIGxhc3QgY2FjaGUgbGluZSBpbnZv
bHZlZCBpbiANCit0aGUgdHJhbnNmZXIsIGxlYXZpbmcgdG8gZGF0YSBjb3Jy
dXB0aW9uIHRoZSByZW1haW5kZXIgb2YgdGhpcyBjYWNoZSBsaW5lLg0KKw0K
K05vdCB1c2luZyBXcml0ZSBBbmQgSW52YWxpZGF0ZSBvYnZpb3VzbHkgZ2V0
cyByaWQgb2YgdGhpcyBjaGlwIGJ1ZywgYW5kIHNvIA0KK2l0IGlzIG5vdyB0
aGUgZGVmYXVsdCBzZXR0aW5nIG9mIHRoZSBkcml2ZXIuDQorSG93ZXZlciwg
Zm9yIHBlb3BsZSBsaWtlIG1lIHdobyB3YW50IHRvIGVuYWJsZSB0aGlzIGZl
YXR1cmUsIEkgaGF2ZSBhZGRlZCANCitwYXJ0IG9mIGEgd29yay1hcm91bmQg
c3VnZ2VzdGVkIGJ5IFNZTUJJT1MuIFRoaXMgd29yay1hcm91bmQgcmVzZXRz
IHRoZSANCithZGRyZXNzaW5nIGxvZ2ljIHdoZW4gdGhlIERBVEEgSU4gcGhh
c2UgaXMgZW50ZXJlZCBhbmQgc28gcHJldmVudHMgdGhlIGJ1ZyANCitmcm9t
IGJlaW5nIHRyaWdnZXJlZCBmb3IgdGhlIGZpcnN0IFNDU0kgTU9WRSBvZiB0
aGUgcGhhc2UuIFRoaXMgd29yay1hcm91bmQgDQorc2hvdWxkIGJlIGVub3Vn
aCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZzoNCisNCitUaGUgb25seSBk
cml2ZXIgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBpcyBncmVhdGVy
IHRoYW4gOCBEV09SRFMgIGFuZCANCit0aGF0IGlzIG1vdmVkIGJ5IHRoZSBT
Q1JJUFRTIHByb2Nlc3NvciBpcyB0aGUgJ0NDQiBoZWFkZXInIHRoYXQgY29u
dGFpbnMgDQordGhlIGNvbnRleHQgb2YgdGhlIFNDU0kgdHJhbnNmZXIuIFRo
aXMgZGF0YSBzdHJ1Y3R1cmUgaXMgYWxpZ25lZCBvbiA4IERXT1JEUyANCiti
b3VuZGFyeSAoUGVudGl1bSBDYWNoZSBMaW5lIFNpemUpLCBhbmQgc28gaXMg
aW1tdW5lIHRvIHRoaXMgY2hpcCBidWcsIGF0IA0KK2xlYXN0IG9uIFBlbnRp
dW0gc3lzdGVtcy4NCitCdXQgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBidWcg
Y2FuIGJlIG1ldCB3aGVuIGEgU0NTSSByZWFkIGNvbW1hbmQgaXMgDQorcGVy
Zm9ybWVkIHVzaW5nIGEgYnVmZmVyIHRoYXQgaXMgNCBEV09SRFMgYnV0IG5v
dCBjYWNoZS1saW5lIGFsaWduZWQuDQorVGhpcyBjYW5ub3QgaGFwcGVuIHVu
ZGVyIExpbnV4IHdoZW4gc2NhdHRlci9nYXRoZXIgbGlzdHMgYXJlIHVzZWQg
c2luY2UgDQordGhleSBvbmx5IHJlZmVyIHRvIHN5c3RlbSBidWZmZXJzIHRo
YXQgYXJlIHdlbGwgYWxpZ25lZC4gU28sIGEgd29yayBhcm91bmQgDQorbWF5
IG9ubHkgYmUgbmVlZGVkIHVuZGVyIExpbnV4IHdoZW4gYSBzY2F0dGVyL2dh
dGhlciBsaXN0IGlzIG5vdCB1c2VkIGFuZCANCit3aGVuIHRoZSBTQ1NJIERB
VEEgSU4gcGhhc2UgaXMgcmVlbnRlcmVkIGFmdGVyIGEgcGhhc2UgbWlzbWF0
Y2guDQorDQorIA0KIDE1LiBTQ1NJIHByb2JsZW0gdHJvdWJsZXNob290aW5n
DQogDQogTW9zdCBTQ1NJIHByb2JsZW1zIGFyZSBkdWUgdG8gYSBub24gY29u
Zm9ybWFudCBTQ1NJIGJ1cyBvciB0byBidWdneQ0KQEAgLTEyMTYsOCArMTMw
MSwxNCBAQA0KIGNvbnRyb2xsZXIgc2V0IHVwDQogDQogMDAgMzAgMDAgMDAg
MDAgMDAgMDcgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDcgMDQgMTAgMDQgMDAg
MDANCi0gICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgICAgICAgICAg
ICAgfA0KLSAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgICAgICAgICAg
ICAgICAgLS0gaG9zdCBJRA0KKyAgICAgICAgICAgICAgICAgICB8ICAgICB8
ICAgICAgICAgICB8ICAgICB8DQorICAgICAgICAgICAgICAgICAgIHwgICAg
IHwgICAgICAgICAgIHwgICAgICAtLSBob3N0IElEDQorICAgICAgICAgICAg
ICAgICAgIHwgICAgIHwgICAgICAgICAgIHwNCisgICAgICAgICAgICAgICAg
ICAgfCAgICAgfCAgICAgICAgICAgIC0tUmVtb3ZhYmxlIE1lZGlhIFN1cHBv
cnQNCisgICAgICAgICAgICAgICAgICAgfCAgICAgfCAgICAgICAgICAgICAg
IDB4MDAgPSBub25lDQorICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAg
ICAgICAgICAgICAweDAxID0gQm9vdGFibGUgRGV2aWNlDQorICAgICAgICAg
ICAgICAgICAgIHwgICAgIHwgICAgICAgICAgICAgICAweDAyID0gQWxsIHdp
dGggTWVkaWENCisgICAgICAgICAgICAgICAgICAgfCAgICAgfA0KICAgICAg
ICAgICAgICAgICAgICB8ICAgICAgLS1mbGFnIGJpdHMgMg0KICAgICAgICAg
ICAgICAgICAgICB8ICAgICAgICAweDAwMDAwMDAxPSBzY2FuIG9yZGVyIGhp
LT5sb3cNCiAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIChkZWZh
dWx0IDB4MDAgLSBzY2FuIGxvdy0+aGkpDQpAQCAtMTIzMCw2ICsxMzIxLDcg
QEANCiBjdXJyZW50IHNldCB1cCBmb3IgYW55IG9mIHRoZSBjb250cm9sbGVy
cy4NCiANCiBkZWZhdWx0IHNldCB1cCBpcyBpZGVudGljYWwgZm9yIDUzYzgx
MGEgYW5kIDUzYzg3NSBOVlJBTQ0KKyhSZW1vdmFibGUgTWVkaWEgYWRkZWQg
U3ltYmlvcyBCSU9TIHZlcnNpb24gNC4wOSkNCiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
IGJvb3QgY29uZmlndXJhdGlvbg0KIA0KLS0tIGxpbnV4L2RyaXZlcnMvc2Nz
aS9uY3I1M2M4eHguaC5vcmlnCVN1biBKYW4gMTEgMTE6MDM6MjQgMTk5OA0K
KysrIGxpbnV4L2RyaXZlcnMvc2NzaS9uY3I1M2M4eHguaAlTdW4gSmFuIDEx
IDE2OjE0OjQ0IDE5OTgNCkBAIC00NSw3ICs0NSw3IEBADQogLyoNCiAqKglO
YW1lIGFuZCByZXZpc2lvbiBvZiB0aGUgZHJpdmVyDQogKi8NCi0jZGVmaW5l
IFNDU0lfTkNSX0RSSVZFUl9OQU1FCQkibmNyNTNjOHh4IC0gcmV2aXNpb24g
Mi41YyINCisjZGVmaW5lIFNDU0lfTkNSX0RSSVZFUl9OQU1FCQkibmNyNTNj
OHh4IC0gcmV2aXNpb24gMi41ZiINCiANCiAvKg0KICoqCUNoZWNrIHN1cHBv
cnRlZCBMaW51eCB2ZXJzaW9ucw0KQEAgLTEyNSw3ICsxMjUsNyBAQA0KICAq
IEZvciBVbHRyYTIgU0NTSSBzdXBwb3J0IG9wdGlvbiwgdXNlIHNwZWNpYWwg
ZmVhdHVyZXMgYW5kIGFsbG93IDQwTWh6IA0KICAqIHN5bmNocm9ub3VzIGRh
dGEgdHJhbnNmZXJzLg0KICAqLw0KLSNkZWZpbmUJU0NTSV9OQ1JfU0VUVVBf
U1BFQ0lBTF9GRUFUVVJFUwkJKDEpDQorI2RlZmluZQlTQ1NJX05DUl9TRVRV
UF9TUEVDSUFMX0ZFQVRVUkVTCQkoMykNCiAjZGVmaW5lIFNDU0lfTkNSX1NF
VFVQX1VMVFJBX1NDU0kJCSgyKQ0KICNkZWZpbmUgU0NTSV9OQ1JfTUFYX1NZ
TkMJCQkoNDApDQogDQpAQCAtMjkwLDYgKzI5MCw4IEBADQogI2RlZmluZSBu
Y3I1M2M4eHhfcmVsZWFzZSBOVUxMDQogI2VuZGlmDQogDQorI2lmCUxJTlVY
X1ZFUlNJT05fQ09ERSA+PSBMaW51eFZlcnNpb25Db2RlKDIsMSw3NSkNCisN
CiAjZGVmaW5lIE5DUjUzQzhYWCB7ICAgICBuYW1lOiAgICAgICAgICAgU0NT
SV9OQ1JfRFJJVkVSX05BTUUsCVwNCiAJCQlkZXRlY3Q6ICAgICAgICAgbmNy
NTNjOHh4X2RldGVjdCwJXA0KIAkJCXJlbGVhc2U6ICAgICAgICBuY3I1M2M4
eHhfcmVsZWFzZSwJXA0KQEAgLTMwMyw2ICszMDUsMzAgQEANCiAJCQljbWRf
cGVyX2x1bjogICAgU0NTSV9OQ1JfQ01EX1BFUl9MVU4sCVwNCiAJCQl1c2Vf
Y2x1c3RlcmluZzogRElTQUJMRV9DTFVTVEVSSU5HfSANCiAgIA0KKyNlbGlm
CUxJTlVYX1ZFUlNJT05fQ09ERSA+PSBMaW51eFZlcnNpb25Db2RlKDEsMyww
KQ0KKw0KKyNkZWZpbmUgTkNSNTNDOFhYIHsJTlVMTCwgTlVMTCwgTlVMTCwg
TlVMTCwJCQkJXA0KKwkJCVNDU0lfTkNSX0RSSVZFUl9OQU1FLAluY3I1M2M4
eHhfZGV0ZWN0LAlcDQorICAgIAkJCW5jcjUzYzh4eF9yZWxlYXNlLAlOVUxM
LAlOVUxMLAkJXA0KKwkJCW5jcjUzYzh4eF9xdWV1ZV9jb21tYW5kLG5jcjUz
Yzh4eF9hYm9ydCwJXA0KKwkJCW5jcjUzYzh4eF9yZXNldCwgTlVMTCwJc2Nz
aWNhbV9iaW9zX3BhcmFtLAlcDQorCQkJU0NTSV9OQ1JfQ0FOX1FVRVVFLAk3
LAkJCVwNCisJCQlTQ1NJX05DUl9TR19UQUJMRVNJWkUsCVNDU0lfTkNSX0NN
RF9QRVJfTFVOLAlcDQorCQkJMCwJMCwJRElTQUJMRV9DTFVTVEVSSU5HfSAN
CisNCisjZWxzZQ0KKw0KKyNkZWZpbmUgTkNSNTNDOFhYIHsJTlVMTCwgTlVM
TCwJCQkJCVwNCisJCQlTQ1NJX05DUl9EUklWRVJfTkFNRSwJbmNyNTNjOHh4
X2RldGVjdCwJXA0KKwkJCW5jcjUzYzh4eF9yZWxlYXNlLAlOVUxMLCAJTlVM
TCwgCQlcDQorCQkJbmNyNTNjOHh4X3F1ZXVlX2NvbW1hbmQsbmNyNTNjOHh4
X2Fib3J0LAlcDQorCQkJbmNyNTNjOHh4X3Jlc2V0LCBOVUxMLAlzY3NpY2Ft
X2Jpb3NfcGFyYW0sCVwNCisJCQlTQ1NJX05DUl9DQU5fUVVFVUUsCTcsCQkJ
XA0KKwkJCVNDU0lfTkNSX1NHX1RBQkxFU0laRSwJU0NTSV9OQ1JfQ01EX1BF
Ul9MVU4sCVwNCisJCQkwLAkwLAlESVNBQkxFX0NMVVNURVJJTkd9IA0KKw0K
KyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgKi8NCisNCiAjZW5kaWYg
LyogZGVmaW5lZChIT1NUU19DKSB8fCBkZWZpbmVkKE1PRFVMRSkgKi8gDQog
DQogDQpAQCAtNDI3LDYgKzQ1MywxOSBAQA0KICNkZWZpbmUgRkVfU1BFQ0lB
TF9TRVQJKEZFX0NBQ0hFX1NFVHxGRV9CT0Z8RkVfREZTfEZFX0xEU1RSfEZF
X1BGRU58RkVfUkFNKQ0KIH0gbmNyX2NoaXA7DQogDQorLyoNCisqKglERUwg
Mzk3IC0gNTNDODc1IFJldiAzIC0gUGFydCBOdW1iZXIgNjA5LTAzOTI0MTAg
LSBJVEVNIDMuDQorKioJTWVtb3J5IFJlYWQgdHJhbnNhY3Rpb24gdGVybWlu
YXRlZCBieSBhIHJldHJ5IGZvbGxvd2VkIGJ5IA0KKyoqCU1lbW9yeSBSZWFk
IExpbmUgY29tbWFuZC4NCisqLw0KKyNkZWZpbmUgRkVfQ0FDSEUwX1NFVAko
RkVfQ0FDSEVfU0VUICYgfkZFX0VSTCkNCisNCisvKg0KKyoqCURFTCAzOTcg
LSA1M0M4NzUgUmV2IDMgLSBQYXJ0IE51bWJlciA2MDktMDM5MjQxMCAtIElU
RU0gNS4NCisqKglPbiBwYXBlciwgdGhpcyBlcnJhdGEgaXMgaGFybWxlc3Mu
IEJ1dCBpdCBpcyBhIGdvb2QgcmVhc29uIGZvciANCisqKgl1c2luZyBhIHNo
b3J0ZXIgcHJvZ3JhbW1lZCBidXJzdCBsZW5ndGggKDY0IERXT1JEUyBpbnN0
ZWFkIG9mIDEyOCkuDQorKi8NCisNCiAjZGVmaW5lIFNDU0lfTkNSX0NISVBf
VEFCTEUJCQkJCQlcDQogewkJCQkJCQkJCVwNCiAge1BDSV9ERVZJQ0VfSURf
TkNSXzUzQzgxMCwgMHgwZiwgIjgxMCIsICA0LCAgOCwgNCwJCQlcDQpAQCAt
NDQ0LDIzICs0ODMsMjMgQEANCiAge1BDSV9ERVZJQ0VfSURfTkNSXzUzQzgy
NSwgMHgwZiwgIjgyNSIsICA0LCAgOCwgNCwJCQlcDQogIEZFX1dJREV8RkVf
RVJMfEZFX0JPRn0JCQkJCQkJXA0KICAsCQkJCQkJCQkJXA0KLSB7UENJX0RF
VklDRV9JRF9OQ1JfNTNDODI1LCAweGZmLCAiODI1YSIsIDcsICA4LCA0LAkJ
CVwNCi0gRkVfV0lERXxGRV9DQUNIRV9TRVR8RkVfQk9GfEZFX0RGU3xGRV9M
RFNUUnxGRV9QRkVOfEZFX1JBTX0JCVwNCisge1BDSV9ERVZJQ0VfSURfTkNS
XzUzQzgyNSwgMHhmZiwgIjgyNWEiLCA2LCAgOCwgNCwJCQlcDQorIEZFX1dJ
REV8RkVfQ0FDSEUwX1NFVHxGRV9CT0Z8RkVfREZTfEZFX0xEU1RSfEZFX1BG
RU58RkVfUkFNfQkJXA0KICAsCQkJCQkJCQkJXA0KICB7UENJX0RFVklDRV9J
RF9OQ1JfNTNDODYwLCAweGZmLCAiODYwIiwgIDQsICA4LCA1LAkJCVwNCiAg
RkVfVUxUUkF8RkVfQ0xLODB8RkVfQ0FDSEVfU0VUfEZFX0JPRnxGRV9MRFNU
UnxGRV9QRkVOfQkJXA0KICAsCQkJCQkJCQkJXA0KLSB7UENJX0RFVklDRV9J
RF9OQ1JfNTNDODc1LCAweDAxLCAiODc1IiwgIDcsIDE2LCA1LAkJCVwNCi0g
RkVfV0lERXxGRV9VTFRSQXxGRV9DTEs4MHxGRV9DQUNIRV9TRVR8RkVfQk9G
fEZFX0RGU3xGRV9MRFNUUnxGRV9QRkVOfEZFX1JBTX1cDQorIHtQQ0lfREVW
SUNFX0lEX05DUl81M0M4NzUsIDB4MDEsICI4NzUiLCAgNiwgMTYsIDUsCQkJ
XA0KKyBGRV9XSURFfEZFX1VMVFJBfEZFX0NMSzgwfEZFX0NBQ0hFMF9TRVR8
RkVfQk9GfEZFX0RGU3xGRV9MRFNUUnxGRV9QRkVOfEZFX1JBTX1cDQogICwJ
CQkJCQkJCQlcDQotIHtQQ0lfREVWSUNFX0lEX05DUl81M0M4NzUsIDB4ZmYs
ICI4NzUiLCAgNywgMTYsIDUsCQkJXA0KLSBGRV9XSURFfEZFX1VMVFJBfEZF
X0RCTFJ8RkVfQ0FDSEVfU0VUfEZFX0JPRnxGRV9ERlN8RkVfTERTVFJ8RkVf
UEZFTnxGRV9SQU19XA0KKyB7UENJX0RFVklDRV9JRF9OQ1JfNTNDODc1LCAw
eGZmLCAiODc1IiwgIDYsIDE2LCA1LAkJCVwNCisgRkVfV0lERXxGRV9VTFRS
QXxGRV9EQkxSfEZFX0NBQ0hFMF9TRVR8RkVfQk9GfEZFX0RGU3xGRV9MRFNU
UnxGRV9QRkVOfEZFX1JBTX1cDQogICwJCQkJCQkJCQlcDQotIHtQQ0lfREVW
SUNFX0lEX05DUl81M0M4NzVKLCAweGZmLCAiODc1SiIsICA3LCAxNiwgNSwJ
CQlcDQotIEZFX1dJREV8RkVfVUxUUkF8RkVfREJMUnxGRV9DQUNIRV9TRVR8
RkVfQk9GfEZFX0RGU3xGRV9MRFNUUnxGRV9QRkVOfEZFX1JBTX1cDQorIHtQ
Q0lfREVWSUNFX0lEX05DUl81M0M4NzVKLDB4ZmYsICI4NzVKIiwgNiwgMTYs
IDUsCQkJXA0KKyBGRV9XSURFfEZFX1VMVFJBfEZFX0RCTFJ8RkVfQ0FDSEUw
X1NFVHxGRV9CT0Z8RkVfREZTfEZFX0xEU1RSfEZFX1BGRU58RkVfUkFNfVwN
CiAgLAkJCQkJCQkJCVwNCi0ge1BDSV9ERVZJQ0VfSURfTkNSXzUzQzg4NSwg
MHhmZiwgIjg4NSIsICA3LCAxNiwgNSwJCQlcDQotIEZFX1dJREV8RkVfVUxU
UkF8RkVfREJMUnxGRV9DQUNIRV9TRVR8RkVfQk9GfEZFX0RGU3xGRV9MRFNU
UnxGRV9QRkVOfEZFX1JBTX1cDQorIHtQQ0lfREVWSUNFX0lEX05DUl81M0M4
ODUsIDB4ZmYsICI4ODUiLCAgNiwgMTYsIDUsCQkJXA0KKyBGRV9XSURFfEZF
X1VMVFJBfEZFX0RCTFJ8RkVfQ0FDSEUwX1NFVHxGRV9CT0Z8RkVfREZTfEZF
X0xEU1RSfEZFX1BGRU58RkVfUkFNfVwNCiAgLAkJCQkJCQkJCVwNCiAge1BD
SV9ERVZJQ0VfSURfTkNSXzUzQzg5NSwgMHhmZiwgIjg5NSIsICA3LCAzMSwg
NywJCQlcDQogIEZFX1dJREV8RkVfVUxUUkEyfEZFX1FVQUR8RkVfQ0FDSEVf
U0VUfEZFX0JPRnxGRV9ERlN8RkVfTERTVFJ8RkVfUEZFTnxGRV9SQU19XA0K
QEAgLTUxMCw3ICs1NDksOCBAQA0KIAkxLAkJCQkJXA0KIAlTQ1NJX05DUl9T
RVRVUF9TRVRUTEVfVElNRSwJCVwNCiAJU0NTSV9OQ1JfU0VUVVBfRElGRl9T
VVBQT1JULAkJXA0KLQkwCQkJCQlcDQorCTAsCQkJCQlcDQorCTEJCQkJCVwN
CiB9DQogDQogLyoNCkBAIC01MzcsNiArNTc3LDcgQEANCiAJMCwJCQkJCVwN
CiAJMCwJCQkJCVwNCiAJMTAsCQkJCQlcDQorCTEsCQkJCQlcDQogCTEsCQkJ
CQlcDQogCTEJCQkJCVwNCiB9DQotLS0gbGludXgvZHJpdmVycy9zY3NpL25j
cjUzYzh4eC5jLm9yaWcJVGh1IEphbiAgMSAyMDowMDoxMiAxOTk4DQorKysg
bGludXgvZHJpdmVycy9zY3NpL25jcjUzYzh4eC5jCVN1biBKYW4gMTEgMTY6
MDU6NDAgMTk5OA0KQEAgLTY3LDcgKzY3LDcgQEANCiAqLw0KIA0KIC8qDQot
KioJMjAgU2VwdGVtYmVyIDE5OTcsIHZlcnNpb24gMi41Yw0KKyoqCTIgSmFu
dWFyeSAxOTk4LCB2ZXJzaW9uIDIuNWYNCiAqKg0KICoqCVN1cHBvcnRlZCBT
Q1NJLUlJIGZlYXR1cmVzOg0KICoqCSAgICBTeW5jaHJvbm91cyBuZWdvdGlh
dGlvbg0KQEAgLTUwNCw3ICs1MDQsNyBAQA0KIAl1bnNpZ25lZCBtYXN0ZXJf
cGFyaXR5CTogMTsNCiAJdW5zaWduZWQgc2NzaV9wYXJpdHkJOiAxOw0KIAl1
bnNpZ25lZCBkaXNjb25uZWN0aW9uCTogMTsNCi0JdW5zaWduZWQgc3BlY2lh
bF9mZWF0dXJlcyA6IDE7DQorCXVuc2lnbmVkIHNwZWNpYWxfZmVhdHVyZXMg
OiAyOw0KIAl1bnNpZ25lZCB1bHRyYV9zY3NpCTogMjsNCiAJdW5zaWduZWQg
Zm9yY2Vfc3luY19uZWdvOiAxOw0KIAl1bnNpZ25lZCByZXZlcnNlX3Byb2Jl
OiAxOw0KQEAgLTUyMCw2ICs1MjAsNyBAQA0KIAl1X2NoYXIJc2V0dGxlX2Rl
bGF5Ow0KIAl1X2NoYXIJZGlmZl9zdXBwb3J0Ow0KIAl1X2NoYXIJaXJxbTsN
CisJdV9jaGFyCWJ1c19jaGVjazsNCiB9Ow0KIA0KIHN0YXRpYyBzdHJ1Y3Qg
bmNyX2RyaXZlcl9zZXR1cA0KQEAgLTU3OCw3ICs1NzksOCBAQA0KIAl1X3No
b3J0CWZsYWdzMTsNCiAjZGVmaW5lIFNZTUJJT1NfU0NBTl9ISV9MTwkoMSkN
CiAJdV9zaG9ydAl3b3JkMTA7CQkvKiAweDAwICovDQotCXVfc2hvcnQJd29y
ZDEyOwkJLyogMHgwMCAqLw0KKwl1X3Nob3J0CWZsYWdzMzsJCS8qIDB4MDAg
Ki8NCisjZGVmaW5lIFNZTUJJT1NfUkVNT1ZBQkxFX0ZMQUdTCSgzKQkJLyog
MD1ub25lLCAxPWJvb3RhYmxlLCAyPWFsbCAqLw0KIAl1X2NoYXIJaG9zdF9p
ZDsNCiAJdV9jaGFyCWJ5dGUxNTsJCS8qIDB4MDQgKi8NCiAJdV9zaG9ydAl3
b3JkMTY7CQkvKiAweDA0MTAgKi8NCkBAIC02OTMsNyArNjk1LDcgQEANCiAJ
bmNyX3Nsb3QgIHNsb3Q7DQogCW5jcl9jaGlwICBjaGlwOw0KIAluY3JfbnZy
YW0gKm52cmFtOw0KLQlpbnQgYXR0YWNoZWQ7DQorCWludCBhdHRhY2hfZG9u
ZTsNCiB9IG5jcl9kZXZpY2U7DQogDQogLyo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAt
MTg4Myw3ICsxODg1LDcgQEANCiAJbmNyY21kCXByZXBhcmUyCVsgMjRdOw0K
IAluY3JjbWQJc2V0bXNnCQlbICA1XTsNCiAJbmNyY21kICBjbHJhY2sJCVsg
IDJdOw0KLQluY3JjbWQgIGRpc3BhdGNoCVsgMzNdOw0KKwluY3JjbWQgIGRp
c3BhdGNoCVsgMzhdOw0KIAluY3JjbWQJbm9fZGF0YQkJWyAxN107DQogCW5j
cmNtZCAgY2hlY2thdG4JWyAxMF07DQogCW5jcmNtZCAgY29tbWFuZAkJWyAx
NV07DQpAQCAtMTk4NSw2ICsxOTg3LDcgQEANCiBzdGF0aWMJdm9pZAluY3Jf
dGltZW91dAkobmNiX3AgbnApOw0KIHN0YXRpYyAgdm9pZCAgICBuY3Jfd2Fr
ZXVwICAgICAgKG5jYl9wIG5wLCB1X2xvbmcgY29kZSk7DQogc3RhdGljCXZv
aWQJbmNyX3N0YXJ0X3Jlc2V0CShuY2JfcCBucCwgaW50IHNldHRsZV9kZWxh
eSk7DQorc3RhdGljCWludAluY3JfcmVzZXRfc2NzaV9idXMgKG5jYl9wIG5w
LCBpbnQgZW5hYl9pbnQsIGludCBzZXR0bGVfZGVsYXkpOw0KIA0KICNpZmRl
ZiBTQ1NJX05DUl9VU0VSX0NPTU1BTkRfU1VQUE9SVA0KIHN0YXRpYwl2b2lk
CW5jcl91c2VyY21kCShuY2JfcCBucCk7DQpAQCAtMjM4MCw4ICsyMzgzLDIx
IEBADQogCQkwLA0KIAlTQ1JfUkVUVVJOIF4gSUZUUlVFIChXSEVOIChTQ1Jf
REFUQV9PVVQpKSwNCiAJCTAsDQotCVNDUl9SRVRVUk4gXiBJRlRSVUUgKElG
IChTQ1JfREFUQV9JTikpLA0KKwkvKg0KKwkqKglERUwgMzk3IC0gNTNDODc1
IFJldiAzIC0gUGFydCBOdW1iZXIgNjA5LTAzOTI0MTAgLSBJVEVNIDQuDQor
CSoqCVBvc3NpYmxlIGRhdGEgY29ycnVwdGlvbiBkdXJpbmcgTWVtb3J5IFdy
aXRlIGFuZCBJbnZhbGlkYXRlLg0KKwkqKglUaGlzIHdvcmstYXJvdW5kIHJl
c2V0cyB0aGUgYWRkcmVzc2luZyBsb2dpYyBwcmlvciB0byB0aGUgDQorCSoq
CXN0YXJ0IG9mIHRoZSBmaXJzdCBNT1ZFIG9mIGEgREFUQSBJTiBwaGFzZS4N
CisJKioJKFNlZSBSRUFETUUubmNyNTNjOHh4IGZvciBtb3JlIGluZm9ybWF0
aW9uKQ0KKwkqLw0KKwlTQ1JfSlVNUFIgXiBJRkZBTFNFIChJRiAoU0NSX0RB
VEFfSU4pKSwNCisJCTIwLA0KKwlTQ1JfQ09QWSAoNCksDQorCQlSQUREUiAo
c2NyYXRjaGEpLA0KKwkJUkFERFIgKHNjcmF0Y2hhKSwNCisJU0NSX1JFVFVS
TiwNCiAJCTAsDQorDQogCVNDUl9KVU1QIF4gSUZUUlVFIChJRiAoU0NSX01T
R19PVVQpKSwNCiAJCVBBRERSIChtc2dfb3V0KSwNCiAJU0NSX0pVTVAgXiBJ
RlRSVUUgKElGIChTQ1JfTVNHX0lOKSksDQpAQCAtNDYwMiw3ICs0NjE4LDEx
IEBADQogCSoqCVRoZW4gZW5hYmxlIGRpc2Nvbm5lY3RzLg0KIAkqLw0KIAlz
YXZlX2ZsYWdzKGZsYWdzKTsgY2xpKCk7DQotCW5jcl9zdGFydF9yZXNldChu
cCwgZHJpdmVyX3NldHVwLnNldHRsZV9kZWxheSk7DQorCWlmIChuY3JfcmVz
ZXRfc2NzaV9idXMobnAsIDAsIGRyaXZlcl9zZXR1cC5zZXR0bGVfZGVsYXkp
ICE9IDApIHsNCisJCXByaW50ZigiJXM6IEZBVEFMIEVSUk9SOiBDSEVDSyBT
Q1NJIEJVUyAtIENBQkxFUywgVEVSTUlOQVRJT04sIERFVklDRSBQT1dFUiBl
dGMuIVxuIiwgbmNyX25hbWUobnApKTsNCisJCXJlc3RvcmVfZmxhZ3MoZmxh
Z3MpOw0KKwkJZ290byBhdHRhY2hfZXJyb3I7DQorCX0NCiAJbmNyX2V4Y2Vw
dGlvbiAobnApOw0KIAlyZXN0b3JlX2ZsYWdzKGZsYWdzKTsNCiANCkBAIC00
NjcwLDYgKzQ2OTAsMTYgQEANCiAjZW5kaWYNCiAJCXJlbGVhc2VfcmVnaW9u
KG5wLT5wb3J0LCAxMjgpOw0KIAl9DQorCWlmIChucC0+aXJxKSB7DQorI2lm
ZGVmIERFQlVHX05DUjUzQzhYWA0KKwkJcHJpbnRmKCIlczogZnJlZWluZyBp
cnEgJWRcbiIsIG5jcl9uYW1lKG5wKSwgbnAtPmlycSk7DQorI2VuZGlmDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBMaW51eFZlcnNpb25Db2RlKDEs
Myw3MCkNCisJCWZyZWVfaXJxKG5wLT5pcnEsIG5wKTsNCisjZWxzZQ0KKwkJ
ZnJlZV9pcnEobnAtPmlycSk7DQorI2VuZGlmDQorCX0NCiAJc2NzaV91bnJl
Z2lzdGVyKGluc3RhbmNlKTsNCiANCiAgICAgICAgIHJldHVybiAtMTsNCkBA
IC01MTkxLDIxICs1MjIxLDY0IEBADQogCXNhdmVfZmxhZ3MoZmxhZ3MpOyBj
bGkoKTsNCiANCiAJaWYgKCFucC0+c2V0dGxlX3RpbWUpIHsNCi0JCWlmIChi
b290dmVyYm9zZSA+IDEpDQotCQkJcHJpbnRmKCIlczogcmVzZXR0aW5nLCBj
b21tYW5kIHByb2Nlc3Npbmcgc3VzcGVuZGVkIGZvciAlZCBzZWNvbmRzXG4i
LA0KLQkJCQluY3JfbmFtZShucCksIHNldHRsZV9kZWxheSk7DQotCQlucC0+
c2V0dGxlX3RpbWUJPSBqaWZmaWVzICsgc2V0dGxlX2RlbGF5ICogSFo7DQot
CQlPVVRCIChuY19pc3RhdCwgU1JTVCk7DQotCQlERUxBWSAoMTAwMCk7DQot
CQlPVVRCIChuY19pc3RhdCwgMCk7DQotCQlPVVRXIChuY19zaWVuLCBSU1Qp
Ow0KLQkJT1VUQiAobmNfc2NudGwxLCBDUlNUKTsNCi0JCURFTEFZICgxMDAp
Ow0KKwkJKHZvaWQpIG5jcl9yZXNldF9zY3NpX2J1cyhucCwgMSwgc2V0dGxl
X2RlbGF5KTsNCiAJfQ0KLQ0KIAlyZXN0b3JlX2ZsYWdzKGZsYWdzKTsNCiB9
DQogDQorc3RhdGljIGludCBuY3JfcmVzZXRfc2NzaV9idXMobmNiX3AgbnAs
IGludCBlbmFiX2ludCwgaW50IHNldHRsZV9kZWxheSkNCit7DQorCXVfaW50
MzIgdGVybTsNCisJaW50IHJldHYgPSAwOw0KKw0KKwlucC0+c2V0dGxlX3Rp
bWUJPSBqaWZmaWVzICsgc2V0dGxlX2RlbGF5ICogSFo7DQorDQorCWlmIChi
b290dmVyYm9zZSA+IDEpDQorCQlwcmludGYoIiVzOiByZXNldHRpbmcsICIN
CisJCQkiY29tbWFuZCBwcm9jZXNzaW5nIHN1c3BlbmRlZCBmb3IgJWQgc2Vj
b25kc1xuIiwNCisJCQluY3JfbmFtZShucCksIHNldHRsZV9kZWxheSk7DQor
DQorCU9VVEIgKG5jX2lzdGF0LCBTUlNUKTsNCisJREVMQVkgKDEwMDApOw0K
KwlPVVRCIChuY19pc3RhdCwgMCk7DQorCWlmIChlbmFiX2ludCkNCisJCU9V
VFcgKG5jX3NpZW4sIFJTVCk7DQorCU9VVEIgKG5jX3NjbnRsMSwgQ1JTVCk7
DQorCURFTEFZICgxMDApOw0KKw0KKwlpZiAoIWRyaXZlcl9zZXR1cC5idXNf
Y2hlY2spDQorCQlnb3RvIG91dDsNCisJLyoNCisJKioJQ2hlY2sgZm9yIG5v
IHRlcm1pbmF0b3JzIG9yIFNDU0kgYnVzIHNob3J0cyB0byBncm91bmQuDQor
CSoqCVJlYWQgU0NTSSBkYXRhIGJ1cywgZGF0YSBwYXJpdHkgYml0cyBhbmQg
Y29udHJvbCBzaWduYWxzLg0KKwkqKglXZSBhcmUgZXhwZWN0aW5nIFJFU0VU
IHRvIGJlIFRSVUUgYW5kIG90aGVyIHNpZ25hbHMgdG8gYmUgDQorCSoqCUZB
TFNFLg0KKwkqLw0KKwl0ZXJtID0JSU5CKG5jX3NzdGF0MCk7CQkJCS8qIHJz
dCwgc2RwMCAqLw0KKwl0ZXJtID0JKCh0ZXJtICYgMikgPDwgNykgKyAoKHRl
cm0gJiAxKSA8PCAxNik7DQorCXRlcm0gfD0gKChJTkIobmNfc3N0YXQyKSAm
IDB4MDEpIDw8IDI1KSB8CS8qIHNkcDEgKi8NCisJCShJTlcobmNfc2JkbCkg
PDwgOSkgfAkJCS8qIGQxNS0wICovDQorCQlJTkIobmNfc2JjbCk7CS8qIHJl
cSwgYWNrLCBic3ksIHNlbCwgYXRuLCBtc2csIGNkLCBpbyAqLw0KKw0KKwlp
ZiAoIShucC0+ZmVhdHVyZXMgJiBGRV9XSURFKSkNCisJCXRlcm0gJj0gMHgz
ZmZmZjsNCisNCisJaWYgKHRlcm0gIT0gKDI8PDcpKSB7DQorCQlwcmludGYo
IiVzOiBzdXNwaWNpb3VzIFNDU0kgZGF0YSB3aGlsZSByZXNldHRpbmcgdGhl
IEJVUy5cbiIsDQorCQkJbmNyX25hbWUobnApKTsNCisJCXByaW50ZigiJXM6
ICVzZHAwLGQ3LTAscnN0LHJlcSxhY2ssYnN5LHNlbCxhdG4sbXNnLGMvZCxp
L28gPSAiDQorCQkJIjB4JWx4LCBleHBlY3RpbmcgMHglbHhcbiIsDQorCQkJ
bmNyX25hbWUobnApLA0KKwkJCShucC0+ZmVhdHVyZXMgJiBGRV9XSURFKSA/
ICJkcDEsZDE1LTgsIiA6ICIiLA0KKwkJCSh1X2xvbmcpdGVybSwgKHVfbG9u
ZykoMjw8NykpOw0KKwkJaWYgKGRyaXZlcl9zZXR1cC5idXNfY2hlY2sgPT0g
MSkNCisJCQlyZXR2ID0gMTsNCisJfQ0KK291dDoNCisJT1VUQiAobmNfc2Nu
dGwxLCAwKTsNCisJcmV0dXJuIHJldHY7DQorfQ0KKw0KIC8qPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KICoqDQogKioNCkBAIC01NjE4LDEwICs1NjkxLDEyIEBADQogCSoq
CUNoZWNrIHRoZSBzdGF0dXMuDQogCSovDQogCWlmICggICAoY3AtPmhvc3Rf
c3RhdHVzID09IEhTX0NPTVBMRVRFKQ0KLQkJJiYgKGNwLT5zY3NpX3N0YXR1
cyA9PSBTX0dPT0QpKSB7DQotDQorCQkmJiAoY3AtPnNjc2lfc3RhdHVzID09
IFNfR09PRCB8fA0KKwkJICAgIGNwLT5zY3NpX3N0YXR1cyA9PSBTX0NPTkRf
TUVUKSkgew0KIAkJLyoNCi0JCSoqCUFsbCB3ZW50IHdlbGwuDQorCQkqKglB
bGwgd2VudCB3ZWxsIChHT09EIHN0YXR1cykuDQorCQkqKglDT05ESVRJT04g
TUVUIHN0YXR1cyBpcyByZXR1cm5lZCBvbiANCisJCSoqCWBQcmUtRmV0Y2gn
IG9yIGBTZWFyY2ggZGF0YScgc3VjY2Vzcy4NCiAJCSovDQogCQljbWQtPnJl
c3VsdCA9IFNjc2lSZXN1bHQoRElEX09LLCBjcC0+c2NzaV9zdGF0dXMpOw0K
IA0KQEAgLTU3MTYsNyArNTc5MSw4IEBADQogCQl9DQogDQogCX0gZWxzZSBp
ZiAoKGNwLT5ob3N0X3N0YXR1cyA9PSBIU19DT01QTEVURSkNCi0JCSYmIChj
cC0+c2NzaV9zdGF0dXMgPT0gU19CVVNZKSkgew0KKwkJJiYgKGNwLT5zY3Np
X3N0YXR1cyA9PSBTX0JVU1kgfHwNCisJCSAgICBjcC0+c2NzaV9zdGF0dXMg
PT0gU19DT05GTElDVCkpIHsNCiANCiAJCS8qDQogCQkqKiAgIFRhcmdldCBp
cyBidXN5Lg0KQEAgLTYyNTAsNyArNjMyNiw3IEBADQogCQlpZgkodHAtPnBl
cmlvZCA8IDUwMCkJc2NzaSA9ICJGQVNULTQwIjsNCiAJCWVsc2UgaWYJKHRw
LT5wZXJpb2QgPCAxMDAwKQlzY3NpID0gIkZBU1QtMjAiOw0KIAkJZWxzZSBp
ZgkodHAtPnBlcmlvZCA8IDIwMDApCXNjc2kgPSAiRkFTVC0xMCI7DQotCQll
bHNlCQkJCXNjc2kgPSAiU0xPVyI7DQorCQllbHNlCQkJCXNjc2kgPSAiRkFT
VC01IjsNCiANCiAJCXByaW50ZiAoIiVzICVzU0NTSSAlZC4lZCBNQi9zICgl
ZCBucywgb2Zmc2V0ICVkKVxuIiwgc2NzaSwNCiAJCQl0cC0+d2lkZWRvbmUg
PiAxID8gIldJREUgIiA6ICIiLA0KQEAgLTY5MjksOSArNzAwNSwxNiBAQA0K
IAkJCW5jcl9pbnRfc2lyIChucCk7DQogCQkJcmV0dXJuOw0KIAkJfQ0KLQkJ
aWYgKCEoc2lzdCAmIChTQk1DfFBBUikpICYmICEoZHN0YXQgJiBTU0kpKQ0K
LQkJCXByaW50ZigiJXM6IHVua25vd24gaW50ZXJydXB0KHMpIGlnbm9yZWQg
c2lzdD0leCBkc3RhdD0leFxuIiwNCi0JCQkJbmNyX25hbWUobnApLCBzaXN0
LCBkc3RhdCk7DQorCQkvKg0KKwkJKiogIERFTCAzOTcgLSA1M0M4NzUgUmV2
IDMgLSBQYXJ0IE51bWJlciA2MDktMDM5MjQxMCAtIElURU0gMi4NCisJCSov
DQorCQlpZiAoIShzaXN0ICYgKFNCTUN8UEFSKSkgJiYgIShkc3RhdCAmIFNT
SSkpIHsNCisJCQlwcmludGYoCSIlczogdW5rbm93biBpbnRlcnJ1cHQocykg
aWdub3JlZCwgIg0KKwkJCQkiSVNUQVQ9JXggRFNUQVQ9JXggU0lTVD0leFxu
IiwNCisJCQkJbmNyX25hbWUobnApLCBpc3RhdCwgZHN0YXQsIHNpc3QpOw0K
KwkJCXJldHVybjsNCisJCX0NCisNCiAJCU9VVE9OQiAobmNfZGNudGwsIChT
VER8Tk9DT00pKTsNCiAJCXJldHVybjsNCiAJfTsNCkBAIC02OTU4LDYgKzcw
NDEsMTEgQEANCiANCiAJaWYgKChzaXN0ICYgU1RPKSAmJg0KIAkJIShkc3Rh
dCAmIChNRFBFfEJGfEFCUlQpKSkgew0KKwkvKg0KKwkqKglERUwgMzk3IC0g
NTNDODc1IFJldiAzIC0gUGFydCBOdW1iZXIgNjA5LTAzOTI0MTAgLSBJVEVN
IDEuDQorCSovDQorCQlPVVRPTkIgKG5jX2N0ZXN0MywgQ0xGKTsNCisNCiAJ
CW5jcl9pbnRfc3RvIChucCk7DQogCQlyZXR1cm47DQogCX07DQpAQCAtODkx
NSw2ICs5MDAzLDggQEANCiAJCQlkcml2ZXJfc2V0dXAuaXJxbQk9IHZhbDsN
CiAJCWVsc2UgaWYJKCFzdHJuY21wKGN1ciwgInBjaWZpeDoiLCA3KSkNCiAJ
CQlkcml2ZXJfc2V0dXAucGNpX2ZpeF91cAk9IHZhbDsNCisJCWVsc2UgaWYJ
KCFzdHJuY21wKGN1ciwgImJ1c2NoazoiLCA3KSkNCisJCQlkcml2ZXJfc2V0
dXAuYnVzX2NoZWNrCT0gdmFsOw0KICNpZmRlZiBTQ1NJX05DUl9OVlJBTV9T
VVBQT1JUDQogCQllbHNlIGlmCSghc3RybmNtcChjdXIsICJudnJhbToiLCA2
KSkNCiAJCQlkcml2ZXJfc2V0dXAudXNlX252cmFtCT0gdmFsOw0KQEAgLTg5
NTgsOSArOTA0OCw5IEBADQogKQ0KIHsNCiAjZGVmaW5lIFllc05vKHkpCXkg
PyAneScgOiAnbicNCi0JcHJpbnRrKCJuY3I1M2M4eHg6IHNldHVwPWRpc2M6
JWMsc3BlY2Y6JWMsdWx0cmE6JWMsdGFnczolZCxzeW5jOiVkLGJ1cnN0OiVk
LHdpZGU6JWMsZGlmZjolZFxuIiwNCisJcHJpbnRrKCJuY3I1M2M4eHg6IHNl
dHVwPWRpc2M6JWMsc3BlY2Y6JWQsdWx0cmE6JWMsdGFnczolZCxzeW5jOiVk
LGJ1cnN0OiVkLHdpZGU6JWMsZGlmZjolZFxuIiwNCiAJCQlZZXNObyhkcml2
ZXJfc2V0dXAuZGlzY29ubmVjdGlvbiksDQotCQkJWWVzTm8oZHJpdmVyX3Nl
dHVwLnNwZWNpYWxfZmVhdHVyZXMpLA0KKwkJCWRyaXZlcl9zZXR1cC5zcGVj
aWFsX2ZlYXR1cmVzLA0KIAkJCVllc05vKGRyaXZlcl9zZXR1cC51bHRyYV9z
Y3NpKSwNCiAJCQlkcml2ZXJfc2V0dXAuZGVmYXVsdF90YWdzLA0KIAkJCWRy
aXZlcl9zZXR1cC5kZWZhdWx0X3N5bmMsDQpAQCAtOTA1OSwxMCArOTE0OSwx
MCBAQA0KIAkJCSAgICBoLT5kZXZpY2VfaWQgPT0gZGV2cC0+Y2hpcC5kZXZp
Y2VfaWQpDQogCQkJCWJyZWFrOw0KIAkJfQ0KLQkJaWYgKGogPCBjb3VudCAm
JiAhZGV2cC0+YXR0YWNoZWQgJiYNCi0JCSAgICAhbmNyX2F0dGFjaCAodHBu
dCwgYXR0YWNoX2NvdW50LCBkZXZwKSkgew0KLQkJCWF0dGFjaF9jb3VudCsr
Ow0KLQkJCWRldnAtPmF0dGFjaGVkID0gMTsNCisJCWlmIChqIDwgY291bnQg
JiYgIWRldnAtPmF0dGFjaF9kb25lKSB7DQorCQkJaWYgKCFuY3JfYXR0YWNo
ICh0cG50LCBhdHRhY2hfY291bnQsIGRldnApKQ0KKwkJCQlhdHRhY2hfY291
bnQrKzsNCisJCQlkZXZwLT5hdHRhY2hfZG9uZSA9IDE7DQogCQl9DQogCX0N
CiANCkBAIC05MTcxLDggKzkyNjEsNiBAQA0KICNlbmRpZg0KIAkJCXByaW50
ZihLRVJOX0lORk8gIm5jcjUzYzh4eDogNTNjJXMgZGV0ZWN0ZWQgJXNcbiIs
DQogCQkJCWRldmljZVtjb3VudF0uY2hpcC5uYW1lLCBtc2cpOw0KLQ0KLQkJ
CWRldmljZVtjb3VudF0uYXR0YWNoZWQgPSAwOw0KIAkJCSsrY291bnQ7DQog
CQl9DQogCX0NCkBAIC05MTg1LDkgKzkyNzMsOSBAQA0KIAkqKiBzbyB0cnkg
dG8gYXR0YWNoIHRoZW0gaGVyZS4NCiAJKi8NCiAJZm9yIChpPSAwOyBpIDwg
Y291bnQ7IGkrKykgew0KLQkJaWYgKCghZGV2aWNlW2ldLmF0dGFjaGVkKSAm
JiAoIW5jcl9hdHRhY2ggKHRwbnQsIGF0dGFjaF9jb3VudCwgJmRldmljZVtp
XSkpKSB7DQorCQlpZiAoIWRldmljZVtpXS5hdHRhY2hfZG9uZSAmJiANCisJ
CSAgICAhbmNyX2F0dGFjaCAodHBudCwgYXR0YWNoX2NvdW50LCAmZGV2aWNl
W2ldKSkgew0KICAJCQlhdHRhY2hfY291bnQrKzsNCi0JCQlkZXZpY2VbaV0u
YXR0YWNoZWQgPSAxOw0KIAkJfQ0KIAl9DQogDQpAQCAtOTI4MSwxMCArOTM2
OSwxMCBAQA0KIAkJY29tbWFuZCB8PSBQQ0lfQ09NTUFORF9NQVNURVJ8UENJ
X0NPTU1BTkRfSU98UENJX0NPTU1BTkRfTUVNT1JZOw0KIAkJcGNpYmlvc193
cml0ZV9jb25maWdfd29yZChidXMsIGRldmljZV9mbiwgUENJX0NPTU1BTkQs
IGNvbW1hbmQpOw0KIAl9DQotICAgICAgIGlmIChpb19wb3J0ID49IDB4MTAw
MDAwMDApIHsNCisJaWYgKGlvX3BvcnQgPj0gMHgxMDAwMDAwMCkgew0KIAkJ
aW9fcG9ydCA9IChpb19wb3J0ICYgMHgwMEZGRkZGRikgfCAweDAxMDAwMDAw
Ow0KIAkJcGNpYmlvc193cml0ZV9jb25maWdfZHdvcmQoYnVzLCBkZXZpY2Vf
Zm4sIFBDSV9CQVNFX0FERFJFU1NfMCwgaW9fcG9ydCk7DQotICAgICAgIH0N
CisJfQ0KIAlpZiAoYmFzZSA+PSAweDEwMDAwMDAwKSB7DQogCQliYXNlID0g
KGJhc2UgJiAweDAwRkZGRkZGKSB8IDB4MDEwMDAwMDA7DQogCQlwY2liaW9z
X3dyaXRlX2NvbmZpZ19kd29yZChidXMsIGRldmljZV9mbiwgUENJX0JBU0Vf
QUREUkVTU18xLCBiYXNlKTsNCkBAIC05MzM5LDggKzk0MjcsMTIgQEANCiAJ
LyoNCiAJICogRml4IHNvbWUgZmVhdHVyZXMgYWNjb3JkaW5nIHRvIGRyaXZl
ciBzZXR1cC4NCiAJICovDQotCWlmICghZHJpdmVyX3NldHVwLnNwZWNpYWxf
ZmVhdHVyZXMpDQorCWlmICghKGRyaXZlcl9zZXR1cC5zcGVjaWFsX2ZlYXR1
cmVzICYgMSkpDQogCQljaGlwLT5mZWF0dXJlcyAmPSB+RkVfU1BFQ0lBTF9T
RVQ7DQorCWVsc2Ugew0KKwkJaWYgKGRyaXZlcl9zZXR1cC5zcGVjaWFsX2Zl
YXR1cmVzICYgMikNCisJCQljaGlwLT5mZWF0dXJlcyAmPSB+RkVfV1JJRTsN
CisJfQ0KIAlpZiAoZHJpdmVyX3NldHVwLnVsdHJhX3Njc2kgPCAyICYmIChj
aGlwLT5mZWF0dXJlcyAmIEZFX1VMVFJBMikpIHsNCiAJCWNoaXAtPmZlYXR1
cmVzIHw9ICBGRV9VTFRSQTsNCiAJCWNoaXAtPmZlYXR1cmVzICY9IH5GRV9V
TFRSQTI7DQpAQCAtOTM1OSw3ICs5NDUxLDEyIEBADQogI2lmIGRlZmluZWQo
X19pMzg2KSAmJiAhZGVmaW5lZChNT0RVTEUpDQogCWlmICgoZHJpdmVyX3Nl
dHVwLnBjaV9maXhfdXAgJiAxKSAmJg0KIAkgICAgKGNoaXAtPmZlYXR1cmVz
ICYgRkVfQ0xTRSkgJiYgY2FjaGVfbGluZV9zaXplID09IDApIHsNCi0JICAg
IAlzd2l0Y2goYm9vdF9jcHVfZGF0YS54ODYpIHsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgTGludXhWZXJzaW9uQ29kZSgyLDEsNzUpDQorCQlleHRl
cm4gY2hhciB4ODY7DQorCQlzd2l0Y2goeDg2KSB7DQorI2Vsc2UNCisJCXN3
aXRjaChib290X2NwdV9kYXRhLng4Nikgew0KKyNlbmRpZg0KIAkJY2FzZSA0
OgljYWNoZV9saW5lX3NpemUgPSA0OyBicmVhazsNCiAJCWNhc2UgNToJY2Fj
aGVfbGluZV9zaXplID0gODsgYnJlYWs7DQogCQl9DQpAQCAtOTQ0Niw3ICs5
NTQzLDcgQEANCiAJZGV2aWNlLT5zbG90LmJhc2VfMgk9IGJhc2VfMjsNCiAJ
ZGV2aWNlLT5zbG90LmlvX3BvcnQJPSBpb19wb3J0Ow0KIAlkZXZpY2UtPnNs
b3QuaXJxCT0gaXJxOw0KLQlkZXZpY2UtPmF0dGFjaGVkCT0gMDsNCisJZGV2
aWNlLT5hdHRhY2hfZG9uZQk9IDA7DQogI2lmZGVmIFNDU0lfTkNSX05WUkFN
X1NVUFBPUlQNCiAJaWYgKCFudnJhbSkNCiAJCWdvdG8gb3V0Ow0K
--8323328-622992876-884539701=:562--