From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60044.outbound.protection.outlook.com [40.107.6.44]) by sourceware.org (Postfix) with ESMTPS id 8846D388E810 for ; Tue, 11 Jan 2022 07:10:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8846D388E810 Received: from AM6PR01CA0051.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::28) by AM6PR08MB4724.eurprd08.prod.outlook.com (2603:10a6:20b:cd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.7; Tue, 11 Jan 2022 07:10:50 +0000 Received: from AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:e0:cafe::c2) by AM6PR01CA0051.outlook.office365.com (2603:10a6:20b:e0::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Tue, 11 Jan 2022 07:10:50 +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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT010.mail.protection.outlook.com (10.152.16.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9 via Frontend Transport; Tue, 11 Jan 2022 07:10:49 +0000 Received: ("Tessian outbound dbb52aec1fa6:v110"); Tue, 11 Jan 2022 07:10:49 +0000 X-CR-MTA-TID: 64aa7808 Received: from e37461459441.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 30B3B4D0-6E71-4C82-9DA0-D1DDDB2A4183.1; Tue, 11 Jan 2022 07:10:39 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e37461459441.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 11 Jan 2022 07:10:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yqv6ELPcUt8pIOcD0zrVKUxSogycNvqLl0kt8t+R07kZbxq1NDAeC7mn/VhFu+LYyRtH46R1SGVJMxxbdwrX+DmS2fLq1+yEa3Linzo9Xe33bD3Q7KRv+kEd9EVAZO1uPhqVGr99xYDVCRyN7XBRDBG0EoIQKaAla3xezTunIK1OCqsY/PWm8mfQCy7ouJA2gu4VRryy+4K55yCtHwJIipXyiIdLiNkBKO+FZW9RaJEuNtkiDdnMJRvwcUqxMkARDePWKE8l3Rwx5f8npeyOEYnuf5eTKHQ1OspeueeZ99PxTOtOtfqGynWxTVPOvUpUCzcJqv16QIDa6+odP4t8kQ== 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=oqEP7xGSib9j9/heOad+zKCgOFQQFFsQ8yO2EcFhsSU=; b=K6TypVe/JK9r05M8jCq0G1RSzDvj2i0Uc6AxYanA2b4kNUBisTAxtL9A31y+LHEuzZc55Y0oy8UoCjUrLUasvkcfWcpCL8NHvgEhQqgsOCp4u1WHqnkswiJ8XqAd9SFrBhmn1pThG3+VfDF4I/vM3RaYzOGbBVFyrPi7l/QBUT8Rhr5ART0H9WdmyW5R39qDUh4ZLVJ/Hzopltf0yH4tHSQsWi/aAjvXM9xkiLjqccSFYjPvJdo0ldTyOfqaxWz8tLCz/K+AyZTRiRxsH5W1XvIBdwkflUNo3byagTGFnnLxZkD8roiSDfy7bDz8ZQVjLJ9vHntctFINglVH2IgZ6Q== 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 VE1PR08MB5597.eurprd08.prod.outlook.com (2603:10a6:800:1b3::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Tue, 11 Jan 2022 07:10:36 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::5966:4b79:45ec:9960]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::5966:4b79:45ec:9960%3]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 07:10:35 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , nd , Richard Earnshaw , Marcus Shawcroft , Kyrylo Tkachov Subject: RE: [2/3 PATCH]AArch64 use canonical ordering for complex mul, fma and fms Thread-Topic: [2/3 PATCH]AArch64 use canonical ordering for complex mul, fma and fms Thread-Index: AQHX81zBz3f9os09q0OwbPf9xWSXEaw23oD6gAAGzLCABK6NIIAh+g+A Date: Tue, 11 Jan 2022 07:10:35 +0000 Message-ID: References: <20211217154251.GA4694@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 23765D80BC0B4849B238488E5B2A2D9E.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: 44217518-d256-40ed-30eb-08d9d4d17f57 x-ms-traffictypediagnostic: VE1PR08MB5597:EE_|AM5EUR03FT010:EE_|AM6PR08MB4724:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: BfuKKg/Ill+BHQrHVNoEHLUAt86Div1V+eq2saQZ0noG5JmQLc8kckIcenZXJt1htDJ9aZI8tWmj+kycpOEwpXLDW3C9Os+esnL1Pzh5Hnb3TA8M7JElU2ogVNBtgSmmc/YxRL1xm1n+dUdXPdDLvSmFLS7iZe/FPeVNYOmWQ/OAdpLzmp/j3dTvymOriJ8jqIGlKgz2WG2vEcFalJNgSiA6mEpZHn8mc4/k8L3Sex0jGytb23QDhA4gdrxeu+X402hR3DZMqEgdo067if93YnkxlxwJusBXj4zfpiIWKIlA5o4qrQMr4tZAtrGlvZOx6wjR1u9gnS6oU3KKkmemR2s0HS2fB8+AvFkNxndcx+jUnmJoJhYo7FFvdgCH+uAfSlPGuMaeUm0iY9tSY98GmXEy7nTg7ZJb4nPgEUJmlG38tPUWvglRh1ynuD2wi89c2Ig/Hi0pN9nqq8jELJFM8z5rxiIVtOF/e8Z00UfwHdwdJ3PtvaaCyKYkcXadqqMBtlavGrzhXF4eMKZWJ//kus9CJTKex7A9EseLudlRmaWLeN53SWwp6A/GrskvUA3W9nBz2FbWfEFsBOi03Xzy5yZPTCAIGE84bb/rSuQvQnsvzGd718nMx0rzQ/5HljGKfjaQxmDgTbRMO7FwrrCMQZw8yYzJf4sIxKiOJ4HwVYHKndWyF1yzUpOeAk5Bj/BQmjn7usjml24ChnlsE7rpVQ== 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:(4636009)(366004)(52536014)(316002)(6506007)(53546011)(6862004)(8936002)(7696005)(38100700002)(9686003)(122000001)(33656002)(38070700005)(4326008)(186003)(26005)(71200400001)(8676002)(66476007)(66556008)(64756008)(66946007)(76116006)(66446008)(86362001)(54906003)(5660300002)(55016003)(6636002)(83380400001)(2906002)(508600001); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5597 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: AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cb13e5ed-a063-4279-db6f-08d9d4d176ec X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cSFQ4B70o2sz7dOzNMWHcRWKsW8eIwR9fSn4042bmdmd7zkZ3kGh7ONC0axW1fYhcTJPRPWM2EI3c7HGhnat98Dp6J+wftTH0CDeAU9wrhZJF2vEQISrHpnBtV+V6/QQdAxRsBHF2W9Ze5+8zHJ82cR8Om/QkpDOkHF6PgolpIKfOGYgIEwVOmyqcCuq4DivySGpqAzFAH7cbj3jU7G5eb7VOKD5YXyy/qDGA1I+hdhXOxs4Zm1MxHvzeEWbtyHZEidp3RsKTxs6DpLXuw0Q+VQO3DiyW8yytI0Q/bs7P9nb4kfNXuI9u3N59Gksh5+GhJVmf0voCXbjJgQZWB4RMnT3n/8BWPLrVMJELZSZ0gCmhz6Np6dWizPuTxL46ieLYy67wgySskT7zSAjhFRfDf+WXlj4pl7DgfNA8lHLQxcqW1BK+yPA6SP2Eu8A59dfEFcYXPNM5rh8LYjstTaO/lA7O6XCjcmqeljugN+159WE0bd626al5tXEhKeZ8BpOlhxlj8YfUfUrH/2CshFrrrVCtOzeeokyMePgsQhMBvlPZsVfdAQVv1JiM/21FIcJ0PN1I7zBzwioFveXwfwXPFKW0LBTKfgzqXGTIh1zcAc3Mkv+n5VqwH2HWnYN60s6Pyrm2QmP1gLUG7CcQR+OESRQqJV5KEh0Zz4nP5XLUxbqwZIE5DGFrWkvYsfC6ro0VaU3GxLXPMG6eTNrZlBuVC5SJtdNzeDPClPwMiXl29RDW0dz3YfVb3654iXpVBgJyhYNLLWvB6TchV+MlcaaqA== 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:(4636009)(46966006)(36840700001)(40470700002)(55016003)(9686003)(186003)(33656002)(2906002)(7696005)(53546011)(6506007)(47076005)(5660300002)(70586007)(70206006)(52536014)(40460700001)(8936002)(86362001)(26005)(316002)(6862004)(36860700001)(82310400004)(508600001)(4326008)(54906003)(336012)(83380400001)(6636002)(356005)(81166007)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 07:10:49.8528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44217518-d256-40ed-30eb-08d9d4d17f57 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: AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4724 X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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, 11 Jan 2022 07:10:57 -0000 cGluZw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFRhbWFyIENocmlz dGluYQ0KPiBTZW50OiBNb25kYXksIERlY2VtYmVyIDIwLCAyMDIxIDQ6MjEgUE0NCj4gVG86IFJp Y2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPg0KPiBDYzogZ2NjLXBh dGNoZXNAZ2NjLmdudS5vcmc7IG5kIDxuZEBhcm0uY29tPjsgUmljaGFyZCBFYXJuc2hhdyANCj4g PFJpY2hhcmQuRWFybnNoYXdAYXJtLmNvbT47IE1hcmN1cyBTaGF3Y3JvZnQgDQo+IDxNYXJjdXMu U2hhd2Nyb2Z0QGFybS5jb20+OyBLeXJ5bG8gVGthY2hvdiA8S3lyeWxvLlRrYWNob3ZAYXJtLmNv bT4NCj4gU3ViamVjdDogUkU6IFsyLzMgUEFUQ0hdQUFyY2g2NCB1c2UgY2Fub25pY2FsIG9yZGVy aW5nIGZvciBjb21wbGV4IA0KPiBtdWwsIGZtYSBhbmQgZm1zDQo+IA0KPiANCj4gDQo+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZCA8cmlj aGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4NCj4gPiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDE3LCAy MDIxIDQ6NDkgUE0NCj4gPiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJt LmNvbT4NCj4gPiBDYzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IG5kIDxuZEBhcm0uY29tPjsg UmljaGFyZCBFYXJuc2hhdyANCj4gPiA8UmljaGFyZC5FYXJuc2hhd0Bhcm0uY29tPjsgTWFyY3Vz IFNoYXdjcm9mdCANCj4gPiA8TWFyY3VzLlNoYXdjcm9mdEBhcm0uY29tPjsgS3lyeWxvIFRrYWNo b3YNCj4gPEt5cnlsby5Ua2FjaG92QGFybS5jb20+DQo+ID4gU3ViamVjdDogUmU6IFsyLzMgUEFU Q0hdQUFyY2g2NCB1c2UgY2Fub25pY2FsIG9yZGVyaW5nIGZvciBjb21wbGV4IA0KPiA+IG11bCwg Zm1hIGFuZCBmbXMNCj4gPg0KPiA+IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9y ZEBhcm0uY29tPiB3cml0ZXM6DQo+ID4gPiBUYW1hciBDaHJpc3RpbmEgPHRhbWFyLmNocmlzdGlu YUBhcm0uY29tPiB3cml0ZXM6DQo+ID4gPj4gSGkgQWxsLA0KPiA+ID4+DQo+ID4gPj4gQWZ0ZXIg dGhlIGZpcnN0IHBhdGNoIGluIHRoZSBzZXJpZXMgdGhpcyB1cGRhdGVzIHRoZSBvcHRhYnMgdG8g DQo+ID4gPj4gZXhwZWN0IHRoZSBjYW5vbmljYWwgc2VxdWVuY2UuDQo+ID4gPj4NCj4gPiA+PiBC b290c3RyYXBwZWQgUmVndGVzdGVkIG9uIGFhcmNoNjQtbm9uZS1saW51eC1nbnUgYW5kIG5vIGlz c3Vlcy4NCj4gPiA+Pg0KPiA+ID4+IE9rIGZvciBtYXN0ZXI/IGFuZCBiYWNrcG9ydCBhbG9uZyB3 aXRoIHRoZSBmaXJzdCBwYXRjaD8NCj4gPiA+Pg0KPiA+ID4+IFRoYW5rcywNCj4gPiA+PiBUYW1h cg0KPiA+ID4+DQo+ID4gPj4gZ2NjL0NoYW5nZUxvZzoNCj4gPiA+Pg0KPiA+ID4+IAlQUiB0cmVl LW9wdGltaXphdGlvbi8xMDI4MTkNCj4gPiA+PiAJUFIgdHJlZS1vcHRpbWl6YXRpb24vMTAzMTY5 DQo+ID4gPj4gCSogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4gKGNtbDxmY21h YzE+PGNvbmpfb3A+PG1vZGU+NCwNCj4gPiA+PiAJY211bDxjb25qX29wPjxtb2RlPjMpOiBVc2Ug Y2Fub25pY2FsIG9yZGVyLg0KPiA+ID4+IAkqIGNvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1k IChjbWw8ZmNtYWMxPjxjb25qX29wPjxtb2RlPjQsDQo+ID4gPj4gCWNtdWw8Y29ual9vcD48bW9k ZT4zKTogTGlrZXdpc2UuDQo+ID4gPj4NCj4gPiA+PiAtLS0gaW5saW5lIGNvcHkgb2YgcGF0Y2gg LS0NCj4gPiA+PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5t ZA0KPiA+ID4+IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZA0KPiA+ID4+IGlu ZGV4DQo+ID4gPj4NCj4gPg0KPiBmOTVhN2UxZDkxYzk3YzllOTgxZDc1ZTcxZjBiNDljMDJlZjc0 OGJhLi44NzU4OTZlZTcxMzI0NzEyYzgwMzRlZWZmOQ0KPiA+IGMNCj4gPiA+PiBmYjU2NDlmOWIw ZTczIDEwMDY0NA0KPiA+ID4+IC0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQu bWQNCj4gPiA+PiArKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zaW1kLm1kDQo+ID4g Pj4gQEAgLTU1NiwxNyArNTU2LDE3IEBAIChkZWZpbmVfaW5zbg0KPiA+ICJhYXJjaDY0X2ZjbWxh cV9sYW5lPHJvdD48bW9kZT4iDQo+ID4gPj4gIDs7IHJlbWFpbmRlci4gIEJlY2F1c2Ugb2YgdGhp cywgZXhwYW5kIGVhcmx5Lg0KPiA+ID4+ICAoZGVmaW5lX2V4cGFuZCAiY21sPGZjbWFjMT48Y29u al9vcD48bW9kZT40Ig0KPiA+ID4+ICAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZIU0RGIDAgInJl Z2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4+IC0JKHBsdXM6VkhTREYgKG1hdGNoX29wZXJhbmQ6VkhT REYgMSAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPj4gLQkJICAgICh1bnNwZWM6VkhTREYgWyht YXRjaF9vcGVyYW5kOlZIU0RGIDINCj4gPiAicmVnaXN0ZXJfb3BlcmFuZCIpDQo+ID4gPj4gLQkJ CQkgICAobWF0Y2hfb3BlcmFuZDpWSFNERiAzDQo+ID4gInJlZ2lzdGVyX29wZXJhbmQiKV0NCj4g PiA+PiAtCQkJCSAgIEZDTUxBX09QKSkpXQ0KPiA+ID4+ICsJKHBsdXM6VkhTREYgKHVuc3BlYzpW SFNERiBbKG1hdGNoX29wZXJhbmQ6VkhTREYgMQ0KPiA+ICJyZWdpc3Rlcl9vcGVyYW5kIikNCj4g PiA+PiArCQkJCSAgIChtYXRjaF9vcGVyYW5kOlZIU0RGIDINCj4gPiAicmVnaXN0ZXJfb3BlcmFu ZCIpXQ0KPiA+ID4+ICsJCQkJICAgRkNNTEFfT1ApDQo+ID4gPj4gKwkJICAgIChtYXRjaF9vcGVy YW5kOlZIU0RGIDMgInJlZ2lzdGVyX29wZXJhbmQiKSkpXQ0KPiA+ID4+ICAgICJUQVJHRVRfQ09N UExFWCAmJiAhQllURVNfQklHX0VORElBTiINCj4gPiA+PiAgew0KPiA+ID4+ICAgIHJ0eCB0bXAg PSBnZW5fcmVnX3J0eCAoPE1PREU+bW9kZSk7DQo+ID4gPj4gLSAgZW1pdF9pbnNuIChnZW5fYWFy Y2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+ICh0bXAsIG9wZXJhbmRzWzFdLA0KPiA+ID4+IC0J CQkJCQkgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJdKSk7DQo+ID4gPj4gKyAgZW1pdF9pbnNuIChn ZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+ICh0bXAsIG9wZXJhbmRzWzNdLA0KPiA+ ID4+ICsJCQkJCQkgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdKSk7DQo+ID4gPj4gICAgZW1pdF9p bnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDI+PG1vZGU+IChvcGVyYW5kc1swXSwgdG1w LA0KPiA+ID4+IC0JCQkJCQkgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJdKSk7DQo+ID4gPj4gKwkJ CQkJCSBvcGVyYW5kc1sxXSwgb3BlcmFuZHNbMl0pKTsNCj4gPiA+PiAgICBET05FOw0KPiA+ID4+ ICB9KQ0KPiA+ID4+DQo+ID4gPj4gQEAgLTU4Myw5ICs1ODMsOSBAQCAoZGVmaW5lX2V4cGFuZCAi Y211bDxjb25qX29wPjxtb2RlPjMiDQo+ID4gPj4gICAgcnR4IHRtcCA9IGZvcmNlX3JlZyAoPE1P REU+bW9kZSwgQ09OU1QwX1JUWCAoPE1PREU+bW9kZSkpOw0KPiA+ID4+ICAgIHJ0eCByZXMxID0g Z2VuX3JlZ19ydHggKDxNT0RFPm1vZGUpOw0KPiA+ID4+ICAgIGVtaXRfaW5zbiAoZ2VuX2FhcmNo NjRfZmNtbGE8cm90c3BsaXQxPjxtb2RlPiAocmVzMSwgdG1wLA0KPiA+ID4+IC0JCQkJCQkgb3Bl cmFuZHNbMl0sIG9wZXJhbmRzWzFdKSk7DQo+ID4gPj4gKwkJCQkJCSBvcGVyYW5kc1sxXSwgb3Bl cmFuZHNbMl0pKTsNCj4gPiA+PiAgICBlbWl0X2luc24gKGdlbl9hYXJjaDY0X2ZjbWxhPHJvdHNw bGl0Mj48bW9kZT4gKG9wZXJhbmRzWzBdLCByZXMxLA0KPiA+ID4+IC0JCQkJCQkgb3BlcmFuZHNb Ml0sIG9wZXJhbmRzWzFdKSk7DQo+ID4gPj4gKwkJCQkJCSBvcGVyYW5kc1sxXSwgb3BlcmFuZHNb Ml0pKTsNCj4gPiA+DQo+ID4gPiBUaGlzIGRvZXNuJ3QgbG9vayByaWdodC4gIEdvaW5nIGZyb20g dGhlIGRvY3VtZW50YXRpb24sIHBhdGNoIDEgDQo+ID4gPiBpc24ndCBjaGFuZ2luZyB0aGUgb3Bl cmFuZCBvcmRlciBmb3IgQ01VTDogdGhlIGNvbmp1Z2F0ZWQgb3BlcmFuZCANCj4gPiA+IChpZiB0 aGVyZSBpcyBvbmUpIGlzIHN0aWxsIG9wZXJhbmQgMi4gIFRoZSBGQ01MQSBzZXF1ZW5jZXMgdXNl IHRoZSANCj4gPiA+IG9wcG9zaXRlIG9yZGVyLCB3aGVyZSB0aGUgY29uanVnYXRlZCBvcGVyYW5k IChpZiB0aGVyZSBpcyBvbmUpIGlzDQo+IG9wZXJhbmQgMS4NCj4gPiA+IFNvIEkgdGhpbmsNCj4g Pg0KPiA+IEkgbWVhbnQg4oCcdGhlIGZpcnN0IG11bHRpcGxpY2F0aW9uIG9wZXJhbmTigJ0gcmF0 aGVyIHRoYW4g4oCcb3BlcmFuZCAx4oCdIGhlcmUuDQo+ID4NCj4gPiA+IHRoZSByZXZlcnNhbCBo ZXJlIGlzIHN0aWxsIG5lZWRlZC4NCj4gPiA+DQo+ID4gPiBTYW1lIGZvciB0aGUgbXVsdGlwbGlj YXRpb24gb3BlcmFuZHMgaW4gQ01MKiBhYm92ZS4NCj4gDQo+IEkgZGlkIGFjdHVhbGx5IGNoYW5n ZSB0aGUgb3JkZXIgaW4gcGF0Y2ggMSwgYnV0IGRpZG4ndCB1cGRhdGUgdGhlIGRvY3MuLg0KPiBU aGF0IHdhcyBkb25lIGJlY2F1c2UgSSBmb2xsb3dlZCB0aGUgU0xQIG9yZGVyIGFnYWluLCBidXQg bm93IEkndmUgDQo+IHVwZGF0ZWQgdGhlbSB0byBkbyB3aGF0IHRoZSBkb2NzIHNheS4NCj4gDQo+ IEJvb3RzdHJhcHBlZCBSZWd0ZXN0ZWQgb24gYWFyY2g2NC1ub25lLWxpbnV4LWdudSBhbmQgbm8g aXNzdWVzLg0KPiANCj4gT2sgZm9yIG1hc3Rlcj8gYW5kIGJhY2twb3J0IGFsb25nIHdpdGggdGhl IGZpcnN0IHBhdGNoPw0KPiANCj4gVGhhbmtzLA0KPiBUYW1hcg0KPiANCj4gZ2NjL0NoYW5nZUxv ZzoNCj4gDQo+IAlQUiB0cmVlLW9wdGltaXphdGlvbi8xMDI4MTkNCj4gCVBSIHRyZWUtb3B0aW1p emF0aW9uLzEwMzE2OQ0KPiAJKiBjb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQNCj4gKGNt bDxmY21hYzE+PGNvbmpfb3A+PG1vZGU+NCk6IFVzZQ0KPiAJY2Fub25pY2FsIG9yZGVyLg0KPiAJ KiBjb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZCAoY21sPGZjbWFjMT48Y29ual9vcD48bW9k ZT40KToNCj4gTGlrZXdpc2UuDQo+IA0KPiAtLS0gaW5saW5lIGNvcHkgb2YgcGF0Y2ggLS0tDQo+ IA0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5tZA0KPiBi L2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXNpbWQubWQNCj4gaW5kZXgNCj4gZjk1YTdlMWQ5 MWM5N2M5ZTk4MWQ3NWU3MWYwYjQ5YzAyZWY3NDhiYS4uOWU0MTYxMGZiYTg1ODYyZWY3Njc1YmVh MQ0KPiBlNTczMWIxNGNhYjU5Y2UgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9h YXJjaDY0LXNpbWQubWQNCj4gKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc2ltZC5t ZA0KPiBAQCAtNTU2LDE3ICs1NTYsMTcgQEAgKGRlZmluZV9pbnNuICJhYXJjaDY0X2ZjbWxhcV9s YW5lPHJvdD48bW9kZT4iDQo+ICA7OyByZW1haW5kZXIuICBCZWNhdXNlIG9mIHRoaXMsIGV4cGFu ZCBlYXJseS4NCj4gIChkZWZpbmVfZXhwYW5kICJjbWw8ZmNtYWMxPjxjb25qX29wPjxtb2RlPjQi DQo+ICAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZIU0RGIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0K PiAtCShwbHVzOlZIU0RGIChtYXRjaF9vcGVyYW5kOlZIU0RGIDEgInJlZ2lzdGVyX29wZXJhbmQi KQ0KPiAtCQkgICAgKHVuc3BlYzpWSFNERiBbKG1hdGNoX29wZXJhbmQ6VkhTREYgMg0KPiAicmVn aXN0ZXJfb3BlcmFuZCIpDQo+IC0JCQkJICAgKG1hdGNoX29wZXJhbmQ6VkhTREYgMw0KPiAicmVn aXN0ZXJfb3BlcmFuZCIpXQ0KPiAtCQkJCSAgIEZDTUxBX09QKSkpXQ0KPiArCShwbHVzOlZIU0RG ICh1bnNwZWM6VkhTREYgWyhtYXRjaF9vcGVyYW5kOlZIU0RGIDENCj4gInJlZ2lzdGVyX29wZXJh bmQiKQ0KPiArCQkJCSAgIChtYXRjaF9vcGVyYW5kOlZIU0RGIDINCj4gInJlZ2lzdGVyX29wZXJh bmQiKV0NCj4gKwkJCQkgICBGQ01MQV9PUCkNCj4gKwkJICAgIChtYXRjaF9vcGVyYW5kOlZIU0RG IDMgInJlZ2lzdGVyX29wZXJhbmQiKSkpXQ0KPiAgICAiVEFSR0VUX0NPTVBMRVggJiYgIUJZVEVT X0JJR19FTkRJQU4iDQo+ICB7DQo+ICAgIHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAoPE1PREU+bW9k ZSk7DQo+IC0gIGVtaXRfaW5zbiAoZ2VuX2FhcmNoNjRfZmNtbGE8cm90c3BsaXQxPjxtb2RlPiAo dG1wLCBvcGVyYW5kc1sxXSwNCj4gLQkJCQkJCSBvcGVyYW5kc1szXSwgb3BlcmFuZHNbMl0pKTsN Cj4gKyAgZW1pdF9pbnNuIChnZW5fYWFyY2g2NF9mY21sYTxyb3RzcGxpdDE+PG1vZGU+ICh0bXAs IG9wZXJhbmRzWzNdLA0KPiArCQkJCQkJIG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sxXSkpOw0KPiAg ICBlbWl0X2luc24gKGdlbl9hYXJjaDY0X2ZjbWxhPHJvdHNwbGl0Mj48bW9kZT4gKG9wZXJhbmRz WzBdLCB0bXAsDQo+IC0JCQkJCQkgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJdKSk7DQo+ICsJCQkJ CQkgb3BlcmFuZHNbMl0sIG9wZXJhbmRzWzFdKSk7DQo+ICAgIERPTkU7DQo+ICB9KQ0KPiANCj4g ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZA0KPiBiL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZA0KPiBpbmRleA0KPiA5ZWY5Njg4NDBjMjBhMzA0 OTkwMWIzZjhhOTE5Y2YyN2RlZDFkYTNlLi45ZWQxOTAxN2M0ODBiODg3NzllOWUzYjA4DQo+IGMw ZTAzMWJlNjBhOGMxMiAxMDA2NDQNCj4gLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQt c3ZlLm1kDQo+ICsrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZA0KPiBAQCAt NzI3OCwxMSArNzI3OCwxMSBAQCAoZGVmaW5lX2V4cGFuZCAiY21sPGZjbWFjMT48Y29ual9vcD48 bW9kZT40Ig0KPiAgICBydHggdG1wID0gZ2VuX3JlZ19ydHggKDxNT0RFPm1vZGUpOw0KPiAgICBl bWl0X2luc24NCj4gICAgICAoZ2VuX2FhcmNoNjRfcHJlZF9mY21sYTxzdmVfcm90MT48bW9kZT4g KHRtcCwgb3BlcmFuZHNbNF0sDQo+IC0JCQkJCSAgICAgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJd LA0KPiAtCQkJCQkgICAgIG9wZXJhbmRzWzFdLCBvcGVyYW5kc1s1XSkpOw0KPiArCQkJCQkgICAg IG9wZXJhbmRzWzJdLCBvcGVyYW5kc1sxXSwNCj4gKwkJCQkJICAgICBvcGVyYW5kc1szXSwgb3Bl cmFuZHNbNV0pKTsNCj4gICAgZW1pdF9pbnNuDQo+ICAgICAgKGdlbl9hYXJjaDY0X3ByZWRfZmNt bGE8c3ZlX3JvdDI+PG1vZGU+IChvcGVyYW5kc1swXSwgb3BlcmFuZHNbNF0sDQo+IC0JCQkJCSAg ICAgb3BlcmFuZHNbM10sIG9wZXJhbmRzWzJdLA0KPiArCQkJCQkgICAgIG9wZXJhbmRzWzJdLCBv cGVyYW5kc1sxXSwNCj4gIAkJCQkJICAgICB0bXAsIG9wZXJhbmRzWzVdKSk7DQo+ICAgIERPTkU7 DQo+ICB9KQ0K