Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable =0D Hi,=0D =0D attached patches change libpayload to use the coreboot build system copie= d=0D into libpayload. Among the advantages is that it simplifies building a mo= re=0D standard set of libraries (eg. libcurses, libc, libpci) which simplifies=0D porting code to libpayload a bit (as Makefiles can be used with fewer=0D changes).=0D =0D For compatibility purposes, the build system still generates a=0D libpayload.a, which is simply a superset over all other libraries.=0D =0D The first patch changes the build system to the new style.=0D The second patch fixes up the tree so it compiles with the tighter=0D warning/error regime imposed by the build system.=0D As a bonus, the third patch adds openbsd's strlcpy (in addition to strlca= t=0D which we already have).=0D =0D Signed-off-by: Patrick Georgi patrick@georgi-clan.de=0D
Content-Transfer-Encoding: base64
Content-Type: text/x-lisp; charset=us-ascii; charset=UTF-8; name=0001-Use-coreboot-build-system-for-libpayload-too.patch
Content-Disposition: attachment; filename=0001-Use-coreboot-build-system-for-libpayload-too.patch
VXNlIGNvcmVib290IGJ1aWxkIHN5c3RlbSBmb3IgbGlicGF5bG9hZCwgdG9vLgoKU2lnbmVkLW9m Zi1ieTogUGF0cmljayBHZW9yZ2kgPHBhdHJpY2tAZ2VvcmdpLWNsYW4uZGU+Ci0tLQogcGF5bG9h ZHMvbGlicGF5bG9hZC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgIDM0NSArKysrKysrKysr KysrKystLS0tLS0tLS0tCiBwYXlsb2Fkcy9saWJwYXlsb2FkL01ha2VmaWxlLmluYyAgICAgICAg ICAgICAgfCAgMTA1ICsrKysrKysrCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvaTM4Ni9NYWtl ZmlsZS5pbmMgICAgfCAgICA5ICstCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy9N YWtlZmlsZS5pbmMgfCAgICA3ICstCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2NyeXB0by9NYWtlZmls ZS5pbmMgICAgICAgfCAgICAyICstCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2N1cnNlcy9NYWtlZmls ZS5pbmMgICAgICAgfCAgICA4ICstCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2RyaXZlcnMvTWFrZWZp bGUuaW5jICAgICAgfCAgIDU2ICsrLS0KIHBheWxvYWRzL2xpYnBheWxvYWQvbGliYy9NYWtlZmls ZS5pbmMgICAgICAgICB8ICAgMTQgKy0KIHBheWxvYWRzL2xpYnBheWxvYWQvbGlicGNpL01ha2Vm aWxlLmluYyAgICAgICB8ICAgIDIgKy0KIDkgZmlsZXMgY2hhbmdlZCwgMzcwIGluc2VydGlvbnMo KyksIDE3OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXlsb2Fkcy9saWJwYXls b2FkL01ha2VmaWxlLmluYwoKZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxvYWQvTWFrZWZp bGUgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL01ha2VmaWxlCmluZGV4IDQzNjM1OTAuLmEyZDQ0NTIg MTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBheWxvYWQvTWFrZWZpbGUKKysrIGIvcGF5bG9hZHMv bGlicGF5bG9hZC9NYWtlZmlsZQpAQCAtMywxODQgKzMsMjY3IEBACiAjIwogIyMgQ29weXJpZ2h0 IChDKSAyMDA4IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KICMjIENvcHlyaWdodCAoQykg MjAwOCBVd2UgSGVybWFubiA8dXdlQGhlcm1hbm4tdXdlLmRlPgorIyMgQ29weXJpZ2h0IChDKSAy MDA5LTIwMTAgY29yZXN5c3RlbXMgR21iSAorIyMgQ29weXJpZ2h0IChDKSAyMDExIHNlY3VuZXQg U2VjdXJpdHkgTmV0d29ya3MgQUcKICMjCi0jIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMjIG1vZGlmaWNhdGlvbiwg YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyMg YXJlIG1ldDoKLSMjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIyAyLiBSZWRpc3RyaWJ1dGlvbnMg aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyMgICAg bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp bWVyIGluIHRoZQotIyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMjIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRo b3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cwotIyMgICAg ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu IHBlcm1pc3Npb24uCisjIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KICMjCi0jIyBU SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBg YEFTIElTJycgQU5ECi0jIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSMjIElNUExJRUQgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0jIyBB UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVU T1JTIEJFIExJQUJMRQotIyMgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMjIERBTUFHRVMgKElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0j IyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT IElOVEVSUlVQVElPTikKLSMjIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0jIyBMSUFCSUxJVFksIE9SIFRP UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ Ci0jIyBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg VEhFIFBPU1NJQklMSVRZIE9GCi0jIyBTVUNIIERBTUFHRS4KKyMjIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyMgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyMjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyMjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CiAjIworIyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKyMjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp biBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgVVNBCisjIworCitpZmVx ICgkKElOTkVSX1NDQU5CVUlMRCkseSkKK0NDX3JlYWw6PSQoQ0MpCitlbmRpZgogCi1leHBvcnQg c3JjIDo9ICQoc2hlbGwgcHdkKQotZXhwb3J0IHNyY3RyZWUgOj0gJChzcmMpCi1leHBvcnQgc3Jj ayA6PSAkKHNyYykvdXRpbC9rY29uZmlnCi1leHBvcnQgb2JqIDo9ICQoc3JjKS9idWlsZAotZXhw b3J0IG9iamsgOj0gJChzcmMpL2J1aWxkL3V0aWwva2NvbmZpZworJChpZiAkKHdpbGRjYXJkIC54 Y29tcGlsZSksLCQoZXZhbCAkKHNoZWxsIGJhc2ggdXRpbC94Y29tcGlsZS94Y29tcGlsZSA+IC54 Y29tcGlsZSkpKQoraW5jbHVkZSAueGNvbXBpbGUKKworaWZlcSAoJChJTk5FUl9TQ0FOQlVJTEQp LHkpCitDQzo9JChDQ19yZWFsKQorSE9TVENDOj0kKENDX3JlYWwpIC0taG9zdGNjCitIT1NUQ1hY Oj0kKENDX3JlYWwpIC0taG9zdGN4eAorZW5kaWYKIAotZXhwb3J0IEtFUk5FTFZFUlNJT04gICAg ICA6PSAwLjIuMAotZXhwb3J0IEtDT05GSUdfQVVUT0hFQURFUiA6PSAkKG9iaikvaW5jbHVkZS9s aWJwYXlsb2FkLWNvbmZpZy5oCitleHBvcnQgdG9wIDo9ICQoQ1VSRElSKQorZXhwb3J0IHNyYyA6 PSBzcmMKK2V4cG9ydCBzcmNrIDo9ICQodG9wKS91dGlsL2tjb25maWcKK2V4cG9ydCBvYmogPz0g YnVpbGQKK2V4cG9ydCBvYmp1dGlsID89ICQob2JqKS91dGlsCitleHBvcnQgb2JqayA6PSAkKG9i anV0aWwpL2tjb25maWcKKworCitleHBvcnQgS0NPTkZJR19BVVRPSEVBREVSIDo9ICQob2JqKS9j b25maWcuaAogZXhwb3J0IEtDT05GSUdfQVVUT0NPTkZJRyA6PSAkKG9iaikvYXV0by5jb25mCiAK KyMgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHRvcGxldmVsIE1ha2VmaWxlLmluYworVE9QTEVW RUwgOj0gLgorCiBDT05GSUdfU0hFTEwgOj0gc2gKIEtCVUlMRF9ERUZDT05GSUcgOj0gY29uZmln cy9kZWZjb25maWcKIFVOQU1FX1JFTEVBU0UgOj0gJChzaGVsbCB1bmFtZSAtcikKLUhBVkVfRE9U Q09ORklHIDo9ICQod2lsZGNhcmQgLmNvbmZpZykKK0RPVENPTkZJRyA/PSAuY29uZmlnCitLQ09O RklHX0NPTkZJRyA9ICQoRE9UQ09ORklHKQorZXhwb3J0IEtDT05GSUdfQ09ORklHCitIQVZFX0RP VENPTkZJRyA6PSAkKHdpbGRjYXJkICQoRE9UQ09ORklHKSkKIE1BS0VGTEFHUyArPSAtclIgLS1u by1wcmludC1kaXJlY3RvcnkKIAogIyBNYWtlIGlzIHNpbGVudCBwZXIgZGVmYXVsdCwgYnV0ICdt YWtlIFY9MScgd2lsbCBzaG93IGFsbCBjb21waWxlciBjYWxscy4KK1E6PUAKIGlmbmVxICgkKFYp LDEpCi1RIDo9IEAKK2lmbmVxICgkKFEpLCkKKy5TSUxFTlQ6CitlbmRpZgogZW5kaWYKIAotJChp ZiAkKHdpbGRjYXJkIC54Y29tcGlsZSksLCQoZXZhbCAkKHNoZWxsIGJhc2ggdXRpbC94Y29tcGls ZS94Y29tcGlsZSA+IC54Y29tcGlsZSkpKQotaW5jbHVkZSAueGNvbXBpbGUKLQotQ0MgPz0gZ2Nj CitDUFA6PSAkKENDKSAteCBhc3NlbWJsZXItd2l0aC1jcHAgLURBU1NFTUJMWSAtRQogSE9TVEND ID0gZ2NjCiBIT1NUQ1hYID0gZysrCi1IT1NUQ0ZMQUdTIDo9IC1JJChzcmNrKSAtSSQob2Jqaykg LXBpcGUKLUhPU1RDWFhGTEFHUyA6PSAtSSQoc3JjaykgLUkkKG9iamspIC1waXBlCi0KLURFU1RE SVIgPSAkKHNyYykvaW5zdGFsbAorSE9TVENGTEFHUyA6PSAtSSQoc3JjaykgLUkkKG9iamspIC1n CitIT1NUQ1hYRkxBR1MgOj0gLUkkKHNyY2spIC1JJChvYmprKQorTElCR0NDX0ZJTEVfTkFNRSA6 PSAkKHNoZWxsIHRlc3QgLXIgYCQoQ0MpIC1wcmludC1saWJnY2MtZmlsZS1uYW1lYCAmJiAkKEND KSAtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZSkKIAogRE9YWUdFTiA6PSBkb3h5Z2VuCiBET1hZR0VO X09VVFBVVF9ESVIgOj0gZG94eWdlbgogCithbGw6IHJlYWwtYWxsCisKKyMgVGhpcyBpbmNsdWRl IG11c3QgY29tZSBfYmVmb3JlXyB0aGUgcGF0dGVybiBydWxlcyBiZWxvdyEKKyMgT3JkZXIgX2Rv ZXNfIG1hdHRlciBmb3IgcGF0dGVybiBydWxlcy4KK2luY2x1ZGUgdXRpbC9rY29uZmlnL01ha2Vm aWxlCisKKyMgVGhyZWUgY2FzZXMgd2hlcmUgd2UgZG9uJ3QgbmVlZCBmdWxseSBwb3B1bGF0ZWQg JChvYmopIGxpc3RzOgorIyAxLiB3aGVuIG5vIC5jb25maWcgZXhpc3RzCisjIDIuIHdoZW4gbWFr ZSBjb25maWcgKGluIGFueSBmbGF2b3VyKSBpcyBydW4KKyMgMy4gd2hlbiBtYWtlIGRpc3RjbGVh biBpcyBydW4KKyMgRG9uJ3Qgd2FzdGUgdGltZSBvbiByZWFkaW5nIGFsbCBNYWtlZmlsZS5pbmNz IGluIHRoZXNlIGNhc2VzCiBpZmVxICgkKHN0cmlwICQoSEFWRV9ET1RDT05GSUcpKSwpCitOT0NP TVBJTEU6PTEKK2VuZGlmCitpZm5lcSAoJChNQUtFQ01ER09BTFMpLCkKK2lmbmVxICgkKGZpbHRl ciAlY29uZmlnIGRpc3RjbGVhbiwkKE1BS0VDTURHT0FMUykpLCkKK05PQ09NUElMRTo9MQorZW5k aWYKK2VuZGlmCiAKLWFsbDogY29uZmlnCitpZmVxICgkKE5PQ09NUElMRSksMSkKK2luY2x1ZGUg JChUT1BMRVZFTCkvTWFrZWZpbGUuaW5jCityZWFsLWFsbDogY29uZmlnCiAKIGVsc2UKIAotaW5j bHVkZSAkKHNyYykvLmNvbmZpZworaW5jbHVkZSAkKEhBVkVfRE9UQ09ORklHKQogCi1BUkNIRElS LSQoQ09ORklHX1RBUkdFVF9JMzg2KSAgICA6PSBpMzg2Ci1BUkNIRElSLSQoQ09ORklHX1RBUkdF VF9QT1dFUlBDKSA6PSBwb3dlcnBjCitpZm5lcSAoJChJTk5FUl9TQ0FOQlVJTEQpLHkpCitpZmVx ICgkKENPTkZJR19DT01QSUxFUl9MTFZNX0NMQU5HKSx5KQorQ0M6PWNsYW5nIC1tMzIKK0hPU1RD Qzo9Y2xhbmcKK2VuZGlmCitlbmRpZgogCi1QTEFURk9STS15ICs9IGFyY2gvJChBUkNIRElSLXkp L01ha2VmaWxlLmluYwotVEFSR0VUUy15IDo9CitpZmVxICgkKENPTkZJR19DQ0FDSEUpLHkpCitD Q0FDSEU6PSQod2lsZGNhcmQgJChhZGRzdWZmaXggL2NjYWNoZSwkKHN1YnN0IDosICwkKFBBVEgp KSkpCitpZmVxICgkKENDQUNIRSksKQorJChlcnJvciBjY2FjaGUgc2VsZWN0ZWQsIGJ1dCBub3Qg Zm91bmQgaW4gUEFUSCkKK2VuZGlmCitDQ0FDSEU6PUNDQUNIRV9DT01QSUxFUkNIRUNLPWNvbnRl bnQgQ0NBQ0hFX0JBU0VESVI9JCh0b3ApICQoQ0NBQ0hFKQorQ0MgOj0gJChDQ0FDSEUpICQoQ0Mp CitIT1NUQ0MgOj0gJChDQ0FDSEUpICQoSE9TVENDKQorSE9TVENYWCA6PSAkKENDQUNIRSkgJChI T1NUQ1hYKQorUk9NQ0MgOj0gJChDQ0FDSEUpICQoUk9NQ0MpCitlbmRpZgogCi1CVUlMRC15IDo9 IGNyeXB0by9NYWtlZmlsZS5pbmMgbGliYy9NYWtlZmlsZS5pbmMgZHJpdmVycy9NYWtlZmlsZS5p bmMgbGlicGNpL01ha2VmaWxlLmluYwotQlVJTEQtJChDT05GSUdfVElOWUNVUlNFUykgKz0gY3Vy c2VzL01ha2VmaWxlLmluYworc3RyaXBfcXVvdGVzID0gJChzdWJzdCAiLCwkKHN1YnN0IFwiLCwk KDEpKSkKIAogIyBUaGUgcHJpbWFyeSB0YXJnZXQgbmVlZHMgdG8gYmUgaGVyZSBiZWZvcmUgd2Ug aW5jbHVkZSB0aGUKICMgb3RoZXIgZmlsZXMKIAotYWxsOiBsaWIKLQotaW5jbHVkZSAkKFBMQVRG T1JNLXkpICQoQlVJTEQteSkKLQotT0JKUyAgICAgOj0gJChwYXRzdWJzdCAlLCQob2JqKS8lLCQo VEFSR0VUUy15KSkKLUlOQ0xVREVTIDo9IC1JaW5jbHVkZSAtSWluY2x1ZGUvJChBUkNIRElSLXkp IC1JJChvYmopIC1JJChvYmopL2luY2x1ZGUKLUlOQ0xVREVTICs9IC1JJChzaGVsbCAkKENDKSAt cHJpbnQtc2VhcmNoLWRpcnMgfCBoZWFkIC1uIDEgfCBjdXQgLWQnICcgLWYyKWluY2x1ZGUKLQot dHJ5LXJ1bj0gJChzaGVsbCBzZXQgLWU7IFwKLVRNUD0iLiQkJCQudG1wIjsgXAotaWYgKCQoMSkp ID4gL2Rldi9udWxsIDI+JjE7IFwKLXRoZW4gZWNobyAiJCgyKSI7IFwKLWVsc2UgZWNobyAiJCgz KSI7IFwKLWZpOyBybSAtcmYgIiQkVE1QIikKLQotY2Mtb3B0aW9uPSAkKGNhbGwgdHJ5LXJ1bixc Ci0kKENDKSAkKDEpIC1TIC14YyAvZGV2L251bGwgLW8gIiQkVE1QIiwgJCgxKSwgJCgyKSkKLQot U1RBQ0tQUk9URUNUICs9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8tc3RhY2stcHJvdGVjdG9yLCkK LQotIyBUT0RPOiBSZS1hZGQgLU9zIGFzIHNvb24gYXMgd2UgZmluZCBvdXQgd2h5IGl0IGNhdXNl ZCBwcm9ibGVtcy4KLUNGTEFHUyA6PSAtV2FsbCAtV2Vycm9yICQoU1RBQ0tQUk9URUNUKSAtbm9z dGRpbmMgJChJTkNMVURFUykgLWZmcmVlc3RhbmRpbmcgLXBpcGUKLQotYWxsOiBsaWIKLQotbGli OiAkKG9iaikvbGliL2xpYnBheWxvYWQuYSAkKG9iaikvbGliLyQoQVJDSERJUi15KS9oZWFkLm8K K2lmZXEgKCQoSU5ORVJfU0NBTkJVSUxEKSx5KQorQ09ORklHX1NDQU5CVUlMRF9FTkFCTEU6PQor ZW5kaWYKIAotJChvYmopL2xpYi8kKEFSQ0hESVIteSkvaGVhZC5vOiAkKG9iaikvYXJjaC8kKEFS Q0hESVIteSkvaGVhZC5TLm8KLQkkKFEpcHJpbnRmICIgIENQICAgICAgJChzdWJzdCAkKHNoZWxs IHB3ZCkvLCwkKEApKVxuIgotCSQoUSljcCAkPCAkQAoraWZlcSAoJChDT05GSUdfU0NBTkJVSUxE X0VOQUJMRSkseSkKK2lmbmVxICgkKENPTkZJR19TQ0FOQlVJTERfUkVQT1JUX0xPQ0FUSU9OKSwp CitDT05GSUdfU0NBTkJVSUxEX1JFUE9SVF9MT0NBVElPTjo9LW8gJChDT05GSUdfU0NBTkJVSUxE X1JFUE9SVF9MT0NBVElPTikKK2VuZGlmCityZWFsLWFsbDoKKwllY2hvICcjIS9iaW4vc2gnID4g LmNjd3JhcAorCWVjaG8gJ0NDPSIkKENDKSInID4+IC5jY3dyYXAKKwllY2hvICdpZiBbICIkJDEi ID0gIi0taG9zdGNjIiBdOyB0aGVuIHNoaWZ0OyBDQz0iJChIT1NUQ0MpIjsgZmknID4+IC5jY3dy YXAKKwllY2hvICdpZiBbICIkJDEiID0gIi0taG9zdGN4eCIgXTsgdGhlbiBzaGlmdDsgQ0M9IiQo SE9TVENYWCkiOyBmaScgPj4gLmNjd3JhcAorCWVjaG8gJ2V2YWwgJCRDQyAkJConID4+IC5jY3dy YXAKKwljaG1vZCAreCAuY2N3cmFwCisJc2Nhbi1idWlsZCAkKENPTkZJR19TQ0FOQlVJTERfUkVQ T1JUX0xPQ0FUSU9OKSAtYW5hbHl6ZS1oZWFkZXJzIC0tdXNlLWNjPSQodG9wKS8uY2N3cmFwIC0t dXNlLWMrKz0kKHRvcCkvLmNjd3JhcCAkKE1BS0UpIElOTkVSX1NDQU5CVUlMRD15CitlbHNlCity ZWFsLWFsbDogcmVhbC10YXJnZXQKK2VuZGlmCiAKLSQob2JqKS9saWIvbGlicGF5bG9hZC5hOiBw cmVwYXJlICQoT0JKUykKLQkkKFEpcHJpbnRmICIgIEFSICAgICAgJChzdWJzdCAkKHNoZWxsIHB3 ZCkvLCwkKEApKVxuIgotCSQoUSkkKEFSKSByYyAkQCAkKE9CSlMpCisjIG11c3QgY29tZSByYXRo ZXIgZWFybHkKKy5TRUNPTkRFWFBBTlNJT046CisKKyQob2JqKS9jb25maWcuaDoKKwkkKE1BS0Up IG9sZGNvbmZpZworCisjIEFkZCBhIG5ldyBjbGFzcyBvZiBzb3VyY2Uvb2JqZWN0IGZpbGVzIHRv IHRoZSBidWlsZCBzeXN0ZW0KK2FkZC1jbGFzcz0gXAorCSQoZXZhbCAkKDEpLXNyY3M6PSkgXAor CSQoZXZhbCAkKDEpLW9ianM6PSkgXAorCSQoZXZhbCBjbGFzc2VzKz0kKDEpKQorCisjIFNwZWNp YWwgY2xhc3NlcyBhcmUgbWFuYWdlZCB0eXBlcyB3aXRoIHNwZWNpYWwgYmVoYXZpb3VyCisjIE9u IHBhcnNlIHRpbWUsIGZvciBlYWNoIGVudHJ5IGluIHZhcmlhYmxlICQoMSkteQorIyBhIGhhbmRs ZXIgJCgxKS1oYW5kbGVyIGlzIGV4ZWN1dGVkIHdpdGggdGhlIGFyZ3VtZW50czoKKyMgKiAkKDEp OiBkaXJlY3RvcnkgdGhlIHBhcnNlciBpcyBpbgorIyAqICQoMik6IGN1cnJlbnQgZW50cnkKK2Fk ZC1zcGVjaWFsLWNsYXNzPSBcCisJJChldmFsICQoMSk6PSkgXAorCSQoZXZhbCBzcGVjaWFsLWNs YXNzZXMrPSQoMSkpCisKKyMgQ2xlYW4gLXkgdmFyaWFibGVzLCBpbmNsdWRlIE1ha2VmaWxlLmlu YworIyBBZGQgcGF0aHMgdG8gZmlsZXMgaW4gWC15IHRvIFgtc3JjcworIyBBZGQgc3ViZGlycy15 IHRvIHN1YmRpcnMKK2luY2x1ZGVtYWtlZmlsZXM9IFwKKwkkKGZvcmVhY2ggY2xhc3MsY2xhc3Nl cyBzdWJkaXJzICQoY2xhc3NlcykgJChzcGVjaWFsLWNsYXNzZXMpLCAkKGV2YWwgJChjbGFzcykt eTo9KSkgXAorCSQoZXZhbCAtaW5jbHVkZSAkKDEpKSBcCisJJChmb3JlYWNoIGNsYXNzLCQoY2xh c3Nlcy15KSwgJChjYWxsIGFkZC1jbGFzcywkKGNsYXNzKSkpIFwKKwkkKGZvcmVhY2ggY2xhc3Ms JChjbGFzc2VzKSwgXAorCQkkKGV2YWwgJChjbGFzcyktc3Jjcys9IFwKKwkJCSQkKHN1YnN0ICQo dG9wKS8sLCBcCisJCQkkJChhYnNwYXRoICQkKGFkZHByZWZpeCAkKGRpciAkKDEpKSwkJCgkKGNs YXNzKS15KSkpKSkpIFwKKwkkKGZvcmVhY2ggc3BlY2lhbCwkKHNwZWNpYWwtY2xhc3NlcyksIFwK KwkJJChmb3JlYWNoIGl0ZW0sJCgkKHNwZWNpYWwpLXkpLCAkKGNhbGwgJChzcGVjaWFsKS1oYW5k bGVyLCQoZGlyICQoMSkpLCQoaXRlbSkpKSkgXAorCSQoZXZhbCBzdWJkaXJzKz0kJChzdWJzdCAk KENVUkRJUikvLCwkJChhYnNwYXRoICQkKGFkZHByZWZpeCAkKGRpciAkKDEpKSwkJChzdWJkaXJz LXkpKSkpKQorCisjIEZvciBlYWNoIHBhdGggaW4gJChzdWJkaXJzKSBjYWxsIGluY2x1ZGVtYWtl ZmlsZXMKKyMgUmVwZWF0IHVudGlsIHN1YmRpcnMgaXMgZW1wdHkKK2V2YWx1YXRlX3N1YmRpcnM9 IFwKKwkkKGV2YWwgY3Vyc3ViZGlyczo9JChzdWJkaXJzKSkgXAorCSQoZXZhbCBzdWJkaXJzOj0p IFwKKwkkKGZvcmVhY2ggZGlyLCQoY3Vyc3ViZGlycyksIFwKKwkJJChldmFsICQoY2FsbCBpbmNs dWRlbWFrZWZpbGVzLCQoZGlyKS9NYWtlZmlsZS5pbmMpKSkgXAorCSQoaWYgJChzdWJkaXJzKSwk KGV2YWwgJChjYWxsIGV2YWx1YXRlX3N1YmRpcnMpKSkKKworIyBjb2xsZWN0IGFsbCBvYmplY3Qg ZmlsZXMgZWxpZ2libGUgZm9yIGJ1aWxkaW5nCitzdWJkaXJzOj0kKFRPUExFVkVMKQorJChldmFs ICQoY2FsbCBldmFsdWF0ZV9zdWJkaXJzKSkKKworc3JjLXRvLW9iaj0kKGFkZHN1ZmZpeCAuJCgx KS5vLCAkKGJhc2VuYW1lICQoYWRkcHJlZml4ICQob2JqKS8sICQoJCgxKS1zcmNzKSkpKQorJChm b3JlYWNoIGNsYXNzLCQoY2xhc3NlcyksJChldmFsICQoY2xhc3MpLW9ianM6PSQoY2FsbCBzcmMt dG8tb2JqLCQoY2xhc3MpKSkpCisKK2FsbHNyY3M6PSQoZm9yZWFjaCB2YXIsICQoYWRkc3VmZml4 IC1zcmNzLCQoY2xhc3NlcykpLCAkKCQodmFyKSkpCithbGxvYmpzOj0kKGZvcmVhY2ggdmFyLCAk KGFkZHN1ZmZpeCAtb2JqcywkKGNsYXNzZXMpKSwgJCgkKHZhcikpKQorYWxsZGlyczo9JChzb3J0 ICQoYWJzcGF0aCAkKGRpciAkKGFsbG9ianMpKSkpCisKKyMgbWFjcm8gdG8gZGVmaW5lIHRlbXBs YXRlIG1hY3JvcyB0aGF0IGFyZSB1c2VkIGJ5IHVzZV90ZW1wbGF0ZSBtYWNybworZGVmaW5lIGNy ZWF0ZV9jY190ZW1wbGF0ZQorIyAkMSBvYmogY2xhc3MKKyMgJDIgc291cmNlIHN1ZmZpeCAoYywg UykKKyMgJDMgYWRkaXRpb25hbCBjb21waWxlciBmbGFncworIyAkNCBhZGRpdGlvbmFsIGRlcGVu ZGVuY2llcworaWZuJChFTVBUWSlkZWYgJCgxKS1vYmpzXyQoMilfdGVtcGxhdGUKK2RlJChFTVBU WSlmaW5lICQoMSktb2Jqc18kKDIpX3RlbXBsYXRlCiskKG9iaikvJCQoMSkuJCgxKS5vOiAkJCgx KS4kKDIpICQob2JqKS9jb25maWcuaCAkKDQpCisJQHByaW50ZiAiICAgIENDICAgICAgICAgJCQk JChzdWJzdCAkJCQkKG9iaikvLCwkJCQkKEApKVxuIgorCSQoQ0MpICQoMykgLU1NRCAkJCQkKENG TEFHUykgLWMgLW8gJCQkJEAgJCQkJDwKK2VuJChFTVBUWSlkZWYKK2VuZCQoRU1QVFkpaWYKK2Vu ZGVmCisKK2ZpbGV0eXBlcy1vZi1jbGFzcz0kKHN1YnN0IC4sLCQoc29ydCAkKHN1ZmZpeCAkKCQo MSktc3JjcykpKSkKKyQoZm9yZWFjaCBjbGFzcywkKGNsYXNzZXMpLCBcCisJJChmb3JlYWNoIHR5 cGUsJChjYWxsIGZpbGV0eXBlcy1vZi1jbGFzcywkKGNsYXNzKSksIFwKKwkJJChldmFsICQoY2Fs bCBjcmVhdGVfY2NfdGVtcGxhdGUsJChjbGFzcyksJCh0eXBlKSwkKCQoY2xhc3MpLSQodHlwZSkt Y2NvcHRzKSwkKCQoY2xhc3MpLSQodHlwZSktZGVwcykpKSkpCisKK2ZvcmVhY2gtc3JjPSQoZm9y ZWFjaCBmaWxlLCQoJCgxKS1zcmNzKSwkKGV2YWwgJChjYWxsICQoMSktb2Jqc18kKHN1YnN0IC4s LCQoc3VmZml4ICQoZmlsZSkpKV90ZW1wbGF0ZSwkKGJhc2VuYW1lICQoZmlsZSkpKSkpCiskKGV2 YWwgJChmb3JlYWNoIGNsYXNzLCQoY2xhc3NlcyksJChjYWxsIGZvcmVhY2gtc3JjLCQoY2xhc3Mp KSkpCisKK0RFUEVOREVOQ0lFUyA9ICQoYWxsb2Jqczoubz0uZCkKKy1pbmNsdWRlICQoREVQRU5E RU5DSUVTKQorCitwcmludGFsbDoKKwlAJChmb3JlYWNoIGNsYXNzLCQoY2xhc3NlcyksZWNobyAk KGNsYXNzKS1vYmpzOj0kKCQoY2xhc3MpLW9ianMpOyApCisJQGVjaG8gYWxsZGlyczo9JChhbGxk aXJzKQorCUBlY2hvIGFsbHNyY3M9JChhbGxzcmNzKQorCUBlY2hvIERFUEVOREVOQ0lFUz0kKERF UEVOREVOQ0lFUykKKwlAZWNobyBMSUJHQ0NfRklMRV9OQU1FPSQoTElCR0NDX0ZJTEVfTkFNRSkK KwlAJChmb3JlYWNoIGNsYXNzLCQoc3BlY2lhbC1jbGFzc2VzKSxlY2hvICQoY2xhc3MpOj0nJCgk KGNsYXNzKSknOyApCiAKIGVuZGlmCiAKLWluc3RhbGw6IGxpYgotCSQoUSlwcmludGYgIiAgSU5T VEFMTCAkKERFU1RESVIpL2xpYnBheWxvYWQvbGliXG4iCi0JJChRKWluc3RhbGwgLW0gNzU1IC1k ICQoREVTVERJUikvbGlicGF5bG9hZC9saWIKLQkkKFEpaW5zdGFsbCAtbSA2NDQgJChvYmopL2xp Yi9saWJwYXlsb2FkLmEgJChERVNURElSKS9saWJwYXlsb2FkL2xpYi8KLQkkKFEpaW5zdGFsbCAt bSA2NDQgbGliL2xpYnBheWxvYWQubGRzY3JpcHQgJChERVNURElSKS9saWJwYXlsb2FkL2xpYi8K LQkkKFEpaW5zdGFsbCAtbSA3NTUgLWQgJChERVNURElSKS9saWJwYXlsb2FkL2xpYi8kKEFSQ0hE SVIteSkKLQkkKFEpaW5zdGFsbCAtbSA2NDQgJChvYmopL2xpYi8kKEFSQ0hESVIteSkvaGVhZC5v ICQoREVTVERJUikvbGlicGF5bG9hZC9saWIvJChBUkNIRElSLXkpCi0JJChRKXByaW50ZiAiICBJ TlNUQUxMICQoREVTVERJUikvbGlicGF5bG9hZC9pbmNsdWRlXG4iCi0JJChRKWluc3RhbGwgLW0g NzU1IC1kICQoREVTVERJUikvbGlicGF5bG9hZC9pbmNsdWRlCi0JJChRKWZvciBmaWxlIGluIGBm aW5kIGluY2x1ZGUgLW5hbWUgKi5oIC10eXBlIGZgOyBkbyBcCi0JCWluc3RhbGwgLW0gNzU1IC1k ICQoREVTVERJUikvbGlicGF5bG9hZC9gZGlybmFtZSAkJGZpbGVgOyBcCi0JCWluc3RhbGwgLW0g NjQ0ICQkZmlsZSAkKERFU1RESVIpL2xpYnBheWxvYWQvJCRmaWxlOyBcCi0JZG9uZQotCSQoUSlp bnN0YWxsIC1tIDY0NCAkKEtDT05GSUdfQVVUT0hFQURFUikgJChERVNURElSKS9saWJwYXlsb2Fk L2luY2x1ZGUKLQkkKFEpcHJpbnRmICIgIElOU1RBTEwgJChERVNURElSKS9saWJwYXlsb2FkL2Jp blxuIgotCSQoUSlpbnN0YWxsIC1tIDc1NSAtZCAkKERFU1RESVIpL2xpYnBheWxvYWQvYmluCi0J JChRKWluc3RhbGwgLW0gNzU1IGJpbi9scGdjYyAkKERFU1RESVIpL2xpYnBheWxvYWQvYmluCi0J JChRKWluc3RhbGwgLW0gNzU1IGJpbi9scGFzICQoREVTVERJUikvbGlicGF5bG9hZC9iaW4KLQkk KFEpaW5zdGFsbCAtbSA2NDQgYmluL2xwLmZ1bmN0aW9ucyAkKERFU1RESVIpL2xpYnBheWxvYWQv YmluCi0JJChRKWluc3RhbGwgLW0gNjQ0IC5jb25maWcgJChERVNURElSKS9saWJwYXlsb2FkL2xp YnBheWxvYWQuY29uZmlnCi0KLXByZXBhcmU6Ci0JJChRKW1rZGlyIC1wICQob2JqKS91dGlsL2tj b25maWcvbHhkaWFsb2cKLQkkKFEpbWtkaXIgLXAgJChvYmopL2NyeXB0byAkKG9iaikvY3Vyc2Vz ICQob2JqKS9kcml2ZXJzL3ZpZGVvCi0JJChRKW1rZGlyIC1wICQob2JqKS9kcml2ZXJzL3VzYgot CSQoUSlta2RpciAtcCAkKG9iaikvYXJjaC8kKEFSQ0hESVIteSkgJChvYmopL2xpYi8kKEFSQ0hE SVIteSkgJChvYmopL2xpYmMgJChvYmopL2xpYnBjaQotCSQoUSlta2RpciAtcCAkKG9iaikvbGli LyQoQVJDSERJUi15KQotCSQoUSlta2RpciAtcCAkKG9iaikvaW5jbHVkZQorJChzaGVsbCBta2Rp ciAtcCAkKG9iaikgJChvYmp1dGlsKS9rY29uZmlnL2x4ZGlhbG9nICQoYWRkaXRpb25hbC1kaXJz KSAkKGFsbGRpcnMpKQorCitjc2NvcGU6CisJY3Njb3BlIC1iUgogCiBkb3h5OiBkb3h5Z2VuCiBk b3h5Z2VuOgotCSQoUSkkKERPWFlHRU4pIERveHlmaWxlCisJJChET1hZR0VOKSBEb3h5ZmlsZQog CiBkb3h5Y2xlYW46IGRveHlnZW4tY2xlYW4KIGRveHlnZW4tY2xlYW46Ci0JJChRKXJtIC1yZiAk KERPWFlHRU5fT1VUUFVUX0RJUikKLQotY2xlYW46IGRveHlnZW4tY2xlYW4KLQkkKFEpcm0gLXJm ICQob2JqKS9jcnlwdG8gJChvYmopL2N1cnNlcyAkKG9iaikvZHJpdmVycwotCSQoUSlybSAtcmYg JChvYmopL2kzODYgJChvYmopL3Bvd2VycGMgJChvYmopL2xpYiAkKG9iaikvbGliYwotCi1kaXN0 Y2xlYW46IGNsZWFuCi0JJChRKXJtIC1yZiBidWlsZCAjIHNob3VsZCBiZSAkKG9iaikgPwotCSQo USlybSAtZiAuY29uZmlnIC5jb25maWcub2xkIC54Y29tcGlsZSAuLmNvbmZpZy50bXAgLmtjb25m aWcuZCAudG1wY29uZmlnKgotCi0jIFRoaXMgaW5jbHVkZSBtdXN0IGNvbWUgX2JlZm9yZV8gdGhl IHBhdHRlcm4gcnVsZXMgYmVsb3chCi0jIE9yZGVyIF9kb2VzXyBtYXR0ZXIgZm9yIHBhdHRlcm4g cnVsZXMuCi1pbmNsdWRlIHV0aWwva2NvbmZpZy9NYWtlZmlsZQotCi1pZmVxICgkKHN0cmlwICQo SEFWRV9ET1RDT05GSUcpKSwpCi1lbHNlCisJcm0gLXJmICQoRE9YWUdFTl9PVVRQVVRfRElSKQog Ci0kKG9iaikvJS5vOiAkKHNyYykvJS5jCi0JJChRKXByaW50ZiAiICBDQyAgICAgICQoc3Vic3Qg JChzaGVsbCBwd2QpLywsJChAKSlcbiIKLQkkKFEpJChDQykgLW0zMiAkKENGTEFHUykgLWMgLW8g JEAgJDwKK2NsZWFuLWZvci11cGRhdGU6IGRveHlnZW4tY2xlYW4gY2xlYW4tZm9yLXVwZGF0ZS10 YXJnZXQKKwlybSAtZiAkKGFsbG9ianMpIC54Y29tcGlsZQorCXJtIC1mICQoREVQRU5ERU5DSUVT KQorCXJtZGlyIC1wICQoYWxsZGlycykgMj4vZGV2L251bGwgPi9kZXYvbnVsbCB8fCB0cnVlCiAK LSQob2JqKS8lLlMubzogJChzcmMpLyUuUwotCSQoUSlwcmludGYgIiAgQ0MgICAgICAkKHN1YnN0 ICQoc2hlbGwgcHdkKS8sLCQoQCkpXG4iCi0JJChRKSQoQ0MpIC1tMzIgJChDRkxBR1MpIC1jIC1v ICRAICQ8CitjbGVhbjogY2xlYW4tZm9yLXVwZGF0ZSBjbGVhbi10YXJnZXQKKwlybSAtZiAuY2N3 cmFwCiAKLWVuZGlmCitjbGVhbi1jc2NvcGU6CisJcm0gLWYgY3Njb3BlLm91dAogCi0uUEhPTlk6 ICQoUEhPTlkpIHByZXBhcmUgaW5zdGFsbCBjbGVhbiBkaXN0Y2xlYW4gZG94eWdlbiBkb3h5Citk aXN0Y2xlYW46IGNsZWFuLWNzY29wZQorCXJtIC1yZiAkKG9iaikKKwlybSAtZiAuY29uZmlnIC5j b25maWcub2xkIC4uY29uZmlnLnRtcCAua2NvbmZpZy5kIC50bXBjb25maWcqIC5jY3dyYXAgLnhj b21waWxlCiAKKy5QSE9OWTogJChQSE9OWSkgY2xlYW4gY2xlYW4tY3Njb3BlIGNzY29wZSBkaXN0 Y2xlYW4gZG94eWdlbiBkb3h5IC54Y29tcGlsZQpkaWZmIC0tZ2l0IGEvcGF5bG9hZHMvbGlicGF5 bG9hZC9NYWtlZmlsZS5pbmMgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL01ha2VmaWxlLmluYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWY3OWE2Ci0tLSAvZGV2L251bGwKKysr IGIvcGF5bG9hZHMvbGlicGF5bG9hZC9NYWtlZmlsZS5pbmMKQEAgLTAsMCArMSwxMDUgQEAKKyMj CisjIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgbGlicGF5bG9hZCBwcm9qZWN0LgorIyMKKyMj IENvcHlyaWdodCAoQykgMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisjIyBDb3B5 cmlnaHQgKEMpIDIwMDggVXdlIEhlcm1hbm4gPHV3ZUBoZXJtYW5uLXV3ZS5kZT4KKyMjIENvcHly aWdodCAoQykgMjAxMSBzZWN1bmV0IFNlY3VyaXR5IE5ldHdvcmtzIEFHCisjIworIyMgUmVkaXN0 cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo b3V0CisjIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnMKKyMjIGFyZSBtZXQ6CisjIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyMgICAgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor IyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh Ym92ZSBjb3B5cmlnaHQKKyMjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMjICAgIGRvY3VtZW50YXRpb24gYW5k L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIyAz LiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy b21vdGUgcHJvZHVjdHMKKyMjICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIyMKKyMjIFRISVMgU09GVFdBUkUg SVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQK KyMjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U IExJTUlURUQgVE8sIFRIRQorIyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyMjIEFSRSBESVNDTEFJTUVE LiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF CisjIyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q TEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyMjIE9SIFNFUlZJQ0VT OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O KQorIyMgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU SEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyMjIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyMjIE9VVCBPRiBU SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ VFkgT0YKKyMjIFNVQ0ggREFNQUdFLgorIyMKKworZXhwb3J0IEtFUk5FTFZFUlNJT04gICAgICA6 PSAwLjIuMAorCitBUkNIRElSLSQoQ09ORklHX1RBUkdFVF9JMzg2KSAgICA6PSBpMzg2CitBUkNI RElSLSQoQ09ORklHX1RBUkdFVF9QT1dFUlBDKSA6PSBwb3dlcnBjCisKK3JlYWwtdGFyZ2V0OiBs aWIKKworY2xhc3Nlcy0kKENPTkZJR19QQ0kpICs9IGxpYnBjaQorY2xhc3Nlcy0kKENPTkZJR19M SUJDKSArPSBsaWJjCitjbGFzc2VzLSQoQ09ORklHX1RJTllDVVJTRVMpICs9IGxpYmN1cnNlcwor bGlicmFyaWVzIDo9ICQoY2xhc3Nlcy15KQorY2xhc3Nlcy15ICs9IGhlYWQubworCitsaWJwY2kt Yy1kZXBzID0gJChvYmopL2xpYnBheWxvYWQtY29uZmlnLmgKK2xpYmMtYy1kZXBzID0gJChvYmop L2xpYnBheWxvYWQtY29uZmlnLmgKK2xpYmN1cnNlcy1jLWRlcHMgPSAkKG9iaikvbGlicGF5bG9h ZC1jb25maWcuaAoraGVhZC5vLVMtZGVwcyA9ICQob2JqKS9saWJwYXlsb2FkLWNvbmZpZy5oCisK K3N1YmRpcnMteSA6PSBhcmNoLyQoQVJDSERJUi15KQorc3ViZGlycy15ICs9IGNyeXB0byBsaWJj IGRyaXZlcnMgbGlicGNpCitzdWJkaXJzLSQoQ09ORklHX1RJTllDVVJTRVMpICs9IGN1cnNlcwor CitJTkNMVURFUyA6PSAtSWluY2x1ZGUgLUlpbmNsdWRlLyQoQVJDSERJUi15KSAtSSQob2JqKQor Q0ZMQUdTID0gJChJTkNMVURFUykgLU8yIC1waXBlIC1nCitDRkxBR1MgKz0gLW5vc3RkbGliIC1X YWxsIC1XdW5kZWYgLVdzdHJpY3QtcHJvdG90eXBlcyAtV21pc3NpbmctcHJvdG90eXBlcworQ0ZM QUdTICs9IC1Xd3JpdGUtc3RyaW5ncyAtV3JlZHVuZGFudC1kZWNscyAtV25vLXRyaWdyYXBocwor Q0ZMQUdTICs9IC1Xc3RyaWN0LWFsaWFzaW5nIC1Xc2hhZG93IC1mbm8tYnVpbHRpbgorCiskKG9i aikvbGlicGF5bG9hZC1jb25maWcuaDogJChLQ09ORklHX0FVVE9IRUFERVIpCisJY21wICRAICQ8 IHx8IGNwICQ8ICRACisKK2xpYnJhcnktdGFyZ2V0cyA9ICQoYWRkc3VmZml4IC5hLCQoYWRkcHJl Zml4ICQob2JqKS8sJChsaWJyYXJpZXMpKSkgJChvYmopL2xpYnBheWxvYWQuYQorbGliOiAkJChs aWJyYXJ5LXRhcmdldHMpICQob2JqKS9oZWFkLm8KKworJChvYmopL2xpYnBheWxvYWQuYTogJChm b3JlYWNoIGNsYXNzLCQobGlicmFyaWVzKSwkJCgkKGNsYXNzKS1vYmpzKSkKKwlwcmludGYgIiAg QVIgICAgICAkKHN1YnN0ICQoc2hlbGwgcHdkKS8sLCQoQCkpXG4iCisJJChBUikgcmMgJEAgJF4K KworJChvYmopLyUuYTogJCQoJS1vYmpzKQorCXByaW50ZiAiICBBUiAgICAgICQoc3Vic3QgJChz aGVsbCBwd2QpLywsJChAKSlcbiIKKwkkKEFSKSByYyAkQCAkXgorCiskKG9iaikvaGVhZC5vOiAk KG9iaikvYXJjaC8kKEFSQ0hESVIteSkvaGVhZC5oZWFkLm8ubworCXByaW50ZiAiICBDUCAgICAg ICQoc3Vic3QgJChzaGVsbCBwd2QpLywsJChAKSlcbiIKKwljcCAkXiAkQAorCitpbnN0YWxsOiBy ZWFsLXRhcmdldAorCXByaW50ZiAiICBJTlNUQUxMICQoREVTVERJUikvbGlicGF5bG9hZC9saWJc biIKKwlpbnN0YWxsIC1tIDc1NSAtZCAkKERFU1RESVIpL2xpYnBheWxvYWQvbGliCisJZm9yIGxp YiBpbiAkKGxpYnJhcnktdGFyZ2V0cyk7IGRvIFwKKwkJaW5zdGFsbCAtbSA2NDQgJCRsaWIgJChE RVNURElSKS9saWJwYXlsb2FkL2xpYi87IFwKKwlkb25lCisJaW5zdGFsbCAtbSA2NDQgbGliL2xp YnBheWxvYWQubGRzY3JpcHQgJChERVNURElSKS9saWJwYXlsb2FkL2xpYi8KKwlpbnN0YWxsIC1t IDc1NSAtZCAkKERFU1RESVIpL2xpYnBheWxvYWQvbGliLyQoQVJDSERJUi15KQorCWluc3RhbGwg LW0gNjQ0ICQob2JqKS9oZWFkLm8gJChERVNURElSKS9saWJwYXlsb2FkL2xpYi8kKEFSQ0hESVIt eSkKKwlwcmludGYgIiAgSU5TVEFMTCAkKERFU1RESVIpL2xpYnBheWxvYWQvaW5jbHVkZVxuIgor CWluc3RhbGwgLW0gNzU1IC1kICQoREVTVERJUikvbGlicGF5bG9hZC9pbmNsdWRlCisJZm9yIGZp bGUgaW4gYGZpbmQgaW5jbHVkZSAtbmFtZSAqLmggLXR5cGUgZmA7IGRvIFwKKwkJaW5zdGFsbCAt bSA3NTUgLWQgJChERVNURElSKS9saWJwYXlsb2FkL2BkaXJuYW1lICQkZmlsZWA7IFwKKwkJaW5z dGFsbCAtbSA2NDQgJCRmaWxlICQoREVTVERJUikvbGlicGF5bG9hZC8kJGZpbGU7IFwKKwlkb25l CisJaW5zdGFsbCAtbSA2NDQgJChvYmopL2xpYnBheWxvYWQtY29uZmlnLmggJChERVNURElSKS9s aWJwYXlsb2FkL2luY2x1ZGUKKwlwcmludGYgIiAgSU5TVEFMTCAkKERFU1RESVIpL2xpYnBheWxv YWQvYmluXG4iCisJaW5zdGFsbCAtbSA3NTUgLWQgJChERVNURElSKS9saWJwYXlsb2FkL2Jpbgor CWluc3RhbGwgLW0gNzU1IGJpbi9scGdjYyAkKERFU1RESVIpL2xpYnBheWxvYWQvYmluCisJaW5z dGFsbCAtbSA3NTUgYmluL2xwYXMgJChERVNURElSKS9saWJwYXlsb2FkL2JpbgorCWluc3RhbGwg LW0gNjQ0IGJpbi9scC5mdW5jdGlvbnMgJChERVNURElSKS9saWJwYXlsb2FkL2JpbgorCWluc3Rh bGwgLW0gNjQ0IC5jb25maWcgJChERVNURElSKS9saWJwYXlsb2FkL2xpYnBheWxvYWQuY29uZmln CisKK2NsZWFuLWZvci11cGRhdGUtdGFyZ2V0OgorCXJtIC1mICQoYWRkc3VmZml4IC5hLCQoYWRk cHJlZml4ICQob2JqKS8sJChsaWJyYXJpZXMpKSkgJChvYmopL2xpYnBheWxvYWQuYQorCitjbGVh bi10YXJnZXQ6CitwcmVwYXJlOgpkaWZmIC0tZ2l0IGEvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNo L2kzODYvTWFrZWZpbGUuaW5jIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvTWFrZWZp bGUuaW5jCmluZGV4IDY0NjFiNzIuLjJiZTVlNTQgMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBh eWxvYWQvYXJjaC9pMzg2L01ha2VmaWxlLmluYworKysgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2Fy Y2gvaTM4Ni9NYWtlZmlsZS5pbmMKQEAgLTI3LDkgKzI3LDEwIEBACiAjIyBTVUNIIERBTUFHRS4K ICMjCiAKLVRBUkdFVFMteSArPSBhcmNoL2kzODYvaGVhZC5TLm8gYXJjaC9pMzg2L21haW4ubyBh cmNoL2kzODYvc3lzaW5mby5vCi1UQVJHRVRTLXkgKz0gYXJjaC9pMzg2L3RpbWVyLm8gYXJjaC9p Mzg2L2NvcmVib290Lm8gYXJjaC9pMzg2L3V0aWwuUy5vCi1UQVJHRVRTLXkgKz0gYXJjaC9pMzg2 L2V4ZWMuUy5vIGFyY2gvaTM4Ni92aXJ0dWFsLm8KK2hlYWQuby15ICs9IGhlYWQuUworbGliYy15 ICs9IG1haW4uYyBzeXNpbmZvLmMKK2xpYmMteSArPSB0aW1lci5jIGNvcmVib290LmMgdXRpbC5T CitsaWJjLXkgKz0gZXhlYy5TIHZpcnR1YWwuYwogCiAjIE11bHRpYm9vdCBzdXBwb3J0IGlzIGNv bmZpZ3VyYWJsZQotVEFSR0VUUy0kKENPTkZJR19NVUxUSUJPT1QpICs9IGFyY2gvaTM4Ni9tdWx0 aWJvb3QubworbGliYy0kKENPTkZJR19NVUxUSUJPT1QpICs9IG11bHRpYm9vdC5jCmRpZmYgLS1n aXQgYS9wYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy9NYWtlZmlsZS5pbmMgYi9wYXls b2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy9NYWtlZmlsZS5pbmMKaW5kZXggZGRmYjlmYi4u YmZiZWMyNyAxMDA2NDQKLS0tIGEvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL3Bvd2VycGMvTWFr ZWZpbGUuaW5jCisrKyBiL3BheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9wb3dlcnBjL01ha2VmaWxl LmluYwpAQCAtMjcsNyArMjcsOCBAQAogIyMgU1VDSCBEQU1BR0UuCiAjIwogCi1UQVJHRVRTLXkg Kz0gYXJjaC9wb3dlcnBjL2hlYWQuUy5vIGFyY2gvcG93ZXJwYy9tYWluLm8gYXJjaC9wb3dlcnBj L3N5c2luZm8ubwotVEFSR0VUUy15ICs9IGFyY2gvcG93ZXJwYy90aW1lci5vIGFyY2gvcG93ZXJw Yy9jb3JlYm9vdC5vIGFyY2gvcG93ZXJwYy91dGlsLlMubwotVEFSR0VUUy15ICs9IGFyY2gvcG93 ZXJwYy9leGVjLlMubyBhcmNoL3Bvd2VycGMvdmlydHVhbC5vCitoZWFkLm8teSA6PSBoZWFkLlMK K2xpYmMteSArPSBtYWluLmMgc3lzaW5mby5jCitsaWJjLXkgKz0gdGltZXIuYyBjb3JlYm9vdC5j IHV0aWwuUy5jCitsaWJjLXkgKz0gZXhlYy5TIHZpcnR1YWwuYwogCmRpZmYgLS1naXQgYS9wYXls b2Fkcy9saWJwYXlsb2FkL2NyeXB0by9NYWtlZmlsZS5pbmMgYi9wYXlsb2Fkcy9saWJwYXlsb2Fk L2NyeXB0by9NYWtlZmlsZS5pbmMKaW5kZXggOGQ5ZjA4Mi4uMzk5NjcyOCAxMDA2NDQKLS0tIGEv cGF5bG9hZHMvbGlicGF5bG9hZC9jcnlwdG8vTWFrZWZpbGUuaW5jCisrKyBiL3BheWxvYWRzL2xp YnBheWxvYWQvY3J5cHRvL01ha2VmaWxlLmluYwpAQCAtMjcsNCArMjcsNCBAQAogIyMgU1VDSCBE QU1BR0UuCiAjIwogCi1UQVJHRVRTLXkgKz0gY3J5cHRvL3NoYTEubworbGliYy15ICs9IHNoYTEu YwpkaWZmIC0tZ2l0IGEvcGF5bG9hZHMvbGlicGF5bG9hZC9jdXJzZXMvTWFrZWZpbGUuaW5jIGIv cGF5bG9hZHMvbGlicGF5bG9hZC9jdXJzZXMvTWFrZWZpbGUuaW5jCmluZGV4IDdkNTU5N2MuLjQ0 ZTNhYjcgMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBheWxvYWQvY3Vyc2VzL01ha2VmaWxlLmlu YworKysgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2N1cnNlcy9NYWtlZmlsZS5pbmMKQEAgLTI3LDYg KzI3LDggQEAKICMjIFNVQ0ggREFNQUdFLgogIyMKIAotVEFSR0VUUy0kKENPTkZJR19USU5ZQ1VS U0VTKSArPSBjdXJzZXMva2V5Ym9hcmQubwotVEFSR0VUUy0kKENPTkZJR19USU5ZQ1VSU0VTKSAr PSBjdXJzZXMvdGlueWN1cnNlcy5vCi1UQVJHRVRTLSQoQ09ORklHX1RJTllDVVJTRVMpICs9IGN1 cnNlcy9jb2xvcnMubworc3ViZGlycy15IDo9IGxpYmZvcm0gbGlicGFuZWwgbGlibWVudQorCits aWJjdXJzZXMtJChDT05GSUdfVElOWUNVUlNFUykgKz0ga2V5Ym9hcmQuYworbGliY3Vyc2VzLSQo Q09ORklHX1RJTllDVVJTRVMpICs9IHRpbnljdXJzZXMuYworbGliY3Vyc2VzLSQoQ09ORklHX1RJ TllDVVJTRVMpICs9IGNvbG9ycy5jCmRpZmYgLS1naXQgYS9wYXlsb2Fkcy9saWJwYXlsb2FkL2Ry aXZlcnMvTWFrZWZpbGUuaW5jIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9kcml2ZXJzL01ha2VmaWxl LmluYwppbmRleCBlOTQ5NmE2Li4zNjBhMjU4IDEwMDY0NAotLS0gYS9wYXlsb2Fkcy9saWJwYXls b2FkL2RyaXZlcnMvTWFrZWZpbGUuaW5jCisrKyBiL3BheWxvYWRzL2xpYnBheWxvYWQvZHJpdmVy cy9NYWtlZmlsZS5pbmMKQEAgLTI5LDQ1ICsyOSw0NSBAQAogIyMgU1VDSCBEQU1BR0UuCiAjIwog Ci1UQVJHRVRTLSQoQ09ORklHX1BDSSkgKz0gZHJpdmVycy9wY2kubworbGliYy0kKENPTkZJR19Q Q0kpICs9IHBjaS5jCiAKLVRBUkdFVFMtJChDT05GSUdfU1BFQUtFUikgKz0gZHJpdmVycy9zcGVh a2VyLm8KK2xpYmMtJChDT05GSUdfU1BFQUtFUikgKz0gc3BlYWtlci5jCiAKLVRBUkdFVFMtJChD T05GSUdfU0VSSUFMX0NPTlNPTEUpICs9IGRyaXZlcnMvc2VyaWFsLm8KK2xpYmMtJChDT05GSUdf U0VSSUFMX0NPTlNPTEUpICs9IHNlcmlhbC5jCiAKLVRBUkdFVFMtJChDT05GSUdfUENfS0VZQk9B UkQpICs9IGRyaXZlcnMva2V5Ym9hcmQubworbGliYy0kKENPTkZJR19QQ19LRVlCT0FSRCkgKz0g a2V5Ym9hcmQuYwogCi1UQVJHRVRTLSQoQ09ORklHX05WUkFNKSArPSBkcml2ZXJzL252cmFtLm8K LVRBUkdFVFMtJChDT05GSUdfTlZSQU0pICs9IGRyaXZlcnMvb3B0aW9ucy5vCitsaWJjLSQoQ09O RklHX05WUkFNKSArPSBudnJhbS5jCitsaWJjLSQoQ09ORklHX05WUkFNKSArPSBvcHRpb25zLmMK IAogIyBWaWRlbyBjb25zb2xlIGRyaXZlcnMKLVRBUkdFVFMtJChDT05GSUdfVklERU9fQ09OU09M RSkgKz0gZHJpdmVycy92aWRlby92aWRlby5vCi1UQVJHRVRTLSQoQ09ORklHX1ZHQV9WSURFT19D T05TT0xFKSArPSBkcml2ZXJzL3ZpZGVvL3ZnYS5vCitsaWJjLSQoQ09ORklHX1ZJREVPX0NPTlNP TEUpICs9IHZpZGVvL3ZpZGVvLmMKK2xpYmMtJChDT05GSUdfVkdBX1ZJREVPX0NPTlNPTEUpICs9 IHZpZGVvL3ZnYS5jCiAKICMgR2VvZGUgTFggY29uc29sZSBkcml2ZXJzCi1UQVJHRVRTLSQoQ09O RklHX0dFT0RFTFhfVklERU9fQ09OU09MRSkgKz0gZHJpdmVycy92aWRlby9nZW9kZWx4Lm8KLVRB UkdFVFMtJChDT05GSUdfR0VPREVMWF9WSURFT19DT05TT0xFKSArPSBkcml2ZXJzL3ZpZGVvL2Zv bnQ4eDE2Lm8KK2xpYmMtJChDT05GSUdfR0VPREVMWF9WSURFT19DT05TT0xFKSArPSB2aWRlby9n ZW9kZWx4LmMKK2xpYmMtJChDT05GSUdfR0VPREVMWF9WSURFT19DT05TT0xFKSArPSB2aWRlby9m b250OHgxNi5jCiAKICMgY29yZWJvb3QgZ2VuZXJpYyBmcmFtZWJ1ZmZlciBkcml2ZXIKLVRBUkdF VFMtJChDT05GSUdfQ09SRUJPT1RfVklERU9fQ09OU09MRSkgKz0gZHJpdmVycy92aWRlby9jb3Jl Ym9vdGZiLm8KLVRBUkdFVFMtJChDT05GSUdfQ09SRUJPT1RfVklERU9fQ09OU09MRSkgKz0gZHJp dmVycy92aWRlby9mb250OHgxNi5vCitsaWJjLSQoQ09ORklHX0NPUkVCT09UX1ZJREVPX0NPTlNP TEUpICs9IHZpZGVvL2NvcmVib290ZmIuYworbGliYy0kKENPTkZJR19DT1JFQk9PVF9WSURFT19D T05TT0xFKSArPSB2aWRlby9mb250OHgxNi5jCiAKICMgVVNCIHN0YWNrCi1UQVJHRVRTLSQoQ09O RklHX1VTQikgKz0gZHJpdmVycy91c2IvdXNiaW5pdC5vCi1UQVJHRVRTLSQoQ09ORklHX1VTQikg Kz0gZHJpdmVycy91c2IvdXNiLm8KLVRBUkdFVFMtJChDT05GSUdfVVNCKSArPSBkcml2ZXJzL3Vz Yi91c2JfZGV2Lm8KLVRBUkdFVFMtJChDT05GSUdfVVNCKSArPSBkcml2ZXJzL3VzYi9xdWlya3Mu bwotVEFSR0VUUy0kKENPTkZJR19VU0JfSFVCKSArPSBkcml2ZXJzL3VzYi91c2JodWIubwotVEFS R0VUUy0kKENPTkZJR19VU0JfVUhDSSkgKz0gZHJpdmVycy91c2IvdWhjaS5vCi1UQVJHRVRTLSQo Q09ORklHX1VTQl9VSENJKSArPSBkcml2ZXJzL3VzYi91aGNpX3JoLm8KLVRBUkdFVFMtJChDT05G SUdfVVNCX09IQ0kpICs9IGRyaXZlcnMvdXNiL29oY2kubwotVEFSR0VUUy0kKENPTkZJR19VU0Jf T0hDSSkgKz0gZHJpdmVycy91c2Ivb2hjaV9yaC5vCi1UQVJHRVRTLSQoQ09ORklHX1VTQl9FSENJ KSArPSBkcml2ZXJzL3VzYi9laGNpLm8KLVRBUkdFVFMtJChDT05GSUdfVVNCX0VIQ0kpICs9IGRy aXZlcnMvdXNiL2VoY2lfcmgubwotVEFSR0VUUy0kKENPTkZJR19VU0JfWEhDSSkgKz0gZHJpdmVy cy91c2IveGhjaS5vCi1UQVJHRVRTLSQoQ09ORklHX1VTQl9YSENJKSArPSBkcml2ZXJzL3VzYi94 aGNpX3JoLm8KLVRBUkdFVFMtJChDT05GSUdfVVNCX0hJRCkgKz0gZHJpdmVycy91c2IvdXNiaGlk Lm8KLVRBUkdFVFMtJChDT05GSUdfVVNCX01TQykgKz0gZHJpdmVycy91c2IvdXNibXNjLm8KK2xp YmMtJChDT05GSUdfVVNCKSArPSB1c2IvdXNiaW5pdC5jCitsaWJjLSQoQ09ORklHX1VTQikgKz0g dXNiL3VzYi5jCitsaWJjLSQoQ09ORklHX1VTQikgKz0gdXNiL3VzYl9kZXYuYworbGliYy0kKENP TkZJR19VU0IpICs9IHVzYi9xdWlya3MuYworbGliYy0kKENPTkZJR19VU0JfSFVCKSArPSB1c2Iv dXNiaHViLmMKK2xpYmMtJChDT05GSUdfVVNCX1VIQ0kpICs9IHVzYi91aGNpLmMKK2xpYmMtJChD T05GSUdfVVNCX1VIQ0kpICs9IHVzYi91aGNpX3JoLmMKK2xpYmMtJChDT05GSUdfVVNCX09IQ0kp ICs9IHVzYi9vaGNpLmMKK2xpYmMtJChDT05GSUdfVVNCX09IQ0kpICs9IHVzYi9vaGNpX3JoLmMK K2xpYmMtJChDT05GSUdfVVNCX0VIQ0kpICs9IHVzYi9laGNpLmMKK2xpYmMtJChDT05GSUdfVVNC X0VIQ0kpICs9IHVzYi9laGNpX3JoLmMKK2xpYmMtJChDT05GSUdfVVNCX1hIQ0kpICs9IHVzYi94 aGNpLmMKK2xpYmMtJChDT05GSUdfVVNCX1hIQ0kpICs9IHVzYi94aGNpX3JoLmMKK2xpYmMtJChD T05GSUdfVVNCX0hJRCkgKz0gdXNiL3VzYmhpZC5jCitsaWJjLSQoQ09ORklHX1VTQl9NU0MpICs9 IHVzYi91c2Jtc2MuYwogCiAjIHVzZWQgYnkgYm90aCBVU0IgSElEIGFuZCBrZXlib2FyZAotVEFS R0VUUy15ICs9IGRyaXZlcnMvaGlkLm8KK2xpYmMteSArPSBoaWQuYwpkaWZmIC0tZ2l0IGEvcGF5 bG9hZHMvbGlicGF5bG9hZC9saWJjL01ha2VmaWxlLmluYyBiL3BheWxvYWRzL2xpYnBheWxvYWQv bGliYy9NYWtlZmlsZS5pbmMKaW5kZXggZDYyOWNjYy4uNGVjMmEwMiAxMDA2NDQKLS0tIGEvcGF5 bG9hZHMvbGlicGF5bG9hZC9saWJjL01ha2VmaWxlLmluYworKysgYi9wYXlsb2Fkcy9saWJwYXls b2FkL2xpYmMvTWFrZWZpbGUuaW5jCkBAIC0yOCwxMiArMjgsMTIgQEAKICMjIFNVQ0ggREFNQUdF LgogIyMKIAotVEFSR0VUUy0kKENPTkZJR19MSUJDKSArPSBsaWJjL21hbGxvYy5vIGxpYmMvcHJp bnRmLm8gbGliYy9jb25zb2xlLm8gbGliYy9zdHJpbmcubwotVEFSR0VUUy0kKENPTkZJR19MSUJD KSArPSBsaWJjL21lbW9yeS5vIGxpYmMvY3R5cGUubyBsaWJjL2lwY2hlY2tzdW0ubyBsaWJjL2xp Yi5vCi1UQVJHRVRTLSQoQ09ORklHX0xJQkMpICs9IGxpYmMvcmFuZC5vIGxpYmMvdGltZS5vIGxp YmMvZXhlYy5vCi1UQVJHRVRTLSQoQ09ORklHX0xJQkMpICs9IGxpYmMvcmVhZGxpbmUubyBsaWJj L2dldG9wdF9sb25nLm8gbGliYy9zeXNpbmZvLm8KLVRBUkdFVFMtJChDT05GSUdfTElCQykgKz0g bGliYy9hcmdzLm8gbGliYy9zdHJpbmdzLm8KK2xpYmMtJChDT05GSUdfTElCQykgKz0gbWFsbG9j LmMgcHJpbnRmLmMgY29uc29sZS5jIHN0cmluZy5jCitsaWJjLSQoQ09ORklHX0xJQkMpICs9IG1l bW9yeS5jIGN0eXBlLmMgaXBjaGVja3N1bS5jIGxpYi5jCitsaWJjLSQoQ09ORklHX0xJQkMpICs9 IHJhbmQuYyB0aW1lLmMgZXhlYy5jCitsaWJjLSQoQ09ORklHX0xJQkMpICs9IHJlYWRsaW5lLmMg Z2V0b3B0X2xvbmcuYyBzeXNpbmZvLmMKK2xpYmMtJChDT05GSUdfTElCQykgKz0gYXJncy5jIHN0 cmluZ3MuYwogCiAjIHNob3VsZCBiZSBtb3ZlZCB0byBjb3JlYm9vdCBkaXJlY3RvcnkKLVRBUkdF VFMtJChDT05GSUdfTEFSKSArPSBsaWJjL2xhci5vCi0jVEFSR0VUUy0kKENPTkZJR19DQkZTKSAr PSBsaWJjL2NiZnMubworbGliYy0kKENPTkZJR19MQVIpICs9IGxhci5jCisjbGliYy0kKENPTkZJ R19DQkZTKSArPSBjYmZzLmMKZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxvYWQvbGlicGNp L01ha2VmaWxlLmluYyBiL3BheWxvYWRzL2xpYnBheWxvYWQvbGlicGNpL01ha2VmaWxlLmluYwpp bmRleCA1YzNjM2VhLi5mNTQyYWNiIDEwMDY0NAotLS0gYS9wYXlsb2Fkcy9saWJwYXlsb2FkL2xp YnBjaS9NYWtlZmlsZS5pbmMKKysrIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9saWJwY2kvTWFrZWZp bGUuaW5jCkBAIC0yNyw0ICsyNyw0IEBACiAjIyBTVUNIIERBTUFHRS4KICMjCiAKLVRBUkdFVFMt eSArPSBsaWJwY2kvbGlicGNpLm8KK2xpYnBjaS15ICs9IGxpYnBjaS5jCi0tIAoxLjcuNC40Cgo=
Content-Transfer-Encoding: base64
Content-Type: text/x-c; charset=us-ascii; charset=UTF-8; name=0002-Reduce-warnings-errors-in-libpayload-when-using-pick.patch
Content-Disposition: attachment; filename=0002-Reduce-warnings-errors-in-libpayload-when-using-pick.patch
UmVkdWNlIHdhcm5pbmdzL2Vycm9ycyBpbiBsaWJwYXlsb2FkIHdoZW4gdXNpbmcgcGlja3kgY29t cGlsZXIgb3B0aW9ucwoKU2lnbmVkLW9mZi1ieTogUGF0cmljayBHZW9yZ2kgPHBhdHJpY2tAZ2Vv cmdpLWNsYW4uZGU+Ci0tLQogcGF5bG9hZHMvbGlicGF5bG9hZC9Db25maWcuaW4gICAgICAgICAg ICAgICB8ICAgIDQgKysrKwogcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvY29yZWJvb3Qu YyAgICB8ICAgIDIgKy0KIHBheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9pMzg2L21haW4uYyAgICAg ICAgfCAgICAxICsKIHBheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9pMzg2L211bHRpYm9vdC5jICAg fCAgICA0ICsrLS0KIHBheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9pMzg2L3ZpcnR1YWwuYyAgICAg fCAgICAxICsKIHBheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9wb3dlcnBjL2NvcmVib290LmMgfCAg ICAyICstCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy9tYWluLmMgICAgIHwgICAg MSArCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy92aXJ0dWFsLmMgIHwgICAgMSAr CiBwYXlsb2Fkcy9saWJwYXlsb2FkL2N1cnNlcy9rZXlib2FyZC5jICAgICAgIHwgICAyMCArKysr KysrKysrLS0tLS0tLS0tLQogcGF5bG9hZHMvbGlicGF5bG9hZC9jdXJzZXMvdGlueWN1cnNlcy5j ICAgICB8ICAgIDIgKy0KIHBheWxvYWRzL2xpYnBheWxvYWQvZHJpdmVycy9rZXlib2FyZC5jICAg ICAgfCAgIDE0ICsrKysrKystLS0tLS0tCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2RyaXZlcnMvc2Vy aWFsLmMgICAgICAgIHwgICAgMiArLQogcGF5bG9hZHMvbGlicGF5bG9hZC9kcml2ZXJzL3VzYi91 aGNpLmMgICAgICB8ICAgIDIgKy0KIHBheWxvYWRzL2xpYnBheWxvYWQvZHJpdmVycy91c2IvdXNi aGlkLmMgICAgfCAgIDEyICsrKysrKy0tLS0tLQogcGF5bG9hZHMvbGlicGF5bG9hZC9pbmNsdWRl L2xpYnBheWxvYWQuaCAgICB8ICAgIDEgKwogcGF5bG9hZHMvbGlicGF5bG9hZC9saWJjL2dldG9w dF9sb25nLmMgICAgICB8ICAgIDQgKy0tLQogcGF5bG9hZHMvbGlicGF5bG9hZC9saWJjL3ByaW50 Zi5jICAgICAgICAgICB8ICAgIDIgKy0KIHBheWxvYWRzL2xpYnBheWxvYWQvbGliYy9zdHJpbmdz LmMgICAgICAgICAgfCAgICAyICsrCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvc3lzaW5mby5j ICAgICAgICAgIHwgICAgMiAtLQogcGF5bG9hZHMvbGlicGF5bG9hZC9saWJwY2kvbGlicGNpLmMg ICAgICAgICB8ICAgMTAgKysrKysrLS0tLQogMjAgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9u cygrKSwgNDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGF5bG9hZHMvbGlicGF5bG9hZC9D b25maWcuaW4gYi9wYXlsb2Fkcy9saWJwYXlsb2FkL0NvbmZpZy5pbgppbmRleCAwYTkyNjVkLi5m ZTUzNDAwIDEwMDY0NAotLS0gYS9wYXlsb2Fkcy9saWJwYXlsb2FkL0NvbmZpZy5pbgorKysgYi9w YXlsb2Fkcy9saWJwYXlsb2FkL0NvbmZpZy5pbgpAQCAtNzMsNiArNzMsMTAgQEAgY29uZmlnIFRB UkdFVF9QT1dFUlBDCiAKIGVuZGNob2ljZQogCitjb25maWcgTUVNTUFQX1JBTV9PTkxZCisJYm9v bCAiT25seSBjb25zaWRlciBSQU0gZW50cmllcyBpbiBtZW1vcnkgbWFwIGZvciBmdXJ0aGVyIHBy b2Nlc3NpbmciCisJZGVmYXVsdCBuCisKIGNvbmZpZyBNVUxUSUJPT1QKIAlib29sICJNdWx0aWJv b3QgaGVhZGVyIHN1cHBvcnQiCiAJZGVwZW5kcyBvbiBUQVJHRVRfSTM4NgpkaWZmIC0tZ2l0IGEv cGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvY29yZWJvb3QuYyBiL3BheWxvYWRzL2xpYnBh eWxvYWQvYXJjaC9pMzg2L2NvcmVib290LmMKaW5kZXggODQ0MTkwMy4uZTNjOTQ0ZCAxMDA2NDQK LS0tIGEvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvY29yZWJvb3QuYworKysgYi9wYXls b2Fkcy9saWJwYXlsb2FkL2FyY2gvaTM4Ni9jb3JlYm9vdC5jCkBAIC01Nyw3ICs1Nyw3IEBAIHN0 YXRpYyB2b2lkIGNiX3BhcnNlX21lbW9yeSh1bnNpZ25lZCBjaGFyICpwdHIsIHN0cnVjdCBzeXNp bmZvX3QgKmluZm8pCiAJCXN0cnVjdCBjYl9tZW1vcnlfcmFuZ2UgKnJhbmdlID0KIAkJICAgIChz dHJ1Y3QgY2JfbWVtb3J5X3JhbmdlICopTUVNX1JBTkdFX1BUUihtZW0sIGkpOwogCi0jaWYgTUVN TUFQX1JBTV9PTkxZCisjaWZkZWYgQ09ORklHX01FTU1BUF9SQU1fT05MWQogCQlpZiAocmFuZ2Ut PnR5cGUgIT0gQ0JfTUVNX1JBTSkKIAkJCWNvbnRpbnVlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9w YXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvaTM4Ni9tYWluLmMgYi9wYXlsb2Fkcy9saWJwYXlsb2Fk L2FyY2gvaTM4Ni9tYWluLmMKaW5kZXggNDhkNmVmNS4uMzc4YzZmMyAxMDA2NDQKLS0tIGEvcGF5 bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvbWFpbi5jCisrKyBiL3BheWxvYWRzL2xpYnBheWxv YWQvYXJjaC9pMzg2L21haW4uYwpAQCAtNDEsNiArNDEsNyBAQCBjaGFyICptYWluX2FyZ3ZbTUFY X0FSR0NfQ09VTlRdOwogICogVGhpcyBpcyBvdXIgQyBlbnRyeSBmdW5jdGlvbiAtIHNldCB1cCB0 aGUgc3lzdGVtCiAgKiBhbmQganVtcCBpbnRvIHRoZSBwYXlsb2FkIGVudHJ5IHBvaW50LgogICov Cit2b2lkIHN0YXJ0X21haW4odm9pZCk7CiB2b2lkIHN0YXJ0X21haW4odm9pZCkKIHsKIAlleHRl cm4gaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKZGlmZiAtLWdpdCBhL3BheWxvYWRz L2xpYnBheWxvYWQvYXJjaC9pMzg2L211bHRpYm9vdC5jIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9h cmNoL2kzODYvbXVsdGlib290LmMKaW5kZXggODI3MzZiMS4uZmEwYzU3NiAxMDA2NDQKLS0tIGEv cGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvbXVsdGlib290LmMKKysrIGIvcGF5bG9hZHMv bGlicGF5bG9hZC9hcmNoL2kzODYvbXVsdGlib290LmMKQEAgLTQ1LDcgKzQ1LDcgQEAgc3RhdGlj IHZvaWQgbWJfcGFyc2VfbW1hcChzdHJ1Y3QgbXVsdGlib290X2hlYWRlciAqdGFibGUsCiAJd2hp bGUocHRyIDwgKHN0YXJ0ICsgdGFibGUtPm1tYXBfbGVuZ3RoKSkgewogCQlzdHJ1Y3QgbXVsdGli b290X21tYXAgKm1tYXAgPSAoc3RydWN0IG11bHRpYm9vdF9tbWFwICopIHB0cjsKIAotI2lmIE1F TU1BUF9SQU1fT05MWQorI2lmZGVmIENPTkZJR19NRU1NQVBfUkFNX09OTFkKIAkJLyogMSA9PSBu b3JtYWwgUkFNLiAgSWdub3JlIGV2ZXJ5dGhpbmcgZWxzZSBmb3Igbm93ICovCiAKIAkJaWYgKG1t YXAtPnR5cGUgPT0gMSkgewpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgdm9pZCBtYl9wYXJzZV9t bWFwKHN0cnVjdCBtdWx0aWJvb3RfaGVhZGVyICp0YWJsZSwKIAogCQkJaWYgKCsraW5mby0+bl9t ZW1yYW5nZXMgPT0gU1lTSU5GT19NQVhfTUVNX1JBTkdFUykKIAkJCQlyZXR1cm47Ci0jaWYgTUVN TUFQX1JBTV9PTkxZCisjaWZkZWYgQ09ORklHX01FTU1BUF9SQU1fT05MWQogCQl9CiAjZW5kaWYK IApkaWZmIC0tZ2l0IGEvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvdmlydHVhbC5jIGIv cGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL2kzODYvdmlydHVhbC5jCmluZGV4IDI1NmJmYzIuLjU5 NzY4ZGIgMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9pMzg2L3ZpcnR1YWwu YworKysgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvaTM4Ni92aXJ0dWFsLmMKQEAgLTI3LDYg KzI3LDcgQEAKICAqIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlIDx1bmlzdGQuaD4KIAog dW5zaWduZWQgbG9uZyB2aXJ0dWFsX29mZnNldCA9IDA7CiAKZGlmZiAtLWdpdCBhL3BheWxvYWRz L2xpYnBheWxvYWQvYXJjaC9wb3dlcnBjL2NvcmVib290LmMgYi9wYXlsb2Fkcy9saWJwYXlsb2Fk L2FyY2gvcG93ZXJwYy9jb3JlYm9vdC5jCmluZGV4IDk1ZDhmMTYuLmVlMTg0MmMgMTAwNjQ0Ci0t LSBhL3BheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9wb3dlcnBjL2NvcmVib290LmMKKysrIGIvcGF5 bG9hZHMvbGlicGF5bG9hZC9hcmNoL3Bvd2VycGMvY29yZWJvb3QuYwpAQCAtNTcsNyArNTcsNyBA QCBzdGF0aWMgdm9pZCBjYl9wYXJzZV9tZW1vcnkodW5zaWduZWQgY2hhciAqcHRyLCBzdHJ1Y3Qg c3lzaW5mb190ICppbmZvKQogCQlzdHJ1Y3QgY2JfbWVtb3J5X3JhbmdlICpyYW5nZSA9CiAJCSAg ICAoc3RydWN0IGNiX21lbW9yeV9yYW5nZSAqKU1FTV9SQU5HRV9QVFIobWVtLCBpKTsKIAotI2lm IE1FTU1BUF9SQU1fT05MWQorI2lmZGVmIENPTkZJR19NRU1NQVBfUkFNX09OTFkKIAkJaWYgKHJh bmdlLT50eXBlICE9IENCX01FTV9SQU0pCiAJCQljb250aW51ZTsKICNlbmRpZgpkaWZmIC0tZ2l0 IGEvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL3Bvd2VycGMvbWFpbi5jIGIvcGF5bG9hZHMvbGli cGF5bG9hZC9hcmNoL3Bvd2VycGMvbWFpbi5jCmluZGV4IDQ4ZDZlZjUuLjM3OGM2ZjMgMTAwNjQ0 Ci0tLSBhL3BheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9wb3dlcnBjL21haW4uYworKysgYi9wYXls b2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy9tYWluLmMKQEAgLTQxLDYgKzQxLDcgQEAgY2hh ciAqbWFpbl9hcmd2W01BWF9BUkdDX0NPVU5UXTsKICAqIFRoaXMgaXMgb3VyIEMgZW50cnkgZnVu Y3Rpb24gLSBzZXQgdXAgdGhlIHN5c3RlbQogICogYW5kIGp1bXAgaW50byB0aGUgcGF5bG9hZCBl bnRyeSBwb2ludC4KICAqLwordm9pZCBzdGFydF9tYWluKHZvaWQpOwogdm9pZCBzdGFydF9tYWlu KHZvaWQpCiB7CiAJZXh0ZXJuIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndik7CmRpZmYg LS1naXQgYS9wYXlsb2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy92aXJ0dWFsLmMgYi9wYXls b2Fkcy9saWJwYXlsb2FkL2FyY2gvcG93ZXJwYy92aXJ0dWFsLmMKaW5kZXggNjMxMmFlMS4uNmZm NTg4YyAxMDA2NDQKLS0tIGEvcGF5bG9hZHMvbGlicGF5bG9hZC9hcmNoL3Bvd2VycGMvdmlydHVh bC5jCisrKyBiL3BheWxvYWRzL2xpYnBheWxvYWQvYXJjaC9wb3dlcnBjL3ZpcnR1YWwuYwpAQCAt MjcsNiArMjcsNyBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgPHVuaXN0ZC5o PgogCiB1bnNpZ25lZCBsb25nIHZpcnR1YWxfb2Zmc2V0ID0gMDsKIApkaWZmIC0tZ2l0IGEvcGF5 bG9hZHMvbGlicGF5bG9hZC9jdXJzZXMva2V5Ym9hcmQuYyBiL3BheWxvYWRzL2xpYnBheWxvYWQv Y3Vyc2VzL2tleWJvYXJkLmMKaW5kZXggYTc1MDY3NS4uN2ViYjA0ZiAxMDA2NDQKLS0tIGEvcGF5 bG9hZHMvbGlicGF5bG9hZC9jdXJzZXMva2V5Ym9hcmQuYworKysgYi9wYXlsb2Fkcy9saWJwYXls b2FkL2N1cnNlcy9rZXlib2FyZC5jCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBpbnQgZ2V0a2V5 c2VxKGNoYXIgKmJ1ZmZlciwgaW50IGxlbiwgaW50IG1heCkKIH0KIAogc3RhdGljIHN0cnVjdCB7 Ci0JY2hhciAqc2VxOworCWNvbnN0IGNoYXIgKnNlcTsKIAlpbnQga2V5OwogfSBlc2NhcGVfY29k ZXNbXSA9IHsKIAl7ICJbQSIsIEtFWV9VUCB9LApAQCAtMTA5LDcgKzEwOSw3IEBAIHN0YXRpYyBp bnQgaGFuZGxlX2VzY2FwZSh2b2lkKQogCQlyZXR1cm4gMjc7CiAKIAlmb3IoaSA9IDA7IGVzY2Fw ZV9jb2Rlc1tpXS5zZXEgIT0gTlVMTDsgaSsrKSB7Ci0JCWNoYXIgKnAgPSBlc2NhcGVfY29kZXNb aV0uc2VxOworCQljb25zdCBjaGFyICpwID0gZXNjYXBlX2NvZGVzW2ldLnNlcTsKIAogCQlmb3Io dCA9IDA7IHQgPCBsZW47IHQrKykgewogCQkJaWYgKCEqcCB8fCAqcCAhPSBidWZmZXJbdF0pCkBA IC0xNDQsNyArMTQ0LDcgQEAgc3RhdGljIGludCBjb29rX3NlcmlhbCh1bnNpZ25lZCBjaGFyIGNo KQogCiAvKiA9PT09PT09PT09PT09PT09IEtleWJvYXJkID09PT09PT09PT09PT09PT0gKi8KIAot c3RhdGljIGludCBjdXJzZXNfZ2V0Y2hhcihpbnQgZGVsYXkpCitzdGF0aWMgaW50IGN1cnNlc19n ZXRjaGFyKGludCBfZGVsYXkpCiB7CiAjaWYgZGVmaW5lZChDT05GSUdfVVNCX0hJRCkgfHwgZGVm aW5lZChDT05GSUdfUENfS0VZQk9BUkQpIHx8IGRlZmluZWQoQ09ORklHX1NFUklBTF9DT05TT0xF KQogCXVuc2lnbmVkIHNob3J0IGM7CkBAIC0xNzUsMTIgKzE3NSwxMiBAQCBzdGF0aWMgaW50IGN1 cnNlc19nZXRjaGFyKGludCBkZWxheSkKIAkJfQogI2VuZGlmCiAKLQkJaWYgKGRlbGF5ID09IDAp CisJCWlmIChfZGVsYXkgPT0gMCkKIAkJCWJyZWFrOwogCi0JCWlmIChkZWxheSA+IDApIHsKKwkJ aWYgKF9kZWxheSA+IDApIHsKIAkJCW1kZWxheSgxKTsKLQkJCWRlbGF5LS07CisJCQlfZGVsYXkt LTsKIAkJfQogCiAKQEAgLTE5MywxNCArMTkzLDE0IEBAIHN0YXRpYyBpbnQgY3Vyc2VzX2dldGNo YXIoaW50IGRlbGF5KQogCiBpbnQgd2dldGNoKFdJTkRPVyAqd2luKQogewotCWludCBkZWxheSA9 IC0xOworCWludCBfZGVsYXkgPSAtMTsKIAogCWlmIChfaGFsZmRlbGF5KQotCQlkZWxheSA9IF9o YWxmZGVsYXk7CisJCV9kZWxheSA9IF9oYWxmZGVsYXk7CiAJZWxzZQotCQlkZWxheSA9IHdpbi0+ X2RlbGF5OworCQlfZGVsYXkgPSB3aW4tPl9kZWxheTsKIAotCXJldHVybiBjdXJzZXNfZ2V0Y2hh cihkZWxheSk7CisJcmV0dXJuIGN1cnNlc19nZXRjaGFyKF9kZWxheSk7CiB9CiAKIGludCBub2Rl bGF5KFdJTkRPVyAqd2luLCBOQ1VSU0VTX0JPT0wgZmxhZykKZGlmZiAtLWdpdCBhL3BheWxvYWRz L2xpYnBheWxvYWQvY3Vyc2VzL3RpbnljdXJzZXMuYyBiL3BheWxvYWRzL2xpYnBheWxvYWQvY3Vy c2VzL3RpbnljdXJzZXMuYwppbmRleCBjYjFkNjk1Li40ZDNlOGUxIDEwMDY0NAotLS0gYS9wYXls b2Fkcy9saWJwYXlsb2FkL2N1cnNlcy90aW55Y3Vyc2VzLmMKKysrIGIvcGF5bG9hZHMvbGlicGF5 bG9hZC9jdXJzZXMvdGlueWN1cnNlcy5jCkBAIC05NzEsNyArOTcxLDcgQEAgaW50IHdzZXRzY3Jy ZWcoV0lORE9XICp3aW4sIGludCB0b3AsIGludCBib3R0b20pCiB9CiAvLyB2b2lkIHdzeW5jZG93 biAoV0lORE9XICopIHt9CiAvLyB2b2lkIHdzeW5jdXAgKFdJTkRPVyAqKSB7fQotLyogRCAqLyB2 b2lkIHd0aW1lb3V0KFdJTkRPVyAqd2luLCBpbnQgZGVsYXkpIHsgd2luLT5fZGVsYXkgPSBkZWxh eTsgfQorLyogRCAqLyB2b2lkIHd0aW1lb3V0KFdJTkRPVyAqd2luLCBpbnQgX2RlbGF5KSB7IHdp bi0+X2RlbGF5ID0gX2RlbGF5OyB9CiAvKiBEICovIGludCB3dG91Y2hsbihXSU5ET1cgKndpbiwg aW50IHksIGludCBuLCBpbnQgY2hhbmdlZCkKIHsKIAlpbnQgaTsKZGlmZiAtLWdpdCBhL3BheWxv YWRzL2xpYnBheWxvYWQvZHJpdmVycy9rZXlib2FyZC5jIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9k cml2ZXJzL2tleWJvYXJkLmMKaW5kZXggMmIyYWMyNi4uYTE4NjBjNSAxMDA2NDQKLS0tIGEvcGF5 bG9hZHMvbGlicGF5bG9hZC9kcml2ZXJzL2tleWJvYXJkLmMKKysrIGIvcGF5bG9hZHMvbGlicGF5 bG9hZC9kcml2ZXJzL2tleWJvYXJkLmMKQEAgLTM3LDcgKzM3LDcgQEAKICNkZWZpbmUgSTgwNDJf TU9ERV9YTEFURSAgICAgMHg0MAogCiBzdHJ1Y3QgbGF5b3V0X21hcHMgewotCWNoYXIgKmNvdW50 cnk7CisJY29uc3QgY2hhciAqY291bnRyeTsKIAl1bnNpZ25lZCBzaG9ydCBtYXBbNF1bMHg1N107 CiB9OwogCkBAIC0yNjEsMjIgKzI2MSwyMiBAQCBpbnQga2V5Ym9hcmRfZ2V0Y2hhcih2b2lkKQog CiBzdGF0aWMgaW50IGtleWJvYXJkX3dhaXRfcmVhZCh2b2lkKQogewotCWludCB0aW1lb3V0ID0g MTAwMDA7CisJaW50IHJldHJpZXMgPSAxMDAwMDsKIAotCXdoaWxlKHRpbWVvdXQtLSAmJiAhKGlu YigweDY0KSAmIDB4MDEpKQorCXdoaWxlKHJldHJpZXMtLSAmJiAhKGluYigweDY0KSAmIDB4MDEp KQogCQl1ZGVsYXkoNTApOwogCi0JcmV0dXJuICh0aW1lb3V0IDw9IDApID8gLTEgOiAwOworCXJl dHVybiAocmV0cmllcyA8PSAwKSA/IC0xIDogMDsKIH0KIAogc3RhdGljIGludCBrZXlib2FyZF93 YWl0X3dyaXRlKHZvaWQpCiB7Ci0JaW50IHRpbWVvdXQgPSAxMDAwMDsKKwlpbnQgcmV0cmllcyA9 IDEwMDAwOwogCi0Jd2hpbGUodGltZW91dC0tICYmIChpbmIoMHg2NCkgJiAweDAyKSkKKwl3aGls ZShyZXRyaWVzLS0gJiYgKGluYigweDY0KSAmIDB4MDIpKQogCQl1ZGVsYXkoNTApOwogCi0JcmV0 dXJuICh0aW1lb3V0IDw9IDApID8gLTEgOiAwOworCXJldHVybiAocmV0cmllcyA8PSAwKSA/IC0x IDogMDsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGNoYXIga2V5Ym9hcmRfZ2V0X21vZGUodm9pZCkK ZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxvYWQvZHJpdmVycy9zZXJpYWwuYyBiL3BheWxv YWRzL2xpYnBheWxvYWQvZHJpdmVycy9zZXJpYWwuYwppbmRleCAwNjc0ZWM4Li5jNjgwNGQyIDEw MDY0NAotLS0gYS9wYXlsb2Fkcy9saWJwYXlsb2FkL2RyaXZlcnMvc2VyaWFsLmMKKysrIGIvcGF5 bG9hZHMvbGlicGF5bG9hZC9kcml2ZXJzL3NlcmlhbC5jCkBAIC0xOTUsNyArMTk1LDcgQEAgaW50 IHNlcmlhbF9nZXRjaGFyKHZvaWQpCiAvKiBBIHZ0MTAwIGRvZXNuJ3QgZG8gY29sb3IsIHNldGFm L3NldGFiIGJlbG93IGFyZSBmcm9tIHh0ZXJtLWNvbG9yLiAqLwogI2RlZmluZSBWVDEwMF9TRVRf Q09MT1IgICAiXGVbMyVkOzQlZG0iCiAKLXN0YXRpYyB2b2lkIHNlcmlhbF9wdXRjbWQoY2hhciAq c3RyKQorc3RhdGljIHZvaWQgc2VyaWFsX3B1dGNtZChjb25zdCBjaGFyICpzdHIpCiB7CiAJd2hp bGUoKnN0cikKIAkJc2VyaWFsX3B1dGNoYXIoKihzdHIrKykpOwpkaWZmIC0tZ2l0IGEvcGF5bG9h ZHMvbGlicGF5bG9hZC9kcml2ZXJzL3VzYi91aGNpLmMgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2Ry aXZlcnMvdXNiL3VoY2kuYwppbmRleCA3MjFmZGUwLi4xZjgwYzZhIDEwMDY0NAotLS0gYS9wYXls b2Fkcy9saWJwYXlsb2FkL2RyaXZlcnMvdXNiL3VoY2kuYworKysgYi9wYXlsb2Fkcy9saWJwYXls b2FkL2RyaXZlcnMvdXNiL3VoY2kuYwpAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgdm9pZAogdGRf ZHVtcCAodGRfdCAqdGQpCiB7CiAJY2hhciB0ZF92YWx1ZVszXTsKLQljaGFyICp0ZF90eXBlOwor CWNvbnN0IGNoYXIgKnRkX3R5cGU7CiAJc3dpdGNoICh0ZC0+cGlkKSB7CiAJCWNhc2UgVUhDSV9T RVRVUDoKIAkJCXRkX3R5cGU9IlNFVFVQIjsKZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxv YWQvZHJpdmVycy91c2IvdXNiaGlkLmMgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2RyaXZlcnMvdXNi L3VzYmhpZC5jCmluZGV4IDg0ZGUwYzguLmJmM2VjMWUgMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xp YnBheWxvYWQvZHJpdmVycy91c2IvdXNiaGlkLmMKKysrIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9k cml2ZXJzL3VzYi91c2JoaWQuYwpAQCAtNjIsNyArNjIsNyBAQCBzdGF0aWMgaW50IGtleWNvdW50 OwogI2RlZmluZSBLRVlCT0FSRF9CVUZGRVJfU0laRSAxNgogc3RhdGljIHNob3J0IGtleWJ1ZmZl cltLRVlCT0FSRF9CVUZGRVJfU0laRV07CiAKLWNoYXIgKmNvdW50cmllc1szNl1bMl0gPSB7Citj b25zdCBjaGFyICpjb3VudHJpZXNbMzZdWzJdID0gewogCXsgIm5vdCBzdXBwb3J0ZWQiLCAidXMi IH0sCiAJeyAiQXJhYmljIiwgImFlIiB9LAogCXsgIkJlbGdpYW4iLCAiYmUiIH0sCkBAIC0xMDUs MTMgKzEwNSwxMyBAQCBjaGFyICpjb3VudHJpZXNbMzZdWzJdID0gewogCiAKIHN0cnVjdCBsYXlv dXRfbWFwcyB7Ci0JY2hhciAqY291bnRyeTsKLQlzaG9ydCBtYXBbNF1bMHg4MF07CisJY29uc3Qg Y2hhciAqY291bnRyeTsKKwljb25zdCBzaG9ydCBtYXBbNF1bMHg4MF07CiB9OwogCi1zdGF0aWMg c3RydWN0IGxheW91dF9tYXBzICptYXA7CitzdGF0aWMgY29uc3Qgc3RydWN0IGxheW91dF9tYXBz ICptYXA7CiAKLXN0YXRpYyBzdHJ1Y3QgbGF5b3V0X21hcHMga2V5Ym9hcmRfbGF5b3V0c1tdID0g eworc3RhdGljIGNvbnN0IHN0cnVjdCBsYXlvdXRfbWFwcyBrZXlib2FyZF9sYXlvdXRzW10gPSB7 CiAvLyAjaWZkZWYgQ09ORklHX1BDX0tFWUJPQVJEX0xBWU9VVF9VUwogeyAuY291bnRyeSA9ICJ1 cyIsIC5tYXAgPSB7CiAJeyAvKiBObyBtb2RpZmllciAqLwpAQCAtMzc4LDcgKzM3OCw3IEBAIHN0 YXRpYyBzdHJ1Y3QgY29uc29sZV9pbnB1dF9kcml2ZXIgY29ucyA9IHsKIH07CiAKIAotaW50IHVz Yl9oaWRfc2V0X2xheW91dCAoY2hhciAqY291bnRyeSkKK3N0YXRpYyBpbnQgdXNiX2hpZF9zZXRf bGF5b3V0IChjb25zdCBjaGFyICpjb3VudHJ5KQogewogCS8qIEZJWE1FIHNob3VsZCBiZSBwZXIg a2V5Ym9hcmQgKi8KIAlpbnQgaTsKZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxvYWQvaW5j bHVkZS9saWJwYXlsb2FkLmggYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2luY2x1ZGUvbGlicGF5bG9h ZC5oCmluZGV4IDc0ZmI3OWEuLjZjZTc1NDggMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBheWxv YWQvaW5jbHVkZS9saWJwYXlsb2FkLmgKKysrIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9pbmNsdWRl L2xpYnBheWxvYWQuaApAQCAtMjcyLDYgKzI3Miw3IEBAIHR5cGVkZWYgc3RydWN0IHsKIHZvaWQg U0hBMUluaXQoU0hBMV9DVFggKmNvbnRleHQpOwogdm9pZCBTSEExVHJhbnNmb3JtKHUzMiBzdGF0 ZVs1XSwgY29uc3QgdTggYnVmZmVyW1NIQTFfQkxPQ0tfTEVOR1RIXSk7CiB2b2lkIFNIQTFVcGRh dGUoU0hBMV9DVFggKmNvbnRleHQsIGNvbnN0IHU4ICpkYXRhLCBzaXplX3QgbGVuKTsKK3ZvaWQg U0hBMVBhZChTSEExX0NUWCAqY29udGV4dCk7CiB2b2lkIFNIQTFGaW5hbCh1OCBkaWdlc3RbU0hB MV9ESUdFU1RfTEVOR1RIXSwgU0hBMV9DVFggKmNvbnRleHQpOwogdTggKnNoYTEoY29uc3QgdTgg KmRhdGEsIHNpemVfdCBsZW4sIHU4ICpidWYpOwogLyoqIEB9ICovCmRpZmYgLS1naXQgYS9wYXls b2Fkcy9saWJwYXlsb2FkL2xpYmMvZ2V0b3B0X2xvbmcuYyBiL3BheWxvYWRzL2xpYnBheWxvYWQv bGliYy9nZXRvcHRfbG9uZy5jCmluZGV4IDQ5M2RmNGQuLjM2NWJjNGEgMTAwNjQ0Ci0tLSBhL3Bh eWxvYWRzL2xpYnBheWxvYWQvbGliYy9nZXRvcHRfbG9uZy5jCisrKyBiL3BheWxvYWRzL2xpYnBh eWxvYWQvbGliYy9nZXRvcHRfbG9uZy5jCkBAIC01NywxMCArNTcsOCBAQAogI2luY2x1ZGUgPGxp YnBheWxvYWQuaD4KICNpbmNsdWRlIDxnZXRvcHQuaD4KICNkZWZpbmUgd2FybngoeC4uLikgcHJp bnRmKHgpCi0vKgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgotKi8K ICNkZWZpbmUJUkVQTEFDRV9HRVRPUFQJCS8qIHVzZSB0aGlzIGdldG9wdCBhcyB0aGUgc3lzdGVt IGdldG9wdCgzKSAqLwogCiAjaWZkZWYgUkVQTEFDRV9HRVRPUFQKQEAgLTg0LDcgKzgyLDcgQEAg aW50IHBvc2l4bHlfY29ycmVjdCA9IDA7CiAjZGVmaW5lCUJBREFSRwkJKCgqb3B0aW9ucyA9PSAn OicpID8gKGludCknOicgOiAoaW50KSc/JykKICNkZWZpbmUJSU5PUkRFUiAJKGludCkxCiAKLSNk ZWZpbmUJRU1TRwkJIiIKKyNkZWZpbmUJRU1TRwkJKGNoYXIqKSIiCiAKIHN0YXRpYyBpbnQgZ2V0 b3B0X2ludGVybmFsKGludCwgY2hhciAqIGNvbnN0ICosIGNvbnN0IGNoYXIgKiwKIAkJCSAgIGNv bnN0IHN0cnVjdCBvcHRpb24gKiwgaW50ICosIGludCk7CmRpZmYgLS1naXQgYS9wYXlsb2Fkcy9s aWJwYXlsb2FkL2xpYmMvcHJpbnRmLmMgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvcHJpbnRm LmMKaW5kZXggMzg5ZDIyNy4uZTNjZjhiYiAxMDA2NDQKLS0tIGEvcGF5bG9hZHMvbGlicGF5bG9h ZC9saWJjL3ByaW50Zi5jCisrKyBiL3BheWxvYWRzL2xpYnBheWxvYWQvbGliYy9wcmludGYuYwpA QCAtMTE0LDcgKzExNCw3IEBAIHN0YXRpYyBpbnQgcHJpbnRmX3B1dHN0cihjb25zdCBjaGFyICpz dHIsIHN0cnVjdCBwcmludGZfc3BlYyAqcHMpCiAJc2l6ZV90IGNvdW50OwogCiAJaWYgKHN0ciA9 PSBOVUxMKSB7Ci0JCWNoYXIgKm51bGxzdHIgPSAiKE5VTEwpIjsKKwkJY29uc3QgY2hhciAqbnVs bHN0ciA9ICIoTlVMTCkiOwogCQlyZXR1cm4gcHJpbnRmX3B1dG5jaGFycyhudWxsc3RyLCBzdHJs ZW4obnVsbHN0ciksIHBzKTsKIAl9CiAKZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxvYWQv bGliYy9zdHJpbmdzLmMgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvc3RyaW5ncy5jCmluZGV4 IDlhNTZiYTEuLjQ2NWFlNGYgMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBheWxvYWQvbGliYy9z dHJpbmdzLmMKKysrIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9saWJjL3N0cmluZ3MuYwpAQCAtMjcs NiArMjcsOCBAQAogICogU1VDSCBEQU1BR0UuCiAgKi8KIAorI2luY2x1ZGUgPHN0cmluZ3MuaD4K KwogaW50IGZmcyhpbnQgaSkKIHsKIAlpbnQgY291bnQgPSAxOwpkaWZmIC0tZ2l0IGEvcGF5bG9h ZHMvbGlicGF5bG9hZC9saWJjL3N5c2luZm8uYyBiL3BheWxvYWRzL2xpYnBheWxvYWQvbGliYy9z eXNpbmZvLmMKaW5kZXggNzNhOWFiNS4uYjFjYWQ1MCAxMDA2NDQKLS0tIGEvcGF5bG9hZHMvbGli cGF5bG9hZC9saWJjL3N5c2luZm8uYworKysgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvc3lz aW5mby5jCkBAIC0zMCw4ICszMCw2IEBACiAjaW5jbHVkZSA8bGlicGF5bG9hZC5oPgogI2luY2x1 ZGUgPHN5c2luZm8uaD4KIAotZXh0ZXJuIHN0cnVjdCBzeXNpbmZvX3QgbGliX3N5c2luZm87Ci0K IGludCBzeXNpbmZvX2hhdmVfbXVsdGlib290KHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJKmFk ZHIgPSAodW5zaWduZWQgbG9uZykgbGliX3N5c2luZm8ubWJ0YWJsZTsKZGlmZiAtLWdpdCBhL3Bh eWxvYWRzL2xpYnBheWxvYWQvbGlicGNpL2xpYnBjaS5jIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9s aWJwY2kvbGlicGNpLmMKaW5kZXggMGI1NGJhMy4uYTYyZTMwYiAxMDA2NDQKLS0tIGEvcGF5bG9h ZHMvbGlicGF5bG9hZC9saWJwY2kvbGlicGNpLmMKKysrIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9s aWJwY2kvbGlicGNpLmMKQEAgLTk2LDYgKzk2LDggQEAgdm9pZCBwY2lfZmlsdGVyX2luaXQoc3Ry dWN0IHBjaV9hY2Nlc3MqIHBhY2MsIHN0cnVjdCBwY2lfZmlsdGVyKiBwZikKIAlwZi0+ZGV2aWNl ID0gLTE7CiB9CiAKK3N0YXRpYyBjaGFyICppbnZhbGlkX3BjaV9kZXZpY2Vfc3RyaW5nID0gKGNo YXIqKSJpbnZhbGlkIHBjaSBkZXZpY2Ugc3RyaW5nIjsKKwogLyogcGFyc2UgZG9tYWluOmJ1czpk ZXYuZnVuYyAod2l0aCBhbGwgY29tcG9uZW50cyBidXQgImRldiIgb3B0aW9uYWwpCiAgKiBpbnRv IGZpbHRlci4KICAqIFJldHVybnMgTlVMTCBvbiBzdWNjZXNzLCBhIHN0cmluZyBwb2ludGVyIHRv IHRoZSBlcnJvciBtZXNzYWdlIG90aGVyd2lzZS4KQEAgLTEwOSw3ICsxMTEsNyBAQCBjaGFyICpw Y2lfZmlsdGVyX3BhcnNlX3Nsb3Qoc3RydWN0IHBjaV9maWx0ZXIqIGZpbHRlciwgY29uc3QgY2hh ciogaWQpCiAJY2hhciAqZnVuY3AgPSBzdHJyY2hyKGlkLCAnLicpOwogCWlmIChmdW5jcCkgewog CQlmaWx0ZXItPmZ1bmMgPSBzdHJ0b3VsKGZ1bmNwKzEsICZlbmRwdHIsIDApOwotCQlpZiAoZW5k cHRyWzBdICE9ICdcMCcpIHJldHVybiAiaW52YWxpZCBwY2kgZGV2aWNlIHN0cmluZyI7CisJCWlm IChlbmRwdHJbMF0gIT0gJ1wwJykgcmV0dXJuIGludmFsaWRfcGNpX2RldmljZV9zdHJpbmc7CiAJ fQogCiAJY2hhciAqZGV2cCA9IHN0cnJjaHIoaWQsICc6Jyk7CkBAIC0xMTgsNyArMTIwLDcgQEAg Y2hhciAqcGNpX2ZpbHRlcl9wYXJzZV9zbG90KHN0cnVjdCBwY2lfZmlsdGVyKiBmaWx0ZXIsIGNv bnN0IGNoYXIqIGlkKQogCX0gZWxzZSB7CiAJCWZpbHRlci0+ZGV2ID0gc3RydG91bChkZXZwKzEs ICZlbmRwdHIsIDApOwogCX0KLQlpZiAoZW5kcHRyICE9IGZ1bmNwKSByZXR1cm4gImludmFsaWQg cGNpIGRldmljZSBzdHJpbmciOworCWlmIChlbmRwdHIgIT0gZnVuY3ApIHJldHVybiBpbnZhbGlk X3BjaV9kZXZpY2Vfc3RyaW5nOwogCWlmICghZGV2cCkgcmV0dXJuIE5VTEw7CiAKIAljaGFyICpi dXNwID0gc3RyY2hyKGlkLCAnOicpOwpAQCAtMTI3LDExICsxMjksMTEgQEAgY2hhciAqcGNpX2Zp bHRlcl9wYXJzZV9zbG90KHN0cnVjdCBwY2lfZmlsdGVyKiBmaWx0ZXIsIGNvbnN0IGNoYXIqIGlk KQogCX0gZWxzZSB7CiAJCWZpbHRlci0+YnVzID0gc3RydG91bChidXNwKzEsICZlbmRwdHIsIDAp OwogCX0KLQlpZiAoZW5kcHRyICE9IGZ1bmNwKSByZXR1cm4gImludmFsaWQgcGNpIGRldmljZSBz dHJpbmciOworCWlmIChlbmRwdHIgIT0gZnVuY3ApIHJldHVybiBpbnZhbGlkX3BjaV9kZXZpY2Vf c3RyaW5nOwogCWlmIChidXNwID09IGRldnApIHJldHVybiBOVUxMOwogCiAJZmlsdGVyLT5kb21h aW4gPSBzdHJ0b3VsKGlkLCAmZW5kcHRyLCAwKTsKLQlpZiAoZW5kcHRyICE9IGJ1c3ApIHJldHVy biAiaW52YWxpZCBwY2kgZGV2aWNlIHN0cmluZyI7CisJaWYgKGVuZHB0ciAhPSBidXNwKSByZXR1 cm4gaW52YWxpZF9wY2lfZGV2aWNlX3N0cmluZzsKIAogCXJldHVybiBOVUxMOwogfQotLSAKMS43 LjQuNAoK
Content-Transfer-Encoding: base64
Content-Type: text/x-c; charset=us-ascii; charset=UTF-8; name=0003-Add-strlcpy-from-OpenBSD.patch
Content-Disposition: attachment; filename=0003-Add-strlcpy-from-OpenBSD.patch
QWRkIHN0cmxjcHkgZnJvbSBPcGVuQlNECgpTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIEdlb3JnaSA8 cGF0cmlja0BnZW9yZ2ktY2xhbi5kZT4KLS0tCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2luY2x1ZGUv c3RyaW5nLmggIHwgICAxMCArKysrKystCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvTWFrZWZp bGUuaW5jIHwgICAgMSArCiBwYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvc3RybGNweS5jICAgIHwg ICA1MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwg NjEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXls b2Fkcy9saWJwYXlsb2FkL2xpYmMvc3RybGNweS5jCgpkaWZmIC0tZ2l0IGEvcGF5bG9hZHMvbGli cGF5bG9hZC9pbmNsdWRlL3N0cmluZy5oIGIvcGF5bG9hZHMvbGlicGF5bG9hZC9pbmNsdWRlL3N0 cmluZy5oCmluZGV4IDg4MDU0ZTAuLjllNGY3OTEgMTAwNjQ0Ci0tLSBhL3BheWxvYWRzL2xpYnBh eWxvYWQvaW5jbHVkZS9zdHJpbmcuaAorKysgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2luY2x1ZGUv c3RyaW5nLmgKQEAgLTU1LDcgKzU1LDYgQEAgaW50IHN0cm5jYXNlY21wKGNvbnN0IGNoYXIgKnMx LCBjb25zdCBjaGFyICpzMiwgc2l6ZV90IG1heGxlbik7CiBjaGFyICpzdHJuY3B5KGNoYXIgKmQs IGNvbnN0IGNoYXIgKnMsIHNpemVfdCBuKTsKIGNoYXIgKnN0cmNweShjaGFyICpkLCBjb25zdCBj aGFyICpzKTsKIGNoYXIgKnN0cm5jYXQoY2hhciAqZCwgY29uc3QgY2hhciAqcywgc2l6ZV90IG4p Owotc2l6ZV90IHN0cmxjYXQoY2hhciAqZCwgY29uc3QgY2hhciAqcywgc2l6ZV90IG4pOwogY2hh ciAqc3RyY2F0KGNoYXIgKmQsIGNvbnN0IGNoYXIgKnMpOwogY2hhciAqc3RyY2hyKGNvbnN0IGNo YXIgKnMsIGludCBjKTsKIGNoYXIgKnN0cnJjaHIoY29uc3QgY2hhciAqcywgaW50IGMpOwpAQCAt NjgsNCArNjcsMTMgQEAgY2hhciogc3RydG9rKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZGVsaW0p OwogY2hhciogc3RydG9rX3IoY2hhciAqc3RyLCBjb25zdCBjaGFyICpkZWxpbSwgY2hhciAqKnB0 cik7CiAvKiogQH0gKi8KIAorLyoqCisgKiBAZGVmZ3JvdXAgc3RyaW5nIE9wZW5CU0QgYmFzZWQg c2FmZSBzdHJpbmcgZnVuY3Rpb25zCisgKiBAeworICovCitzaXplX3Qgc3RybGNweShjaGFyICpk LCBjb25zdCBjaGFyICpzLCBzaXplX3Qgbik7CitzaXplX3Qgc3RybGNhdChjaGFyICpkLCBjb25z dCBjaGFyICpzLCBzaXplX3Qgbik7CisvKiogQH0gKi8KKworCiAjZW5kaWYKZGlmZiAtLWdpdCBh L3BheWxvYWRzL2xpYnBheWxvYWQvbGliYy9NYWtlZmlsZS5pbmMgYi9wYXlsb2Fkcy9saWJwYXls b2FkL2xpYmMvTWFrZWZpbGUuaW5jCmluZGV4IDRlYzJhMDIuLmU1YzYyNmYgMTAwNjQ0Ci0tLSBh L3BheWxvYWRzL2xpYnBheWxvYWQvbGliYy9NYWtlZmlsZS5pbmMKKysrIGIvcGF5bG9hZHMvbGli cGF5bG9hZC9saWJjL01ha2VmaWxlLmluYwpAQCAtMzMsNiArMzMsNyBAQCBsaWJjLSQoQ09ORklH X0xJQkMpICs9IG1lbW9yeS5jIGN0eXBlLmMgaXBjaGVja3N1bS5jIGxpYi5jCiBsaWJjLSQoQ09O RklHX0xJQkMpICs9IHJhbmQuYyB0aW1lLmMgZXhlYy5jCiBsaWJjLSQoQ09ORklHX0xJQkMpICs9 IHJlYWRsaW5lLmMgZ2V0b3B0X2xvbmcuYyBzeXNpbmZvLmMKIGxpYmMtJChDT05GSUdfTElCQykg Kz0gYXJncy5jIHN0cmluZ3MuYworbGliYy0kKENPTkZJR19MSUJDKSArPSBzdHJsY3B5LmMKIAog IyBzaG91bGQgYmUgbW92ZWQgdG8gY29yZWJvb3QgZGlyZWN0b3J5CiBsaWJjLSQoQ09ORklHX0xB UikgKz0gbGFyLmMKZGlmZiAtLWdpdCBhL3BheWxvYWRzL2xpYnBheWxvYWQvbGliYy9zdHJsY3B5 LmMgYi9wYXlsb2Fkcy9saWJwYXlsb2FkL2xpYmMvc3RybGNweS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmQzMmI2NTkKLS0tIC9kZXYvbnVsbAorKysgYi9wYXlsb2Fkcy9s aWJwYXlsb2FkL2xpYmMvc3RybGNweS5jCkBAIC0wLDAgKzEsNTEgQEAKKy8qCSRPcGVuQlNEOiBz dHJsY3B5LmMsdiAxLjExIDIwMDYvMDUvMDUgMTU6Mjc6MzggbWlsbGVydCBFeHAgJAkqLworCisv KgorICogQ29weXJpZ2h0IChjKSAxOTk4IFRvZGQgQy4gTWlsbGVyIDxUb2RkLk1pbGxlckBjb3Vy dGVzYW4uY29tPgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBk aXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhv dXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNv cGllcy4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFV VEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMKKyAqIFdJVEggUkVHQVJEIFRPIFRISVMgU09G VFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJ TElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUg Rk9SCisgKiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBE QU1BR0VTIE9SIEFOWSBEQU1BR0VTCisgKiBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1Mg T0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05U UkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9G CisgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElT IFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzdHJp bmcuaD4KKworLyoKKyAqIENvcHkgc3JjIHRvIHN0cmluZyBkc3Qgb2Ygc2l6ZSBzaXouICBBdCBt b3N0IHNpei0xIGNoYXJhY3RlcnMKKyAqIHdpbGwgYmUgY29waWVkLiAgQWx3YXlzIE5VTCB0ZXJt aW5hdGVzICh1bmxlc3Mgc2l6ID09IDApLgorICogUmV0dXJucyBzdHJsZW4oc3JjKTsgaWYgcmV0 dmFsID49IHNpeiwgdHJ1bmNhdGlvbiBvY2N1cnJlZC4KKyAqLworc2l6ZV90CitzdHJsY3B5KGNo YXIgKmRzdCwgY29uc3QgY2hhciAqc3JjLCBzaXplX3Qgc2l6KQoreworCWNoYXIgKmQgPSBkc3Q7 CisJY29uc3QgY2hhciAqcyA9IHNyYzsKKwlzaXplX3QgbiA9IHNpejsKKworCS8qIENvcHkgYXMg bWFueSBieXRlcyBhcyB3aWxsIGZpdCAqLworCWlmIChuICE9IDApIHsKKwkJd2hpbGUgKC0tbiAh PSAwKSB7CisJCQlpZiAoKCpkKysgPSAqcysrKSA9PSAnXDAnKQorCQkJCWJyZWFrOworCQl9CisJ fQorCisJLyogTm90IGVub3VnaCByb29tIGluIGRzdCwgYWRkIE5VTCBhbmQgdHJhdmVyc2UgcmVz dCBvZiBzcmMgKi8KKwlpZiAobiA9PSAwKSB7CisJCWlmIChzaXogIT0gMCkKKwkJCSpkID0gJ1ww JzsJCS8qIE5VTC10ZXJtaW5hdGUgZHN0ICovCisJCXdoaWxlICgqcysrKQorCQkJOworCX0KKwor CXJldHVybihzIC0gc3JjIC0gMSk7CS8qIGNvdW50IGRvZXMgbm90IGluY2x1ZGUgTlVMICovCit9 Ci0tIAoxLjcuNC40Cgo=