From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id mP1vMZmnxl8xUAAAWB0awg (envelope-from ) for ; Tue, 01 Dec 2020 15:29:13 -0500 Received: by simark.ca (Postfix, from userid 112) id C4C231F0AB; Tue, 1 Dec 2020 15:29:13 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: * X-Spam-Status: No, score=1.9 required=5.0 tests=FORGED_MUA_MOZILLA, FREEMAIL_FROM,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,RDNS_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 1E4241E58D for ; Tue, 1 Dec 2020 15:29:13 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A42F6395147A; Tue, 1 Dec 2020 20:29:12 +0000 (GMT) Received: from EUR06-VI1-obe.outbound.protection.outlook.com (mail-vi1eur06olkn2045.outbound.protection.outlook.com [40.92.17.45]) by sourceware.org (Postfix) with ESMTPS id 55C3C395147A for ; Tue, 1 Dec 2020 20:29:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 55C3C395147A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hotmail.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bernd.edlinger@hotmail.de ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EyBF3Ft83pyo642/nqckE5nD8VLieCpcf39lAD4NLsF26ei24DIqjuEHEtm0hY+dokNsI8vO9uhXZJtkkxUfdQcj6cXz4/FubehgeiHkId8KtLJxSg8TBhbBs/UkdnoPcRRGk/lFbeQXIUT/xsopgYyspk4tWkINwX4s+eb2r0SOno3jCly/dyuDO6Fnd9oH7hdL0edLn3OVXnbxSfaidIKsXkoz42Qj8pu9AtUoXI5APaFPdA2aTBDsDHyjbTluyQ36l4YQIlPmhaJJf+Vc3IgMRkJPNZdsXlStMux29kCx28PNRYbYMzoFSGE6fqYKW0J8trWIpgnpuasm6i0BFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9Bg6i9CVUGb/aL1/GPiwq7uC6QFkmcBhd27yoTLubSo=; b=k6ph3k4Z2hfWu2oDbLjOOq1MZnWwxCaHTnykF6wVxg9zb+wSzyzJvbZ+KTwSKHy/QodZDtVR/1IH5yuzS6qCa3vg6Hl8iCTjZjluu7d2XIVUDWIaf2fKF3mgyFJv9V5T4GsgdFLxgCdC32PRZCChaXB8wjfhE/duGdprY42hQU8dL+vF3l+DB/XCyUWhB06zNf2LGAlctHq9PKaWP3QSC1tDrmXDKj2UduHhj9yfDC9MX0m9synKpXiiowX613i+HeSlt60x+T8Dr4WVPvq0BUh2pDAHxofxvMCxF98kJfvg7cMG8FhA+6XbC6mC5mJpSgGUucPXyWyeotWQIjHgQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from AM7EUR06FT035.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::53) by AM7EUR06HT127.eop-eur06.prod.protection.outlook.com (2a01:111:e400:fc36::122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23; Tue, 1 Dec 2020 20:29:05 +0000 Received: from AM6PR03MB5170.eurprd03.prod.outlook.com (2a01:111:e400:fc36::4e) by AM7EUR06FT035.mail.protection.outlook.com (2a01:111:e400:fc36::156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17 via Frontend Transport; Tue, 1 Dec 2020 20:29:05 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:AE271758A5102B2CFBE7CC6BF4C60F41FB0C09B9BE3B5172E1F945B4B61C86CA; UpperCasedChecksum:69C5A053319F89E42928C65EC492D92AFBA1F4BCF6783026CF77AEBF6069EC88; SizeAsReceived:8619; Count:47 Received: from AM6PR03MB5170.eurprd03.prod.outlook.com ([fe80::184e:5e8c:db8f:a596]) by AM6PR03MB5170.eurprd03.prod.outlook.com ([fe80::184e:5e8c:db8f:a596%5]) with mapi id 15.20.3611.031; Tue, 1 Dec 2020 20:29:05 +0000 Subject: Re: [PATCH] Enable GDB build with in-tree GMP and MPFR From: Bernd Edlinger To: Simon Marchi , Joel Brobecker References: <1604817017-25807-1-git-send-email-brobecker@adacore.com> <1605429345-78384-1-git-send-email-brobecker@adacore.com> <1605429345-78384-2-git-send-email-brobecker@adacore.com> <20201116034518.GA609903@adacore.com> <20201118034455.GE617116@adacore.com> <71f5437f-c4f5-b58d-06f7-67a4d0b31007@simark.ca> Message-ID: Date: Tue, 1 Dec 2020 21:29:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 In-Reply-To: Content-Type: multipart/mixed; boundary="------------B4D66154FDBD228DB4CB5914" Content-Language: en-US X-TMN: [iU3X8eySwzenJuLA7mMiFb+eWwZzuhlZ] X-ClientProxiedBy: AM0PR10CA0028.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::38) To AM6PR03MB5170.eurprd03.prod.outlook.com (2603:10a6:20b:ca::23) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.1.101] (84.57.57.184) by AM0PR10CA0028.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.22 via Frontend Transport; Tue, 1 Dec 2020 20:29:04 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 47 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 6f6cecc5-e2d8-4cf9-df2c-08d89637bf51 X-MS-TrafficTypeDiagnostic: AM7EUR06HT127: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YGyY3vfx1U3YJ4IKquv8ZjHWT44B2z+z0fNhLur1SdQE5cS3ESxTM2ABr34Akw9szcPe26zBjEm4GbCJnNYCLosB0n9l1KbEe0iqjcHaiphb3xlrLrGReXvs2GoGwlSND0hf5bL3aPhPFDNy7cnpDAOYlRoGq0naiPCpDI2vOhvADJjpWyMeBO4ICztYwljsWdzw7q1g/hNAMyLioofoMQ== X-MS-Exchange-AntiSpam-MessageData: bzGrzHjkwABq0t92Jb6QHrIavdGUdTPPUqCEN09ie60LFhmP0nw1S6YQQED6H5hqJDRNSxeydo3LmiqzChuIAnHDslghTqQ9/8NIJ5m+6kX5rDCJeuFnzxgbQcyXboLRVUhToVwOf5rJQAMRwooiqw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f6cecc5-e2d8-4cf9-df2c-08d89637bf51 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2020 20:29:05.5793 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: AM7EUR06FT035.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7EUR06HT127 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: gdb-patches@sourceware.org Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" --------------B4D66154FDBD228DB4CB5914 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Hi Simon, On 12/1/20 8:38 PM, Bernd Edlinger wrote: > On 12/1/20 8:32 PM, Simon Marchi wrote: >> >> On 2020-12-01 2:29 p.m., Bernd Edlinger wrote: >>> I would really like to be able to build gdb with in-tree gmp / mpfr, >>> just as it works for gcc. >> >> Pardon my ignorance, but I don't see the gmp nor the mpfr source code in >> the binutils-gdb repository. Should it be checked in too? >> > > > Aehm, good question. > gcc uses a script ./contrib/download_prerequisites > that *can* be used to download gmp/mpfr and some more. > > Maybe I should add a stripped down version of that one? > So, this adds the contrib/download_prerequisites script. It is taken from gcc but does not download mpc and isl, just gmp and mpfr. It should work also when building gdb from the release tar. Is it OK to push? Thanks Bernd. --------------B4D66154FDBD228DB4CB5914 Content-Type: text/x-patch; name="0001-Enable-GDB-build-with-in-tree-GMP-and-MPFR.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Enable-GDB-build-with-in-tree-GMP-and-MPFR.patch" RnJvbSA0MWZkZmJlMTYzMzAwOWQyMzk1YjQ3MTRhNmIzYmZhYmI3NDY5MWVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuZCBFZGxpbmdlciA8YmVybmQuZWRsaW5nZXJAaG90bWFp bC5kZT4KRGF0ZTogU3VuLCAxNSBOb3YgMjAyMCAxNTozNzoyMiArMDEwMApTdWJqZWN0OiBbUEFU Q0hdIEVuYWJsZSBHREIgYnVpbGQgd2l0aCBpbi10cmVlIEdNUCBhbmQgTVBGUgoKV2l0aCB0aGlz IHBhdGNoIEdEQiBjYW4gYmUgYnVpbHQgd2l0aCBpbi10cmVlIEdNUCBhbmQvb3IKTVBGUi4gIFRo aXMgd29ya3MgYWxzbyBmb3IgY3Jvc3MtYnVpbGRzLgoKQWxsIHRoYXQgaXMgbmVlZGVkLCBpcyBh IHN5bS1saW5rIGluIHRoZSBzb3VyY2UgdHJlZSwKbGlrZSB0aGlzOgoKZ21wIC0+IC4uL2dtcC02 LjEuMAptcGZyIC0+IC4uL21wZnItMy4xLjQKCjIwMjAtMTEtMTUgIEJlcm5kIEVkbGluZ2VyICA8 YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4KCgkqIE1ha2VmaWxlLmRlZjogUHJlcGFyZSBmb3Ig R0RCIGJ1aWxkIHdpdGggaW50cmVlIEdNUC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgpn ZGI6CjIwMjAtMTEtMTUgIEJlcm5kIEVkbGluZ2VyICA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5k ZT4KCgkqIGNvbmZpZ3VyZS5hYzogQWRkIC0td2l0aC1nbXA9RElSLCAtLXdpdGgtZ21wLWluY2x1 ZGU9RElSCglhbmQgLS13aXRoLWdtcC1saWI9RElSCglhcyB3ZWxsIGFzIC0td2l0aC1tcGZyLWlu Y2x1ZGU9RElSIGFuZCAtLXdpdGgtbXBmci1saWI9RElSCglmb3IgY29tcGF0aWJpbGl0eSB3aXRo IHRvcCBsZXZlbCBjb25maWd1cmUgc2NyaXB0LgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgpj b250cmliOgoyMDIwLTExLTE1ICBCZXJuZCBFZGxpbmdlciAgPGJlcm5kLmVkbGluZ2VyQGhvdG1h aWwuZGU+CgoJKiBkb3dubG9hZF9wcmVyZXF1aXNpdGVzOiBOZXcgaGVscGVyIHNjcmlwdC4KCSog cHJlcmVxdWlzaXRlcy5tZDU6IGNoZWNrc3Vtcy4KCSogcHJlcmVxdWlzaXRlcy5zaGE1MTI6IGNo ZWNrc3Vtcy4KLS0tCiBNYWtlZmlsZS5kZWYgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KIE1h a2VmaWxlLmluICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogY29udHJpYi9kb3dubG9hZF9w cmVyZXF1aXNpdGVzIHwgMjYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBjb250cmliL3ByZXJlcXVpc2l0ZXMubWQ1ICAgICAgfCAgIDIgKwogY29udHJpYi9wcmVy ZXF1aXNpdGVzLnNoYTUxMiAgIHwgICAyICsKIGdkYi9jb25maWd1cmUgICAgICAgICAgICAgICAg ICB8ICA1MiArKysrKysrKwogZ2RiL2NvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgIHwgIDI1ICsr KysKIDcgZmlsZXMgY2hhbmdlZCwgMzUxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA3NTUgY29udHJpYi9kb3dubG9hZF9wcmVyZXF1aXNpdGVzCiBjcmVhdGUg bW9kZSAxMDA2NDQgY29udHJpYi9wcmVyZXF1aXNpdGVzLm1kNQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGNvbnRyaWIvcHJlcmVxdWlzaXRlcy5zaGE1MTIKCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5kZWYg Yi9NYWtlZmlsZS5kZWYKaW5kZXggMDg5ZTcwYS4uMWI5OWI0MiAxMDA2NDQKLS0tIGEvTWFrZWZp bGUuZGVmCisrKyBiL01ha2VmaWxlLmRlZgpAQCAtMTE1LDcgKzExNSw4IEBAIGhvc3RfbW9kdWxl cz0geyBtb2R1bGU9IHpsaWI7IG5vX2luc3RhbGw9dHJ1ZTsgbm9fY2hlY2s9dHJ1ZTsKIGhvc3Rf bW9kdWxlcz0geyBtb2R1bGU9IGdudWxpYjsgfTsKIGhvc3RfbW9kdWxlcz0geyBtb2R1bGU9IGdk YnN1cHBvcnQ7IH07CiBob3N0X21vZHVsZXM9IHsgbW9kdWxlPSBnZGJzZXJ2ZXI7IH07Ci1ob3N0 X21vZHVsZXM9IHsgbW9kdWxlPSBnZGI7IH07Citob3N0X21vZHVsZXM9IHsgbW9kdWxlPSBnZGI7 CisJCWV4dHJhX2NvbmZpZ3VyZV9mbGFncz0nQGV4dHJhX21wZnJfY29uZmlndXJlX2ZsYWdzQCBA ZXh0cmFfbXBjX21wZnJfY29uZmlndXJlX2ZsYWdzQCc7fTsKIGhvc3RfbW9kdWxlcz0geyBtb2R1 bGU9IGV4cGVjdDsgfTsKIGhvc3RfbW9kdWxlcz0geyBtb2R1bGU9IGd1aWxlOyB9OwogaG9zdF9t b2R1bGVzPSB7IG1vZHVsZT0gdGs7IH07CkBAIC0zOTEsNiArMzkyLDggQEAgZGVwZW5kZW5jaWVz ID0geyBtb2R1bGU9YWxsLWludGw7IG9uPWFsbC1saWJpY29udjsgfTsKIAogLy8gSG9zdCBtb2R1 bGVzIHNwZWNpZmljIHRvIGdkYi4KIGRlcGVuZGVuY2llcyA9IHsgbW9kdWxlPWNvbmZpZ3VyZS1n ZGI7IG9uPWFsbC1pbnRsOyB9OworZGVwZW5kZW5jaWVzID0geyBtb2R1bGU9Y29uZmlndXJlLWdk Yjsgb249YWxsLWdtcDsgfTsKK2RlcGVuZGVuY2llcyA9IHsgbW9kdWxlPWNvbmZpZ3VyZS1nZGI7 IG9uPWFsbC1tcGZyOyB9OwogZGVwZW5kZW5jaWVzID0geyBtb2R1bGU9Y29uZmlndXJlLWdkYjsg b249Y29uZmlndXJlLXNpbTsgfTsKIGRlcGVuZGVuY2llcyA9IHsgbW9kdWxlPWNvbmZpZ3VyZS1n ZGI7IG9uPWFsbC1iZmQ7IH07CiBkZXBlbmRlbmNpZXMgPSB7IG1vZHVsZT1jb25maWd1cmUtZ2Ri OyBvbj1hbGwtZ251bGliOyB9OwpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5p bgppbmRleCBmZTM0MTMyLi43MzhmZDMyIDEwMDY0NAotLS0gYS9NYWtlZmlsZS5pbgorKysgYi9N YWtlZmlsZS5pbgpAQCAtMjk0OTEsNyArMjk0OTEsNyBAQCBjb25maWd1cmUtZ2RiOgogCSAgJCRz LyQkbW9kdWxlX3NyY2Rpci9jb25maWd1cmUgXAogCSAgLS1zcmNkaXI9JCR7dG9wZGlyfS8kJG1v ZHVsZV9zcmNkaXIgXAogCSAgJChIT1NUX0NPTkZJR0FSR1MpIC0tYnVpbGQ9JHtidWlsZF9hbGlh c30gLS1ob3N0PSR7aG9zdF9hbGlhc30gXAotCSAgLS10YXJnZXQ9JHt0YXJnZXRfYWxpYXN9ICBc CisJICAtLXRhcmdldD0ke3RhcmdldF9hbGlhc30gQGV4dHJhX21wZnJfY29uZmlndXJlX2ZsYWdz QCBAZXh0cmFfbXBjX21wZnJfY29uZmlndXJlX2ZsYWdzQCBcCiAJICB8fCBleGl0IDEKIEBlbmRp ZiBnZGIKIApAQCAtNTI0NDksNiArNTI0NDksOCBAQCBjb25maWd1cmUtbGliY2MxOiBtYXliZS1j b25maWd1cmUtZ2NjCiBhbGwtbGliY2MxOiBtYXliZS1hbGwtZ2NjCiBhbGwtdXRpbHM6IG1heWJl LWFsbC1saWJpYmVydHkKIGNvbmZpZ3VyZS1nZGI6IG1heWJlLWFsbC1pbnRsCitjb25maWd1cmUt Z2RiOiBtYXliZS1hbGwtZ21wCitjb25maWd1cmUtZ2RiOiBtYXliZS1hbGwtbXBmcgogY29uZmln dXJlLWdkYjogbWF5YmUtYWxsLWJmZAogY29uZmlndXJlLWdkYjogbWF5YmUtYWxsLWxpYmljb252 CiBhbGwtZ2RiOiBtYXliZS1hbGwtbGliaWJlcnR5CmRpZmYgLS1naXQgYS9jb250cmliL2Rvd25s b2FkX3ByZXJlcXVpc2l0ZXMgYi9jb250cmliL2Rvd25sb2FkX3ByZXJlcXVpc2l0ZXMKbmV3IGZp bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYThiNzhkYQotLS0gL2Rldi9udWxsCisrKyBi L2NvbnRyaWIvZG93bmxvYWRfcHJlcmVxdWlzaXRlcwpAQCAtMCwwICsxLDI2MyBAQAorIyEgL2Jp bi9zaAorIyEgLSotIGNvZGluZzp1dGYtODsgbW9kZTpzaGVsbC1zY3JpcHQ7IC0qLQorCisjIERv d25sb2FkIHNvbWUgcHJlcmVxdWlzaXRlcyBuZWVkZWQgYnkgR0RCLgorIyBSdW4gdGhpcyBmcm9t IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIEdEQiBzb3VyY2UgdHJlZSBhbmQgdGhlIEdEQiBidWlsZCB3 aWxsIGRvCisjIHRoZSByaWdodCB0aGluZy4gIFJ1biBpdCB3aXRoIHRoZSBgLS1oZWxwYCBvcHRp b24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisjCisjIChDKSAyMDEwLTIwMjAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjIAorIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0 CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiBTZWUgdGhlIEdOVQorIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisjIAorIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90LCBz ZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy4KKworcHJvZ3JhbT0nZG93bmxvYWRfcHJl cmVxdWlzaXRlcycKK3ZlcnNpb249Jyh1bnZlcnNpb25lZCknCisKKyMgTUFJTlRBSU5FUlM6IElm IHlvdSB1cGRhdGUgdGhlIHBhY2thZ2UgdmVyc2lvbnMgYmVsb3csIHBsZWFzZQorIyByZW1lbWJl ciB0byBhbHNvIHVwZGF0ZSB0aGUgZmlsZXMgYGNvbnRyaWIvcHJlcmVxdWlzaXRlcy5zaGE1MTJg IGFuZAorIyBgY29udHJpYi9wcmVyZXF1aXNpdGVzLm1kNWAgd2l0aCB0aGUgbmV3IGNoZWNrc3Vt cy4KKworZ21wPSdnbXAtNi4xLjAudGFyLmJ6MicKK21wZnI9J21wZnItMy4xLjQudGFyLmJ6MicK KworYmFzZV91cmw9J2h0dHA6Ly9nY2MuZ251Lm9yZy9wdWIvZ2NjL2luZnJhc3RydWN0dXJlLycK KworZWNob19hcmNoaXZlcygpIHsKKyAgICBlY2hvICIke2dtcH0iCisgICAgZWNobyAiJHttcGZy fSIKK30KKwordmVyaWZ5PTEKK2ZvcmNlPTAKK09TPSQodW5hbWUpCisKK2Nhc2UgJE9TIGluCisg ICJEYXJ3aW4ifCJGcmVlQlNEInwiRHJhZ29uRmx5InwiQUlYIikKKyAgICBjaGtzdW09J3NoYXN1 bSAtYSA1MTIgLS1jaGVjaycKKyAgOzsKKyAgIk9wZW5CU0QiKQorICAgIGNoa3N1bT0nc2hhNTEy IC1jJworICA7OworICAqKQorICAgIGNoa3N1bT0nc2hhNTEyc3VtIC1jJworICA7OworZXNhYwor CitpZiB0eXBlIHdnZXQgPiAvZGV2L251bGwgOyB0aGVuCisgIGZldGNoPSd3Z2V0JworZWxzZQor ICBmZXRjaD0nY3VybCAtTE8nCitmaQorY2hrc3VtX2V4dGVuc2lvbj0nc2hhNTEyJworZGlyZWN0 b3J5PScuJworCitoZWxwdGV4dD0idXNhZ2U6ICR7cHJvZ3JhbX0gW09QVElPTi4uLl0KKworRG93 bmxvYWRzIHNvbWUgcHJlcmVxdWlzaXRlcyBuZWVkZWQgYnkgR0RCLiAgUnVuIHRoaXMgZnJvbSB0 aGUgdG9wIGxldmVsIG9mIHRoZQorR0RCIHNvdXJjZSB0cmVlIGFuZCB0aGUgR0RCIGJ1aWxkIHdp bGwgZG8gdGhlIHJpZ2h0IHRoaW5nLgorCitUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIGF2YWls YWJsZToKKworIC0tZGlyZWN0b3J5PURJUiAgZG93bmxvYWQgYW5kIHVucGFjayBwYWNrYWdlcyBp bnRvIERJUiBpbnN0ZWFkIG9mICcuJworIC0tZm9yY2UgICAgICAgICAgZG93bmxvYWQgYWdhaW4g b3ZlcndyaXRpbmcgZXhpc3RpbmcgcGFja2FnZXMKKyAtLW5vLWZvcmNlICAgICAgIGRvIG5vdCBk b3dubG9hZCBleGlzdGluZyBwYWNrYWdlcyBhZ2FpbiAoZGVmYXVsdCkKKyAtLXZlcmlmeSAgICAg ICAgIHZlcmlmeSBwYWNrYWdlIGludGVncml0eSBhZnRlciBkb3dubG9hZCAoZGVmYXVsdCkKKyAt LW5vLXZlcmlmeSAgICAgIGRvbid0IHZlcmlmeSBwYWNrYWdlIGludGVncml0eQorIC0tc2hhNTEy ICAgICAgICAgdXNlIFNIQTUxMiBjaGVja3N1bSB0byB2ZXJpZnkgcGFja2FnZSBpbnRlZ3JpdHkg KGRlZmF1bHQpCisgLS1tZDUgICAgICAgICAgICB1c2UgTUQ1IGNoZWNrc3VtIHRvIHZlcmlmeSBw YWNrYWdlIGludGVncml0eQorIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIHRleHQgYW5kIGV4 aXQKKyAtLXZlcnNpb24gICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAor IgorCit2ZXJzaW9udGV4dD0iJHtwcm9ncmFtfSAke3ZlcnNpb259CitDb3B5cmlnaHQgKEMpIDIw MjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7 IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2Fy cmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuIgorCitkaWUoKSB7CisgICAgZWNobyAiZXJyb3I6ICRAIiA+JjIKKyAg ICBleGl0IDEKK30KKworZm9yIGFyZyBpbiAiJEAiCitkbworICAgIGNhc2UgIiR7YXJnfSIgaW4K KyAgICAgICAgLS1oZWxwKQorICAgICAgICAgICAgZWNobyAiJHtoZWxwdGV4dH0iCisgICAgICAg ICAgICBleGl0CisgICAgICAgICAgICA7OworICAgICAgICAtLXZlcnNpb24pCisgICAgICAgICAg ICBlY2hvICIke3ZlcnNpb250ZXh0fSIKKyAgICAgICAgICAgIGV4aXQKKyAgICAgICAgICAgIDs7 CisgICAgZXNhYworZG9uZQordW5zZXQgYXJnCisKKyMgRW11bGF0ZSBMaW51eCdzICdtZDUgLS1j aGVjaycgb24gbWFjT1MKK21kNV9jaGVjaygpIHsKKyAgIyBTdG9yZSB0aGUgc3RhbmRhcmQgaW5w dXQ6IGEgbGluZSBmcm9tIGNvbnRyaWIvcHJlcmVxdWlzaXRlcy5tZDU6CisgIG1kNV9jaGVja3N1 bV9saW5lPSQoY2F0IC0pCisgICMgR3JhYiB0aGUgdGV4dCBiZWZvcmUgdGhlIGZpcnN0IHNwYWNl CisgIG1kNV9jaGVja3N1bV9leHBlY3RlZD0iJHttZDVfY2hlY2tzdW1fbGluZSUlICp9IgorICAj IEdyYWIgdGhlIHRleHQgYWZ0ZXIgdGhlIGZpcnN0IHNwYWNlCisgIGZpbGVfdG9fY2hlY2s9IiR7 bWQ1X2NoZWNrc3VtX2xpbmUjIyogfSIKKyAgIyBDYWxjdWxhdGUgdGhlIG1kNSBjaGVja3N1bSBm b3IgdGhlIGRvd25sb2FkZWQgZmlsZQorICBtZDVfY2hlY2tzdW1fb3V0cHV0PSQobWQ1IC1yICIk e2ZpbGVfdG9fY2hlY2t9IikKKyAgIyBHcmFiIHRoZSB0ZXh0IGJlZm9yZSB0aGUgZmlyc3Qgc3Bh Y2UKKyAgbWQ1X2NoZWNrc3VtX2RldGVjdGVkPSIke21kNV9jaGVja3N1bV9vdXRwdXQlJSAqfSIK KyAgWyAiJHttZDVfY2hlY2tzdW1fZXhwZWN0ZWR9IiA9PSAiJHttZDVfY2hlY2tzdW1fZGV0ZWN0 ZWR9IiBdIFwKKyAgICB8fCBkaWUgIkNhbm5vdCB2ZXJpZnkgaW50ZWdyaXR5IG9mIHBvc3NpYmx5 IGNvcnJ1cHRlZCBmaWxlICR7ZmlsZV90b19jaGVja30iCisgIGVjaG8gIiR7ZmlsZV90b19jaGVj a306IE9LIgorfQorCisKK2FyZ25leHQ9Citmb3IgYXJnIGluICIkQCIKK2RvCisgICAgaWYgWyAi eCR7YXJnbmV4dH0iID0geCBdCisgICAgdGhlbgorICAgICAgICBjYXNlICIke2FyZ30iIGluCisg ICAgICAgICAgICAtLWRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICBhcmduZXh0PSdkaXJlY3Rv cnknCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgIC0tZGlyZWN0b3J5PSopCisgICAg ICAgICAgICAgICAgZGlyZWN0b3J5PSIke2FyZyMtLWRpcmVjdG9yeT19IgorICAgICAgICAgICAg ICAgIDs7CisgICAgICAgICAgICAtLWZvcmNlKQorICAgICAgICAgICAgICAgIGZvcmNlPTEKKyAg ICAgICAgICAgICAgICA7OworICAgICAgICAgICAgLS1uby1mb3JjZSkKKyAgICAgICAgICAgICAg ICBmb3JjZT0wCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgIC0tdmVyaWZ5KQorICAg ICAgICAgICAgICAgIHZlcmlmeT0xCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgIC0t bm8tdmVyaWZ5KQorICAgICAgICAgICAgICAgIHZlcmlmeT0wCisgICAgICAgICAgICAgICAgOzsK KyAgICAgICAgICAgIC0tc2hhNTEyKQorICAgICAgICAgICAgICAgIGNhc2UgJE9TIGluCisgICAg ICAgICAgICAgICAgICAiRGFyd2luIikKKyAgICAgICAgICAgICAgICAgICAgY2hrc3VtPSdzaGFz dW0gLWEgNTEyIC0tY2hlY2snCisgICAgICAgICAgICAgICAgICA7OworICAgICAgICAgICAgICAg ICAgKikKKyAgICAgICAgICAgICAgICAgICAgY2hrc3VtPSdzaGE1MTJzdW0gLS1jaGVjaycKKyAg ICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgICAgZXNhYworICAgICAgICAgICAgICAg IGNoa3N1bV9leHRlbnNpb249J3NoYTUxMicKKyAgICAgICAgICAgICAgICB2ZXJpZnk9MQorICAg ICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAtLW1kNSkKKyAgICAgICAgICAgICAgICBjYXNl ICRPUyBpbgorICAgICAgICAgICAgICAgICAgIkRhcndpbiIpCisgICAgICAgICAgICAgICAgICAg IGNoa3N1bT0nbWQ1X2NoZWNrJworICAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAg ICAgICopCisgICAgICAgICAgICAgICAgICAgIGNoa3N1bT0nbWQ1IC0tY2hlY2snCisgICAgICAg ICAgICAgICAgICA7OworICAgICAgICAgICAgICAgIGVzYWMKKyAgICAgICAgICAgICAgICBjaGtz dW1fZXh0ZW5zaW9uPSdtZDUnCisgICAgICAgICAgICAgICAgdmVyaWZ5PTEKKyAgICAgICAgICAg ICAgICA7OworICAgICAgICAgICAgLSopCisgICAgICAgICAgICAgICAgZGllICJ1bmtub3duIG9w dGlvbjogJHthcmd9IgorICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAqKQorICAgICAg ICAgICAgICAgIGRpZSAidG9vIG1hbnkgYXJndW1lbnRzIgorICAgICAgICAgICAgICAgIDs7Cisg ICAgICAgIGVzYWMKKyAgICBlbHNlCisgICAgICAgIGNhc2UgIiR7YXJnfSIgaW4KKyAgICAgICAg ICAgIC0qKQorICAgICAgICAgICAgICAgIGRpZSAiTWlzc2luZyBhcmd1bWVudCBmb3Igb3B0aW9u IC0tJHthcmduZXh0fSIKKyAgICAgICAgICAgICAgICA7OworICAgICAgICBlc2FjCisgICAgICAg IGNhc2UgIiR7YXJnbmV4dH0iIGluCisgICAgICAgICAgICBkaXJlY3RvcnkpCisgICAgICAgICAg ICAgICAgZGlyZWN0b3J5PSIke2FyZ30iCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAg ICopCisgICAgICAgICAgICAgICAgZGllICJUaGUgaW1wb3NzaWJsZSBoYXMgaGFwcGVuZWQiCisg ICAgICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICBhcmduZXh0PQorICAgIGZp Citkb25lCitbICJ4JHthcmduZXh0fSIgPSB4IF0gfHwgZGllICJNaXNzaW5nIGFyZ3VtZW50IGZv ciBvcHRpb24gLS0ke2FyZ25leHR9IgordW5zZXQgYXJnIGFyZ25leHQKKworWyAtZSAuL2dkYi92 ZXJzaW9uLmluIF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgIHx8IGRpZSAiWW91IG11c3QgcnVuIHRoaXMgc2NyaXB0IGluIHRoZSB0 b3AtbGV2ZWwgR0RCIHNvdXJjZSBkaXJlY3RvcnkiCisKK1sgLWQgIiR7ZGlyZWN0b3J5fSIgXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KyAgICB8fCBkaWUgIk5vIHN1Y2ggZGlyZWN0b3J5OiAke2RpcmVjdG9yeX0iCisKK2ZvciBhciBp biAkKGVjaG9fYXJjaGl2ZXMpCitkbworICAgIGlmIFsgJHtmb3JjZX0gLWd0IDAgXTsgdGhlbiBy bSAtZiAiJHtkaXJlY3Rvcnl9LyR7YXJ9IjsgZmkKKyAgICBbIC1lICIke2RpcmVjdG9yeX0vJHth cn0iIF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgfHwgKCBjZCAiJHtkaXJlY3Rvcnl9IiAmJiAke2ZldGNofSAtLW5vLXZlcmJvc2UgIiR7 YmFzZV91cmx9JHthcn0iICkgIFwKKyAgICAgICAgfHwgZGllICJDYW5ub3QgZG93bmxvYWQgJHth cn0gZnJvbSAke2Jhc2VfdXJsfSIKK2RvbmUKK3Vuc2V0IGFyCisKK2lmIFsgJHt2ZXJpZnl9IC1n dCAwIF0KK3RoZW4KKyAgICBjaGtzdW1maWxlPSJjb250cmliL3ByZXJlcXVpc2l0ZXMuJHtjaGtz dW1fZXh0ZW5zaW9ufSIKKyAgICBbIC1yICIke2Noa3N1bWZpbGV9IiBdIHx8IGRpZSAiTm8gY2hl Y2tzdW1zIGF2YWlsYWJsZSIKKyAgICBmb3IgYXIgaW4gJChlY2hvX2FyY2hpdmVzKQorICAgIGRv CisgICAgICAgIGdyZXAgIiR7YXJ9IiAiJHtjaGtzdW1maWxlfSIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB8ICggY2QgIiR7ZGlyZWN0b3J5 fSIgJiYgJHtjaGtzdW19ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg ICAgICB8fCBkaWUgIkNhbm5vdCB2ZXJpZnkgaW50ZWdyaXR5IG9mIHBvc3NpYmx5IGNvcnJ1cHRl ZCBmaWxlICR7YXJ9IgorICAgIGRvbmUKKyAgICB1bnNldCBjaGtzdW1maWxlCitmaQordW5zZXQg YXIKKworZm9yIGFyIGluICQoZWNob19hcmNoaXZlcykKK2RvCisgICAgcGFja2FnZT0iJHthciUu dGFyKn0iCisgICAgaWYgWyAke2ZvcmNlfSAtZ3QgMCBdOyB0aGVuIHJtIC1yZiAiJHtkaXJlY3Rv cnl9LyR7cGFja2FnZX0iOyBmaQorICAgIGNhc2UgJGFyIGluCisgICAgKi5neikKKwl1bmNvbXBy ZXNzPSdnemlwIC1kJworCTs7CisgICAgKi5iejIpCisJdW5jb21wcmVzcz0nYnppcDIgLWQnCisJ OzsKKyAgICAqKQorCXVuY29tcHJlc3M9J2NhdCcKKwk7OworICAgIGVzYWMKKyAgICBbIC1lICIk e2RpcmVjdG9yeX0vJHtwYWNrYWdlfSIgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgICAgfHwgKCBjZCAiJHtkaXJlY3Rvcnl9IiAmJiAkdW5jb21wcmVz cyA8IiR7YXJ9IiB8IHRhciAteGYgLSApICAgICAgICAgIFwKKyAgICAgICAgfHwgZGllICJDYW5u b3QgZXh0cmFjdCBwYWNrYWdlIGZyb20gJHthcn0iCisgICAgdW5zZXQgcGFja2FnZQorZG9uZQor dW5zZXQgYXIKKworZm9yIGFyIGluICQoZWNob19hcmNoaXZlcykKK2RvCisgICAgdGFyZ2V0PSIk e2RpcmVjdG9yeX0vJHthciUudGFyKn0vIgorICAgIGxpbmtuYW1lPSIke2FyJS0qfSIKKyAgICBp ZiBbICR7Zm9yY2V9IC1ndCAwIF07IHRoZW4gcm0gLWYgIiR7bGlua25hbWV9IjsgZmkKKyAgICBb IC1lICIke2xpbmtuYW1lfSIgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfHwgbG4gLXMgIiR7dGFyZ2V0fSIgIiR7bGlua25h bWV9IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgfHwgZGll ICJDYW5ub3QgY3JlYXRlIHN5bWJvbGljIGxpbmsgJHtsaW5rbmFtZX0gLS0+ICR7dGFyZ2V0fSIK KyAgICB1bnNldCB0YXJnZXQgbGlua25hbWUKK2RvbmUKK3Vuc2V0IGFyCisKK2VjaG8gIkFsbCBw cmVyZXF1aXNpdGVzIGRvd25sb2FkZWQgc3VjY2Vzc2Z1bGx5LiIKZGlmZiAtLWdpdCBhL2NvbnRy aWIvcHJlcmVxdWlzaXRlcy5tZDUgYi9jb250cmliL3ByZXJlcXVpc2l0ZXMubWQ1Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmN2JlMGQKLS0tIC9kZXYvbnVsbAorKysgYi9j b250cmliL3ByZXJlcXVpc2l0ZXMubWQ1CkBAIC0wLDAgKzEsMiBAQAorODZlZTZlNTRlYmZjNGE5 MGI2NDNhNjVlNDAyYzQwNDggIGdtcC02LjEuMC50YXIuYnoyCitiOGEyZjZiMGU2OGJlZjQ2ZTUz ZGEyYWM0MzllMWNmNCAgbXBmci0zLjEuNC50YXIuYnoyCmRpZmYgLS1naXQgYS9jb250cmliL3By ZXJlcXVpc2l0ZXMuc2hhNTEyIGIvY29udHJpYi9wcmVyZXF1aXNpdGVzLnNoYTUxMgpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjA1YWZmCi0tLSAvZGV2L251bGwKKysrIGIv Y29udHJpYi9wcmVyZXF1aXNpdGVzLnNoYTUxMgpAQCAtMCwwICsxLDIgQEAKKzNjODJhZWFiOWMx NTk2ZDRkYThhZmFjMmVlYzM4ZTQyOWU4NGYzMjExZTFhNTcyY2Y4ZmQyYjU0NjQ5M2M0NGMwMzli OTIyYTExMzNlYWFhNDhiZDdmM2UxMWRiZTc5NWEzODRlMjFlZDk1Y2JlM2VjYzU4ZDdhYzAyMjQ2 MTE3ICBnbXAtNi4xLjAudGFyLmJ6MgorNTEwNjYwNjZmZjJjMTJlZDIxOTg2MDVlY2Y2ODg0NmIw Yzk2YjU0OGFkYWZhNWI4MGUwYzc4NmQwZGY0ODg0MTFhNWU4OTczMzU4ZmNlNzE5MmRjOTc3YWQ0 ZTY4NDE0Y2YxNDUwMGUzYzM5NzQ2ZGU2MjQ2NWViMTQ1YmI4MTkgIG1wZnItMy4xLjQudGFyLmJ6 MgpkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKaW5kZXggYTNlNzNi NC4uMDM0NDg1ZCAxMDA3NTUKLS0tIGEvZ2RiL2NvbmZpZ3VyZQorKysgYi9nZGIvY29uZmlndXJl CkBAIC04OTksOCArODk5LDEzIEBAIHdpdGhfaml0X3JlYWRlcl9kaXIKIHdpdGhfZXhwYXQKIHdp dGhfbGliZXhwYXRfcHJlZml4CiB3aXRoX2xpYmV4cGF0X3R5cGUKK3dpdGhfZ21wX2luY2x1ZGUK K3dpdGhfZ21wX2xpYgord2l0aF9nbXAKIHdpdGhfbGliZ21wX3ByZWZpeAogd2l0aF9saWJnbXBf dHlwZQord2l0aF9tcGZyX2luY2x1ZGUKK3dpdGhfbXBmcl9saWIKIHdpdGhfbXBmcgogd2l0aF9s aWJtcGZyX3ByZWZpeAogd2l0aF9saWJtcGZyX3R5cGUKQEAgLTE2NDQsOSArMTY0OSwxNCBAQCBP cHRpb25hbCBQYWNrYWdlczoKICAgLS13aXRoLWxpYmV4cGF0LXByZWZpeFs9RElSXSAgc2VhcmNo IGZvciBsaWJleHBhdCBpbiBESVIvaW5jbHVkZSBhbmQgRElSL2xpYgogICAtLXdpdGhvdXQtbGli ZXhwYXQtcHJlZml4ICAgICBkb24ndCBzZWFyY2ggZm9yIGxpYmV4cGF0IGluIGluY2x1ZGVkaXIg YW5kIGxpYmRpcgogICAtLXdpdGgtbGliZXhwYXQtdHlwZT1UWVBFICAgICB0eXBlIG9mIGxpYnJh cnkgdG8gc2VhcmNoIGZvciAoYXV0by9zdGF0aWMvc2hhcmVkKQorICAtLXdpdGgtZ21wLWluY2x1 ZGU9RElSICBHTVAgaW5jbHVkZSBkaXJlY3RvcnkKKyAgLS13aXRoLWdtcC1saWI9RElSICAgICAg R01QIGxpYiBkaXJlY3RvcnkKKyAgLS13aXRoLWdtcD1ESVIgICAgICAgICAgR01QIGluc3RhbGwg ZGlyZWN0b3J5CiAgIC0td2l0aC1saWJnbXAtcHJlZml4Wz1ESVJdICBzZWFyY2ggZm9yIGxpYmdt cCBpbiBESVIvaW5jbHVkZSBhbmQgRElSL2xpYgogICAtLXdpdGhvdXQtbGliZ21wLXByZWZpeCAg ICAgZG9uJ3Qgc2VhcmNoIGZvciBsaWJnbXAgaW4gaW5jbHVkZWRpciBhbmQgbGliZGlyCiAgIC0t d2l0aC1saWJnbXAtdHlwZT1UWVBFICAgICB0eXBlIG9mIGxpYnJhcnkgdG8gc2VhcmNoIGZvciAo YXV0by9zdGF0aWMvc2hhcmVkKQorICAtLXdpdGgtbXBmci1pbmNsdWRlPURJUiBNUEZSIGluY2x1 ZGUgZGlyZWN0b3J5CisgIC0td2l0aC1tcGZyLWxpYj1ESVIgICAgIE1QRlIgbGliIGRpcmVjdG9y eQogICAtLXdpdGgtbXBmciAgICAgICAgICAgICBpbmNsdWRlIE1QRlIgc3VwcG9ydCAoYXV0by95 ZXMvbm8pCiAgIC0td2l0aC1saWJtcGZyLXByZWZpeFs9RElSXSAgc2VhcmNoIGZvciBsaWJtcGZy IGluIERJUi9pbmNsdWRlIGFuZCBESVIvbGliCiAgIC0td2l0aG91dC1saWJtcGZyLXByZWZpeCAg ICAgZG9uJ3Qgc2VhcmNoIGZvciBsaWJtcGZyIGluIGluY2x1ZGVkaXIgYW5kIGxpYmRpcgpAQCAt OTk5MCw2ICsxMDAwMCwzNSBAQCBkb25lCiAgIGZpCiBmaQogCisKKyMgQ2hlY2sgd2hldGhlciAt LXdpdGgtZ21wX2luY2x1ZGUgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX2dtcF9pbmNsdWRl K3NldH0iID0gc2V0OyB0aGVuIDoKKyAgd2l0aHZhbD0kd2l0aF9nbXBfaW5jbHVkZTsgQ1BQRkxB R1M9IiRDUFBGTEFHUyAtSSR3aXRodmFsIgorZmkKKworCisjIENoZWNrIHdoZXRoZXIgLS13aXRo LWdtcF9saWIgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRoX2dtcF9saWIrc2V0fSIgPSBzZXQ7 IHRoZW4gOgorICB3aXRodmFsPSR3aXRoX2dtcF9saWI7IExERkxBR1M9IiRMREZMQUdTIC1MJHdp dGh2YWwiCitmaQorCisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtZ21wIHdhcyBnaXZlbi4KK2lm IHRlc3QgIiR7d2l0aF9nbXArc2V0fSIgPSBzZXQ7IHRoZW4gOgorICB3aXRodmFsPSR3aXRoX2dt cDsKKyAgIGlmIHRlc3QgLXogIiR3aXRoX2dtcF9saWIiICYmIHRlc3QgLXogIiR3aXRoX2dtcF9p bmNsdWRlIiA7IHRoZW4KKyAgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkd2l0aHZhbC9pbmNs dWRlIgorICAgICAgTERGTEFHUz0iJExERkxBR1MgLUwkd2l0aHZhbC9saWIiCisgICBlbHNlCisg ICAgICB7IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZXJyb3I6IGlu IFxgJGFjX3B3ZCc6IiA+JjUKKyRhc19lY2hvICIkYXNfbWU6IGVycm9yOiBpbiBcYCRhY19wd2Qn OiIgPiYyO30KK2FzX2ZuX2Vycm9yICQ/ICJEbyBub3QgdXNlIC0td2l0aC1nbXAgYW5kIC0td2l0 aC1nbXAtaW5jbHVkZS8tLXdpdGgtZ21wLWxpYiBvcHRpb25zIHNpbXVsdGFuZW91c2x5LgorU2Vl IFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5FTk8iIDU7IH0KKyAgIGZpCisK K2ZpCisKKwogIyBWZXJpZnkgdGhhdCB3ZSBoYXZlIGEgdXNhYmxlIEdNUCBsaWJyYXJ5LgogCiAK QEAgLTEwNDc0LDYgKzEwNTEzLDE5IEBAIGlmIHRlc3QgIiRIQVZFX0xJQkdNUCIgIT0geWVzOyB0 aGVuCiBmaQogCiAKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbXBmcl9pbmNsdWRlIHdhcyBnaXZl bi4KK2lmIHRlc3QgIiR7d2l0aF9tcGZyX2luY2x1ZGUrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICB3 aXRodmFsPSR3aXRoX21wZnJfaW5jbHVkZTsgQ1BQRkxBR1M9Ii1JJHdpdGh2YWwgJENQUEZMQUdT IgorZmkKKworCisjIENoZWNrIHdoZXRoZXIgLS13aXRoLW1wZnJfbGliIHdhcyBnaXZlbi4KK2lm IHRlc3QgIiR7d2l0aF9tcGZyX2xpYitzZXR9IiA9IHNldDsgdGhlbiA6CisgIHdpdGh2YWw9JHdp dGhfbXBmcl9saWI7IExERkxBR1M9Ii1MJHdpdGh2YWwgJExERkxBR1MiCitmaQorCisKKwogIyBD aGVjayB3aGV0aGVyIC0td2l0aC1tcGZyIHdhcyBnaXZlbi4KIGlmIHRlc3QgIiR7d2l0aF9tcGZy K3NldH0iID0gc2V0OyB0aGVuIDoKICAgd2l0aHZhbD0kd2l0aF9tcGZyOwpkaWZmIC0tZ2l0IGEv Z2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKaW5kZXggMzJmMjVkOS4uOTdmNDNj ZSAxMDA2NDQKLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYworKysgYi9nZGIvY29uZmlndXJlLmFjCkBA IC02ODMsNiArNjgzLDIyIEBAIGVsc2UKICAgZmkKIGZpCiAKK0FDX0FSR19XSVRIKGdtcF9pbmNs dWRlLAorICAgWyAgLS13aXRoLWdtcC1pbmNsdWRlPURJUiAgR01QIGluY2x1ZGUgZGlyZWN0b3J5 IF0sCisgICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHdpdGh2YWwiKQorQUNfQVJHX1dJVEgoZ21w X2xpYiwKKyAgIFsgIC0td2l0aC1nbXAtbGliPURJUiAgICAgIEdNUCBsaWIgZGlyZWN0b3J5IF0s CisgICBMREZMQUdTPSIkTERGTEFHUyAtTCR3aXRodmFsIikKK0FDX0FSR19XSVRIKGdtcCwKKyAg IFsgIC0td2l0aC1nbXA9RElSICAgICAgICAgIEdNUCBpbnN0YWxsIGRpcmVjdG9yeSBdLCBbCisg ICBpZiB0ZXN0IC16ICIkd2l0aF9nbXBfbGliIiAmJiB0ZXN0IC16ICIkd2l0aF9nbXBfaW5jbHVk ZSIgOyB0aGVuCisgICAgICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHdpdGh2YWwvaW5jbHVkZSIK KyAgICAgIExERkxBR1M9IiRMREZMQUdTIC1MJHdpdGh2YWwvbGliIgorICAgZWxzZQorICAgICAg QUNfTVNHX0ZBSUxVUkUoW0RvIG5vdCB1c2UgLS13aXRoLWdtcCBhbmQgLS13aXRoLWdtcC1pbmNs dWRlLy0td2l0aC1nbXAtbGliIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkuXSkKKyAgIGZpCisgIF0p CisKICMgVmVyaWZ5IHRoYXQgd2UgaGF2ZSBhIHVzYWJsZSBHTVAgbGlicmFyeS4KIEFDX0xJQl9I QVZFX0xJTktGTEFHUyhbZ21wXSwgW10sIFsjaW5jbHVkZSA8Z21wLmg+XSwKICAgICAgICAgICAg ICAgICAgICAgICBbbXB6X3QgbjsKQEAgLTY5MSw2ICs3MDcsMTUgQEAgaWYgdGVzdCAiJEhBVkVf TElCR01QIiAhPSB5ZXM7IHRoZW4KICAgQUNfTVNHX0VSUk9SKFtHTVAgaXMgbWlzc2luZyBvciB1 bnVzYWJsZV0pCiBmaQogCitBQ19BUkdfV0lUSChbbXBmcl9pbmNsdWRlXSwKKyAgICAgICAgICAg IFtBQ19IRUxQX1NUUklORyhbLS13aXRoLW1wZnItaW5jbHVkZT1ESVJdLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFtNUEZSIGluY2x1ZGUgZGlyZWN0b3J5XSldLAorICAgICAgICAgICAg W0NQUEZMQUdTPSItSSR3aXRodmFsICRDUFBGTEFHUyJdKQorQUNfQVJHX1dJVEgoW21wZnJfbGli XSwKKyAgICAgICAgICAgIFtBQ19IRUxQX1NUUklORyhbLS13aXRoLW1wZnItbGliPURJUl0sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgW01QRlIgbGliIGRpcmVjdG9yeV0pXSwKKyAgICAg ICAgICAgIFtMREZMQUdTPSItTCR3aXRodmFsICRMREZMQUdTIl0pCisKIEFDX0FSR19XSVRIKG1w ZnIsCiAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtbXBmcl0sIFtpbmNsdWRlIE1QRlIgc3VwcG9y dCAoYXV0by95ZXMvbm8pXSksCiAgIFtdLCBbd2l0aF9tcGZyPWF1dG9dKQotLSAKMS45LjEKCg== --------------B4D66154FDBD228DB4CB5914--