From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80044.outbound.protection.outlook.com [40.107.8.44]) by sourceware.org (Postfix) with ESMTPS id 1AADB385C30E for ; Tue, 28 Jun 2022 15:54:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1AADB385C30E ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=kkEh3p7ZMfTqaxWTDJ24SxkdOxLGHheB3LPER5UnkgrOjAny5EIUKRUAg3/P7BQ0eEKiJK+9gv7NKrM3dihKMBl/fuYbfwnVIdOJcoKcYUW3/vH/R//f1UYbI86iPQUPBns4C1xqy2VystpXb5/wCJUWMUnnbAMGT/YFnJycygUmX6GCklQxUTt6KuGYlt0UoDhYceWee2HDPBwIVUz0yVzZoM2XcMnjVbylShd9YECT44dB+eL1Uf3vzWcaMoCyZ4GZ0jiNWXQDDoC+pXpIb5E89QkW2wwl8MQvmE1CDutN0bvpUkZPVw1bPBRpXES8aFGFn4s+axYR5e3r8vNv/w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ydJlx755wzX2vWBzSwKBzGmRjCCX0c2OX53oLYdYpBI=; b=iaZ6rg18AAz0dwPOjVfk/Tx+7qtqq2p3JanRPCWwUevIsyuwilxsgd9iavoTjJGH1hfvFNGzHmOx2YLc0GIvCuHijfCKT/OkEGMHVcievR4NPOQAFwSbuAZTXU5gJ3im6EjPndKEN7sR3G8Z2msq0YJCTYAAt2H95Zy5MPrt0MD3+7VEkGoF24EalXRutRXdNA9UKF0SaOTH0aOFONtahLzXGe8M2kaUfm5CuLcYzcrP7++UZRpVMqzolHm971IS3qGYCIUwt5dzSRwThBLWvvmJiEjE0VjjsdugB7zi7rHj+Yt6AY9CVssECcYig7T3e6AcrWVCRfOc6501ulYfwg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) Received: from AS9PR06CA0288.eurprd06.prod.outlook.com (2603:10a6:20b:45a::19) by VE1PR08MB5117.eurprd08.prod.outlook.com (2603:10a6:803:109::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Tue, 28 Jun 2022 15:54:14 +0000 Received: from VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:45a:cafe::93) by AS9PR06CA0288.outlook.office365.com (2603:10a6:20b:45a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17 via Frontend Transport; Tue, 28 Jun 2022 15:54:14 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT004.mail.protection.outlook.com (10.152.18.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15 via Frontend Transport; Tue, 28 Jun 2022 15:54:14 +0000 Received: ("Tessian outbound ef501234d194:v121"); Tue, 28 Jun 2022 15:54:13 +0000 X-CR-MTA-TID: 64aa7808 Received: from d4ad7edd21d9.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 64A3AEC8-AD07-45DA-8C38-440565E9D9DE.1; Tue, 28 Jun 2022 15:54:08 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d4ad7edd21d9.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 28 Jun 2022 15:54:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bB7Fy0Xsgff6WAEn0vYzba0wjPB/jIhKnk1D53mJ9tAb4r8/F0HuB1x0esve8rvlm1fyyjTumzuyyX9gbx4xfwBmaweU8lxwWTigZ974wwbjV+7uw2gfEwjJJHbqNvjIjZneUWu6aFlBa2UUvqPWFV3I70w3MdoqQ02LH7Onw2piPvOof14rK41xsZ4LlNkDMHmyV0whEidhMb856DHUjuhr4Tx4xbU5bWkgOr3ElSkaRW6ez690pITrffK1tw0axFYY+2OVkPxP6PnfH3tRpgHN8Rv/1k4cCKjoiYoysCpSgl10C/DhSk8nwotFPcWb53u4bQ/oW4XSR0I7r6pdWg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ydJlx755wzX2vWBzSwKBzGmRjCCX0c2OX53oLYdYpBI=; b=JyIcHJc5h5LP8ZsrF3rgNF+k8rmJ8CNBGK22k0SXdnAnS5kGfzjibcNaYhLEyx2UOj8W8sGS5Goa1wg/dipfhyYtHAYJ3iGqticUpkGvdr6shLGBAsu/ULrn5OgxcEqiMhjFeWyjLM7XtSJN+b4ilqi2tWl8QdkApPELn7u7t5wmK8RvJxKi2noZMwZj1pKxYZ47hEsRB4lTra3SeUrcUpDqL5SPXKaWlI6mZWxFkBt8NNFWDwYpcokYRAa+ZyTUK0434qR9eVNh6d8u3rpNmqxHljFu+/zfNEVQ4DFhIf+vRZ9Rk06fsUFQjpYaWzQOSErJXxAYASaG/EYcSF2IKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by AM0PR08MB3745.eurprd08.prod.outlook.com (2603:10a6:208:ff::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.16; Tue, 28 Jun 2022 15:54:06 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::54e5:594b:e5fd:a9b4]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::54e5:594b:e5fd:a9b4%8]) with mapi id 15.20.5373.018; Tue, 28 Jun 2022 15:54:06 +0000 From: Tamar Christina To: Richard Biener CC: Richard Sandiford , Richard Earnshaw , nd , "gcc-patches@gcc.gnu.org" , Marcus Shawcroft Subject: RE: [PATCH 1/2]AArch64 Add fallback case using sdot for usdot Thread-Topic: [PATCH 1/2]AArch64 Add fallback case using sdot for usdot Thread-Index: AQHYieyZ+T/OruCdDEi50EDt3drpQK1k+c3w Date: Tue, 28 Jun 2022 15:54:06 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 04D197F166BB014DBED5645A61270BBC.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: 81f157e7-217a-49a8-0c98-08da591e7342 x-ms-traffictypediagnostic: AM0PR08MB3745:EE_|VE1EUR03FT004:EE_|VE1PR08MB5117:EE_ x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: oXxzBEOw0D+lWTvbCz6VaSe1s6wpF0lILmQsNt1GlSr/ZN/nFL2p1WT5SWA4mGlKMdyZpM4WmuDMgfd8qUV+Mm+roixQqeRRgH7lz0238vX7K+bkPrZ7Z8DooUbHTa1dz82qUrM4TVTtlWsKKAeKRwtzQp2moBJexCZNjjhMHuGerGOcA+GeO+Bb+lCXcXfpQSH5K6+X9zlBsbTOHNCN35lAfGgXZkRwRigtp2rKrZCU95JBos8GKXQrIu/TYPmlpbqIzmY4bwV8/ZyZfP8A4m2oyY36hOT4VPzBqJaS02hl7O6tWyofX5nEIM/AKR6t5RAgncWqgKns3sOl6bGswXahJ85e8I3wA9PGt+EewlMLRYi86Gs1ivsYNOKnUW3S77EVWiJRx7i8n+q07/JcjcKZ5teeQ8WhJhzjymC1IPcCF1HwA8TgSSwwHmyvMi1t4he5DyWaP9F8nvp0rNiWQAd6r+NNfKd3ZPzPjSuHPuSG8tQ2sMZGzosAVUsZpJbleQ3wBJdoC6g3jIuoGnBbPA6Mqz5u0E8hv9A0+BODvryv8007x05Ki5SDVK2rFmOnWfa7sCzFWCwqKrnnGyMolRttKE8Z4BxO44ZhU8QizTSjhft+9MP6gLSnzTE/RJNwFolbxthB7wPKHIvoB4RvhzzurrQ9K5Q7HG4bhyvubBc0QYbyt0kUo1EFR1sDfr8nX+qQasKD9WboopcJXqbWyvNdWBxLNj0yfjO1e5dm7Rmy84RXzq9+s3/Dal+CcJ7LKcamcBfo8Wc9qd62xjEozlk6CRloiC6mlS3oM4QenKw8pRrpYjzUOvovpTq0uQNigNItT9+BHfTGc7Pt2tZ9zw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR08MB5325.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(39860400002)(376002)(396003)(136003)(346002)(366004)(66556008)(122000001)(8676002)(6916009)(64756008)(316002)(76116006)(66476007)(54906003)(186003)(66946007)(4326008)(38070700005)(55016003)(33656002)(83380400001)(52536014)(66446008)(9686003)(26005)(41300700001)(2906002)(6506007)(5660300002)(84970400001)(71200400001)(38100700002)(478600001)(8936002)(53546011)(86362001)(7696005); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3745 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 377c34cd-a2a2-4887-c206-08da591e6ea4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XJ9c+ucA9XhecRv5qM/Ae0LL419wd9cFdaskzCv42+Ad6DRCrubWGMkRVqp2+kh9+VeFeo5EfeJgGBnLhgU9U0+e0DQILXvJnPyTGJICN/Z6NSm7Q8KiwQriMKnG5LtzVQH1Cts1VnzMA0SzD0r1T7dCJzJi23nqkvdWum7pU6SxMOS60uBfOFpoSBM6rkqFCZnIlVq4ivmDG+kbH4XM2rwyK9BSvCm4BbMh/IUxjUrji/FfKXL6e1dXxiLLcvoURHVG4PcSkxt3B+3V4hN57p0NxIrslqEObhh1lch53r1TVkZP8eJWlGrYSex1iLUSAbn0JBgSL/T5DuJnY1Q41OdzjUv+TOfV1MsZpD0PjXEUCXwd1Op5XaaFwaR0BW1uUTmPPrnZTOYWXrfEyIiYlYzLBSAE4zC7WdAj9yQK4Mu9h7d4wjG4DebaI9ac/UEdWpf5vDX8GF9Ybk31XHScFs+bK2mgyqr2exwZfuU3HMa2kNcq6wdNCBaYLLfYWeQWQjIyfZmT5Vphwoom8N8qTLMkIUMtoQImQiGuuN7S58C6RkDmFHSPc/Pnnx8TxVEDz+PIxQ2ZtpZfY4RS+H0Vr/AsKebTwgAltejqXOuMtUoXXxE3cod2x/3R4FeafUTRVECR+ZOgCQfJ29KHanMQ8Ho/0VE1j9BOnFOviF6oT/XskCCnXIw55gaqSQvSGVxXGtMLL8n3tBiMFz5+AzBL5F5F5Dsdd/B0BKhuoe1vK3AfYwGmRiCeqcHCaH4Q59DpB7M+Icifa69zu7x1nORFOYnph1iZjTSbokmtllH41V3cnjkk0SGQkC7c2qq6pFRF50dl573bKBvrsAAKvHqOzg== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230016)(4636009)(346002)(39860400002)(376002)(136003)(396003)(36840700001)(40470700004)(46966006)(8676002)(70586007)(36860700001)(4326008)(52536014)(70206006)(40480700001)(86362001)(9686003)(6506007)(53546011)(41300700001)(40460700003)(26005)(478600001)(84970400001)(7696005)(82740400003)(186003)(2906002)(30864003)(33656002)(55016003)(81166007)(356005)(8936002)(82310400005)(47076005)(54906003)(336012)(5660300002)(316002)(83380400001)(6862004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2022 15:54:14.2539 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81f157e7-217a-49a8-0c98-08da591e7342 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5117 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, GIT_PATCH_0, KAM_DMARC_NONE, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2022 15:54:23 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSaWNoYXJkIEJpZW5lciA8cmlj aGFyZC5ndWVudGhlckBnbWFpbC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgSnVuZSAyNywgMjAyMiA3 OjEwIEFNDQo+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0K PiBDYzogUmljaGFyZCBTYW5kaWZvcmQgPFJpY2hhcmQuU2FuZGlmb3JkQGFybS5jb20+OyBSaWNo YXJkIEVhcm5zaGF3DQo+IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5jb20+OyBuZCA8bmRAYXJtLmNv bT47IGdjYy0NCj4gcGF0Y2hlc0BnY2MuZ251Lm9yZzsgTWFyY3VzIFNoYXdjcm9mdCA8TWFyY3Vz LlNoYXdjcm9mdEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvMl1BQXJjaDY0IEFk ZCBmYWxsYmFjayBjYXNlIHVzaW5nIHNkb3QgZm9yIHVzZG90DQo+IA0KPiBPbiBNb24sIEp1biAy NywgMjAyMiBhdCA3OjI1IEFNIFRhbWFyIENocmlzdGluYSB2aWEgR2NjLXBhdGNoZXMgPGdjYy0N Cj4gcGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JvdGU6DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZCA8cmljaGFyZC5zYW5k aWZvcmRAYXJtLmNvbT4NCj4gPiA+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDE2LCAyMDIyIDc6NTQg UE0NCj4gPiA+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0K PiA+ID4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBuZCA8bmRAYXJtLmNvbT47IFJpY2hh cmQgRWFybnNoYXcNCj4gPiA+IDxSaWNoYXJkLkVhcm5zaGF3QGFybS5jb20+OyBNYXJjdXMgU2hh d2Nyb2Z0DQo+ID4gPiA8TWFyY3VzLlNoYXdjcm9mdEBhcm0uY29tPjsgS3lyeWxvIFRrYWNob3YN Cj4gPEt5cnlsby5Ua2FjaG92QGFybS5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIDEv Ml1BQXJjaDY0IEFkZCBmYWxsYmFjayBjYXNlIHVzaW5nIHNkb3QgZm9yDQo+ID4gPiB1c2RvdA0K PiA+ID4NCj4gPiA+IFJpY2hhcmQgU2FuZGlmb3JkIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNo ZXNAZ2NjLmdudS5vcmc+IHdyaXRlczoNCj4gPiA+ID4gVGFtYXIgQ2hyaXN0aW5hIDx0YW1hci5j aHJpc3RpbmFAYXJtLmNvbT4gd3JpdGVzOg0KPiA+ID4gPj4gSGkgQWxsLA0KPiA+ID4gPj4NCj4g PiA+ID4+IFRoZSB1c2RvdCBvcGVyYXRpb24gaXMgY29tbW9uIGluIHZpZGVvIGVuY29kZXIgYW5k IGRlY29kZXJzDQo+ID4gPiA+PiBpbmNsdWRpbmcgc29tZSBvZiB0aGUgbW9zdCB3aWRlbHkgdXNl ZCBvbmVzLg0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoaXMgcGF0Y2ggYWRkcyBhICtkb3Rwcm9kIHZl cnNpb24gb2YgdGhlIG9wdGFiIGFzIGEgZmFsbGJhY2sgZm9yDQo+ID4gPiA+PiB3aGVuIHlvdSBk byBoYXZlIHNkb3QgYnV0IG5vdCB1c2RvdCBhdmFpbGFibGUuDQo+ID4gPiA+Pg0KPiA+ID4gPj4g VGhlIGZhbGxiYWNrIHdvcmtzIGJ5IGFkZGluZyBhIGJpYXMgdG8gdGhlIHVuc2lnbmVkIGFyZ3Vt ZW50IHRvDQo+ID4gPiA+PiBjb252ZXJ0IGl0IHRvIGEgc2lnbmVkIHZhbHVlIGFuZCB0aGVuIGNv cnJlY3RpbmcgZm9yIHRoZSBiaWFzIGxhdGVyIG9uLg0KPiA+ID4gPj4NCj4gPiA+ID4+IEVzc2Vu dGlhbGx5IGl0IHJlbGllcyBvbiAoeCAtIDEyOCl5ICsgMTI4eSA9PSB4eSB3aGVyZSB4IGlzDQo+ ID4gPiA+PiB1bnNpZ25lZCBhbmQgeSBpcyBzaWduZWQgKGFzc3VtaW5nIGJvdGggYXJlIDgtYml0 IHZhbHVlcykuDQo+ID4gPiA+PiBCZWNhdXNlIHRoZSByYW5nZSBvZiBhIHNpZ25lZCBieXRlIGlz IG9ubHkgdG8gMTI3IHdlIHNwbGl0IHRoZSBiaWFzDQo+IGNvcnJlY3Rpb24gaW50bzoNCj4gPiA+ ID4+DQo+ID4gPiA+PiAgICAoeCAtIDEyOCl5ICsgMTI3eSArIHkNCj4gPiA+ID4NCj4gPiA+ID4g SSBiZXQgeW91IGtuZXcgdGhpcyBxdWVzdGlvbiB3YXMgY29taW5nLCBidXQ6IHRoaXMgdGVjaG5p cXVlIGlzbid0DQo+ID4gPiA+IHRhcmdldC1zcGVjaWZpYywgc28gd291bGRuJ3QgaXQgYmUgYmV0 dGVyIHRvIGhhbmRsZSBpdCBpbg0KPiA+ID4gPiB0cmVlLXZlY3QtcGF0dGVybnMuY2MgaW5zdGVh ZD8NCj4gPg0KPiA+IE9rLCBzbyBhZnRlciBtYW55IGhvdXJzIG9mIHRyeWluZyBJIGRvbid0IGtu b3cgaG93IHRvIG1ha2UgdGhpcyB3b3JrLg0KPiA+IERPVF9QUk9EX0VYUFIgaXMgYSByZWR1Y3Rp b24sIGJ1dCBlbWl0dGluZyB0aGVtIGFzIGFkZGl0aW9uYWwgcGF0dGVybg0KPiA+IHN0YXRlbWVu dCBkb2Vzbid0IHdvcmsgYmVjYXVzZSB0aGV5J2xsIGJlIG1hcmtlZCBhcyBpbnRlcm5hbF9kZWYN Cj4gPiByYXRoZXIgdGhhbiByZWR1Y3Rpb25fZGVmLiAgSSB0cmllZCBtYXJraW5nIHRoZSBuZXcg dmVjX3N0bXRfaW5mbyB0aGF0DQo+ID4gSSBjcmVhdGUgZXhwbGljaXRseSBhcyByZWR1Y3Rpb25f ZGVmIGJ1dCB0aGlzIGdldHMgb3ZlcndyaXR0ZW4gZHVyaW5nIGFuYWx5c2lzLg0KPiA+DQo+ID4g SSB0aGVuIGxvb2tlZCBpbnRvIGdldHRpbmcgaXQgYXMgYSB2ZWN0b3JpemFibGVfb3BlcmF0aW9u IGJ1dCBoYXMgdGhpcw0KPiA+IG9idmlvdXMgcHJvYmxlbXMgSW4gdGhhdCBpdCBubyBsb25nZXIg dHJlYXRzIGl0IGFzIGEgcmVkdWN0aW9uIGFuZCBzbyB0cmllcyB0bw0KPiBkZWNvbXBvc2UgaW50 byBoaS9sby4NCj4gPg0KPiA+IEkgdGhlbiBsb29rZWQgaW50byB0cmVhdGluZyBhZGRpdGlvbmFs IHBhdHRlcm5zIGZyb20gIGEgcmVkdWN0aW9uIGFzDQo+ID4gcmVkdWN0aW9ucyB0aGVtc2VsdmVz IGJ1dCB0aGlzIGlzIG9idmlvdXNseSB3cm9uZyBhcyBub24tcmVkdWN0aW9uDQo+IHN0YXRlbWVu dHMgYWxzbyBnZXQgbWFya2VkIGFzIHJlZHVjdGlvbnMuDQo+ID4NCj4gPiBUaGUgY29uY2x1c2lv biBpcyB0aGF0IEkgZG9uJ3QgdGhpbmsgdGhlIHZlY3Rvcml6ZXIgYWxsb3dzIGFkZGl0aW9uYWwN Cj4gPiByZWR1Y3Rpb25zIHRvIGJlIGVtaXR0ZWQgZnJvbSBwYXR0ZXJucy4NCj4gDQo+IEluZGVl ZC4gIERPVF9QUk9EIGlzIGEgd2VpcmQgYmVhc3QgYW5kIGl0IGRvZXNuJ3QgZGVmaW5lIHdoaWNo IGxhbmVzIGFyZQ0KPiByZWR1Y2VkIHRvIHdoaWNoIHNvIGl0J3Mgb25seSB1c2FibGUgd2hlbiB0 aGUgcmVzdWx0IGlzIHJlZHVjZWQgdG8gYSBzaW5nbGUNCj4gbGFuZS4NCj4gDQo+IEFuIFNMUCBw YXR0ZXJuIG1pZ2h0IHdvcmsgaWYgeW91IHVzZSByZWR1Yy1wbHVzIGZvciB0aGUgcmVkdWNlZCBs YW5lcyBhbmQNCj4ga2VlcCB0aGUgbXVsdGlwbHkgc2VwYXJhdGU/DQoNClVuZm9ydHVuYXRlbHkg SSBjYW4ndCBzZWVtIHRvIGdldCBpdCB0byBoYW5kbGUgdGhlIHJlZHVjdGlvbiBpbiBTTFAuICBJ dCBzZWVtcyB0byBhbHdheXMNCnVzZSB0aGUgbm9uLVNMUCBhd2FyZSBsb29wIHZlY3Rvcml6ZXIg aGVyZS4gIFRoZSBzdWdnZXN0ZWQgdW5yb2xsIGZhY3RvciBpcyBhbHdheXMgMSBhbmQNCmV2ZW4g dHJ5aW5nIHRvIGZvcmNlIGl0IGdldHMgaXQgdG8gYmFpbCBvdXQgbGF0ZXIsIHByZXN1bWFibGUg YmVjYXVzZSBpdCdzIHJlZHVjaW5nIGludG8gYQ0Kc2NhbGFyIHRoYXQncyB1c2VkIG91dHNpZGUg dGhlIGxvb3A/DQoNClRoYW5rcywNClRhbWFyDQoNCj4gDQo+IFJpY2hhcmQuDQo+IA0KPiA+ID4g QWxzbywgaG93IGFib3V0IGRvaW5nICh4IC0gMTI4KXkgKyA2NHkgKyA2NHkgaW5zdGVhZCwgdG8g cmVkdWNlIHRoZQ0KPiA+ID4gbnVtYmVyIG9mIGhvaXN0ZWQgY29uc3RhbnRzPw0KPiA+ID4NCj4g PiA+IFRoYW5rcywNCj4gPiA+IFJpY2hhcmQNCj4gPiA+DQo+ID4gPiA+IFRoYW5rcywNCj4gPiA+ ID4gUmljaGFyZA0KPiA+ID4gPg0KPiA+ID4gPj4gQ29uY3JldGVseSBmb3I6DQo+ID4gPiA+Pg0K PiA+ID4gPj4gI2RlZmluZSBOIDQ4MA0KPiA+ID4gPj4gI2RlZmluZSBTSUdORURORVNTXzEgdW5z aWduZWQNCj4gPiA+ID4+ICNkZWZpbmUgU0lHTkVETkVTU18yIHNpZ25lZA0KPiA+ID4gPj4gI2Rl ZmluZSBTSUdORURORVNTXzMgc2lnbmVkDQo+ID4gPiA+PiAjZGVmaW5lIFNJR05FRE5FU1NfNCB1 bnNpZ25lZA0KPiA+ID4gPj4NCj4gPiA+ID4+IFNJR05FRE5FU1NfMSBpbnQgX19hdHRyaWJ1dGVf XyAoKG5vaXBhKSkgZiAoU0lHTkVETkVTU18xIGludCByZXMsDQo+ID4gPiA+PiBTSUdORURORVNT XzMgY2hhciAqcmVzdHJpY3QgYSwNCj4gPiA+ID4+ICAgIFNJR05FRE5FU1NfNCBjaGFyICpyZXN0 cmljdCBiKSB7DQo+ID4gPiA+PiAgIGZvciAoX19JTlRQVFJfVFlQRV9fIGkgPSAwOyBpIDwgTjsg KytpKQ0KPiA+ID4gPj4gICAgIHsNCj4gPiA+ID4+ICAgICAgIGludCBhdiA9IGFbaV07DQo+ID4g PiA+PiAgICAgICBpbnQgYnYgPSBiW2ldOw0KPiA+ID4gPj4gICAgICAgU0lHTkVETkVTU18yIHNo b3J0IG11bHQgPSBhdiAqIGJ2Ow0KPiA+ID4gPj4gICAgICAgcmVzICs9IG11bHQ7DQo+ID4gPiA+ PiAgICAgfQ0KPiA+ID4gPj4gICByZXR1cm4gcmVzOw0KPiA+ID4gPj4gfQ0KPiA+ID4gPj4NCj4g PiA+ID4+IHdlIGdlbmVyYXRlOg0KPiA+ID4gPj4NCj4gPiA+ID4+ICAgICAgICAgbW92aSAgICB2 NS4xNmIsIDB4N2YNCj4gPiA+ID4+ICAgICAgICAgbW92ICAgICB4MywgMA0KPiA+ID4gPj4gICAg ICAgICBtb3ZpICAgIHY0LjE2YiwgMHgxDQo+ID4gPiA+PiAgICAgICAgIG1vdmkgICAgdjMuMTZi LCAweGZmZmZmZmZmZmZmZmZmODANCj4gPiA+ID4+ICAgICAgICAgbW92aSAgICB2MC40cywgMA0K PiA+ID4gPj4gLkwyOg0KPiA+ID4gPj4gICAgICAgICBsZHIgICAgIHEyLCBbeDIsIHgzXQ0KPiA+ ID4gPj4gICAgICAgICBsZHIgICAgIHExLCBbeDEsIHgzXQ0KPiA+ID4gPj4gICAgICAgICBhZGQg ICAgIHgzLCB4MywgMTYNCj4gPiA+ID4+ICAgICAgICAgc3ViICAgICB2Mi4xNmIsIHYyLjE2Yiwg djMuMTZiDQo+ID4gPiA+PiAgICAgICAgIHNkb3QgICAgdjAuNHMsIHYyLjE2YiwgdjEuMTZiDQo+ ID4gPiA+PiAgICAgICAgIHNkb3QgICAgdjAuNHMsIHY1LjE2YiwgdjEuMTZiDQo+ID4gPiA+PiAg ICAgICAgIHNkb3QgICAgdjAuNHMsIHY0LjE2YiwgdjEuMTZiDQo+ID4gPiA+PiAgICAgICAgIGNt cCAgICAgeDMsIDQ4MA0KPiA+ID4gPj4gICAgICAgICBibmUgICAgIC5MMg0KPiA+ID4gPj4NCj4g PiA+ID4+IGluc3RlYWQgb2Y6DQo+ID4gPiA+Pg0KPiA+ID4gPj4gICAgICAgICBtb3ZpICAgIHYw LjRzLCAwDQo+ID4gPiA+PiAgICAgICAgIG1vdiAgICAgeDMsIDANCj4gPiA+ID4+IC5MMjoNCj4g PiA+ID4+ICAgICAgICAgbGRyICAgICBxMiwgW3gxLCB4M10NCj4gPiA+ID4+ICAgICAgICAgbGRy ICAgICBxMSwgW3gyLCB4M10NCj4gPiA+ID4+ICAgICAgICAgYWRkICAgICB4MywgeDMsIDE2DQo+ ID4gPiA+PiAgICAgICAgIHN4dGwgICAgdjQuOGgsIHYyLjhiDQo+ID4gPiA+PiAgICAgICAgIHN4 dGwyICAgdjMuOGgsIHYyLjE2Yg0KPiA+ID4gPj4gICAgICAgICB1eHRsICAgIHYyLjhoLCB2MS44 Yg0KPiA+ID4gPj4gICAgICAgICB1eHRsMiAgIHYxLjhoLCB2MS4xNmINCj4gPiA+ID4+ICAgICAg ICAgbXVsICAgICB2Mi44aCwgdjIuOGgsIHY0LjhoDQo+ID4gPiA+PiAgICAgICAgIG11bCAgICAg djEuOGgsIHYxLjhoLCB2My44aA0KPiA+ID4gPj4gICAgICAgICBzYWRkdyAgIHYwLjRzLCB2MC40 cywgdjIuNGgNCj4gPiA+ID4+ICAgICAgICAgc2FkZHcyICB2MC40cywgdjAuNHMsIHYyLjhoDQo+ ID4gPiA+PiAgICAgICAgIHNhZGR3ICAgdjAuNHMsIHYwLjRzLCB2MS40aA0KPiA+ID4gPj4gICAg ICAgICBzYWRkdzIgIHYwLjRzLCB2MC40cywgdjEuOGgNCj4gPiA+ID4+ICAgICAgICAgY21wICAg ICB4MywgNDgwDQo+ID4gPiA+PiAgICAgICAgIGJuZSAgICAgLkwyDQo+ID4gPiA+Pg0KPiA+ID4g Pj4gVGhlIG5ldyBzZXF1ZW5jZSBpcyBzaWduaWZpY2FudGx5IGZhc3RlciBhcyB0aGUgb3BlcmF0 aW9ucyBpdA0KPiA+ID4gPj4gdXNlcyBhcmUgd2VsbCBvcHRpbWl6ZWQuICBOb3RlIHRoYXQgZXhl Y3V0aW9uIHRlc3RzIGFyZSBhbHJlYWR5DQo+ID4gPiA+PiBpbiB0aGUgbWlkLWVuZA0KPiA+ID4g dGVzdHN1aXRlLg0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoYW5rcyB0byBKYW1lcyBHcmVlbmhhbGdo IGZvciB0aGUgdGlwLW9mZi4NCj4gPiA+ID4+DQo+ID4gPiA+PiBCb290c3RyYXBwZWQgUmVndGVz dGVkIG9uIGFhcmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlzc3Vlcy4NCj4gPiA+ID4+DQo+ ID4gPiA+PiBPayBmb3IgbWFzdGVyPw0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoYW5rcywNCj4gPiA+ ID4+IFRhbWFyDQo+ID4gPiA+Pg0KPiA+ID4gPj4gZ2NjL0NoYW5nZUxvZzoNCj4gPiA+ID4+DQo+ ID4gPiA+PiAgICAqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZCAodXNkb3RfcHJvZDx2 c2kycWk+KToNCj4gPiA+ID4+IEdlbmVyYXRlDQo+ID4gPiBmYWxsYmFjaw0KPiA+ID4gPj4gICAg b3IgY2FsbCBvcmlnaW5hbCBpc25zIC4uLg0KPiA+ID4gPj4gICAgKHVzZG90X3Byb2Q8dnNpMnFp Pl9pbnNuKTogLi4uaGVyZS4NCj4gPiA+ID4+DQo+ID4gPiA+PiBnY2MvdGVzdHN1aXRlL0NoYW5n ZUxvZzoNCj4gPiA+ID4+DQo+ID4gPiA+PiAgICAqIGdjYy50YXJnZXQvYWFyY2g2NC9zaW1kL3Z1 c2RvdC1hdXRvdmVjLTIuYzogTmV3IHRlc3QuDQo+ID4gPiA+Pg0KPiA+ID4gPj4gLS0tIGlubGlu ZSBjb3B5IG9mIHBhdGNoIC0tDQo+ID4gPiA+PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJj aDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+ID4gPj4gYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2 NC1zaW1kLm1kDQo+ID4gPiA+PiBpbmRleA0KPiA+ID4gPj4NCj4gPiA+DQo+IGNmMmY0YmFkYWNj NTk0ZGY5ZWNmMDZkZTNmOGVhNTcwZWY5ZTBmZjIuLjIzNWE2ZmEzNzFlNDcxODE2Mjg0ZTMzODNl DQo+ID4gPiA4DQo+ID4gPiA+PiA1NjRlOWNmNjQzYTc0IDEwMDY0NA0KPiA+ID4gPj4gLS0tIGEv Z2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+ID4gPj4gKysrIGIvZ2NjL2Nv bmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+ID4gPj4gQEAgLTYyMyw3ICs2MjMsNyBA QCAoZGVmaW5lX2luc24gIjxzdXI+ZG90X3Byb2Q8dnNpMnFpPiINCj4gPiA+ID4+DQo+ID4gPiA+ PiAgOzsgVGhlc2UgaW5zdHJ1Y3Rpb25zIG1hcCB0byB0aGUgX19idWlsdGlucyBmb3IgdGhlIEFy bXY4LjYtYQ0KPiA+ID4gPj4gSThNTSB1c2RvdCAgOzsgKHZlY3RvcikgRG90IFByb2R1Y3Qgb3Bl cmF0aW9uIGFuZCB0aGUgdmVjdG9yaXplZA0KPiBvcHRhYi4NCj4gPiA+ID4+IC0oZGVmaW5lX2lu c24gInVzZG90X3Byb2Q8dnNpMnFpPiINCj4gPiA+ID4+ICsoZGVmaW5lX2luc24gInVzZG90X3By b2Q8dnNpMnFpPl9pbnNuIg0KPiA+ID4gPj4gICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlMgMCAi cmVnaXN0ZXJfb3BlcmFuZCIgIj13IikNCj4gPiA+ID4+ICAgIChwbHVzOlZTDQo+ID4gPiA+PiAg ICAgICh1bnNwZWM6VlMgWyhtYXRjaF9vcGVyYW5kOjxWU0kyUUk+IDEgInJlZ2lzdGVyX29wZXJh bmQiDQo+ID4gPiA+PiAidyIpDQo+ID4gPiBAQA0KPiA+ID4gPj4gLTYzNSw2ICs2MzUsNDMgQEAg KGRlZmluZV9pbnNuICJ1c2RvdF9wcm9kPHZzaTJxaT4iDQo+ID4gPiA+PiAgICBbKHNldF9hdHRy ICJ0eXBlIiAibmVvbl9kb3Q8cT4iKV0NCj4gPiA+ID4+ICApDQo+ID4gPiA+Pg0KPiA+ID4gPj4g Kzs7IHVzZG90IGF1dG8tdmVjIGZhbGxiYWNrIGNvZGUNCj4gPiA+ID4+ICsoZGVmaW5lX2V4cGFu ZCAidXNkb3RfcHJvZDx2c2kycWk+Ig0KPiA+ID4gPj4gKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 VlMgMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPiA+PiArICAocGx1czpWUw0KPiA+ID4gPj4g KyAgICAodW5zcGVjOlZTIFsobWF0Y2hfb3BlcmFuZDo8VlNJMlFJPiAxICJyZWdpc3Rlcl9vcGVy YW5kIikNCj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6PFZTSTJRST4g MiAicmVnaXN0ZXJfb3BlcmFuZCIpXQ0KPiA+ID4gPj4gKyAgICBVTlNQRUNfVVNET1QpDQo+ID4g PiA+PiArICAgIChtYXRjaF9vcGVyYW5kOlZTIDMgInJlZ2lzdGVyX29wZXJhbmQiKSkpXQ0KPiA+ ID4gPj4gKyAgIlRBUkdFVF9ET1RQUk9EIHx8IFRBUkdFVF9JOE1NIg0KPiA+ID4gPj4gK3sNCj4g PiA+ID4+ICsgIGlmIChUQVJHRVRfSThNTSkNCj4gPiA+ID4+ICsgICAgew0KPiA+ID4gPj4gKyAg ICAgIGVtaXRfaW5zbiAoZ2VuX3VzZG90X3Byb2Q8dnNpMnFpPl9pbnNuIChvcGVyYW5kc1swXSwN Cj4gb3BlcmFuZHNbMV0sDQo+ID4gPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1szXSkpOw0KPiA+ID4gPj4gKyAgICAgIERP TkU7DQo+ID4gPiA+PiArICAgIH0NCj4gPiA+ID4+ICsNCj4gPiA+ID4+ICsgIG1hY2hpbmVfbW9k ZSBlbGVtbW9kZSA9IEdFVF9NT0RFX0lOTkVSICg8VlNJMlFJPm1vZGUpOw0KPiA+ID4gPj4gKyBI T1NUX1dJREVfSU5UIHZhbCA9IDEgPDwgKEdFVF9NT0RFX0JJVFNJWkUNCj4gPiA+IChlbGVtbW9k ZSkudG9fY29uc3RhbnQNCj4gPiA+ID4+ICsoKSAtIDEpOw0KPiA+ID4gPj4gKyAgcnR4IHNpZ25i aXQgPSBnZW5faW50X21vZGUgKHZhbCwgZWxlbW1vZGUpOw0KPiA+ID4gPj4gKyAgcnR4IHQxID0g Z2VuX3JlZ19ydHggKDxNT0RFPm1vZGUpOw0KPiA+ID4gPj4gKyAgcnR4IHQyID0gZ2VuX3JlZ19y dHggKDxNT0RFPm1vZGUpOw0KPiA+ID4gPj4gKyAgcnR4IHRtcCA9IGdlbl9yZWdfcnR4ICg8VlNJ MlFJPm1vZGUpOw0KPiA+ID4gPj4gKyAgcnR4IGMxID0gZ2VuX2NvbnN0X3ZlY19kdXBsaWNhdGUg KDxWU0kyUUk+bW9kZSwNCj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn ZW5faW50X21vZGUgKHZhbCAtIDEsIGVsZW1tb2RlKSk7DQo+ID4gPiA+PiArICBydHggYzIgPSBn ZW5fY29uc3RfdmVjX2R1cGxpY2F0ZSAoPFZTSTJRST5tb2RlLCBnZW5faW50X21vZGUNCj4gPiA+ ID4+ICsoMSwgZWxlbW1vZGUpKTsNCj4gPiA+ID4+ICsgIHJ0eCBkdXAgPSBnZW5fY29uc3RfdmVj X2R1cGxpY2F0ZSAoPFZTSTJRST5tb2RlLCBzaWduYml0KTsNCj4gPiA+ID4+ICsgIGMxID0gZm9y Y2VfcmVnICg8VlNJMlFJPm1vZGUsIGMxKTsNCj4gPiA+ID4+ICsgIGMyID0gZm9yY2VfcmVnICg8 VlNJMlFJPm1vZGUsIGMyKTsNCj4gPiA+ID4+ICsgIGR1cCA9IGZvcmNlX3JlZyAoPFZTSTJRST5t b2RlLCBkdXApOw0KPiA+ID4gPj4gKyAgZW1pdF9pbnNuIChnZW5fc3ViPHZzaTJxaT4zICh0bXAs IG9wZXJhbmRzWzFdLCBkdXApKTsNCj4gPiA+ID4+ICsgIGVtaXRfaW5zbiAoZ2VuX3Nkb3RfcHJv ZDx2c2kycWk+ICh0MSwgdG1wLCBvcGVyYW5kc1syXSwNCj4gPiA+ID4+ICtvcGVyYW5kc1szXSkp Ow0KPiA+ID4gPj4gKyAgZW1pdF9pbnNuIChnZW5fc2RvdF9wcm9kPHZzaTJxaT4gKHQyLCBjMSwg b3BlcmFuZHNbMl0sIHQxKSk7DQo+ID4gPiA+PiArICBlbWl0X2luc24gKGdlbl9zZG90X3Byb2Q8 dnNpMnFpPiAob3BlcmFuZHNbMF0sIGMyLA0KPiA+ID4gPj4gK29wZXJhbmRzWzJdLCB0MikpOw0K PiA+ID4gPj4gKyAgRE9ORTsNCj4gPiA+ID4+ICt9KQ0KPiA+ID4gPj4gKw0KPiA+ID4gPj4gIDs7 IFRoZXNlIGluc3RydWN0aW9ucyBtYXAgdG8gdGhlIF9fYnVpbHRpbnMgZm9yIHRoZSBEb3QgUHJv ZHVjdA0KPiA+ID4gPj4gOzsgaW5kZXhlZCBvcGVyYXRpb25zLg0KPiA+ID4gPj4gIChkZWZpbmVf aW5zbiAiYWFyY2g2NF88c3VyPmRvdF9sYW5lPHZzaTJxaT4iDQo+ID4gPiA+PiBkaWZmIC0tZ2l0 DQo+ID4gPiA+PiBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3NpbWQvdnVzZG90 LWF1dG92ZWMtMi5jDQo+ID4gPiA+PiBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3NpbWQvdnVzZG90LWF1dG92ZWMtMi5jDQo+ID4gPiA+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiA+ID4gPj4gaW5kZXgNCj4gPiA+ID4+DQo+ID4gPg0KPiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwLi5hY2Q4ZTM2MjA5NjkwMzg2ZDAyMWRmNzJmMQ0KPiA+ID4gNA0K PiA+ID4gPj4gNjdhNjk2NzUwYWMzZQ0KPiA+ID4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPj4g KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc2ltZC92dXNkb3QtYXV0b3Zl Yy0yLmMNCj4gPiA+ID4+IEBAIC0wLDAgKzEsMjUgQEANCj4gPiA+ID4+ICsvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KPiA+ID4gPj4gKy8qIHsgZGctb3B0aW9ucyAiLU8zIC1tYXJjaD1hcm12OC4y LWErbm9pOG1tK2RvdHByb2QiIH0gKi8NCj4gPiA+ID4+ICsNCj4gPiA+ID4+ICsjZGVmaW5lIE4g NDgwDQo+ID4gPiA+PiArI2RlZmluZSBTSUdORURORVNTXzEgdW5zaWduZWQNCj4gPiA+ID4+ICsj ZGVmaW5lIFNJR05FRE5FU1NfMiBzaWduZWQNCj4gPiA+ID4+ICsjZGVmaW5lIFNJR05FRE5FU1Nf MyBzaWduZWQNCj4gPiA+ID4+ICsjZGVmaW5lIFNJR05FRE5FU1NfNCB1bnNpZ25lZA0KPiA+ID4g Pj4gKw0KPiA+ID4gPj4gK1NJR05FRE5FU1NfMSBpbnQgX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkg ZiAoU0lHTkVETkVTU18xIGludA0KPiA+ID4gPj4gK3JlcywNCj4gPiA+ID4+ICtTSUdORURORVNT XzMgY2hhciAqcmVzdHJpY3QgYSwNCj4gPiA+ID4+ICsgICBTSUdORURORVNTXzQgY2hhciAqcmVz dHJpY3QgYikgew0KPiA+ID4gPj4gKyAgZm9yIChfX0lOVFBUUl9UWVBFX18gaSA9IDA7IGkgPCBO OyArK2kpDQo+ID4gPiA+PiArICAgIHsNCj4gPiA+ID4+ICsgICAgICBpbnQgYXYgPSBhW2ldOw0K PiA+ID4gPj4gKyAgICAgIGludCBidiA9IGJbaV07DQo+ID4gPiA+PiArICAgICAgU0lHTkVETkVT U18yIHNob3J0IG11bHQgPSBhdiAqIGJ2Ow0KPiA+ID4gPj4gKyAgICAgIHJlcyArPSBtdWx0Ow0K PiA+ID4gPj4gKyAgICB9DQo+ID4gPiA+PiArICByZXR1cm4gcmVzOw0KPiA+ID4gPj4gK30NCj4g PiA+ID4+ICsNCj4gPiA+ID4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtc dHVzZG90XHR9IH0gfSAqLw0KPiA+ID4gPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7XHRzZG90XHR9IDMgfSB9ICovDQo=