HD44780 PiFace Control and Display patch
Thomas Preston <[email protected]> Fri, 29 Nov 2013 12:39:49 +0000
| Newsgroups | gmane.comp.sysutils.lcdproc |
|---|---|
| Message-ID | <CAEQnaUqwZPAaFVGJaP5kF=7dfAQBxXY0iUV0MJ2doN9KyzwUDw@mail.gmail.com> |
--047d7b2e4c027973d404ec5021d0 Content-Type: text/plain; charset=UTF-8 I've created a driver for PiFace Control and Display. http://www.piface.org.uk/products/piface_control_and_display/ Can this be merged? I've attached the patch. --047d7b2e4c027973d404ec5021d0 Content-Type: text/x-patch; charset=US-ASCII; name="hd44780-pifacecad.patch" Content-Disposition: attachment; filename="hd44780-pifacecad.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_holf4ef20 ZGlmZiAtdXJOIC1YIC9ob21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL2RpZmZfaWdu b3JlIC9ob21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL2FjaW5jbHVkZS5tNCBsY2Rw cm9jL2xjZHByb2MvYWNpbmNsdWRlLm00Ci0tLSAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2Mv bGNkcHJvYy9hY2luY2x1ZGUubTQJMjAxMy0wNS0wOCAyMDoxOTo1Ni4wMDAwMDAwMDAgKzAxMDAK KysrIGxjZHByb2MvbGNkcHJvYy9hY2luY2x1ZGUubTQJMjAxMy0xMS0yOCAxMDozNjozNS4zMTU4 NDY5ODEgKzAwMDAKQEAgLTI0MSw2ICsyNDEsMTIgQEAKIAkJCQlBQ19ERUZJTkUoW1dJVEhfUkFT UEJFUlJZUEldLFsxXSxbRGVmaW5lIGlmIHlvdSBhcmUgdXNpbmcgYSBSYXNwYmVycnkgUGkuXSkK IAkJCQk7OwogCQkJZXNhYworZG5sCQkJV2hpbGUgUGlGYWNlIENvbnRyb2wgYW5kIERpc3BsYXkg aXMgb25seSBpbnRlbmRlZCBmb3IgdGhlCitkbmwJCQlSYXNwYmVycnkgUGksIHRoZSBoZDQ0NzAt cGlmYWNlY2FkIGRyaXZlciB3b3JrcyB0aHJvdWdoIFNQSS4KK2RubAkJCVRoZXJlZm9yZSBhbnkg U1BJIGNvbm5lY3Rpb24gd2lsbCBkby4KKwkJCWlmIHRlc3QgIiR4X2FjX2hhdmVfc3BpIiA9IHll czsgdGhlbgorCQkJCUhENDQ3ODBfRFJJVkVSUz0iJEhENDQ3ODBfRFJJVkVSUyBoZDQ0NzgwLWhk NDQ3ODAtcGlmYWNlY2FkLm8iCisJCQlmaQogCQkJRFJJVkVSUz0iJERSSVZFUlMgaGQ0NDc4MCR7 U099IgogCQkJYWN0ZHJpdmVycz1bIiRhY3Rkcml2ZXJzIGhkNDQ3ODAiXQogCQkJOzsKZGlmZiAt dXJOIC1YIC9ob21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL2RpZmZfaWdub3JlIC9o b21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL2NvbmZpZ3VyZS5hYyBsY2Rwcm9jL2xj ZHByb2MvY29uZmlndXJlLmFjCi0tLSAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJv Yy9jb25maWd1cmUuYWMJMjAxMy0wNS0wNCAxNTozMToxNC4wMDAwMDAwMDAgKzAxMDAKKysrIGxj ZHByb2MvbGNkcHJvYy9jb25maWd1cmUuYWMJMjAxMy0xMS0yOCAxNDoyOTo1Ni4yMzU0ODU4MzIg KzAwMDAKQEAgLTE2Nyw2ICsxNjcsMTIgQEAKIAlBQ19ERUZJTkUoSEFWRV9JMkMsWzFdLFtEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgaTJjIGhlYWRlcnNdKQogZmkKIAoreF9hY19oYXZlX3Nw aT1ubworQUNfQ0hFQ0tfSEVBREVSUyhbbGludXgvc3BpL3NwaWRldi5oXSwgW3hfYWNfaGF2ZV9z cGk9eWVzXSkKK2lmIHRlc3QgIiR4X2FjX2hhdmVfc3BpIiA9IHllczsgdGhlbgorCUFDX0RFRklO RShIQVZFX1NQSSxbMV0sW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzcGkgaGVhZGVyc10p CitmaQorCiBkbmwgQ2hlY2tzIGZvciBoZWFkZXIgZmlsZXMuCiBBQ19IRUFERVJfRElSRU5UCiBB Q19IRUFERVJfU1REQwpkaWZmIC11ck4gLVggL2hvbWUvdG9tL0Rvd25sb2Fkcy9sY2Rwcm9jL2xj ZHByb2MvZGlmZl9pZ25vcmUgL2hvbWUvdG9tL0Rvd25sb2Fkcy9sY2Rwcm9jL2xjZHByb2MvZG9j cy9MQ0RkLjguaW4gbGNkcHJvYy9sY2Rwcm9jL2RvY3MvTENEZC44LmluCi0tLSAvaG9tZS90b20v RG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9kb2NzL0xDRGQuOC5pbgkyMDEyLTAyLTE4IDE1OjI0 OjQ1LjAwMDAwMDAwMCArMDAwMAorKysgbGNkcHJvYy9sY2Rwcm9jL2RvY3MvTENEZC44LmluCTIw MTMtMTEtMjkgMTE6MTc6MDAuMTM1NjI1NDgxICswMDAwCkBAIC0yMTAsNiArMjEwLDkgQEAKIC5C IGltb25sY2QKIGlNT04gSVIvTENEIG1vZHVsZXMgaW4gY2FzZXMgYnkgU291bmRncmFwaC9BaGFu aXgvU2lsdmVyc3RvbmUvVW5lZWQvQWNjZW50L0FudGVjCiAuVFAKKy5CIHBpZmFjZWNhZAorUGlG YWNlIENvbnRyb2wgYW5kIERpc3BsYXkgZm9yIHRoZSBSYXNwYmVycnkgUGkgKHdvcmtzIHdpdGgg YW55IFNQSSBjb25uZWN0aW9uKQorLlRQCiAuQiBpcnRyYW5zCiBJUlRyYW5zIElSL1ZGRCBtb2R1 bGVzIGluIGNhc2VzIGJ5IEFoYW5peCAoZS5nLiBNQ0UzMDMpIGFuZCBwb3NzaWJseSBvdGhlcnMK IE1heSByZXF1aXJlIGlyc2VydmVyIChodHRwOi8vd3d3LmlydHJhbnMuZGUvZW4vZG93bmxvYWQv bGludXgucGhwKSB0byBiZSBydW5uaW5nIGZvciBjb25uZWN0aXZpdHkuCmRpZmYgLXVyTiAtWCAv aG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9kaWZmX2lnbm9yZSAvaG9tZS90b20v RG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9kb2NzL2xjZHByb2MtdXNlci9kcml2ZXJzL2hkNDQ3 ODAuZG9jYm9vayBsY2Rwcm9jL2xjZHByb2MvZG9jcy9sY2Rwcm9jLXVzZXIvZHJpdmVycy9oZDQ0 NzgwLmRvY2Jvb2sKLS0tIC9ob21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL2RvY3Mv bGNkcHJvYy11c2VyL2RyaXZlcnMvaGQ0NDc4MC5kb2Nib29rCTIwMTMtMDQtMDcgMTI6NTA6Mjku MDAwMDAwMDAwICswMTAwCisrKyBsY2Rwcm9jL2xjZHByb2MvZG9jcy9sY2Rwcm9jLXVzZXIvZHJp dmVycy9oZDQ0NzgwLmRvY2Jvb2sJMjAxMy0xMS0yOSAxMjoyODo0MC42Njg4MzM0NzkgKzAwMDAK QEAgLTE2OCw2ICsxNjgsMTAgQEAKICAgICAgICAgPGVudHJ5PjxsaXRlcmFsPjxsaW5rIGxpbmtl bmQ9ImhkNDQ3ODAtcmFzcGJlcnJ5cGkiPnJhc3BiZXJyeXBpPC9saW5rPjwvbGl0ZXJhbD48L2Vu dHJ5PgogICAgICAgICA8ZW50cnk+TENEIGNvbm5lY3RlZCB0byB0aGUgR1BJTyBoZWFkZXIgb2Yg YSBSYXNwYmVycnkgUGk8L2VudHJ5PgogICAgICAgPC9yb3c+CisgICAgICA8cm93PgorICAgICAg ICA8ZW50cnk+PGxpdGVyYWw+PGxpbmsgbGlua2VuZD0iaGQ0NDc4MC1waWZhY2VjYWQiPnBpZmFj ZWNhZDwvbGluaz48L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgICAgPGVudHJ5PlBpRmFjZSBDb250 cm9sIGFuZCBEaXNwbGF5IGZvciBSYXNwYmVycnkgUGk8L2VudHJ5PgorICAgICAgPC9yb3c+CiAg ICAgPC90Ym9keT4KICAgPC90Z3JvdXA+CiAgIDwvdGFibGU+CkBAIC0zMDU4LDYgKzMwNjIsMzkg QEAKIF1dPgogPC9zY3JlZW4+CiA8L2V4YW1wbGU+CisKKzwvc2VjdDM+CisKKzxzZWN0MyBpZD0i aGQ0NDc4MC1waWZhY2VjYWQiPgorPHRpdGxlPlBpRmFjZSBDb250cm9sIGFuZCBEaXNwbGF5PC90 aXRsZT4KKworPHBhcmE+CitUaGUgUGlGYWNlIENvbnRyb2wgYW5kIERpc3BsYXkgZm9yIFJhc3Bi ZXJyeSBQaQorKDx1bGluayB1cmw9Imh0dHA6Ly93d3cuYWRhZnJ1aXQuY29tL3Byb2R1Y3RzLzEx MDkiPjwvdWxpbms+KSBjb21iaW5lcyBhCisxNngyIENoYXJhY3RlciBMQ0QgYW5kIG5hdmlnYXRp b24gYnV0dG9ucyB1c2luZyB0aGUgU1BJIGJ1cyAoY2hpcF9zZWxlY3Q9MSkKK29uIHRoZSBSYXNw ZXJyeSBQaS4KKzwvcGFyYT4KKworPGV4YW1wbGUgaWQ9ImhkNDQ3ODAtcGlmYWNlY2FkLWNvbmZp Zy5leGFtcGxlIj4KKzx0aXRsZT5IRDQ0NzgwOiBDb25maWd1cmF0aW9uIGV4YW1wbGUgZm9yIFBp RmFjZSBDb250cm9sIGFuZCBEaXNwbGF5IGNvbm5lY3Rpb24gdHlwZTwvdGl0bGU+Cis8c2NyZWVu PgorPCFbQ0RBVEFbCitbaGQ0NDc4MF0KK0Nvbm5lY3Rpb25UeXBlPXBpZmFjZWNhZAorRGV2aWNl PS9kZXYvc3BpZGV2MC4xCitQb3J0PQorU2l6ZT0xNngyCitCYWNrbGlnaHQ9eWVzCisKK0tleXBh ZD15ZXMKK0tleURpcmVjdF8xPUxlZnQKK0tleURpcmVjdF8yPURvd24KK0tleURpcmVjdF8zPVVw CitLZXlEaXJlY3RfND1SaWdodAorS2V5RGlyZWN0XzU9RW50ZXIKK11dPgorPC9zY3JlZW4+Cis8 L2V4YW1wbGU+CiAKIDwvc2VjdDM+CiAKZGlmZiAtdXJOIC1YIC9ob21lL3RvbS9Eb3dubG9hZHMv bGNkcHJvYy9sY2Rwcm9jL2RpZmZfaWdub3JlIC9ob21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9s Y2Rwcm9jL0xDRGQuY29uZiBsY2Rwcm9jL2xjZHByb2MvTENEZC5jb25mCi0tLSAvaG9tZS90b20v RG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9MQ0RkLmNvbmYJMjAxMy0wNS0wOCAyMDoxOTo1NS4w MDAwMDAwMDAgKzAxMDAKKysrIGxjZHByb2MvbGNkcHJvYy9MQ0RkLmNvbmYJMjAxMy0xMS0yOSAx MjoyNTo0My45MjUwMTIxMjQgKzAwMDAKQEAgLTUwLDcgKzUwLDcgQEAKICMgICBtZG0xNjZhLCBt czY5MzEsIG10Y19zMTYyMDl4LCBNdHhPcmIsIG14NTAwMCwgTm9yaXRha2VWRkQsIHBpY29sY2Qs CiAjICAgcHlyYW1pZCwgc2RlY2xjZCwgc2VkMTMzMCwgc2VkMTUyMCwgc2VyaWFsUE9TLCBzZXJp YWxWRkQsIHNodXR0bGVWRkQsIHNsaSwKICMgICBzdHY1NzMwLCBzdmdhLCB0Njk2MywgdGV4dCwg dHlhbiwgdWxhMjAwLCB2bHN5c19tNDI4LCB4b3NkCi1Ecml2ZXI9Y3Vyc2VzCitEcml2ZXI9aGQ0 NDc4MAogCiAjIFRlbGxzIHRoZSBkcml2ZXIgdG8gYmluZCB0byB0aGUgZ2l2ZW4gaW50ZXJmYWNl LiBbZGVmYXVsdDogMTI3LjAuMC4xXQogQmluZD0xMjcuMC4wLjEKQEAgLTUzMiwxNCArNTMyLDE0 IEBACiBbaGQ0NDc4MF0KIAogIyBTZWxlY3Qgd2hhdCB0eXBlIG9mIGNvbm5lY3Rpb24uIFNlZSBk b2N1bWVudGF0aW9uIGZvciBhdmFpbGFiZSB0eXBlcy4KLUNvbm5lY3Rpb25UeXBlPTRiaXQKK0Nv bm5lY3Rpb25UeXBlPXBpZmFjZWNhZAogCiAjIEkvTyBhZGRyZXNzIG9mIHRoZSBMUFQgcG9ydC4g VXN1YWwgdmFsdWVzIGFyZTogMHgyNzgsIDB4Mzc4IGFuZCAweDNCQy4KICMgRm9yIEkyQyBjb25u ZWN0aW9ucyB0aGlzIHNldHMgdGhlIHNsYXZlIGFkZHJlc3MgKHVzdWFsbHkgMHgyMCkuCi1Qb3J0 PTB4Mzc4CitQb3J0PQogCiAjIERldmljZSBvZiB0aGUgc2VyaWFsIG9yIEkyQyBpbnRlcmZhY2Ug W2RlZmF1bHQ6IC9kZXYvbGNkXQotRGV2aWNlPS9kZXYvdHR5UzAKK0RldmljZT0vZGV2L3NwaWRl djAuMQogCiAjIEJpdHJhdGUgb2YgdGhlIHNlcmlhbCBwb3J0ICgwIGZvciBpbnRlcmZhY2UgZGVm YXVsdCkKIFNwZWVkPTAKQEAgLTU2Miw3ICs1NjIsNyBAQAogI09mZkJyaWdodG5lc3M9MAogCiAj IElmIHlvdSBoYXZlIGEgc3dpdGNoYWJsZSBiYWNrbGlnaHQuCi1CYWNrbGlnaHQ9bm8KK0JhY2ts aWdodD15ZXMKIAogIyBJZiB5b3UgaGF2ZSB0aGUgYWRkaXRpb25hbCBvdXRwdXQgcG9ydCAoImJh cmdyYXBoIikgYW5kIHlvdSB3YW50IHRvCiAjIGJlIGFibGUgdG8gY29udHJvbCBpdCB3aXRoIHRo ZSBsY2Rwcm9jIE9VVFBVVCBjb21tYW5kCkBAIC01NzQsNyArNTc0LDcgQEAKIAogIyBTcGVjaWZp ZXMgdGhlIHNpemUgb2YgdGhlIExDRC4KICMgSW4gY2FzZSBvZiBtdWx0aXBsZSBjb21iaW5lZCBk aXNwbGF5cywgdGhpcyBzaG91bGQgYmUgdGhlIHRvdGFsIHNpemUuCi1TaXplPTIweDQKK1NpemU9 MTZ4MgogCiAjIEZvciBtdWx0aXBsZSBjb21iaW5lZCBkaXNwbGF5czogaG93IG1hbnkgbGluZXMg ZG9lcyBlYWNoIGRpc3BsYXkgaGF2ZS4KICMgVnNwYW49MiwyIG1lYW5zIGJvdGggZGlzcGxheXMg aGF2ZSAyIGxpbmVzLgpAQCAtNjI1LDExICs2MjUsMTEgQEAKICMgICBLZXlEaXJlY3RfND1FbnRl cgogIyBGb3IgbWF0cml4IGtleXMgdXNlIHRoZSBYIGFuZCBZIGNvb3JkaW5hdGVzIG9mIHRoZSBr ZXk6CiAjICAgS2V5TWF0cml4XzFfMz1FbnRlcgotS2V5TWF0cml4XzRfMT1FbnRlcgotS2V5TWF0 cml4XzRfMj1VcAotS2V5TWF0cml4XzRfMz1Eb3duCi1LZXlNYXRyaXhfNF80PUVzY2FwZQotCitL ZXlEaXJlY3RfMT1MZWZ0CitLZXlEaXJlY3RfMj1Eb3duCitLZXlEaXJlY3RfMz1VcAorS2V5RGly ZWN0XzQ9UmlnaHQKK0tleURpcmVjdF81PUVudGVyCiAKIAogIyMgSUNQIEExMDYgZHJpdmVyICMj CmRpZmYgLXVyTiAtWCAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9kaWZmX2ln bm9yZSAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9zZXJ2ZXIvZHJpdmVycy9o ZDQ0NzgwLWRyaXZlcnMuaCBsY2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1k cml2ZXJzLmgKLS0tIC9ob21lL3RvbS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL3NlcnZlci9k cml2ZXJzL2hkNDQ3ODAtZHJpdmVycy5oCTIwMTMtMDQtMDcgMTI6NTA6MjkuMDAwMDAwMDAwICsw MTAwCisrKyBsY2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1kcml2ZXJzLmgJ MjAxMy0xMS0yOCAxNToxMDowOS4xMTM1NTA2MDkgKzAwMDAKQEAgLTQwLDYgKzQwLDkgQEAKICNp ZmRlZiBXSVRIX1JBU1BCRVJSWVBJCiAjIGluY2x1ZGUgImhkNDQ3ODAtcnBpLmgiCiAjZW5kaWYK KyNpZmRlZiBIQVZFX1NQSQorIyBpbmNsdWRlICJoZDQ0NzgwLXBpZmFjZWNhZC5oIgorI2VuZGlm CiAvKiBhZGQgbmV3IGNvbm5lY3Rpb24gdHlwZSBoZWFkZXIgZmlsZXMgdG8gdGhlIGNvcnJlY3Qg c2VjdGlvbiBhYm92ZSBvciBoZXJlICovCiAKIApAQCAtOTAsNiArOTMsOSBAQAogI2lmZGVmIFdJ VEhfUkFTUEJFUlJZUEkKIAl7ICJyYXNwYmVycnlwaSIsICAgSEQ0NDc4MF9DVF9SQVNQQkVSUllQ SSwgICBJRl9UWVBFX1BBUlBPUlQsICBoZF9pbml0X3JwaSAgICAgIH0sCiAjZW5kaWYKKyNpZmRl ZiBIQVZFX1NQSQorCXsgInBpZmFjZWNhZCIsICAgSEQ0NDc4MF9DVF9QSUZBQ0VDQUQsICAgSUZf VFlQRV9QSUZBQ0VDQUQsICBoZF9pbml0X3BpZmFjZWNhZCAgICAgIH0sCisjZW5kaWYKIAkvKiBh ZGQgbmV3IGNvbm5lY3Rpb24gdHlwZXMgaW4gdGhlIGNvcnJlY3Qgc2VjdGlvbiBhYm92ZSBvciBo ZXJlICovCiAKIAkvKiBkZWZhdWx0LCBlbmQgb2Ygc3RydWN0dXJlIGVsZW1lbnQgKGRvIG5vdCBk ZWxldGUpICovCmRpZmYgLXVyTiAtWCAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJv Yy9kaWZmX2lnbm9yZSAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9zZXJ2ZXIv ZHJpdmVycy9oZDQ0NzgwLWxvdy5oIGxjZHByb2MvbGNkcHJvYy9zZXJ2ZXIvZHJpdmVycy9oZDQ0 NzgwLWxvdy5oCi0tLSAvaG9tZS90b20vRG93bmxvYWRzL2xjZHByb2MvbGNkcHJvYy9zZXJ2ZXIv ZHJpdmVycy9oZDQ0NzgwLWxvdy5oCTIwMTMtMDQtMDcgMTI6NTA6MjkuMDAwMDAwMDAwICswMTAw CisrKyBsY2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1sb3cuaAkyMDEzLTEx LTI4IDE1OjE1OjA3Ljc0OTMwNzc1NiArMDAwMApAQCAtNTUsNiArNTUsNyBAQAogI2RlZmluZSBI RDQ0NzgwX0NUX1VTQjRBTEwJCTIxCiAjZGVmaW5lIEhENDQ3ODBfQ1RfUkFTUEJFUlJZUEkJCTIy CiAjZGVmaW5lIEhENDQ3ODBfQ1RfUElQTEFURQkJMjMKKyNkZWZpbmUgSEQ0NDc4MF9DVF9QSUZB Q0VDQUQJCTI0CiAvKipAfSovCiAKIC8qKiBcbmFtZSBTeW1ib2xpYyBuYW1lcyBmb3IgaW50ZXJm YWNlIHR5cGVzCkBAIC02NSw2ICs2Niw3IEBACiAjZGVmaW5lIElGX1RZUEVfVVNCCQkzCiAjZGVm aW5lIElGX1RZUEVfSTJDCQk0CiAjZGVmaW5lIElGX1RZUEVfVENQCQk1CisjZGVmaW5lIElGX1RZ UEVfUElGQUNFQ0FECQk2CiAvKipAfSovCiAKIC8qKiBcbmFtZSBTeW1ib2xpYyBkZWZhdWx0IHZh bHVlcwpkaWZmIC11ck4gLVggL2hvbWUvdG9tL0Rvd25sb2Fkcy9sY2Rwcm9jL2xjZHByb2MvZGlm Zl9pZ25vcmUgL2hvbWUvdG9tL0Rvd25sb2Fkcy9sY2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZl cnMvaGQ0NDc4MC1waWZhY2VjYWQuYyBsY2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZlcnMvaGQ0 NDc4MC1waWZhY2VjYWQuYwotLS0gL2hvbWUvdG9tL0Rvd25sb2Fkcy9sY2Rwcm9jL2xjZHByb2Mv c2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1waWZhY2VjYWQuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAw MDAwMDAwMCArMDEwMAorKysgbGNkcHJvYy9sY2Rwcm9jL3NlcnZlci9kcml2ZXJzL2hkNDQ3ODAt cGlmYWNlY2FkLmMJMjAxMy0xMS0yOSAxMjoyODozMi43OTI4NDAyMDMgKzAwMDAKQEAgLTAsMCAr MSw0MjcgQEAKKy8qKiBcZmlsZSBzZXJ2ZXIvZHJpdmVycy9oZDQ0NzgwLXBpZmFjZWNhZC5jCisg KiBcYyBQaUZhY2UgQ29udHJvbCBhbmQgRGlzcGxheSBjb25uZWN0aW9uIHR5cGUgKFNQSSkgb2Yg XGMgaGQ0NDc4MCBkcml2ZXIgZm9yIEhpdGFjaGkgSEQ0NDc4MCBiYXNlZCBMQ0QgZGlzcGxheXMu CisgKgorICogVGhlIExDRCBpcyBvcGVyYXRlZCBpbiBpdHMgNCBiaXQtbW9kZSB0byBiZSBjb25u ZWN0ZWQgdG8gdGhlIDggYml0IFBvcnQgQgorICogb2YgYSBzaW5nbGUgTUNQMjNTMTcgdGhhdCBp cyBhY2Nlc3NlZCBieSB0aGUgc2VydmVyIHZpYSB0aGUgU1BJIGJ1cy4KKyAqLworCisvKiBDb3B5 cmlnaHQgKGMpIDIwMTMgVGhvbWFzIFByZXN0b24gPHRob21hcy5wcmVzdG9uQG9wZW5seC5vcmcu dWs+CisgKgorICogVGhlIGNvbm5lY3Rpb25zIGFyZSAoTUNQMjNTMTcpOgorICogUG9ydCBBIFBp biAwICAgICBTd2l0Y2ggMAorICogUG9ydCBBIFBpbiAxICAgICBTd2l0Y2ggMQorICogUG9ydCBB IFBpbiAyICAgICBTd2l0Y2ggMgorICogUG9ydCBBIFBpbiAzICAgICBTd2l0Y2ggMworICogUG9y dCBBIFBpbiA0ICAgICBTd2l0Y2ggNAorICogUG9ydCBBIFBpbiA1ICAgICBTd2l0Y2ggNQorICog UG9ydCBBIFBpbiA2ICAgICBTd2l0Y2ggNgorICogUG9ydCBBIFBpbiA2ICAgICBTd2l0Y2ggNwor ICogUG9ydCBCIFBpbiAwICAgICBENAorICogUG9ydCBCIFBpbiAxICAgICBENQorICogUG9ydCBC IFBpbiAyICAgICBENgorICogUG9ydCBCIFBpbiAzICAgICBENworICogUG9ydCBCIFBpbiA0ICAg ICBFTgorICogUG9ydCBCIFBpbiA1ICAgICBSVworICogUG9ydCBCIFBpbiA2ICAgICBSUworICoK KyAqIEJhY2tsaWdodAorICogUG9ydCBCIFBpbiA3ICAgQmFja2xpZ2h0IChvcHRpb25hbCwgYWN0 aXZlLWhpZ2gpCisgKgorICogQ29uZmlndXJhdGlvbjoKKyAqIGRldmljZT0vZGV2L3NwaWRldjAu MSAgICMgdGhlIGRldmljZSBmaWxlIG9mIHRoZSBTUEkgYnVzCisgKiBwb3J0PTB4MTMgICAjIFBv cnQgQiAoR1BJT0IpIG9uIHRoZSBNQ1AyM1MxNworICoKKyAqIEJhc2VkIG1vc3RseSBvbiB0aGUg aGQ0NDc4MC1pMmMgbW9kdWxlLCBzZWUgdGhlcmUgZm9yIGEgY29tcGxldGUgaGlzdG9yeS4KKyAq CisgKiBUaGlzIGZpbGUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlLiBSZWZlciB0byB0aGUKKyAqIENPUFlJTkcgZmlsZSBkaXN0cmlidXRlZCB3aXRoIHRo aXMgcGFja2FnZS4KKyAqLworCisjaW5jbHVkZSAiaGQ0NDc4MC1waWZhY2VjYWQuaCIKKyNpbmNs dWRlICJoZDQ0NzgwLWxvdy5oIgorCisjaW5jbHVkZSAicmVwb3J0LmgiCisjaWZkZWYgSEFWRV9D T05GSUdfSAorIyBpbmNsdWRlICJjb25maWcuaCIKKyNlbmRpZgorI2luY2x1ZGUgPHN0ZGlvLmg+ CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlz dGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorCisjaW5j bHVkZSA8c3RkaW50Lmg+IC8qIEZvciB1aW50OF90ICovCisjaW5jbHVkZSA8bGludXgvc3BpL3Nw aWRldi5oPgorI2luY2x1ZGUgImhkNDQ3ODAuaCIKKworCisvLyBHZW5lcmFsbHksIGFueSBmdW5j dGlvbiB0aGF0IGFjY2Vzc2VzIHRoZSBMQ0QgY29udHJvbCBsaW5lcyBuZWVkcyB0byBiZQorLy8g aW1wbGVtZW50ZWQgc2VwYXJhdGVseSBmb3IgZWFjaCBIVyBkZXNpZ24uIFRoaXMgaXMgdHlwaWNh bGx5IChidXQgbm90CisvLyByZXN0cmljdGVkIHRvKToKKy8vIEhENDQ3ODBfc2VuZGRhdGEKKy8v IEhENDQ3ODBfcmVhZGtleXBhZAorCit2b2lkIHBpZmFjZWNhZF9IRDQ0NzgwX3NlbmRkYXRhKFBy aXZhdGVEYXRhICogcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg Y2hhciBkaXNwbGF5SUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGNoYXIgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo YXIgY2gpOwordm9pZCBwaWZhY2VjYWRfSEQ0NDc4MF9iYWNrbGlnaHQoUHJpdmF0ZURhdGEgKiBw LCB1bnNpZ25lZCBjaGFyIHN0YXRlKTsKK3ZvaWQgcGlmYWNlY2FkX0hENDQ3ODBfY2xvc2UoUHJp dmF0ZURhdGEgKiBwKTsKK3Vuc2lnbmVkIGNoYXIgcGlmYWNlY2FkX0hENDQ3ODBfc2NhbmtleXBh ZChQcml2YXRlRGF0YSAqIHApOworCisvLyBiZWxvdyBiaXRzIGFyZSBtZWFudCBmb3IgdGhlIHVw cGVyIG5pYmJsZSBvZiBQb3J0IEIgb24gdGhlIE1DUDIzUzE3CisjZGVmaW5lIEVOICAgMHgxMAor I2RlZmluZSBSVyAgIDB4MjAKKyNkZWZpbmUgUlMgICAweDQwCisjZGVmaW5lIEJMICAgMHg4MAor CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzcGlfbW9kZSA9IDA7CitzdGF0aWMgY29uc3Qg dW5zaWduZWQgY2hhciBzcGlfYnB3ID0gODsgLyogYml0cyBwZXIgd29yZCAqLworc3RhdGljIGNv bnN0IHVuc2lnbmVkIGxvbmcgc3BpX3NwZWVkID0gMTAwMDAwMDBMOyAvKiAxME1IeiAqLworc3Rh dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc3BpX2RlbGF5ID0gMDsKKworI2RlZmluZSBTUElfSFdf QUREUiAwCisjZGVmaW5lIERFRkFVTFRfREVWSUNFICAgICAgIi9kZXYvc3BpZGV2MC4xIgorCisj ZGVmaW5lIERFTEFZX1BVTFNFX1VTIDEgLy8gMXVzCisjZGVmaW5lIERFTEFZX1NFVFRMRV9VUyA0 MCAvLyA0MHVzCisjZGVmaW5lIERFTEFZX1NFVFVQXzBfVVMgMTUwMDAgLy8gMTVtcworI2RlZmlu ZSBERUxBWV9TRVRVUF8xX1VTIDUwMDAgLy8gNW1zCisjZGVmaW5lIERFTEFZX1NFVFVQXzJfVVMg MTAwMCAvLyAxbXMKKworLy8gTUNQMjNTMTcKKyNkZWZpbmUgV1JJVEVfQ01EIDAKKyNkZWZpbmUg UkVBRF9DTUQgMQorCisvLyBSZWdpc3RlciBhZGRyZXNzZXMKKyNkZWZpbmUgSU9ESVJBIDB4MDAg IC8vIEkvTyBkaXJlY3Rpb24gQQorI2RlZmluZSBJT0RJUkIgMHgwMSAgLy8gSS9PIGRpcmVjdGlv biBCCisjZGVmaW5lIElQT0xBIDB4MDIgIC8vIEkvTyBwb2xhcml0eSBBCisjZGVmaW5lIElQT0xC IDB4MDMgIC8vIEkvTyBwb2xhcml0eSBCCisjZGVmaW5lIEdQSU5URU5BIDB4MDQgIC8vIGludGVy dXB0IGVuYWJsZSBBCisjZGVmaW5lIEdQSU5URU5CIDB4MDUgIC8vIGludGVydXB0IGVuYWJsZSBC CisjZGVmaW5lIERFRlZBTEEgMHgwNiAgLy8gcmVnaXN0ZXIgZGVmYXVsdCB2YWx1ZSBBIChpbnRl cnVwdHMpCisjZGVmaW5lIERFRlZBTEIgMHgwNyAgLy8gcmVnaXN0ZXIgZGVmYXVsdCB2YWx1ZSBC IChpbnRlcnVwdHMpCisjZGVmaW5lIElOVENPTkEgMHgwOCAgLy8gaW50ZXJ1cHQgY29udHJvbCBB CisjZGVmaW5lIElOVENPTkIgMHgwOSAgLy8gaW50ZXJ1cHQgY29udHJvbCBCCisjZGVmaW5lIElP Q09OIDB4MEEgIC8vIEkvTyBjb25maWcgKGFsc28gMHgwQikKKyNkZWZpbmUgR1BQVUEgMHgwQyAg Ly8gcG9ydCBBIHB1bGx1cHMKKyNkZWZpbmUgR1BQVUIgMHgwRCAgLy8gcG9ydCBCIHB1bGx1cHMK KyNkZWZpbmUgSU5URkEgMHgwRSAgLy8gaW50ZXJ1cHQgZmxhZyBBICh3aGVyZSB0aGUgaW50ZXJ1 cHQgY2FtZSBmcm9tKQorI2RlZmluZSBJTlRGQiAweDBGICAvLyBpbnRlcnVwdCBmbGFnIEIKKyNk ZWZpbmUgSU5UQ0FQQSAweDEwICAvLyBpbnRlcnVwdCBjYXB0dXJlIEEgKHZhbHVlIGF0IGludGVy dXB0IGlzIHNhdmVkIGhlcmUpCisjZGVmaW5lIElOVENBUEIgMHgxMSAgLy8gaW50ZXJ1cHQgY2Fw dHVyZSBCCisjZGVmaW5lIEdQSU9BIDB4MTIgIC8vIHBvcnQgQQorI2RlZmluZSBHUElPQiAweDEz ICAvLyBwb3J0IEIKKyNkZWZpbmUgT0xBVEEgMHgxNCAgLy8gb3V0cHV0IGxhdGNoIEEKKyNkZWZp bmUgT0xBVEIgMHgxNSAgLy8gb3V0cHV0IGxhdGNoIEIKKworLy8gSS9PIGNvbmZpZworI2RlZmlu ZSBCQU5LX09GRiAweDAwICAvLyBhZGRyZXNzaW5nIG1vZGUKKyNkZWZpbmUgQkFOS19PTiAweDgw CisjZGVmaW5lIElOVF9NSVJST1JfT04gMHg0MCAgLy8gaW50ZXJ1cHQgbWlycm9yIChJTlRhfElO VGIpCisjZGVmaW5lIElOVF9NSVJST1JfT0ZGIDB4MDAKKyNkZWZpbmUgU0VRT1BfT0ZGIDB4MjAg IC8vIGluY3JlbWVudGluZyBhZGRyZXNzIHBvaW50ZXIKKyNkZWZpbmUgU0VRT1BfT04gMHgwMAor I2RlZmluZSBESVNTTFdfT04gMHgxMCAgLy8gc2xldyByYXRlCisjZGVmaW5lIERJU1NMV19PRkYg MHgwMAorI2RlZmluZSBIQUVOX09OIDB4MDggIC8vIGhhcmR3YXJlIGFkZHJlc3NpbmcKKyNkZWZp bmUgSEFFTl9PRkYgMHgwMAorI2RlZmluZSBPRFJfT04gMHgwNCAgLy8gb3BlbiBkcmFpbiBmb3Ig aW50ZXJ1cHRzCisjZGVmaW5lIE9EUl9PRkYgMHgwMAorI2RlZmluZSBJTlRQT0xfSElHSCAweDAy ICAvLyBpbnRlcnVwdCBwb2xhcml0eQorI2RlZmluZSBJTlRQT0xfTE9XIDB4MDAKKworI2RlZmlu ZSBTV0lUQ0hfUE9SVCAweDEyIC8vIEdQSU9BCisjZGVmaW5lIExDRF9QT1JUIDB4MTMgLy8gR1BJ T0IKKworI2RlZmluZSBTV0lUQ0hfTEVGVCAweDQxIC8vIExlZnQgbmF2ICg2KSBhbmQgYnV0dG9u IDAgKDApIDBiMDEwMDAwMDEKKyNkZWZpbmUgU1dJVENIX0RPV04gMHgwMiAvLyBCdXR0b24gMSAo MSkgMGIwMDAwMDAxMAorI2RlZmluZSBTV0lUQ0hfVVAgMHgwNCAvLyBCdXR0b24gMiAoMikgMGIw MDAwMDEwMAorI2RlZmluZSBTV0lUQ0hfUklHSFQgMHg4OCAvLyBSaWdodCBuYXYgKDcpIGFuZCBi dXR0b24gMyAoMykgMGIxMDAwMTAwMAorI2RlZmluZSBTV0lUQ0hfRU5URVIgMHgyNCAvLyBJbiBu YXYgKDUpIGFuZCBidXR0b24gNCAoNCkgMGIwMDEwMDEwMAorCisvKioKKyAqIFdyaXRlcyB0byBh IHJlZ2lzdGVyIG9uIHRoZSBNQ1AyM1MxNy4KKyAqCisgKiBccGFyYW0gcCAgICAgUG9pbnRlciB0 byBQcml2YXRlRGF0YSBzdHJ1Y3R1cmUuCisgKiBccGFyYW0gcmVnICAgUmVnaXN0ZXIgYWRkcmVz cyB0byB3cml0ZSB0by4KKyAqIFxwYXJhbSBkYXRhICBEYXRhIHRvIHdyaXRlCisgKi8KK3N0YXRp YyB2b2lkCittY3AyM3MxN193cml0ZV9yZWcoUHJpdmF0ZURhdGEgKiBwLCB1bnNpZ25lZCBjaGFy IHJlZywgdW5zaWduZWQgY2hhciBkYXRhKQoreworICAgIHVuc2lnbmVkIGNoYXIgdHhfYnVmWzNd ID0gezB4NDAgfCBTUElfSFdfQUREUiB8IFdSSVRFX0NNRCwgcmVnLCBkYXRhfTsKKyAgICB1bnNp Z25lZCBjaGFyIHJ4X2J1ZltzaXplb2YgdHhfYnVmXTsKKworICAgIHN0cnVjdCBzcGlfaW9jX3Ry YW5zZmVyIHNwaTsKKyAgICBzcGkudHhfYnVmID0gKHVuc2lnbmVkIGxvbmcpIHR4X2J1ZjsKKyAg ICBzcGkucnhfYnVmID0gKHVuc2lnbmVkIGxvbmcpIHJ4X2J1ZjsKKyAgICBzcGkubGVuID0gc2l6 ZW9mIHR4X2J1ZjsKKyAgICBzcGkuZGVsYXlfdXNlY3MgPSBzcGlfZGVsYXk7CisgICAgc3BpLnNw ZWVkX2h6ID0gc3BpX3NwZWVkOworICAgIHNwaS5iaXRzX3Blcl93b3JkID0gc3BpX2JwdzsKKwor ICAgIC8qIGRvIHRoZSBTUEkgdHJhbnNhY3Rpb24gKi8KKyAgICBpZiAoaW9jdGwocC0+ZmQsIFNQ SV9JT0NfTUVTU0FHRSgxKSwgJnNwaSkgPCAxKSB7CisgICAgICAgIHAtPmhkNDQ3ODBfZnVuY3Rp b25zLT5kcnZfcmVwb3J0KAorICAgICAgICAgICAgUlBUX0VSUiwgIkhENDQ3ODA6IFBpRmFjZUNB RDogbWNwMjNzMTdfd3JpdGVfcmVnOiBUaGVyZSB3YXMgIgorICAgICAgICAgICAgICAgICAgICAg ImEgZXJyb3IgZHVyaW5nIHRoZSBTUEkgdHJhbnNhY3Rpb246ICVzIiwKKyAgICAgICAgICAgIHN0 cmVycm9yKGVycm5vKSk7CisgICAgfQorfQorCisvKioKKyAqIFJlYWRzIGZyb20gYSByZWdpc3Rl ciBvbiB0aGUgTUNQMjNTMTcuCisgKgorICogXHBhcmFtIHAgICAgIFBvaW50ZXIgdG8gUHJpdmF0 ZURhdGEgc3RydWN0dXJlLgorICogXHBhcmFtIHJlZyAgIFJlZ2lzdGVyIGFkZHJlc3MgdG8gcmVh ZCBmcm9tLgorICovCitzdGF0aWMgdW5zaWduZWQgY2hhcgorbWNwMjNzMTdfcmVhZF9yZWcoUHJp dmF0ZURhdGEgKiBwLCB1bnNpZ25lZCBjaGFyIHJlZykKK3sKKyAgICB1bnNpZ25lZCBjaGFyIHR4 X2J1ZlszXSA9IHsweDQwIHwgU1BJX0hXX0FERFIgfCBSRUFEX0NNRCwgcmVnLCAwfTsKKyAgICB1 bnNpZ25lZCBjaGFyIHJ4X2J1ZltzaXplb2YgdHhfYnVmXTsKKworICAgIHN0cnVjdCBzcGlfaW9j X3RyYW5zZmVyIHNwaTsKKyAgICBzcGkudHhfYnVmID0gKHVuc2lnbmVkIGxvbmcpIHR4X2J1ZjsK KyAgICBzcGkucnhfYnVmID0gKHVuc2lnbmVkIGxvbmcpIHJ4X2J1ZjsKKyAgICBzcGkubGVuID0g c2l6ZW9mIHR4X2J1ZjsKKyAgICBzcGkuZGVsYXlfdXNlY3MgPSBzcGlfZGVsYXk7CisgICAgc3Bp LnNwZWVkX2h6ID0gc3BpX3NwZWVkOworICAgIHNwaS5iaXRzX3Blcl93b3JkID0gc3BpX2JwdzsK KworICAgIC8qIGRvIHRoZSBTUEkgdHJhbnNhY3Rpb24gKi8KKyAgICBpZiAoaW9jdGwocC0+ZmQs IFNQSV9JT0NfTUVTU0FHRSgxKSwgJnNwaSkgPCAxKSB7CisgICAgICAgIHAtPmhkNDQ3ODBfZnVu Y3Rpb25zLT5kcnZfcmVwb3J0KAorICAgICAgICAgICAgUlBUX0VSUiwgIkhENDQ3ODA6IFBpRmFj ZUNBRDogbWNwMjNzMTdfd3JpdGVfcmVnOiBUaGVyZSB3YXMiCisgICAgICAgICAgICAgICAgICAg ICAiYSBlcnJvciBkdXJpbmcgdGhlIFNQSSB0cmFuc2FjdGlvbjogJXMiLAorICAgICAgICAgICAg c3RyZXJyb3IoZXJybm8pKTsKKyAgICB9CisgICAgcmV0dXJuIHJ4X2J1ZlsyXTsgLyogcmV0dXJu IGRhdGEgKi8KK30KKworLyoqCisgKiBXcml0ZXMgY29udHJvbCBhbmQgZGF0YSB0byBIRDQ0Nzgw IHRocm91Z2ggUG9ydCBCIG9uIE1DUDIzUzE3LgorICoKKyAqIFxwYXJhbSBwICAgICBQb2ludGVy IHRvIHRoZSBQcml2YXRlRGF0YSBzdHJ1Y3R1cmUuCisgKiBccGFyYW0gZGF0YSAgVGhlIGRhdGEg dG8gd3JpdGUuCisgKi8KK3N0YXRpYyB2b2lkCit3cml0ZV9hbmRfcHVsc2UoUHJpdmF0ZURhdGEg KiBwLCB1bnNpZ25lZCBjaGFyIGRhdGEpCit7CisgICAgLyogRW5hYmxlOiBPZmYvT24vT2ZmIC0g RG9lc24ndCBzZWVtIHRvIHdvcmsgYW55IG90aGVyIHdheS4gKi8KKyAgICBtY3AyM3MxN193cml0 ZV9yZWcocCwgTENEX1BPUlQsIGRhdGEpOworICAgIGlmIChwLT5kZWxheUJ1cykKKyAgICAgICAg cC0+aGQ0NDc4MF9mdW5jdGlvbnMtPnVQYXVzZShwLCBERUxBWV9QVUxTRV9VUyk7CisgICAgbWNw MjNzMTdfd3JpdGVfcmVnKHAsIExDRF9QT1JULCBFTiB8IGRhdGEpOworICAgIGlmIChwLT5kZWxh eUJ1cykKKyAgICAgICAgcC0+aGQ0NDc4MF9mdW5jdGlvbnMtPnVQYXVzZShwLCBERUxBWV9QVUxT RV9VUyk7CisgICAgbWNwMjNzMTdfd3JpdGVfcmVnKHAsIExDRF9QT1JULCBkYXRhKTsKKworICAg IHAtPmhkNDQ3ODBfZnVuY3Rpb25zLT51UGF1c2UocCwgREVMQVlfU0VUVExFX1VTKTsKK30KKwor LyoqCisgKiBJbml0aWFsaXNlcyB0aGUgSEQ0NDc4MC4KKyAqCisgKiBccGFyYW0gcCAgICAgUG9p bnRlciB0byB0aGUgUHJpdmF0ZURhdGEgc3RydWN0dXJlLgorICovCitzdGF0aWMgdm9pZAoraW5p dF9sY2QoUHJpdmF0ZURhdGEgKiBwKQoreworICAgIHAtPmhkNDQ3ODBfZnVuY3Rpb25zLT51UGF1 c2UocCwgREVMQVlfU0VUVVBfMF9VUyk7CisgICAgd3JpdGVfYW5kX3B1bHNlKHAsIDB4Myk7CisK KyAgICBwLT5oZDQ0NzgwX2Z1bmN0aW9ucy0+dVBhdXNlKHAsIERFTEFZX1NFVFVQXzFfVVMpOwor ICAgIHdyaXRlX2FuZF9wdWxzZShwLCAweDMpOworCisgICAgcC0+aGQ0NDc4MF9mdW5jdGlvbnMt PnVQYXVzZShwLCBERUxBWV9TRVRVUF8yX1VTKTsKKyAgICB3cml0ZV9hbmRfcHVsc2UocCwgMHgz KTsKKworICAgIHdyaXRlX2FuZF9wdWxzZShwLCAweDIpOworCisgICAgcGlmYWNlY2FkX0hENDQ3 ODBfc2VuZGRhdGEocCwgMCwgUlNfSU5TVFIsCisgICAgICAgIEZVTkNTRVQgfCBJRl80QklUIHwg VFdPTElORSB8IFNNQUxMQ0hBUik7CisKKyAgICBwaWZhY2VjYWRfSEQ0NDc4MF9zZW5kZGF0YShw LCAwLCBSU19JTlNUUiwKKyAgICAgICAgT05PRkZDVFJMfCBESVNQT0ZGIHwgQ1VSU09ST0ZGIHwg Q1VSU09STk9CTElOSyk7CisKKyAgICBwaWZhY2VjYWRfSEQ0NDc4MF9zZW5kZGF0YShwLCAwLCBS U19JTlNUUiwgQ0xFQVIpOworCisgICAgcGlmYWNlY2FkX0hENDQ3ODBfc2VuZGRhdGEocCwgMCwg UlNfSU5TVFIsCisgICAgICAgIEVOVFJZTU9ERSB8IEVfTU9WRVJJR0hUIHwgTk9TQ1JPTEwpOwor fQorCisvKioKKyAqIEluaXRpYWxpemUgdGhlIGRyaXZlci4KKyAqCisgKiBccGFyYW0gZHJ2dGhp cyAgUG9pbnRlciB0byBkcml2ZXIgc3RydWN0dXJlLgorICogXHJldHZhbCAwICAgICAgIFN1Y2Nl c3MuCisgKiBccmV0dmFsIC0xICAgICAgRXJyb3IuCisgKi8KK2ludAoraGRfaW5pdF9waWZhY2Vj YWQoRHJpdmVyICpkcnZ0aGlzKQoreworICAgIFByaXZhdGVEYXRhICpwID0gKFByaXZhdGVEYXRh KikgZHJ2dGhpcy0+cHJpdmF0ZV9kYXRhOworICAgIEhENDQ3ODBfZnVuY3Rpb25zICpoZDQ0Nzgw X2Z1bmN0aW9ucyA9IHAtPmhkNDQ3ODBfZnVuY3Rpb25zOworCisgICAgY2hhciBkZXZpY2VbMjU2 XSA9IERFRkFVTFRfREVWSUNFOworCisgICAgcC0+YmFja2xpZ2h0X2JpdCA9IEJMOworCisgICAg LyogUkVBRCBDT05GSUcgRklMRSAqLworICAgIC8qIEdldCBzZXJpYWwgZGV2aWNlIHRvIHVzZSAo Y29waWVkIGZyb20gaTJjKSAqLworICAgIHN0cm5jcHkoZGV2aWNlLAorICAgICAgICAgICAgZHJ2 dGhpcy0+Y29uZmlnX2dldF9zdHJpbmcoZHJ2dGhpcy0+bmFtZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJEZXZpY2UiLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERFRkFVTFRfREVWSUNFKSwKKyAgICAgICAgICAgIHNpemVvZihkZXZpY2UpKTsKKyAgICBkZXZp Y2Vbc2l6ZW9mKGRldmljZSktMV0gPSAnXDAnOworICAgIHJlcG9ydChSUFRfSU5GTywgIkhENDQ3 ODA6IFBpRmFjZUNBRDogVXNpbmcgZGV2aWNlICclcyciLCBkZXZpY2UpOworCisgICAgLyogT3Bl biB0aGUgU1BJIGRldmljZSAqLworICAgIGlmICgocC0+ZmQgPSBvcGVuKGRldmljZSwgT19SRFdS KSkgPCAwKSB7CisgICAgICAgIHJlcG9ydChSUFRfRVJSLAorICAgICAgICAgICAgICAgIkhENDQ3 ODA6IFBpRmFjZUNBRDogb3BlbiBTUEkgZGV2aWNlICclcycgZmFpbGVkOiAlcyIsCisgICAgICAg ICAgICAgICBkZXZpY2UsCisgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOworICAgICAg ICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLyogY29uZmlndXJlIFNQSSBkZXZpY2UgKi8KKyAg ICBpZiAoaW9jdGwocC0+ZmQsIFNQSV9JT0NfV1JfTU9ERSwgJnNwaV9tb2RlKSA8IDApIHsKKyAg ICAgICAgcmVwb3J0KFJQVF9FUlIsICJIRDQ0NzgwOiBQaUZhY2VDQUQ6IENvdWxkIG5vdCBzZXQg U1BJIG1vZGUuIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKGlvY3RsKHAt PmZkLCBTUElfSU9DX1dSX0JJVFNfUEVSX1dPUkQsICZzcGlfYnB3KSA8IDApIHsKKyAgICAgICAg cmVwb3J0KFJQVF9FUlIsICJIRDQ0NzgwOiBQaUZhY2VDQUQgQ291bGQgbm90IHNldCBTUEkgYml0 cyBwZXIgd29yZC4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoaW9jdGwo cC0+ZmQsIFNQSV9JT0NfV1JfTUFYX1NQRUVEX0haLCAmc3BpX3NwZWVkKSA8IDApIHsKKyAgICAg ICAgcmVwb3J0KFJQVF9FUlIsICJIRDQ0NzgwOiBQaUZhY2VDQUQ6IENvdWxkIG5vdCBzZXQgU1BJ IHNwZWVkLiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLyogU2V0IElPIGNv bmZpZyAqLworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgaW9jb25maWcgPSBCQU5LX09GRiB8IFwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5UX01JUlJPUl9PRkYgfCBcCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFUU9QX09OIHwgXAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBESVNTTFdfT0ZGIHwgXAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIQUVOX09OIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPRFJfT0ZGIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTlRQT0xfTE9XOworICAgIG1jcDIzczE3X3dyaXRlX3JlZyhwLCBJT0NPTiwgaW9jb25maWcp OworICAgIG1jcDIzczE3X3dyaXRlX3JlZyhwLCBJT0RJUkIsIDApOyAvKiBTZXQgR1BJT0IgKExD RCBwb3J0KSB0byBvdXRwdXQgKi8KKyAgICBtY3AyM3MxN193cml0ZV9yZWcocCwgSU9ESVJBLCAw eGZmKTsgLyogU2V0IEdQSU9BIChzd2l0Y2hlcykgdG8gaW5wdXQgKi8KKworICAgIGhkNDQ3ODBf ZnVuY3Rpb25zLT5zZW5kZGF0YSA9IHBpZmFjZWNhZF9IRDQ0NzgwX3NlbmRkYXRhOworICAgIGhk NDQ3ODBfZnVuY3Rpb25zLT5iYWNrbGlnaHQgPSBwaWZhY2VjYWRfSEQ0NDc4MF9iYWNrbGlnaHQ7 CisgICAgaGQ0NDc4MF9mdW5jdGlvbnMtPmNsb3NlID0gcGlmYWNlY2FkX0hENDQ3ODBfY2xvc2U7 CisgICAgaGQ0NDc4MF9mdW5jdGlvbnMtPnNjYW5rZXlwYWQgPSBwaWZhY2VjYWRfSEQ0NDc4MF9z Y2Fua2V5cGFkOworCisgICAgaW5pdF9sY2QocCk7CisKKyAgICBoZDQ0NzgwX2Z1bmN0aW9ucy0+ dVBhdXNlKHAsIERFTEFZX1NFVFRMRV9VUyk7CisKKyAgICBjb21tb25faW5pdChwLCBJRl80QklU KTsKKworICAgIHJlcG9ydChSUFRfSU5GTywgIkhENDQ3ODA6IHBpZmFjZWNhZDogaW5pdGlhbGlz ZWQiKTsKKworICAgIHJldHVybiAwOworfQorCisvKioKKyAqIENsb3NlcyB0aGUgZmlsZSBkZXNj cmlwdG9yIG9mIHRoZSBIRDQ0NzgwIChTUEkgYnVzIHRvIE1DUDIzUzE3KS4KKyAqCisgKiBccGFy YW0gcCAgUG9pbnRlciB0byBkcml2ZXIncyBwcml2YXRlIGRhdGEgc3RydWN0dXJlLgorICovCit2 b2lkCitwaWZhY2VjYWRfSEQ0NDc4MF9jbG9zZShQcml2YXRlRGF0YSAqIHApIHsKKyAgICBpZiAo cC0+ZmQgPj0gMCkgeworICAgICAgICBjbG9zZShwLT5mZCk7CisgICAgfQorfQorCisKKy8qKgor ICogU2VuZCBkYXRhIG9yIGNvbW1hbmRzIHRvIHRoZSBkaXNwbGF5LgorICoKKyAqIFxwYXJhbSBw ICAgICAgICAgIFBvaW50ZXIgdG8gZHJpdmVyJ3MgcHJpdmF0ZSBkYXRhIHN0cnVjdHVyZS4KKyAq IFxwYXJhbSBkaXNwbGF5SUQgIElEIG9mIHRoZSBkaXNwbGF5IChvciAwIGZvciBhbGwpIHRvIHNl bmQgZGF0YSB0by4KKyAqIFxwYXJhbSBmbGFncyAgICAgIERlZmluZXMgd2hldGhlciB0byBlbmQg YSBjb21tYW5kIG9yIGRhdGEuCisgKiBccGFyYW0gY2ggICAgICAgICBUaGUgdmFsdWUgdG8gc2Vu ZC4KKyAqLwordm9pZAorcGlmYWNlY2FkX0hENDQ3ODBfc2VuZGRhdGEoUHJpdmF0ZURhdGEgKiBw LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBkaXNwbGF5SUQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGZsYWdzLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjaCkKK3sKKyAgICB1bnNpZ25lZCBjaGFy IHBvcnRDb250cm9sID0gMDsKKyAgICB1bnNpZ25lZCBjaGFyIGggPSAoY2ggPj4gNCkgJiAweDBm OyAvLyBoaWdoIGFuZCBsb3cgbmliYmxlcworICAgIHVuc2lnbmVkIGNoYXIgbCA9IGNoICYgMHgw ZjsKKworICAgIGlmIChmbGFncyA9PSBSU19JTlNUUikKKyAgICAgICAgcG9ydENvbnRyb2wgPSAw OworICAgIGVsc2UgLy9pZiAoZmxhZ3MgPT0gUlNfREFUQSkKKyAgICAgICAgcG9ydENvbnRyb2wg PSBSUzsKKworICAgIHBvcnRDb250cm9sIHw9IHAtPmJhY2tsaWdodF9iaXQ7CisKKyAgICB3cml0 ZV9hbmRfcHVsc2UocCwgcG9ydENvbnRyb2wgfCBoKTsKKyAgICB3cml0ZV9hbmRfcHVsc2UocCwg cG9ydENvbnRyb2wgfCBsKTsKK30KKworCisvKioKKyAqIFR1cm4gZGlzcGxheSBiYWNrbGlnaHQg b24gb3Igb2ZmLgorICoKKyAqIFxwYXJhbSBwICAgICAgUG9pbnRlciB0byBkcml2ZXIncyBwcml2 YXRlIGRhdGEgc3RydWN0dXJlLgorICogXHBhcmFtIHN0YXRlICBOZXcgYmFja2xpZ2h0IHN0YXR1 cy4KKyAqLwordm9pZCBwaWZhY2VjYWRfSEQ0NDc4MF9iYWNrbGlnaHQoUHJpdmF0ZURhdGEgKnAs IHVuc2lnbmVkIGNoYXIgc3RhdGUpCit7CisgICAgcC0+YmFja2xpZ2h0X2JpdCA9ICgocC0+aGF2 ZV9iYWNrbGlnaHQgJiYgc3RhdGUpID8gQkwgOiAwKTsKKyAgICB1bnNpZ25lZCBjaGFyIHBvcnRf c3RhdGUgPSBtY3AyM3MxN19yZWFkX3JlZyhwLCBMQ0RfUE9SVCk7CisgICAgaWYgKHAtPmJhY2ts aWdodF9iaXQpCisgICAgICAgIHBvcnRfc3RhdGUgfD0gQkw7IC8vIHNldAorICAgIGVsc2UKKyAg ICAgICAgcG9ydF9zdGF0ZSAmPSAweGZmIF4gQkw7CisgICAgbWNwMjNzMTdfd3JpdGVfcmVnKHAs IExDRF9QT1JULCBwb3J0X3N0YXRlKTsKK30KKworCisvKioKKyAqIFNjYW4gdGhlIExDRCBrZXlz CisgKgorICogXHBhcmFtIHAgICAgICBQb2ludGVyIHRvIGRyaXZlcidzIHByaXZhdGUgZGF0YSBz dHJ1Y3R1cmUuCisgKiBccmV0dmFsIGtleSAgIEtleSBudW1iZXIKKyAqLwordW5zaWduZWQgY2hh cgorcGlmYWNlY2FkX0hENDQ3ODBfc2NhbmtleXBhZChQcml2YXRlRGF0YSAqcCkKK3sKKyAgICB1 bnNpZ25lZCBjaGFyIHN3aXRjaF9zdGF0ZSA9IG1jcDIzczE3X3JlYWRfcmVnKHAsIFNXSVRDSF9Q T1JUKTsKKworICAgIGlmIChzd2l0Y2hfc3RhdGUgPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisK KyAgICBpZiAoc3dpdGNoX3N0YXRlICYgU1dJVENIX0xFRlQpCisgICAgICAgIHJldHVybiAxOwor CisgICAgaWYgKHN3aXRjaF9zdGF0ZSAmIFNXSVRDSF9ET1dOKQorICAgICAgICByZXR1cm4gMjsK KworICAgIGlmIChzd2l0Y2hfc3RhdGUgJiBTV0lUQ0hfVVApCisgICAgICAgIHJldHVybiAzOwor CisgICAgaWYgKHN3aXRjaF9zdGF0ZSAmIFNXSVRDSF9SSUdIVCkKKyAgICAgICAgcmV0dXJuIDQ7 CisKKyAgICBpZiAoc3dpdGNoX3N0YXRlICYgU1dJVENIX0VOVEVSKQorICAgICAgICByZXR1cm4g NTsKKworICAgIHJldHVybiAwOworfQpkaWZmIC11ck4gLVggL2hvbWUvdG9tL0Rvd25sb2Fkcy9s Y2Rwcm9jL2xjZHByb2MvZGlmZl9pZ25vcmUgL2hvbWUvdG9tL0Rvd25sb2Fkcy9sY2Rwcm9jL2xj ZHByb2Mvc2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1waWZhY2VjYWQuaCBsY2Rwcm9jL2xjZHByb2Mv c2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1waWZhY2VjYWQuaAotLS0gL2hvbWUvdG9tL0Rvd25sb2Fk cy9sY2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZlcnMvaGQ0NDc4MC1waWZhY2VjYWQuaAkxOTcw LTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgbGNkcHJvYy9sY2Rwcm9jL3NlcnZl ci9kcml2ZXJzL2hkNDQ3ODAtcGlmYWNlY2FkLmgJMjAxMy0xMS0yOCAxMDo0NzoxNC45NDc0Mzcw NjcgKzAwMDAKQEAgLTAsMCArMSw5IEBACisjaWZuZGVmIEhEX1BJRkFDRUNBRF9ICisjZGVmaW5l IEhEX1BJRkFDRUNBRF9ICisKKyNpbmNsdWRlICJsY2QuaCIJCQkJCSAgLyogZm9yIERyaXZlciAq LworCisvLyBpbml0aWFsaXNlIHRoaXMgcGFydGljdWxhciBkcml2ZXIKK2ludCBoZF9pbml0X3Bp ZmFjZWNhZChEcml2ZXIgKmRydnRoaXMpOworCisjZW5kaWYKZGlmZiAtdXJOIC1YIC9ob21lL3Rv bS9Eb3dubG9hZHMvbGNkcHJvYy9sY2Rwcm9jL2RpZmZfaWdub3JlIC9ob21lL3RvbS9Eb3dubG9h ZHMvbGNkcHJvYy9sY2Rwcm9jL3NlcnZlci9kcml2ZXJzL01ha2VmaWxlLmFtIGxjZHByb2MvbGNk cHJvYy9zZXJ2ZXIvZHJpdmVycy9NYWtlZmlsZS5hbQotLS0gL2hvbWUvdG9tL0Rvd25sb2Fkcy9s Y2Rwcm9jL2xjZHByb2Mvc2VydmVyL2RyaXZlcnMvTWFrZWZpbGUuYW0JMjAxMy0wNS0wOCAyMDox OTo1Ni4wMDAwMDAwMDAgKzAxMDAKKysrIGxjZHByb2MvbGNkcHJvYy9zZXJ2ZXIvZHJpdmVycy9N YWtlZmlsZS5hbQkyMDEzLTExLTI4IDEwOjQ0OjA4Ljc5NTYxMTU3NSArMDAwMApAQCAtOTUsNyAr OTUsNyBAQAogZ2xjZGxpYl9TT1VSQ0VTID0gICAgbGNkLmggbGNkX2xpYi5oIGdsY2RsaWIuaCBn bGNkbGliLmMgcmVwb3J0LmgKIGdsa19TT1VSQ0VTID0gICAgICAgIGxjZC5oIGdsay5jIGdsay5o IGdsa3Byb3RvLmMgZ2xrcHJvdG8uaCByZXBvcnQuaAogaGQ0NDc4MF9TT1VSQ0VTID0gICAgbGNk LmggbGNkX2xpYi5oIGhkNDQ3ODAuaCBoZDQ0NzgwLmMgaGQ0NDc4MC1kcml2ZXJzLmggaGQ0NDc4 MC1sb3cuaCBoZDQ0NzgwLWNoYXJtYXAuaCByZXBvcnQuaCBhZHZfYmlnbnVtLmgKLUVYVFJBX2hk NDQ3ODBfU09VUkNFUyA9IHBvcnQuaCBscHQtcG9ydC5oIHRpbWluZy5oIGxjZF9zZW0uYyBsY2Rf c2VtLmggaGQ0NDc4MC00Yml0LmMgaGQ0NDc4MC00Yml0LmggaGQ0NDc4MC1leHQ4Yml0LmMgaGQ0 NDc4MC1leHQ4Yml0LmggaGQ0NDc4MC1zZXJpYWxMcHQuYyBoZDQ0NzgwLXNlcmlhbExwdC5oIGhk NDQ3ODAtc2VyaWFsLmMgaGQ0NDc4MC1zZXJpYWwuaCBoZDQ0NzgwLXdpbmFtcC5jIGhkNDQ3ODAt d2luYW1wLmggaGQ0NDc4MC1id2N0LXVzYi5jIGhkNDQ3ODAtYndjdC11c2IuaCBoZDQ0NzgwLWxj ZDJ1c2IuYyBoZDQ0NzgwLWxjZDJ1c2IuaCBoZDQ0NzgwLXVzYnRpbnkuYyBoZDQ0NzgwLXVzYnRp bnkuaCBoZDQ0NzgwLWxpczIuYyBoZDQ0NzgwLWxpczIuaCBoZDQ0NzgwLWkyYy5jIGhkNDQ3ODAt aTJjLmggaGQ0NDc4MC1mdGRpLmMgaGQ0NDc4MC1mdGRpLmggaGQ0NDc4MC1ldGhsY2QuYyBoZDQ0 NzgwLWV0aGxjZC5oIGhkNDQ3ODAtdXNzNzIwLmMgaGQ0NDc4MC11c3M3MjAuaCBoZDQ0NzgwLXVz YmxjZC5jIGhkNDQ3ODAtdXNibGNkLmggaGQ0NDc4MC11c2I0YWxsLmMgaGQ0NDc4MC11c2I0YWxs LmggaGQ0NDc4MC1ycGkuYyBoZDQ0NzgwLXJwaS5oIGhkNDQ3ODAtcGlwbGF0ZS5jIGhkNDQ3ODAt cGlwbGF0ZS5oCitFWFRSQV9oZDQ0NzgwX1NPVVJDRVMgPSBwb3J0LmggbHB0LXBvcnQuaCB0aW1p bmcuaCBsY2Rfc2VtLmMgbGNkX3NlbS5oIGhkNDQ3ODAtNGJpdC5jIGhkNDQ3ODAtNGJpdC5oIGhk NDQ3ODAtZXh0OGJpdC5jIGhkNDQ3ODAtZXh0OGJpdC5oIGhkNDQ3ODAtc2VyaWFsTHB0LmMgaGQ0 NDc4MC1zZXJpYWxMcHQuaCBoZDQ0NzgwLXNlcmlhbC5jIGhkNDQ3ODAtc2VyaWFsLmggaGQ0NDc4 MC13aW5hbXAuYyBoZDQ0NzgwLXdpbmFtcC5oIGhkNDQ3ODAtYndjdC11c2IuYyBoZDQ0NzgwLWJ3 Y3QtdXNiLmggaGQ0NDc4MC1sY2QydXNiLmMgaGQ0NDc4MC1sY2QydXNiLmggaGQ0NDc4MC11c2J0 aW55LmMgaGQ0NDc4MC11c2J0aW55LmggaGQ0NDc4MC1saXMyLmMgaGQ0NDc4MC1saXMyLmggaGQ0 NDc4MC1pMmMuYyBoZDQ0NzgwLWkyYy5oIGhkNDQ3ODAtZnRkaS5jIGhkNDQ3ODAtZnRkaS5oIGhk NDQ3ODAtZXRobGNkLmMgaGQ0NDc4MC1ldGhsY2QuaCBoZDQ0NzgwLXVzczcyMC5jIGhkNDQ3ODAt dXNzNzIwLmggaGQ0NDc4MC11c2JsY2QuYyBoZDQ0NzgwLXVzYmxjZC5oIGhkNDQ3ODAtdXNiNGFs bC5jIGhkNDQ3ODAtdXNiNGFsbC5oIGhkNDQ3ODAtcnBpLmMgaGQ0NDc4MC1ycGkuaCBoZDQ0Nzgw LXBpcGxhdGUuYyBoZDQ0NzgwLXBpcGxhdGUuaCBoZDQ0NzgwLXBpZmFjZWNhZC5jIGhkNDQ3ODAt cGlmYWNlY2FkLmgKIGkyNTAwdmZkX1NPVVJDRVMgPSAgIGxjZC5oIGkyNTAwdmZkLmMgaTI1MDB2 ZmQuaCBnbGNkX2ZvbnQ1eDguaCByZXBvcnQuaAogaWNwX2ExMDZfU09VUkNFUyA9ICAgbGNkLmgg bGNkX2xpYi5oIGljcF9hMTA2LmMgaWNwX2ExMDYuaCByZXBvcnQuaAogaW1vbl9TT1VSQ0VTID0g ICAgICAgbGNkLmggbGNkX2xpYi5oIGhkNDQ3ODAtY2hhcm1hcC5oIGltb24uaCBpbW9uLmMgcmVw b3J0LmggYWR2X2JpZ251bS5oCg== --047d7b2e4c027973d404ec5021d0 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ LCDproc mailing list [email protected] http://lists.omnipotent.net/mailman/listinfo/lcdproc --047d7b2e4c027973d404ec5021d0--