[bug#81040] [PATCH] dist: introduce AM_OPTIONAL_AUTOMAKE for best-effort dist-XXX archives.
Kamila Szewczyk <[email protected]> Tue, 19 May 2026 18:00:18 +0200
| Newsgroups | gmane.comp.sysutils.automake.patches |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------ZN60UbmJ7ZrlYCmXxhxWRts6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi all, Attached is the fixed patch. Karl/Jacob: - Added dist-shar and dist-tarZ so all automake dist formats are covered. shar actually requires two tools in a pipe, so it needs a separate dedicated format that isn't a single tool tarpipe. - The docs now state that a given dist- option must appear in either AM_INIT_AUTOMAKE or AM_OPTIONAL_AUTOMAKE. - Added a rationale paragraph (minimal container images, bootstrap/CI, cross toolchains) and an @comment pointing at the bug ID. - On the command -v issue: I removed the probe. The code is cleaner without it. Nick: the configure-time check stays the primary mechanism, as you wanted. make dist-tar/dist-ar without gzip is a separate change to make dist's contract, so I chose to not modify it. I have also made some other, miscellaneous fixes. Please let me know if I can make any other amendments. -- With Valediction, Kamila Szewczyk (https://iczelia.net) On 5/16/26 11:47 PM, Kamila Szewczyk wrote: > Hi all, > > Thanks for your comments. I will have a fixed up version of the patch soon. > > -- > With Valediction, > Kamila Szewczyk (https://iczelia.net) > > On 5/16/26 11:46 PM, Karl Berry wrote: >> Hi Jacob, >> >> If I remember correctly, on some systems, the /bin/sh shell does not >> have command(1) as a builtin, but a "command" executable exists on the >> filesystem. >> >> Good memory :). Indeed, this is the case on Solaris 10, at least the one >> on cfarm. >> >> cfarm210$ type command >> command is hashed (/usr/bin/command) >> >> Either a command or builtin should be fine for Kamila's purposes. >> >> As long as `make dist-XYZ` will always either produce the "XYZ" dist >> or fail, we probably do not need to worry about this edge case. >> >> I agree. --thanks, karl. > --------------ZN60UbmJ7ZrlYCmXxhxWRts6 Content-Type: text/x-patch; charset=UTF-8; name="am-optional-automake.patch" Content-Disposition: attachment; filename="am-optional-automake.patch" Content-Transfer-Encoding: base64 RnJvbSAzNDA0ZjJmYTNiYjNlZjEzYmY0MDc4ZTJlZjZlZGQxZTRlYjczMWE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLYW1pbGEgU3pld2N6eWsgPGtAaWN6ZWxpYS5uZXQ+ CkRhdGU6IFR1ZSwgMTkgTWF5IDIwMjYgMTY6NDM6MDYgKzAyMDAKU3ViamVjdDogW1BBVENI XSBOZXcgQU1fT1BUSU9OQUxfQVVUT01BS0UgbWFjcm8KCiogbTQvb3B0aW9uYWwubTQ6IE5l dyBmaWxlLiAgQU1fT1BUSU9OQUxfQVVUT01BS0UoT1BUSU9OUykgbWFrZXMKYG1ha2UgZGlz dCcgYnVpbGQgdGhlIGxpc3RlZCBkaXN0LVhYWCBhcmNoaXZlcyB3aGVuIHRoZWlyIHRvb2wg aXMKYXZhaWxhYmxlIGFuZCBza2lwIHRoZW0gb3RoZXJ3aXNlLCB3aXRob3V0IGZhaWxpbmcu ICBTdXBwb3J0cwpkaXN0LWJ6aXAyLCBkaXN0LWJ6aXAzLCBkaXN0LXh6LCBkaXN0LWx6aXAs IGRpc3QtenN0ZCwgZGlzdC16aXAsCmRpc3Qtc2hhciBhbmQgZGlzdC10YXJaLiAgZGlzdC1z aGFyIGlzIGhhbmRsZWQgc2VwYXJhdGVseTogc2hhciBpcwpydW4gdG8gYW4gaW50ZXJtZWRp YXRlIGZpbGUgYmVmb3JlIGd6aXAgc28gYSBtaXNzaW5nIHNoYXIgY2Fubm90CmxlYXZlIGEg Ym9ndXMgLnNoYXIuZ3ogYmVoaW5kLgoqIG00L2xvY2FsLm1rIChkaXN0X2F1dG9tYWtlX2Fj X0RBVEEpOiBBZGQgbTQvb3B0aW9uYWwubTQuCiogZG9jL2F1dG9tYWtlLnRleGkgKFB1Ymxp YyBNYWNyb3MpOiBEb2N1bWVudCBpdC4gIENyb3NzLXJlZmVyZW5jZQppdCBmcm9tIGRpc3Qt YnppcDMsIGRpc3QtbHppcCBhbmQgZGlzdC16c3RkLgpSZWZlcmVuY2VzOiBodHRwczovL2Rl YmJ1Z3MuZ251Lm9yZy9jZ2kvYnVncmVwb3J0LmNnaT9idWc9ODEwNDAuCiogdC9hbS1vcHRp b25hbC1hdXRvbWFrZS5zaDogTmV3IHRlc3QsIGluY2x1ZGluZyBhIGRpc3RjaGVjayBjYXNl LgoqIHQvbGlzdC1vZi10ZXN0cy5tazogQWRkIGl0LgoqIE5FV1M6IE1lbnRpb24gdGhlIG5l dyBtYWNyby4KLS0tCiBORVdTICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsrKwogZG9j L2F1dG9tYWtlLnRleGkgICAgICAgICB8ICA1MSArKysrKysrKy0KIG00L2xvY2FsLm1rICAg ICAgICAgICAgICAgfCAgIDEgKwogbTQvb3B0aW9uYWwubTQgICAgICAgICAgICB8IDEzMiAr KysrKysrKysrKysrKysrKysrKysrKysKIHQvYW0tb3B0aW9uYWwtYXV0b21ha2Uuc2ggfCAy MTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHQvbGlzdC1vZi10 ZXN0cy5tayAgICAgICAgfCAgIDEgKwogNiBmaWxlcyBjaGFuZ2VkLCA0MDUgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtNC9vcHRpb25hbC5t NAogY3JlYXRlIG1vZGUgMTAwNjQ0IHQvYW0tb3B0aW9uYWwtYXV0b21ha2Uuc2gKCmRpZmYg LS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCA3ODYyNTU5Li4zZGM0ZjNiIDEwMDY0NAotLS0g YS9ORVdTCisrKyBiL05FV1MKQEAgLTEsNiArMSwxOCBAQAogRm9yIHBsYW5uZWQgaW5jb21w YXRpYmlsaXRpZXMgaW4gYSBwb3NzaWJsZSBmdXR1cmUgQXV0b21ha2UgMi4wIHJlbGVhc2Us CiBwbGVhc2Ugc2VlIE5FV1MtZnV0dXJlIGFuZCBzdGFydCBmb2xsb3dpbmcgdGhlIGFkdmlj ZSB0aGVyZSBub3cuCiAKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK05ldyBpbiAxLjE4LjIg KD8/Pz8tPz8tPz8pOgorCisqIE5ldyBmZWF0dXJlcyBhZGRlZAorCisgIC0gTmV3IGF1dG9j b25mIG1hY3JvIEFNX09QVElPTkFMX0FVVE9NQUtFLiAgSXQgdGFrZXMgYSBsaXN0IG9mCisg ICAgYGRpc3QtWFhYJyBvcHRpb24gbmFtZXMgKGRpc3QtYnppcDIsIGRpc3QtYnppcDMsIGRp c3QteHosCisgICAgZGlzdC1semlwLCBkaXN0LXpzdGQsIGRpc3QtemlwLCBkaXN0LXNoYXIs IGRpc3QtdGFyWik7IGBtYWtlCisgICAgZGlzdCcgYnVpbGRzIGVhY2ggYXJjaGl2ZSB3aGVu IGl0cyB0b29sIGlzIGF2YWlsYWJsZSBhbmQgc2tpcHMKKyAgICBpdCBvdGhlcndpc2UsIHdp dGhvdXQgbWFraW5nIGBtYWtlIGRpc3QnIGZhaWwuICBUaGlzIGlzIGZvcgorICAgIHRyZWVz IHRoYXQgaW50ZW50aW9uYWxseSBsYWNrIHNvbWUgY29tcHJlc3Npb24gdG9vbHMuCisKIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KIE5ldyBpbiAxLjE4LjEgKDIwMjUtMDYtMjUpOgogCmRp ZmYgLS1naXQgYS9kb2MvYXV0b21ha2UudGV4aSBiL2RvYy9hdXRvbWFrZS50ZXhpCmluZGV4 IGVlYWNlZTcuLjBhNmE3MTAgMTAwNjQ0Ci0tLSBhL2RvYy9hdXRvbWFrZS50ZXhpCisrKyBi L2RvYy9hdXRvbWFrZS50ZXhpCkBAIC00MTM3LDYgKzQxMzcsNDcgQEAgb3B0aW9uIChAcHhy ZWZ7TGlzdCBvZiBBdXRvbWFrZSBvcHRpb25zfSk6CiBBTV9JTklUX0FVVE9NQUtFKFtuby1k ZWZpbmUgLi4uXSkKIEBlbmQgZXhhbXBsZQogCitAaXRlbSBBTV9PUFRJT05BTF9BVVRPTUFL RShbQHZhcntvcHRpb25zfV0pCitAYWNpbmRleCBBTV9PUFRJT05BTF9BVVRPTUFLRQorQGNp bmRleCBPcHRpb25hbCBAY29kZXtkaXN0LX0gYXJjaGl2ZXMKK0Bjb21tZW50IGh0dHBzOi8v ZGViYnVncy5nbnUub3JnL2NnaS9idWdyZXBvcnQuY2dpP2J1Zz04MTA0MAorQHZhcntvcHRp b25zfSBpcyBhIHdoaXRlc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgQGNvZGV7ZGlzdC19IG9w dGlvbgorbmFtZXMsIHVzaW5nIHRoZSBzYW1lIHNwZWxsaW5ncyBAY29kZXtBTV9JTklUX0FV VE9NQUtFfSBhY2NlcHRzOgorQG9wdGlvbntkaXN0LWJ6aXAyfSwgQG9wdGlvbntkaXN0LWJ6 aXAzfSwgQG9wdGlvbntkaXN0LXh6fSwKK0BvcHRpb257ZGlzdC1semlwfSwgQG9wdGlvbntk aXN0LXpzdGR9LCBAb3B0aW9ue2Rpc3QtemlwfSwKK0BvcHRpb257ZGlzdC1zaGFyfSwgYW5k IEBvcHRpb257ZGlzdC10YXJafS4gIEZvciBlYWNoLCBAc2FtcHttYWtlCitkaXN0fSBidWls ZHMgdGhlIG1hdGNoaW5nIGFyY2hpdmUgd2hlbiBpdHMgY29tcHJlc3NvciBvciBhcmNoaXZl ciBpcworYXZhaWxhYmxlIGFuZCBza2lwcyBpdCBvdGhlcndpc2UsIGluY2x1ZGluZyB3aGVu IGEgdG9vbCBwcmVzZW50IGF0CitAY29tbWFuZHtjb25maWd1cmV9IHRpbWUgaXMgZ29uZSBi eSBAc2FtcHttYWtlIGRpc3R9IHRpbWU7IGEgbWlzc2luZworbGlzdGVkIHRvb2wgZG9lcyBu b3QgbWFrZSBAc2FtcHttYWtlIGRpc3R9IGZhaWwuICBBbiB1bmtub3duCitAdmFye29wdGlv bn0gaXMgcmVwb3J0ZWQgYXMgYSBAY29kZXtzeW50YXh9IHdhcm5pbmcgYW5kIGlnbm9yZWQu CisKK1RoaXMgaXMgbWVhbnQgZm9yIHRyZWVzIHRoYXQgaW50ZW50aW9uYWxseSBsYWNrIHNv bWUgY29tcHJlc3Npb24KK3Rvb2xzLCBzdWNoIGFzIG1pbmltYWwgY29udGFpbmVyIG9yIENJ IGltYWdlcywgd2hlcmUgaW5zdGFsbGluZworQGNvbW1hbmR7YnppcDN9LCBAY29tbWFuZHts emlwfSwgQGNvbW1hbmR7enN0ZH0sIGV0Yy5AOiBvbmx5IHNvIHRoYXQKK0BzYW1we21ha2Ug ZGlzdGNoZWNrfSBzdWNjZWVkcyBpcyBpbXByYWN0aWNhbC4gIEl0IGF2b2lkcyBvdmVycmlk aW5nCitAY29kZXtESVNUX1RBUkdFVFN9IG9yIEBjb2Rle0RJU1RfQVJDSElWRVN9IGJ5IGhh bmQuCisKK1RoZSBtYWNybyBkb2VzIG5vdCBwYXNzIHRoZSBvcHRpb25zIHRvIEBjb21tYW5k e2F1dG9tYWtlfTsgaXQgdXNlcworb25seSB0aGUgQGNvZGV7ZGlzdGRpcn0gdGFyZ2V0IGFu ZCBAY29kZXskKGFtX190YXIpfSwgcHJlc2VudCBzaW5jZQorQXV0b21ha2UgMS4xMCwgc28g YW4gb2xkZXIgQGNvbW1hbmR7YXV0b21ha2V9IHRoYXQgZG9lcyBub3QgcmVjb2duaXplCith biBvcHRpb24gKHN1Y2ggYXMgQG9wdGlvbntkaXN0LWJ6aXAzfSkgaXMgbm90IGEgcHJvYmxl bS4KKworQGV4YW1wbGUKK0FNX0lOSVRfQVVUT01BS0UoWy1XYWxsIGZvcmVpZ24gZGlzdC1i emlwMiBkaXN0LXh6IGRpc3QtemlwXSkKK0FNX09QVElPTkFMX0FVVE9NQUtFKFtkaXN0LWJ6 aXAzXSkKK0BlbmQgZXhhbXBsZQorCitIZXJlIEBmaWxley50YXIuZ3p9LCBAZmlsZXsudGFy LmJ6Mn0sIEBmaWxley50YXIueHp9LCBhbmQgQGZpbGV7LnppcH0KK2FyZSBhbHdheXMgYnVp bHQgKGFuZCBAc2FtcHttYWtlIGRpc3R9IGZhaWxzIGlmIHRoZWlyIHRvb2xzIGFyZQorbWlz c2luZyksIHdoaWxlIEBmaWxley50YXIuYnozfSBpcyBidWlsdCBvbmx5IHdoZXJlIEBjb21t YW5ke2J6aXAzfSBpcworaW5zdGFsbGVkLgorCitBIGdpdmVuIEBjb2Rle2Rpc3QtfSBvcHRp b24gc2hvdWxkIGFwcGVhciBpbiBAY29kZXtBTV9JTklUX0FVVE9NQUtFfQorb3IgQGNvZGV7 QU1fT1BUSU9OQUxfQVVUT01BS0V9LCBub3QgYm90aDsgbGlzdGluZyBpdCBpbgorQGNvZGV7 QU1fSU5JVF9BVVRPTUFLRX0gYWxyZWFkeSBtYWtlcyB0aGF0IGZvcm1hdCBtYW5kYXRvcnku ICBUaGUKK21hY3JvIG1heSBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2U7IHJlcGVhdGluZyBh biBvcHRpb24gaXMgYSBuby1vcC4KKwogQGl0ZW0gQU1fUEFUSF9MSVNQRElSCiBAYWNpbmRl eCBBTV9QQVRIX0xJU1BESVIKIEB2aW5kZXggRU1BQ1MKQEAgLTk0NjgsNyArOTUwOSw4IEBA IG1ha2UgaXQgdXNlIGEgZGlmZmVyZW50IG9uZSwgc2V0IHRoZSBAZW52e0JaSVAyfSBlbnZp cm9ubWVudCB2YXJpYWJsZS4KIEB2aW5kZXggQlpJUDMKIEdlbmVyYXRlIGEgQHNhbXB7Ynpp cDN9IHRhciBhcmNoaXZlIG9mIHRoZSBkaXN0cmlidXRpb24uICBVbmxpa2UgdGhlCiBvdGhl ciBjb21wcmVzc2lvbiBwcm9ncmFtcyBoZXJlLCBAY29tbWFuZHtiemlwM30gZG9lcyBub3Qg cmVhZCBhbnkKLWVudmlyb25tZW50IHZhcmlhYmxlcy4KK2Vudmlyb25tZW50IHZhcmlhYmxl cy4gIFRvIGJ1aWxkIHRoaXMgb25seSB3aGVuIEBjb21tYW5ke2J6aXAzfSBpcworcHJlc2Vu dCwgc2VlIEBjb2Rle0FNX09QVElPTkFMX0FVVE9NQUtFfSAoQHB4cmVme1B1YmxpYyBNYWNy b3N9KS4KIAogQGl0ZW0gQGNvZGV7ZGlzdC1semlwfQogQHRyaW5kZXggZGlzdC1semlwCkBA IC05NDc4LDcgKzk1MjAsOSBAQCBHZW5lcmF0ZSBhbiBAc2FtcHtsemlwfSB0YXIgYXJjaGl2 ZSBvZiB0aGUgZGlzdHJpYnV0aW9uLgogQGNvbW1hbmR7bHppcH0gYXJjaGl2ZXMgYXJlIHVz dWFsbHkgc21hbGxlciB0aGFuCiBAY29tbWFuZHtiemlwMn0tY29tcHJlc3NlZCBhcmNoaXZl cy4gIEJ5IGRlZmF1bHQsIHRoaXMgcnVsZSBtYWtlcwogQHNhbXB7bHppcH0gdXNlIGEgY29t cHJlc3Npb24gb3B0aW9uIG9mIEBvcHRpb257LTl9LiAgVG8gbWFrZSBpdCB1c2UgYQotZGlm ZmVyZW50IG9uZSwgc2V0IHRoZSBAZW52e0xaSVBfT1BUfSBlbnZpcm9ubWVudCB2YXJpYWJs ZS4KK2RpZmZlcmVudCBvbmUsIHNldCB0aGUgQGVudntMWklQX09QVH0gZW52aXJvbm1lbnQg dmFyaWFibGUuICBUbyBidWlsZAordGhpcyBvbmx5IHdoZW4gQGNvbW1hbmR7bHppcH0gaXMg cHJlc2VudCwgc2VlCitAY29kZXtBTV9PUFRJT05BTF9BVVRPTUFLRX0gKEBweHJlZntQdWJs aWMgTWFjcm9zfSkuCiAKIEBpdGVtIEBjb2Rle2Rpc3QteHp9CiBAdHJpbmRleCBkaXN0LXh6 CkBAIC05NTEwLDcgKzk1NTQsOCBAQCBkZWZhdWx0IGNvbXByZXNzaW9uIHJhdGlvLCBidXQg d2l0aCBhIHByb2dyZXNzIGluZGljYXRvcjogQHNhbXB7bWFrZQogZGlzdC16c3RkIFpTVERf T1BUPS0xOXZ9LiAgSG93ZXZlciwgbm90ZSB0aGF0IGZvciBjb21wYXRpYmlsaXR5IHdpdGgK IEBjb21tYW5ke3pzdGR9IGl0c2VsZiwgeW91IG1heSBpbnN0ZWFkIHNldCB0aGUgQGVudnta U1REX0NMRVZFTH0KIGVudmlyb25tZW50IHZhcmlhYmxlLCBpbiB3aGljaCBjYXNlLCBhbnkg QGVudntaU1REX09QVH0gc2V0dGluZyBpcwotaWdub3JlZC4KK2lnbm9yZWQuICBUbyBidWls ZCB0aGlzIG9ubHkgd2hlbiBAY29tbWFuZHt6c3RkfSBpcyBwcmVzZW50LCBzZWUKK0Bjb2Rl e0FNX09QVElPTkFMX0FVVE9NQUtFfSAoQHB4cmVme1B1YmxpYyBNYWNyb3N9KS4KIAogQGl0 ZW0gQGNvZGV7ZGlzdC1zaGFyfQogQHRyaW5kZXggZGlzdC1zaGFyCmRpZmYgLS1naXQgYS9t NC9sb2NhbC5tayBiL200L2xvY2FsLm1rCmluZGV4IDVlOTgzMGEuLjZiNzZmZDIgMTAwNjQ0 Ci0tLSBhL200L2xvY2FsLm1rCisrKyBiL200L2xvY2FsLm1rCkBAIC00Myw2ICs0Myw3IEBA IGRpc3RfYXV0b21ha2VfYWNfREFUQSA9IFwKICAgJUQlL21pc3NpbmcubTQgXAogICAlRCUv bWtkaXJwLm00IFwKICAgJUQlL29ic29sZXRlLm00IFwKKyAgJUQlL29wdGlvbmFsLm00IFwK ICAgJUQlL29wdGlvbnMubTQgXAogICAlRCUvcHl0aG9uLm00IFwKICAgJUQlL3Byb2ctY2Mt Yy1vLm00IFwKZGlmZiAtLWdpdCBhL200L29wdGlvbmFsLm00IGIvbTQvb3B0aW9uYWwubTQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY2YmVlOQotLS0gL2Rldi9u dWxsCisrKyBiL200L29wdGlvbmFsLm00CkBAIC0wLDAgKzEsMTMyIEBACisjIyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0 b2NvbmYgLSotCisjIyBBTV9PUFRJT05BTF9BVVRPTUFLRSAtLSBza2lwIGBkaXN0LVhYWCcg Zm9ybWF0cyB3aG9zZSB0b29sIGlzIGFic2VudC4KKworIyBDb3B5cmlnaHQgKEMpIDIwMjYg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVl IHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisjIGdpdmVzIHVubGlt aXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCisjIHdpdGgg b3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHBy ZXNlcnZlZC4KKworCisjIEFNX09QVElPTkFMX0FVVE9NQUtFKE9QVElPTlMpCisjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIE9QVElPTlM6IHdoaXRlc3BhY2Utc2VwYXJh dGVkIGBkaXN0LVhYWCcgbmFtZXMgKEFNX0lOSVRfQVVUT01BS0UKKyMgc3BlbGxpbmdzKSBm b3IgZGlzdC1iemlwMi9iemlwMy94ei9semlwL3pzdGQvemlwL3NoYXIvdGFyWi4gIGBtYWtl CisjIGRpc3QnIGJ1aWxkcyBlYWNoIGFyY2hpdmUgd2hlbiBpdHMgdG9vbCBpcyBwcmVzZW50 IGFuZCBza2lwcyBpdAorIyBvdGhlcndpc2UsIHdpdGhvdXQgZmFpbGluZy4gIFVua25vd24g T1BUSU9OIHdhcm5zIGF0IGF1dG9yZWNvbmY7IGEKKyMgdG9vbCBhYnNlbnQgYXQgY29uZmln dXJlIGFwcGVuZHMgbm8gcnVsZTsgYSB0b29sIGxvc3QgYWZ0ZXJ3YXJkcworIyBmYWlscyB0 aGUgcGlwZWxpbmUsIHdoaWNoIHRoZSByZWNpcGUgY2F0Y2hlcy4gIFNlZSBidWcjODEwNDAu CitBQ19ERUZVTihbQU1fT1BUSU9OQUxfQVVUT01BS0VdLAorW200X2ZvcmVhY2hfdyhbX2Ft X29wdF9vXSwgWyQxXSwKKyAgIFtfQU1fT1BUSU9OQUxfQVVUT01BS0VfT05FKF9tNF9kZWZu KFtfYW1fb3B0X29dKSldKWRubAorXSkKKworCisjIF9BTV9PUFRJT05BTF9BVVRPTUFLRV9P TkUoT1BUKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRGlzcGF0Y2gg b24gT1BUOyB1bnJlY29nbmlzZWQgT1BUIHdhcm5zIGFuZCBpcyBpZ25vcmVkLgorQUNfREVG VU4oW19BTV9PUFRJT05BTF9BVVRPTUFLRV9PTkVdLAorW200X2Nhc2UoWyQxXSwKKyAgW2Rp c3QtYnppcDJdLCBbX0FNX09QVElPTkFMX1RBUihbYnppcDJdLCBbYnppcDJdLCBbYnoyXSwg Wy1jXSldLAorICBbZGlzdC1iemlwM10sIFtfQU1fT1BUSU9OQUxfVEFSKFtiemlwM10sIFti emlwM10sIFtiejNdLCBbLWNdKV0sCisgIFtkaXN0LXh6XSwgICAgW19BTV9PUFRJT05BTF9U QVIoW3h6XSwgICAgW3h6XSwgICAgW3h6XSwgIFstY10pXSwKKyAgW2Rpc3QtbHppcF0sICBb X0FNX09QVElPTkFMX1RBUihbbHppcF0sICBbbHppcF0sICBbbHpdLCAgWy1jXSldLAorICBb ZGlzdC16c3RkXSwgIFtfQU1fT1BUSU9OQUxfVEFSKFt6c3RkXSwgIFt6c3RkXSwgIFt6c3Rd LCBbLWMgLXFdKV0sCisgIFtkaXN0LXRhclpdLCAgW19BTV9PUFRJT05BTF9UQVIoW2NvbXBy ZXNzXSwgW2NvbXByZXNzXSwgW1pdLCBbLWNdKV0sCisgIFtkaXN0LXppcF0sICAgW19BTV9P UFRJT05BTF9aSVAoKV0sCisgIFtkaXN0LXNoYXJdLCAgW19BTV9PUFRJT05BTF9TSEFSKCld LAorICBbbTRfd2Fybihbc3ludGF4XSwKKyAgICAgW2FtLW9wdGlvbmFsOiB1bmtub3duIG9w dGlvbiBgJDEnLCBpZ25vcmluZyBpdF0pXSlkbmwKK10pCisKKworIyBfQU1fT1BUSU9OQUxf UlVMRShUQUcsIFZBUiwgUkVDSVBFLCBBUlRJRkFDVFMpCisjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQUNfQ0hFQ0tfUFJPRyBmb3IgVEFH LCB0aGVuIG9uY2UgYXBwZW5kIFJFQ0lQRSB0byB0aGUgdG9wIE1ha2VmaWxlCisjIHZpYSBB Q19DT05GSUdfQ09NTUFORFMgKHN1cnZpdmVzIGNvbmZpZy5zdGF0dXMgcmVydW5zKSBpZmYg Y29uZmlndXJlCisjIGZvdW5kIHRoZSB0b29sLiAgSG9va2VkIGludG8gZGlzdC9kaXN0LWFs bCBhcyBhbiBleHRyYSBwcmVyZXF1aXNpdGUuCisjIEFSVElGQUNUUyBzdGF5IG91dCBvZiAk KERJU1RfQVJDSElWRVMpLCBzbyBkaXN0Y2xlYW5jaGVjayBtdXN0IHJlbW92ZQorIyB0aGUg Y29waWVzIHRoZSBpbi10cmVlIGBtYWtlIGRpc3QnIG9mIGBtYWtlIGRpc3RjaGVjaycgbGVh dmVzLgorQUNfREVGVU4oW19BTV9PUFRJT05BTF9SVUxFXSwKK1ttNF9pZmRlZihbX0FNX09Q VElPTkFMX0RPTkVfJDFdLCBbXSwKKyBbbTRfZGVmaW5lKFtfQU1fT1BUSU9OQUxfRE9ORV8k MV0pZG5sCitBQ19DSEVDS19QUk9HKFthbV9fb3B0aW9uYWxfJDJdLCBbJDFdLCBbJDFdKQor QUNfU1VCU1QoW2FtX19vcHRpb25hbF8kMl0pZG5sCitBQ19DT05GSUdfQ09NTUFORFMoW2Ft LS1vcHRpb25hbC1ydWxlLSQxXSwKK1thbV9fb3B0aW9uYWxfbWY9Citmb3IgYW1fX29wdGlv bmFsX2NhbmQgaW4gTWFrZWZpbGUgR05VbWFrZWZpbGUgbWFrZWZpbGU7IGRvCisgIHRlc3Qg LWYgIiRhbV9fb3B0aW9uYWxfY2FuZCIgJiYgeyBhbV9fb3B0aW9uYWxfbWY9JGFtX19vcHRp b25hbF9jYW5kOyBicmVhazsgfQorZG9uZQoraWYgdGVzdCAtbiAiJGFtX19vcHRpb25hbF9t ZiIgJiYgdGVzdCAtbiAiJGFtX19vcHRpb25hbF8kMiI7IHRoZW4KKyAgY2F0ID4+IiRhbV9f b3B0aW9uYWxfbWYiIDw8J19hbV9vcHRfcnVsZV9lb2ZfJworCisjIEFwcGVuZGVkIGJ5IGFt LW9wdGlvbmFsIGZvciBkaXN0LSQxLgorZGlzdCBkaXN0LWFsbDogYW0tLW9wdGlvbmFsLWRp c3QtJDEKK2Rpc3RjbGVhbmNoZWNrOiBhbS0tb3B0aW9uYWwtcm0tJDEKKy5QSE9OWTogYW0t LW9wdGlvbmFsLWRpc3QtJDEgYW0tLW9wdGlvbmFsLXJtLSQxCiskMworYW0tLW9wdGlvbmFs LXJtLSQxOgorCS1ybSAtZiAkNAorX2FtX29wdF9ydWxlX2VvZl8KK2ZpCitdLAorW2FtX19v cHRpb25hbF8kMj0iJGFtX19vcHRpb25hbF8kMiIKK10pXSlkbmwKK10pCisKKworIyBfQU1f T1BUSU9OQUxfVEFSKFRPT0wsIFZBUi1UQUcsIEVYVCwgRkxBR1MpCisjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgU2luZ2xlLXRvb2wgdGFyIHBp cGU7IFRPT0wgaXMgbGFzdCwgc28gaXRzIGZhaWx1cmUgaXMgd2hhdCdzIGNhdWdodC4KK0FD X0RFRlVOKFtfQU1fT1BUSU9OQUxfVEFSXSwKK1tfQU1fT1BUSU9OQUxfUlVMRShbJDFdLCBb JDJdLAorW2FtLS1vcHRpb25hbC1kaXN0LSQxOiBkaXN0ZGlyCisJQGlmIHRlc3QgLW4gIiQo YW1fX29wdGlvbmFsXyQyKSI7IHRoZW4gXAorCSAgeyB0YXJkaXI9JChkaXN0ZGlyKSBcCisJ ICAgICYmICQoYW1fX3RhcikgfCAiJChhbV9fb3B0aW9uYWxfJDIpIiAkNCA+ICQoZGlzdGRp cikudGFyLiQzOyB9IFwKKwkgIHx8IHsgcm0gLWYgJChkaXN0ZGlyKS50YXIuJDM7IFwKKwkg ICAgICAgZWNobyAiYW0tb3B0aW9uYWw6IGRpc3QtJDEgZmFpbGVkOyBhcmNoaXZlIG5vdCBi dWlsdCIgPiYyOyB9OyBcCisJZWxzZSBcCisJICBlY2hvICJhbS1vcHRpb25hbDogJDEgdW5h dmFpbGFibGUsIHNraXBwaW5nICQoZGlzdGRpcikudGFyLiQzIiA+JjI7IFwKKwlmaTsgXAor CTpdLCBbJChkaXN0ZGlyKS50YXIuJDNdKWRubAorXSkKKworCisjIF9BTV9PUFRJT05BTF9a SVAKKyMgLS0tLS0tLS0tLS0tLS0tLQorQUNfREVGVU4oW19BTV9PUFRJT05BTF9aSVBdLAor W19BTV9PUFRJT05BTF9SVUxFKFt6aXBdLCBbemlwXSwKK1thbS0tb3B0aW9uYWwtZGlzdC16 aXA6IGRpc3RkaXIKKwlAaWYgdGVzdCAtbiAiJChhbV9fb3B0aW9uYWxfemlwKSI7IHRoZW4g XAorCSAgcm0gLWYgJChkaXN0ZGlyKS56aXA7IFwKKwkgIHsgIiQoYW1fX29wdGlvbmFsX3pp cCkiIC1ycSAkKGRpc3RkaXIpLnppcCAkKGRpc3RkaXIpOyB9IFwKKwkgIHx8IHsgcm0gLWYg JChkaXN0ZGlyKS56aXA7IFwKKwkgICAgICAgZWNobyAiYW0tb3B0aW9uYWw6IGRpc3Qtemlw IGZhaWxlZDsgYXJjaGl2ZSBub3QgYnVpbHQiID4mMjsgfTsgXAorCWVsc2UgXAorCSAgZWNo byAiYW0tb3B0aW9uYWw6IHppcCB1bmF2YWlsYWJsZSwgc2tpcHBpbmcgJChkaXN0ZGlyKS56 aXAiID4mMjsgXAorCWZpOyBcCisJOl0sIFskKGRpc3RkaXIpLnppcF0pZG5sCitdKQorCisK KyMgX0FNX09QVElPTkFMX1NIQVIKKyMgLS0tLS0tLS0tLS0tLS0tLS0KKyMgT25seSBgc2hh cicgaXMgb3B0aW9uYWwgKGd6aXAgaXMgYSBoYXJkIGF1dG9tYWtlIHByZXJlcSkuICBzaGFy CisjIHdyaXRlcyBhbiBpbnRlcm1lZGlhdGUgZmlsZSBpbnN0ZWFkIG9mIHBpcGluZyBpbnRv IGd6aXA6IHBpcGVkLCBnemlwCisjIHdvdWxkIHN1Y2NlZWQgb24gZW1wdHkgaW5wdXQgYW5k IGxlYXZlIGEgYm9ndXMgLnNoYXIuZ3ogd2hlbiBzaGFyCisjIGZhaWxlZDsgdGhlIGAmJicg Y2hhaW4gY2F0Y2hlcyBzaGFyJ3MgZXhpdCBpbnN0ZWFkLgorQUNfREVGVU4oW19BTV9PUFRJ T05BTF9TSEFSXSwKK1tfQU1fT1BUSU9OQUxfUlVMRShbc2hhcl0sIFtzaGFyXSwKK1thbS0t b3B0aW9uYWwtZGlzdC1zaGFyOiBkaXN0ZGlyCisJQGlmIHRlc3QgLW4gIiQoYW1fX29wdGlv bmFsX3NoYXIpIjsgdGhlbiBcCisJICBybSAtZiAkKGRpc3RkaXIpLnNoYXIgJChkaXN0ZGly KS5zaGFyLmd6OyBcCisJICB7ICIkKGFtX19vcHRpb25hbF9zaGFyKSIgJChkaXN0ZGlyKSA+ ICQoZGlzdGRpcikuc2hhciBcCisJICAgICYmIGV2YWwgR1pJUD0gZ3ppcCAkKEdaSVBfRU5W KSAtZiAkKGRpc3RkaXIpLnNoYXI7IH0gXAorCSAgfHwgeyBybSAtZiAkKGRpc3RkaXIpLnNo YXIgJChkaXN0ZGlyKS5zaGFyLmd6OyBcCisJICAgICAgIGVjaG8gImFtLW9wdGlvbmFsOiBk aXN0LXNoYXIgZmFpbGVkOyBhcmNoaXZlIG5vdCBidWlsdCIgPiYyOyB9OyBcCisJZWxzZSBc CisJICBlY2hvICJhbS1vcHRpb25hbDogc2hhciB1bmF2YWlsYWJsZSwgc2tpcHBpbmcgJChk aXN0ZGlyKS5zaGFyLmd6IiA+JjI7IFwKKwlmaTsgXAorCTpdLCBbJChkaXN0ZGlyKS5zaGFy ICQoZGlzdGRpcikuc2hhci5nel0pZG5sCitdKQpkaWZmIC0tZ2l0IGEvdC9hbS1vcHRpb25h bC1hdXRvbWFrZS5zaCBiL3QvYW0tb3B0aW9uYWwtYXV0b21ha2Uuc2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU4OGEwZgotLS0gL2Rldi9udWxsCisrKyBiL3Qv YW0tb3B0aW9uYWwtYXV0b21ha2Uuc2gKQEAgLTAsMCArMSwyMTEgQEAKKyMhIC9iaW4vc2gK KyMgQ29weXJpZ2h0IChDKSAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor IworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24p CisjIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyMgQ2hlY2sgQU1f T1BUSU9OQUxfQVVUT01BS0UuICBGaXZlIHNjZW5hcmlvczoKKyMgICgxKSBUaGUgdG9vbCBp cyBvbiBQQVRIIGF0IGNvbmZpZ3VyZSB0aW1lIC0+IGRpc3QtYnppcDMgcHJvZHVjZXMKKyMg ICAgICAkZGlzdGRpci50YXIuYnozIGFsb25nc2lkZSB0aGUgYWx3YXlzLWJ1aWx0ICRkaXN0 ZGlyLnRhci5nei4KKyMgICgyKSBBbiB1bmtub3duIG9wdGlvbiBwcm9kdWNlcyBhbiBhdXRv cmVjb25mLXRpbWUgYHN5bnRheCcgd2FybmluZworIyAgICAgIGJ1dCBkb2VzIG5vdCBicmVh ayBjb25maWd1cmUgb3IgbWFrZSBkaXN0LgorIyAgKDMpIFRoZSB0b29sIGlzIG1pc3Npbmcg YXQgY29uZmlndXJlIHRpbWUgLT4gbm8gZXh0cmEgcnVsZSBpcworIyAgICAgIGFwcGVuZGVk OyBgbWFrZSBkaXN0JyBydW5zIGNsZWFubHkgYW5kIGRvZXMgbm90IHByb2R1Y2UKKyMgICAg ICAkZGlzdGRpci50YXIuYnozLgorIyAgKDQpIFRoZSB0b29sIGlzIHByZXNlbnQgYXQgY29u ZmlndXJlIHRpbWUgYnV0IGFic2VudCB3aGVuCisjICAgICAgYG1ha2UgZGlzdCcgcnVucyAt PiBpbnZva2luZyBpdCBmYWlscywgdGhlIHJlY2lwZSBjbGVhbnMgdXAsCisjICAgICAgcHJp bnRzIGEgd2FybmluZyB0byBzdGRlcnIsIGBtYWtlIGRpc3QnIHN0aWxsIHN1Y2NlZWRzLCBh bmQgbm8KKyMgICAgICAkZGlzdGRpci50YXIuYnozIGFwcGVhcnMgKG5vIGBjb21tYW5kIC12 JyBwcm9iZSBpbnZvbHZlZCkuCisjICAoNSkgZGlzdC1zaGFyIGFuZCBkaXN0LXRhclosIHRo ZSB0d28gbm9uLXRhci1waXBlIGZvcm1hdHMuCisKK3JlcXVpcmVkPSdiemlwMycKKy4gdGVz dC1pbml0LnNoCisKKyMgVGVzdCAxOiBiemlwMyBvbiBQQVRIIGF0IGNvbmZpZ3VyZSB0aW1l LgorCitjYXQgPiBjb25maWd1cmUuYWMgPDwnRU5EJworQUNfSU5JVChbYW0tb3B0aW9uYWwt YXV0b21ha2VdLCBbMS4wXSkKK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorQU1fT1BU SU9OQUxfQVVUT01BS0UoW2Rpc3QtYnppcDNdKQorQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmls ZV0pCitBQ19PVVRQVVQKK0VORAorOiA+IE1ha2VmaWxlLmFtCisKKyRBQ0xPQ0FMCiskQVVU T0NPTkYKKyRBVVRPTUFLRSAtLWFkZC1taXNzaW5nCisuL2NvbmZpZ3VyZQorJE1BS0UgZGlz dAordGVzdCAtcyBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFyLmd6Cit0ZXN0IC1zIGFt LW9wdGlvbmFsLWF1dG9tYWtlLTEuMC50YXIuYnozCisjIFRoZXNlIGFyY2hpdmVzIGFyZSBu b3QgaW4gJChESVNUX0FSQ0hJVkVTKTsgZGlzdGNoZWNrIG11c3Qgc3RpbGwKKyMgcGFzcyAo aXRzIGluLXRyZWUgY29waWVzIGdldCBjbGVhbmVkIGJlZm9yZSBkaXN0Y2xlYW5jaGVjayku CiskTUFLRSBkaXN0Y2hlY2sKK3Rlc3QgLXMgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4wLnRh ci5iejMKKworcm0gLXJmIGF1dG9tNHRlKi5jYWNoZSBhY2xvY2FsLm00IGNvbmZpZ3VyZSBN YWtlZmlsZS5pbiBpbnN0YWxsLXNoIFwKKyAgICAgICBtaXNzaW5nIGNvbmZpZy5zdGF0dXMg Y29uZmlnLmxvZyBNYWtlZmlsZSBcCisgICAgICAgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4w IGFtLW9wdGlvbmFsLWF1dG9tYWtlLTEuMC50YXIuKgorCisjIFRlc3QgMjogVW5rbm93biBv cHRpb24gaXMgYSB3YXJuaW5nLCBub3QgYW4gZXJyb3IuCisKK2NhdCA+IGNvbmZpZ3VyZS5h YyA8PCdFTkQnCitBQ19JTklUKFthbS1vcHRpb25hbC1hdXRvbWFrZV0sIFsxLjBdKQorQU1f SU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCitBTV9PUFRJT05BTF9BVVRPTUFLRShbZGlzdC1i YW5hbmEgZGlzdC1iemlwM10pCitBQ19DT05GSUdfRklMRVMoW01ha2VmaWxlXSkKK0FDX09V VFBVVAorRU5ECis6ID4gTWFrZWZpbGUuYW0KKworIyBhY2xvY2FsL2F1dG9jb25mIG11c3Qg c3VjY2VlZC4gIFRoZSBgc3ludGF4JyB3YXJuaW5nIGlzIGVtaXR0ZWQgYnkKKyMgbTRfd2Fy bigpIGR1cmluZyBtYWNybyBleHBhbnNpb24sIHdoaWNoIGhhcHBlbnMgd2hlbiBhdXRvY29u ZiBydW5zCisjIChhY2xvY2FsIG9ubHkgc2NhbnMpLiAgV2UgZG9uJ3QgcHJvbW90ZSBpdCB0 byBlcnJvciBoZXJlOiBBTV9JTklUJ3MKKyMgZGVmYXVsdCB3YXJuaW5nIHNldCBpcyBwbGVu dHkuICBDYXB0dXJlIGF1dG9jb25mJ3Mgc3RkZXJyIGFuZAorIyBhc3NlcnQgdGhlIHdhcm5p bmcgbWVudGlvbnMgdGhlIG9mZmVuZGluZyB0b2tlbi4KKyRBQ0xPQ0FMCiskQVVUT0NPTkYg LVduby1lcnJvciAyPnN0ZGVycgorZ3JlcCAiZGlzdC1iYW5hbmEiIHN0ZGVycgorCiskQVVU T01BS0UgLS1hZGQtbWlzc2luZworLi9jb25maWd1cmUKKyRNQUtFIGRpc3QKK3Rlc3QgLXMg YW0tb3B0aW9uYWwtYXV0b21ha2UtMS4wLnRhci5iejMKKworcm0gLXJmIGF1dG9tNHRlKi5j YWNoZSBhY2xvY2FsLm00IGNvbmZpZ3VyZSBNYWtlZmlsZS5pbiBpbnN0YWxsLXNoIFwKKyAg ICAgICBtaXNzaW5nIGNvbmZpZy5zdGF0dXMgY29uZmlnLmxvZyBNYWtlZmlsZSBzdGRlcnIg XAorICAgICAgIGFtLW9wdGlvbmFsLWF1dG9tYWtlLTEuMCBhbS1vcHRpb25hbC1hdXRvbWFr ZS0xLjAudGFyLioKKworIyBUZXN0IDM6IGJ6aXAzIG1pc3NpbmcgYXQgY29uZmlndXJlIHRp bWUuCisKK2NhdCA+IGNvbmZpZ3VyZS5hYyA8PCdFTkQnCitBQ19JTklUKFthbS1vcHRpb25h bC1hdXRvbWFrZV0sIFsxLjBdKQorQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCitBTV9P UFRJT05BTF9BVVRPTUFLRShbZGlzdC1iemlwM10pCitBQ19DT05GSUdfRklMRVMoW01ha2Vm aWxlXSkKK0FDX09VVFBVVAorRU5ECis6ID4gTWFrZWZpbGUuYW0KKworIyBIaWRlIGJ6aXAz IGZyb20gUEFUSCBieSB3YWxraW5nICRQQVRIIGFuZCBjcmVhdGluZyBhIGZyZXNoIHNhbmRi b3gKKyMgZGlyZWN0b3J5IG9mIHN5bWxpbmtzIHRvIGV2ZXJ5IGV4ZWN1dGFibGUgZXhjZXB0 IGJ6aXAzLiAgT3RoZXIgdG9vbHMKKyMgdGhlIHRlc3QgaGFybmVzcyBuZWVkcyAoJGFtX2Jp bmRpciAvIHQvYXgpIGNvbWUgZnJvbSBhdXRvbWFrZSdzCisjIGJ1aWxkIHRyZWUgYW5kIGFy ZSBub3QgYWZmZWN0ZWQuCitta2RpciBzYW5kYm94LWJpbgorKCBJRlM9OgorICBmb3IgZCBp biAkUEFUSDsgZG8KKyAgICB0ZXN0IC1kICIkZCIgfHwgY29udGludWUKKyAgICBmb3IgZiBp biAiJGQiLyo7IGRvCisgICAgICB0ZXN0IC1mICIkZiIgfHwgY29udGludWUKKyAgICAgIG49 YGJhc2VuYW1lICIkZiJgCisgICAgICB0ZXN0ICIkbiIgPSBiemlwMyAmJiBjb250aW51ZQor ICAgICAgdGVzdCAteCAiJGYiICYmIGxuIC1zZiAiJGYiICJzYW5kYm94LWJpbi8kbiIgMj4v ZGV2L251bGwKKyAgICBkb25lCisgIGRvbmUgKQordGVzdCAhIC1lIHNhbmRib3gtYmluL2J6 aXAzCisKK3NhdmVkX1BBVEg9JFBBVEgKK1BBVEg9YHB3ZGAvc2FuZGJveC1iaW46JGFtX2Jp bmRpcjokYW1fdG9wX3NyY2Rpci90L2F4CisKKyRBQ0xPQ0FMCiskQVVUT0NPTkYKKyRBVVRP TUFLRSAtLWFkZC1taXNzaW5nCisuL2NvbmZpZ3VyZQorJE1BS0UgZGlzdAordGVzdCAtcyBh bS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFyLmd6Cit0ZXN0ICEgLWUgYW0tb3B0aW9uYWwt YXV0b21ha2UtMS4wLnRhci5iejMKKworUEFUSD0kc2F2ZWRfUEFUSAorcm0gLXJmIHNhbmRi b3gtYmluIGF1dG9tNHRlKi5jYWNoZSBhY2xvY2FsLm00IGNvbmZpZ3VyZSBNYWtlZmlsZS5p biBcCisgICAgICAgaW5zdGFsbC1zaCBtaXNzaW5nIGNvbmZpZy5zdGF0dXMgY29uZmlnLmxv ZyBNYWtlZmlsZSBcCisgICAgICAgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4wIGFtLW9wdGlv bmFsLWF1dG9tYWtlLTEuMC50YXIuKgorCisjIFRlc3QgNDogYnppcDMgcHJlc2VudCBhdCBj b25maWd1cmUsIHZhbmlzaGVkIGF0IGBtYWtlIGRpc3QnLgorCitjYXQgPiBjb25maWd1cmUu YWMgPDwnRU5EJworQUNfSU5JVChbYW0tb3B0aW9uYWwtYXV0b21ha2VdLCBbMS4wXSkKK0FN X0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorQU1fT1BUSU9OQUxfQVVUT01BS0UoW2Rpc3Qt YnppcDNdKQorQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZV0pCitBQ19PVVRQVVQKK0VORAor OiA+IE1ha2VmaWxlLmFtCisKKyRBQ0xPQ0FMCiskQVVUT0NPTkYKKyRBVVRPTUFLRSAtLWFk ZC1taXNzaW5nCisuL2NvbmZpZ3VyZSAgIyBiemlwMyBJUyBvbiBQQVRIIGhlcmUsIHNvIHRo ZSBydWxlIGlzIGFwcGVuZGVkCisKKyMgTm93IHJlLXJ1biBgbWFrZSBkaXN0JyB3aXRoIGJ6 aXAzIGhpZGRlbi4gIEludm9raW5nIHRoZSBtaXNzaW5nCisjIHRvb2wgZmFpbHMgdGhlIHBp cGVsaW5lOyB0aGUgcmVjaXBlIG11c3QgY2xlYW4gdXAsIHByaW50IGEgd2FybmluZywKKyMg bGVhdmUgdGhlIHJlc3Qgb2YgYG1ha2UgZGlzdCcgcnVubmluZywgYW5kIGV4aXQgMC4gIFRo ZXJlIGlzIG5vCisjIGBjb21tYW5kIC12JyBwcm9iZSwgc28gdGhpcyB3b3JrcyBvbiBzaGVs bHMgbGFja2luZyB0aGF0IGJ1aWx0aW4uCitta2RpciBzYW5kYm94LWJpbgorKCBJRlM9Ogor ICBmb3IgZCBpbiAkUEFUSDsgZG8KKyAgICB0ZXN0IC1kICIkZCIgfHwgY29udGludWUKKyAg ICBmb3IgZiBpbiAiJGQiLyo7IGRvCisgICAgICB0ZXN0IC1mICIkZiIgfHwgY29udGludWUK KyAgICAgIG49YGJhc2VuYW1lICIkZiJgCisgICAgICB0ZXN0ICIkbiIgPSBiemlwMyAmJiBj b250aW51ZQorICAgICAgdGVzdCAteCAiJGYiICYmIGxuIC1zZiAiJGYiICJzYW5kYm94LWJp bi8kbiIgMj4vZGV2L251bGwKKyAgICBkb25lCisgIGRvbmUgKQordGVzdCAhIC1lIHNhbmRi b3gtYmluL2J6aXAzCisKK3NhdmVkX1BBVEg9JFBBVEgKK1BBVEg9YHB3ZGAvc2FuZGJveC1i aW46JGFtX2JpbmRpcjokYW1fdG9wX3NyY2Rpci90L2F4CiskTUFLRSBkaXN0IDI+c3RkZXJy CitQQVRIPSRzYXZlZF9QQVRICisKK3Rlc3QgLXMgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4w LnRhci5negordGVzdCAhIC1lIGFtLW9wdGlvbmFsLWF1dG9tYWtlLTEuMC50YXIuYnozCitn cmVwICdhbS1vcHRpb25hbDouKmRpc3QtYnppcDMgZmFpbGVkJyBzdGRlcnIKKworcm0gLXJm IHNhbmRib3gtYmluIGF1dG9tNHRlKi5jYWNoZSBhY2xvY2FsLm00IGNvbmZpZ3VyZSBNYWtl ZmlsZS5pbiBcCisgICAgICAgaW5zdGFsbC1zaCBtaXNzaW5nIGNvbmZpZy5zdGF0dXMgY29u ZmlnLmxvZyBNYWtlZmlsZSBzdGRlcnIgXAorICAgICAgIGFtLW9wdGlvbmFsLWF1dG9tYWtl LTEuMCBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFyLioKKworIyBUZXN0IDU6IGRpc3Qt c2hhciBhbmQgZGlzdC10YXJaIGFsb25nc2lkZSB0aGUgdGFyLXBpcGUgZm9ybXMuCisjIFRo ZXNlIHR3byBmb3JtYXRzIGRvIG5vdCBmb2xsb3cgdGhlIHNpbmdsZS10b29sIHRhci1waXBl IHBhdHRlcm4sCisjIHNvIHRoZXkgZ2V0IHRoZWlyIG93biBleGVyY2lzZS4gIHNoYXIgYW5k IGNvbXByZXNzIGFyZSByYXJlbHkKKyMgaW5zdGFsbGVkLCBzbyBvbmx5IGFzc2VydCB0aGUg YXJjaGl2ZSB3aGVuIHRoZSB0b29sIGlzIGFjdHVhbGx5CisjIHByZXNlbnQ7IG90aGVyd2lz ZSB3ZSBqdXN0IGNoZWNrIHRoYXQgYG1ha2UgZGlzdCcgZGlkIG5vdCBmYWlsLgorCitjYXQg PiBjb25maWd1cmUuYWMgPDwnRU5EJworQUNfSU5JVChbYW0tb3B0aW9uYWwtYXV0b21ha2Vd LCBbMS4wXSkKK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorQU1fT1BUSU9OQUxfQVVU T01BS0UoW2Rpc3Qtc2hhciBkaXN0LXRhclpdKQorQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmls ZV0pCitBQ19PVVRQVVQKK0VORAorOiA+IE1ha2VmaWxlLmFtCisKKyRBQ0xPQ0FMCiskQVVU T0NPTkYKKyRBVVRPTUFLRSAtLWFkZC1taXNzaW5nCisuL2NvbmZpZ3VyZQorJE1BS0UgZGlz dAordGVzdCAtcyBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFyLmd6CisKK2lmIChjb21t YW5kIC12IHNoYXIpID4vZGV2L251bGwgMj4mMTsgdGhlbgorICB0ZXN0IC1zIGFtLW9wdGlv bmFsLWF1dG9tYWtlLTEuMC5zaGFyLmd6CisgICMgVGhlIGludGVybWVkaWF0ZSB1bmNvbXBy ZXNzZWQgLnNoYXIgbXVzdCBub3QgYmUgbGVmdCBiZWhpbmQuCisgIHRlc3QgISAtZSBhbS1v cHRpb25hbC1hdXRvbWFrZS0xLjAuc2hhcgorZmkKK2lmIChjb21tYW5kIC12IGNvbXByZXNz KSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgdGVzdCAtcyBhbS1vcHRpb25hbC1hdXRvbWFr ZS0xLjAudGFyLloKK2ZpCisKKzoKZGlmZiAtLWdpdCBhL3QvbGlzdC1vZi10ZXN0cy5tayBi L3QvbGlzdC1vZi10ZXN0cy5tawppbmRleCA2N2JmN2I1Li5lMDQ0Njk4IDEwMDY0NAotLS0g YS90L2xpc3Qtb2YtdGVzdHMubWsKKysrIGIvdC9saXN0LW9mLXRlc3RzLm1rCkBAIC0xMzcs NiArMTM3LDcgQEAgdC9hbHBoYTIuc2ggXAogdC9hbWhlbGxvLWNmbGFncy5zaCBcCiB0L2Ft aGVsbG8tY3Jvc3MtY29tcGlsZS5zaCBcCiB0L2FtaGVsbG8tYmlucGtnLnNoIFwKK3QvYW0t b3B0aW9uYWwtYXV0b21ha2Uuc2ggXAogdC9hbWluaXQtbW9yZWFyZ3MtZGVwcmVjYXRpb24u c2ggXAogdC9hbWluaXQtdHJhaWxpbmctZG5sLWNvbW1lbnQtcHIxNjg0MS5zaCBcCiB0L2Ft YXNzaWduLnNoIFwKLS0gCjIuNTMuMAoK --------------ZN60UbmJ7ZrlYCmXxhxWRts6--