From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2087.outbound.protection.outlook.com [40.107.20.87]) by sourceware.org (Postfix) with ESMTPS id CC7FC3858D3C for ; Tue, 17 May 2022 17:46:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CC7FC3858D3C ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=cCKhCKLw89peixHg20nGb1m+rsqd/HAJVfqsWiUqnBjKVRMTcsgYyFvwP2iDuR6e6htmF6lEeFHjy3156JYGc3palVXAX259gelT0bLqUwG4ao0xCLL8D2mUUPl8mX6sKbqU+lldxbRrRkfyP81DUocN7vfYJDB8lfPqI9WBAFy+fBzzy38wsYV3omBQ5rofX/PcbvN0+vHOXToHJhmJjyQg/u2b/5CR5cDq85G0AMe6s9TJgdGFU9TUX4z0HewXG8CGHZCVyk9xHKoZ7fk0MqQUKqfIUNmVH6+EEDNFTnzWWxAltaAQiROt+PmjYna1XiwRwJIEuUc/lzX994mCrA== 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=QrpHMTuuuXitNDTL7Yw+Q0DWhBzmMyzylycFL/Bou3U=; b=ZD5OOB/NE3pywFFlf9Lr6qmoaWM8a27P+FMDG27ZVOzU/IyOC90yTo1ZyZONAGLYXWuoeUGpwExlAVOSweBiMlKR8u5bbCtXyVtPlU2weWdTHd2qbyZE7lwBhtsBAFH5VusapLSAnYMzNi7fNR60q0brpw1gDEBI8YP0v7Jcf5E6JRs+kAQPGrB3CHUiLjEQWcEtbwl9B/Bj7d/0hxzRCjerh0TFvEkRFIWeslzJhbea/P37cjrtuRDFm6stAUvIYRBZy9Oq3I71a5Nj5Kl0cPSRlho02u9x1P9jF9tKquErtpUq9OjrdSU39udl9dVeiIa2ITXPlGnI9JMl7I+Htw== 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 DB6PR1001CA0013.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:b7::23) by AM5PR0802MB2483.eurprd08.prod.outlook.com (2603:10a6:203:9b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.13; Tue, 17 May 2022 17:45:58 +0000 Received: from DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:b7:cafe::81) by DB6PR1001CA0013.outlook.office365.com (2603:10a6:4:b7::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.13 via Frontend Transport; Tue, 17 May 2022 17:45:58 +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 DBAEUR03FT060.mail.protection.outlook.com (100.127.142.238) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.13 via Frontend Transport; Tue, 17 May 2022 17:45:58 +0000 Received: ("Tessian outbound 07c1c99345b0:v119"); Tue, 17 May 2022 17:45:58 +0000 X-CR-MTA-TID: 64aa7808 Received: from f94c2738b1f1.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2EB596DA-F5FE-43D3-8837-F8CA60262F21.1; Tue, 17 May 2022 17:45:53 +0000 Received: from EUR03-DBA-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f94c2738b1f1.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 17 May 2022 17:45:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PJe7V89uJItXgvNRMyg8AUTITB23Al/t7KmhwwCfC1Ii4VUr9jRmdyGO8uAr4y2Zrde0kY7i7axGoQxVkd6caV6qtydqHVS8FForxUhmMWID4A/7Ph543YEu7A+fCrKszeyclFL+HsQscBQ7pxoGsOFF7KQP30bSvdYFKeF8/Kz/62dhei/whvK6yUxML1EViUX32JmmtsNFH5rv43lGhx1XyNybz4rmGHfLGRZJKcI4cEJBYW33aXQiDolLAwIpLG93/cuMXQTBj7NaU0bbs7PS73RiB4Abqvn7QS5E3H1xfgeY7x2H2x2ft0RvIS46XXKGKwGH4Y5veKopC8rQpw== 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=QrpHMTuuuXitNDTL7Yw+Q0DWhBzmMyzylycFL/Bou3U=; b=ZDPuea7LDBXZs+ppKfsCjDUOdiK0LiEYHv35NnYej3apn8/7bMAR3HeDpgnca90bxqpJDKfl9RoB+o05g5Ie5xaZX4Y/xQAFt0ubQlhOmpRMnJoe3D8jDzJ9K9MTCKsREF9FbkC0Jc6IsLimWR7omvZDfDrCmpUQ2JXxzU0PSjBEh+LnqvllJJlYlM1/tivn9ViFhOjy54lX5t2ED7BR97JFdegHLWhgjdoz1SqWetCcRY4IxCgTzNZEZMXCe4d3AvrzDLoCALxaOoPpdWO4J9vD61jY0W3EfQcWcf7iUyB7aLWSv6eI6kSZdeDntvCVyCCWGmyEwb/bcnp5DfzN/Q== 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 AM0PR08MB5188.eurprd08.prod.outlook.com (2603:10a6:208:165::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.16; Tue, 17 May 2022 17:45:50 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::7c18:b406:6441:f7a3]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::7c18:b406:6441:f7a3%5]) with mapi id 15.20.5250.018; Tue, 17 May 2022 17:45:50 +0000 From: Tamar Christina To: Richard Sandiford CC: "gcc-patches@gcc.gnu.org" , nd , "rguenther@suse.de" , "jeffreyalaw@gmail.com" Subject: RE: [PATCH 1/3]middle-end: Add the ability to let the target decide the method of argument promotions. Thread-Topic: [PATCH 1/3]middle-end: Add the ability to let the target decide the method of argument promotions. Thread-Index: AQHYZuxzuLWtQiH2q0mgDU4IQ30vYq0hZKQ4gAABndCAAAkTYIAAAQLXgAAGXhCAAAvsNYAAB9aggAAxN/uAAPQZAIAAHIARgACHC0A= Date: Tue, 17 May 2022 17:45:50 +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: 79C005173742084BA76B601A2058F988.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: cbcab3f1-fdf9-4bd2-ec43-08da382d19c9 x-ms-traffictypediagnostic: AM0PR08MB5188:EE_|DBAEUR03FT060:EE_|AM5PR0802MB2483:EE_ X-Microsoft-Antispam-PRVS: 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: 97jRHh4lWn0MRX3JSbt0xMjcx30CDGrG9baF6MaA5CFdBZQkKrb2v3Yh2+6y29r+xco6XgjdFW3qtavqEofiKs6kPUQnw3F3Ylv0CopKjjuRSZEF857WZUSDERy9+qNpZvYoMM8w0uEOJk51FiO3cWW8ZqbjVDfRq4sZ/kFRNRTHOldKUJ4V+BeCJZ+9XFq0z7eToa9i5dG+fgl1MgWmmI+g7Nqr9AiY22QehO9RYe0e/sjn5U3tEYPWunjBB3mON3K0RJSIaAIE6ueTlRS8/eou7RyH+fqZ3tDK4ltTm+Zr97pRfR3ZAMkzXHs32dSLlhmPPWsMKzHI5cpYX+EhBRRq7sgdPg7YFAtXZzwlTSJogocAJfUKXTrcExCrK+8gRc59ptWzPsvHVcBHlLrUZFMI15iahbRyNm5spXZskIgQcZ5e7Qbd6qmUv/0g0ng2APZF5zD7LWCGQfcf8ebrEWBs1g8bmkCjVFTc6EXUG85mOtpBvlAmENNR4M4f3HXHNxLcrC+HWSyCSiBVy1oS2yB+Vssm8ZH8tAVwV4uLO1NKIJSdT95iXxqLkx8WNUywqORqb0DYdJTW3BS5HG79mpmE3wrYZl4atrdZzt7jnW3JZWhxuQPlLCrTBohBZAWLFBwUhAdcCLUPzX3Wzp9dF39ptXeIiq9zW/BmC1PpIBuRopb+VeRD24IIn2HTZciIXMdkpwRL1jOg69QH33tSxw== 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:(13230001)(4636009)(366004)(508600001)(66446008)(38100700002)(38070700005)(7696005)(71200400001)(6506007)(26005)(9686003)(8936002)(316002)(86362001)(122000001)(54906003)(64756008)(8676002)(6862004)(4326008)(76116006)(66476007)(66556008)(66946007)(33656002)(5660300002)(2906002)(52536014)(55016003)(6636002)(186003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5188 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: DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ab6d69eb-4bb4-4706-5ef0-08da382d14f4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uaSid2isLXt6ZPfQc4K7QU6I+/VZ4YrkqRLjyPL+5Cn8EjxgBK7oHD6TWNUVXSL5S7F2M6fXjorRhD+crP9XPfukDih/+HAQwxWRvniu63fEiUK0l4JL4es+KRS6/Cu7bJ8wIQvh1TnPTXbZPJ70yRuhqxKwTHPifSsYAGWiTddqOBhiuftRUdmWbXquvEHHj/ah/EpEwxnV+BRXcJd9S08ek+1FWpGNx0odgoWjaxVQYNcQalwd752OFRKvTlePl0OXhU7iLI66j/2Kl8ztzpDqo4DD0acWKOnJzmJjxCXCytpSOMCIp2CpIcF6jICVko7zsTiO+mriEME8epbkP4T/hxpip/9Nhwr5YmULcvo7PAtynYoz1TCfLVBMB+/UJDykE8iQrCpbCPCfgMNNWq6supbqvLj1HAPIg9/x+W6fa35dR0IVmOmQoG9FmidJDAf73KGMHzh0sSKTOyqZQqVN1/ChUi/mGDrntvuT6ZdYJwrDvKJfBjsDeKlw66exC3vrkpEfg/MZnnQGHE1Y7R5hGD6h8cEWcsSovCMTCp/9tJynBgaTJfvmMlsYqyMcy/otHD99LKBmztvg13rl5GWUyX9hugRRoqub9mPx9B5SRWJSWKLIKkqEBw2iIVsya4GzxYCx5hAYTmpQyWEtlMkypl6ATD9eDbSe0nY4/+Yquf+6YMGnE+FSGTj7avAz 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:(13230001)(4636009)(40470700004)(46966006)(36840700001)(186003)(336012)(107886003)(86362001)(356005)(36860700001)(47076005)(40460700003)(81166007)(5660300002)(4326008)(8676002)(70586007)(8936002)(70206006)(82310400005)(55016003)(6506007)(33656002)(6862004)(2906002)(6636002)(26005)(508600001)(7696005)(9686003)(54906003)(316002)(52536014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2022 17:45:58.3537 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cbcab3f1-fdf9-4bd2-ec43-08da382d19c9 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: DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0802MB2483 X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, 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, 17 May 2022 17:46:03 -0000 IFvigKZdDQo+ID4+ID4gV2UgZ2VuZXJhdGUgZm9yIGUuZy46DQo+ID4+ID4NCj4gPj4gPiAjaW5j bHVkZSA8c3RkaW50Lmg+DQo+ID4+ID4NCj4gPj4gPiB1aW50MTZfdCBmOCAodWludDhfdCB4ciwg dWludDhfdCB4Yyl7DQo+ID4+ID4gICAgIHJldHVybiAodWludDhfdCkoeHIgKiB4Yyk7DQo+ID4+ ID4gfQ0KPiA+PiA+DQo+ID4+ID4gKGluc24gOSA2IDEwIDIgKHNldCAocmVnOkhJIDEwMSkNCj4g Pj4gKHplcm9fZXh0ZW5kOkhJIChyZWcvdjpRSSA5NiBbIHhyIF0pKSkgInByb20uYyI6NDoxNiAt MQ0KPiA+PiAobmlsKSkNCj4gPj4gKGluc24gMTAgOSAxMSAyIChzZXQgKHJlZzpISSAxMDIpDQo+ ID4+ICh6ZXJvX2V4dGVuZDpISSAocmVnL3Y6UUkgOTggWyB4YyBdKSkpICJwcm9tLmMiOjQ6MTYg LTENCj4gPj4gKG5pbCkpDQo+ID4+IChpbnNuIDExIDEwIDEyIDIgKHNldCAocmVnOlNJIDEwMykN Cj4gPj4gKG11bHQ6U0kgKHN1YnJlZzpTSSAocmVnOkhJIDEwMSkgMCkNCj4gPj4gKHN1YnJlZzpT SSAocmVnOkhJIDEwMikgMCkpKSAicHJvbS5jIjo0OjE2IC0xDQo+ID4+IChuaWwpKQ0KPiA+PiA+ DQo+ID4+ID4gT3V0IG9mIGV4cGFuZC4gVGhlIHBhcmFkb3hpY2FsIHN1YnJlZyBpc24ndCBnZW5l cmF0ZWQgYXQgYWxsIG91dCBvZg0KPiA+PiA+IGV4cGFuZCB1bmxlc3MgaXQncyBuZWVkZWQuIEl0 IGRvZXMga2VlcCB0aGUgb3JpZ2luYWwgcGFyYW1zIGFyb3VuZA0KPiA+PiA+IGFzDQo+ID4+IHVu dXNlZDoNCj4gPj4gPg0KPiA+PiA+IChpbnNuIDIgNyA0IDIgKHNldCAocmVnOlFJIDk3KQ0KPiA+ PiAocmVnOlFJIDAgeDAgWyB4ciBdKSkgInByb20uYyI6MzozNyAtMQ0KPiA+PiAobmlsKSkNCj4g Pj4gKGluc24gNCAyIDMgMiAoc2V0IChyZWc6UUkgOTkpDQo+ID4+IChyZWc6UUkgMSB4MSBbIHhj IF0pKSAicHJvbS5jIjozOjM3IC0xDQo+ID4+IChuaWwpKQ0KPiA+PiA+DQo+ID4+ID4gQW5kIHRo ZSBwYXJhZG94aWNhbCBzdWJyZWcgaXMgbW92ZWQgaW50byB0aGUgZmlyc3Qgb3BlcmF0aW9uIHJl cXVpcmluZyBpdDoNCj4gPj4gPg0KPiA+PiA+IChpbnNuIDExIDEwIDEyIDIgKHNldCAocmVnOlNJ IDEwMykNCj4gPj4gKG11bHQ6U0kgKHN1YnJlZzpTSSAocmVnOkhJIDEwMSkgMCkNCj4gPj4gKHN1 YnJlZzpTSSAocmVnOkhJIDEwMikgMCkpKSAicHJvbS5jIjo0OjE2IC0xDQo+ID4+IChuaWwpKQ0K PiA+Pg0KPiA+PiBBaCwgT0ssIHRoaXMgaXNuJ3Qgd2hhdCBJJ2QgaW1hYWdpbmVkLiAgSSB0aG91 Z2h0IHRoZSB4ciBhbmQgeGMNCj4gPj4gcmVnaXN0ZXJzIHdvdWxkIGJlIFNJcyBhbmQgdGhlIERF Q0xfUlRMcyB3b3VsZCBiZSBRSSBzdWJyZWdzIG9mIHRob3NlIFNJDQo+IHJlZ3MuDQo+ID4+IEkg dGhpbmsgdGhhdCBtaWdodCB3b3JrIGJldHRlciwgZm9yIHRoZSByZWFzb25zIGFib3ZlLiAgKFRo YXQgaXMsDQo+ID4+IHdoZW5ldmVyIHdlIG5lZWQgdGhlIHJlZ2lzdGVyIGluIGV4dGVuZGVkIGZv cm0sIHdlIGNhbiBzaW1wbHkgZXh0ZW5kDQo+ID4+IHRoZSBleGlzdGluZyByZWcgcmF0aGVyIHRo YW4gY3JlYXRlIGEgbmV3IG9uZS4pDQo+ID4NCj4gPiBBaCwgSSBzZWUsIG5vLCBJIGV4cGxpY2l0 bHkgYXZvaWQgdGhpcy4gV2hlbiBkb2luZyB0aGUgdHlwZSBwcm9tb3Rpb25zDQo+ID4gSSB0ZWxs IGl0IHRoYXQgc2l6ZSBvZiB0aGUgY29waWVzIG9mIHhyIGFuZCB4YyBpcyBzdGlsbCB0aGUgb3Jp Z2luYWwgc2l6ZSwgZS5nLiBRSSAoaS5lLiBJDQo+IGRvbid0IGNoYW5nZSA5NyBhbmQgOTkpLg0K PiA+IFRoaXMgaXMgZGlmZmVyZW50IGZyb20gd2hhdCB3ZSBkbyB3aXRoIGV4dGVuZHMgd2hlcmUg OTcgYW5kIDk5ICp3b3VsZCoNCj4gYmUgY2hhbmdlZC4NCj4gPg0KPiA+IFRoZSByZWFzb24gaXMg dGhhdCBpZiBJIG1ha2UgdGhpcyBTSSB0aGUgY29tcGlsZXIgdGhpbmtzIGl0IGtub3dzIHRoZQ0K PiA+IHZhbHVlIG9mIGFsbCB0aGUgYml0cyBpbiB0aGUgcmVnaXN0ZXIgd2hpY2ggbGVkIHRvIHZh cmlvdXMgbWlzY29tcGFyZXMgYXMgaXQNCj4gdGhpbmtzIGl0IGNhbiB1c2UgdGhlIFNJIHZhbHVl IGRpcmVjdGx5Lg0KPiA+DQo+ID4gVGhpcyBoYXBwZW5zIGJlY2F1c2UgYWdhaW4gdGhlIHhyIGFu ZCB4YyBhcmUgaGFyZCByZWdzLiBTbyBoYXZpbmcgOTcNCj4gPiBiZQ0KPiA+DQo+ID4gKHNldCAo cmVnOlNJIDk3KSAoc3VicmVnOlNJIChyZWc6UUkgMCB4MCBbIHhyIF0pIDApKQ0KPiA+DQo+ID4g Z2V0cyBmb2xkZWQgdG8gYW4gaW5jb3JyZWN0DQo+ID4NCj4gPiAoc2V0IChyZWc6U0kgOTcpIChy ZWc6U0kgMCB4MCBbIHhyIF0pKQ0KPiANCj4gVGhpcyBwYXJ0IEkgd291bGQgZXhwZWN0IChhbmQg aG9wZSBmb3IgOi0pKS4NCj4gDQo+ID4gQW5kIG5vdyA5NyBpcyBmcmVlIHRvIGJlIHVzZWQgd2l0 aG91dCBhbnkgemVybyBleHRlbnNpb24sIGFzIDk3IG9uIGl0J3Mgb3duDQo+IGlzIGFuIGludmFs aWQgUlRYLg0KPiANCj4gQnV0IHRoZSB3YXkgSSdkIGltYWdpbmVkIGl0IHdvcmtpbmcsIGV4cGFu ZCB3b3VsZCBuZWVkIHRvIGluc2VydCBhbg0KPiBleHRlbnNpb24gYmVmb3JlIGFueSBvcGVyYXRp b24gdGhhdCBuZWVkcyB0aGUgdXBwZXIgMjQgYml0cyB0byBiZSBkZWZpbmVkDQo+IChlLmcuIGNv bXBhcmlzb25zLCByaWdodCBzaGlmdHMpLiAgSWYgdGhlIERFQ0xfUlRMIGlzIChzdWJyZWc6UUkg KHJlZzpTSSB4KSAwKQ0KPiB0aGVuIHRoZSB1cHBlciBiaXRzIGFyZSBub3QgZGVmaW5lZCwgc2lu Y2UgU1VCUkVHX1BST01PVEVEX1ZBUl9QDQo+IHdvdWxkL3Nob3VsZCBiZSBmYWxzZSBmb3IgdGhl IHN1YnJlZy4NCg0KQWggSSBzZWUsIG15IGZlYXIgaGVyZSB3YXMgdGhhdCBpZiB3ZSBoYXZlIGEg cGF0dGVybiB3aGljaCBzcGxpdHMgb3V0IHRoZSB6ZXJvLWV4dGVuZCBmb3Igd2hhdGV2ZXIgcmVh c29uDQp0aGF0IGlmIGl0IGdldHMgZm9sZGVkIGl0IHdvdWxkIGJlIGludmFsaWQuICBCdXQgSSB0 aGluayBJIHVuZGVyc3RhbmQgd2hhdCB5b3UgbWVhbnQuICBJbiB5b3VyIGNhc2UNCndlJ2QgbmV2 ZXIgYWdhaW4gdXNlIHRoZSBoYXJkcmVnLCBidXQgdGhhdCBldmVyeXRoaW5nIGdvZXMgdGhyb3Vn aCA5Ny4gR290IGl0Lg0KDQo+IA0KPiBFLmcuIGZvcjoNCj4gDQo+ICAgaW50OF90IGZvbyhpbnQ4 X3QgeCkgeyByZXR1cm4geCA+PiAxOyB9DQo+IA0KPiB4IHdvdWxkIGhhdmUgYSBERUNMX1JUTCBv ZiAoc3VicmVnOlFJIChyZWc6U0kgeCkgMCksIHRoZSBwYXJhbWV0ZXINCj4gYXNzaWdubWVudCB3 b3VsZCBiZSBleHBhbmRlZCBhczoNCj4gDQo+ICAgKHNldCAocmVnOlNJIHgpIChyZWc6U0kgeDAp KQ0KPiANCj4gdGhlIHNoaWZ0IHdvdWxkIGJlIGV4cGFuZGVkIGFzOg0KPiANCj4gICAoc2V0IChy ZWc6U0kgeCkgKHplcm9fZXh0ZW5kOlNJIChzdWJyZWc6UUkgKHJlZzpTSSB4KSAwKSkpDQo+ICAg KHNldCAocmVnOlNJIHgpIChhc2hpZnRydDpTSSAocmVnOlNJIHgpIChjb25zdF9pbnQgMSkpKQ0K PiANCj4gYW5kIHRoZSByZXR1cm4gYXNzaWdubWVudCB3b3VsZCBiZSBleHBhbmRlZCBhczoNCj4g DQo+ICAgKHNldCAocmVnOlNJIHgwKSAocmVnOlNJIHgpKQ0KPiANCj4geCArIDEgd291bGQgaW5z dGVhZCBiZSBleHBhbmRlZCB0byBqdXN0Og0KPiANCj4gICAoc2V0IChyZWc6U0kgeCkgKHBsdXM6 U0kgKHJlZzpTSSB4KSAoY29uc3RfaW50IDEpKSkNCj4gDQo+ICh3aXRob3V0IGFuIGV4dGVuc2lv bikuDQo+IA0KPiBJIHJlYWxpc2VkIGxhdGVyIHRob3VnaCB0aGF0LCBhbHRob3VnaCByZXVzaW5n IHRoZSBERUNMX1JUTCByZWcgZm9yIHRoZQ0KPiBleHRlbnNpb24gaGFzIHRoZSBuaWNlIFJBIHBy b3BlcnR5IG9mIGF2b2lkaW5nIG11bHRpcGxlIGxpdmUgdmFsdWVzLCBpdCB3b3VsZA0KPiBtYWtl IGl0IGhhcmRlciB0byBjb21iaW5lIHRoZSBleHRlbnNpb24gaW50byB0aGUgb3BlcmF0aW9uIGlm IHRoZSB2YXJpYWJsZSBpcw0KPiBzdGlsbCBsaXZlIGFmdGVyd2FyZHMuICBTbyBJIGd1ZXNzIHdl IGxvc2Ugc29tZXRoaW5nIGJvdGggd2F5cy4NCj4gDQo+IE1heWJlIHdlIG5lZWQgYSBkaWZmZXJl bnQgYXBwcm9hY2gsIG5vdCBiYXNlZCBvbiBjaGFuZ2luZw0KPiBQUk9NT1RFX01PREUuDQo+IA0K PiBJIHdvbmRlciBob3cgZWFzeSBpdCB3b3VsZCBiZSB0byBkbyB0aGUgcHJvbW90aW9uIGluIGdp bXBsZSwgdGhlbiByZXVzZQ0KPiBiYWNrcHJvcCB0byBkZXRlcm1pbmUgd2hlbiBhIHNpZ24vemVy by1leHRlbnNpb24gKGkuZS4gYSBub3JtYWwgZ2ltcGxlIGNhc3QpDQo+IGNhbiBiZSBjb252ZXJ0 ZWQgaW50byBhbiDigJxhbnkgZXh0ZW5k4oCdDQo+IChwcm9iYWJseSByZXByZXNlbnRlZCBhcyBh IG5ldyBpZm4pLg0KDQpEbyB5b3UgbWVhbiB3aXRob3V0IGNoYW5naW5nIHRoZSBob29rIGltcGxl bWVudGF0aW9uIGJ1dCBrZWVwaW5nIHRoZSBjdXJyZW50IHByb21vdGlvbj8NCg0KSSBndWVzcyB0 aGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgaXQncyB0aGUgaW52ZXJzZSBjYXNlcyB0aGF0J3MgdGhl IHByb2JsZW0gaXNuJ3QgaXQ/IEl0J3Mgbm90IHRoYXQgaW4NCmdpbXBsZSB0aGVyZSBhcmUgdW5u ZWVkZWQgZXh0ZW5kcywgaXQncyB0aGF0IHNvbWUgb3BlcmF0aW9ucyByZXF1aXJlIGFuIGFueS1l eHRlbmQgbm8/DQoNCmxpa2UgaW4gZ2ltcGxlIH5hIHdoZXJlIGEgaXMgYW4gOC1iaXQgcXVhbnRp dHkgcmVxdWlyZXMgYW4gYW55LWV4dGVuZCwgYnV0IG5vIGNhc3Qgd291bGQgYmUgdGhlcmUNCmlu IGdpbXBsZS4NCg0KU28gZm9yIGluc3RhbmNlDQoNCiNpbmNsdWRlIDxzdGRpbnQuaD4NCg0KdWlu dDhfdCBmICh1aW50OF90IGEpDQp7DQogICAgcmV0dXJuIH5hOw0KfQ0KDQpJcyBqdXN0IHNpbXBs eToNCg0KZiAodWludDhfdCBhKQ0Kew0KICB1aW50OF90IF8yOw0KDQogIDxiYiAyPiBbbG9jYWwg Y291bnQ6IDEwNzM3NDE4MjRdOg0KICBfMiA9IH5hXzEoRCk7DQogIHJldHVybiBfMjsNCg0KfQ0K DQpJbiBnaW1wbGUuIEknbSBhbHNvIHNsaWdodGx5IHdvcnJpZWQgYWJvdXQgaW50ZXJmZXJpbmcg d2l0aCBwaGkgb3B0cy4gQmFja3Byb3AgcnVucw0KYmVmb3JlIGlmY29tYmluZSBhbmQgcGlob3Bz IGZvciBpbnN0YW5jZSBhbmQgdGhlcmUgYXJlIHZhcmlvdXMgcGhpIG9wdHMgbGlrZSBpZmNvbWJp bmVfaWZhbmRpZg0KdGhhdCByZWx5IG9uIHRoZSBCQiBjb250YWluaW5nIG9ubHkgdGhlIHBoaSBu b2RlLiAgQWRkaW5nIGFuIGFueS1leHRlbmQgaW4gYmV0d2VlbiB3b3VsZCBicmVhayB0aGlzLg0K DQpJIGFsc28gd29uZGVyIGlmIHRoZSBJRk4gd29uJ3QgaW50ZXJmZXJlIHdpdGggcmFuZ2UgYW5h bHlzaXMgb2YgZXhwcmVzc2lvbnMuIFVubGVzcyB3ZSBtYW5hZ2UgdG8gc3RyYXRlZ2ljYWxseQ0K SW5zZXJ0IHRoZSBJRk5zIG9uIGVudGlyZSBleHByZXNzaW9ucyBhbmQgbm90IGluIHRoZSBpbnRl cm1lZGlhdGUgU1NBIGNvbXBvbmVudHMuDQoNCj4gDQo+ID4gU28gSSBoYXZlIHRvIGtlZXAgdGhl IGludGVybWVkaWF0ZSBjb3B5IFFJIG1vZGUsIGFmdGVyIHdoaWNoIHRoZSBSVFgNCj4gPiBvcHRp bWl6YXRpb25zIGJlaW5nIGRvbmUgZHVyaW5nIGV4cGFuZCBnZW5lcmF0ZXMgdGhlIGZvcm1zIGFi b3ZlLg0KPiA+DQo+ID4+DQo+ID4+IEkgdGhpbmsgdGhhdCdzIHdoZXJlIGNvbmZ1c2lvbiB3YXMg Y29taW5nIGZyb20uDQo+ID4+DQo+ID4+ID4gSW4gYW55IGNhc2UsIEknbSBzdGlsbCBub3QgdG90 YWxseSBzdXJlIHdoYXQgdGhlIG9iamVjdGlvbiBoZXJlIGlzLg0KPiA+PiA+IEFmYWlrLCBjb21w YXJlcyBuZWVkIHRvIGJlIHRyZWF0ZWQgc3BlY2lhbGx5IGJlY2F1c2UgaW4gR0lNUExFIHRoZXkN Cj4gPj4gPiBhbHJlYWR5IGFyZS4gIEFmYWlrLCBDIGludGVnZXIgcHJvbW90aW9uIHJ1bGVzIHN0 YXRlIHRoYXQgaW4gdGhlDQo+ID4+ID4gY29tcGFyaXNvbiAwIHNob3VsZCBoYXZlIGJlZW4gcHJv bW90ZWQgdG8gYW4gaW50ZWdlciBjb25zdGFudCBvZg0KPiA+PiA+IHJhbmsgaW50IGFuZCBzbyB0 aGUgY29tcGFyaXNvbiBpdHNlbGYgc2hvdWxkIGhhdmUgYmVlbiBkb25lIGFzIGludGVnZXIuDQo+ ID4+ID4gaS5lLiBleHRlbmRlZC4gIEFuZCBtb3N0IG9mIG91ciBwYXR0ZXJucyBhcmUgYmFzZWQg YXJvdW5kIHRoaXMuDQo+ID4+ID4NCj4gPj4gPiBHaW1wbGUgaG93ZXZlciBkb2Vzbid0IGRvIHRo aXMsIHRoZSBjb21wYXJpc29uIGlzIGRvbmUgaW4gdGhlIHJhbmsNCj4gPj4gPiBvZiB0aGUgdmFy aWFibGUgYW5kIHRoZXJlIGlzIG5vIGV4cGxpY2l0IGNvbnZlcnNpb24uICBUaGlzIGhhcHBlbmVk DQo+ID4+ID4gdG8gYmUgZml4ZWQgdXAgYmVmb3JlIGR1cmluZyB0aGUgZm9yY2VkIHByb21vdGlv bi4gIFNvIHRvIG1lIHRoZQ0KPiA+PiA+IGhldXJpc3RpYyBkb2Vzbid0IHNlZW0gdG8gYmUgdGhh dCBjcmF6eS4uDQo+ID4+DQo+ID4+IEkgZ3Vlc3MgSSBzdGlsbCBkb24ndCBzZWUgdGhlIGRpc3Rp bmN0aW9uLiAgQyBzYXlzIHRoZSBzYW1lIHRoaW5nDQo+ID4+IGFib3V0DQo+ID4+ICssIC0sID4+ LCBldGMuICBBbmQgZ2ltcGxlIGlzIGZyZWUgdG8gZG8gdGhvc2Ugb3BlcmF0aW9ucyBpbiBuYXJy b3cNCj4gPj4gK3R5cGVzDQo+ID4+IGlmIGl0IHdhbnRzIHRvLCBhbmQgaWYgdGhhdCBkb2Vzbid0 IGNoYW5nZSB0aGUgc2VtYW50aWNzLiAgKE5vdCB0aGF0DQo+ID4+IGdpbXBsZSBhbHdheXMgZG9l cyB0aGVtIGluIG5hcnJvdyB0eXBlcy4gIEJ1dCBpdCBpcyB2YWxpZCBnaW1wbGUuKQ0KPiA+Pg0K PiA+PiBUaGUgb3B0aW1pc2F0aW9uIHByb2JsZW0gZG9lc24ndCBjb21lIGZyb20gQyBvciBnaW1w bGUgc2VtYW50aWNzLCBidXQNCj4gPj4gZnJvbSB0aGUgZmFjdCB0aGF0IEFBcmNoNjQgKHVubGlr ZSB4ODYgc2F5KSBkb2Vzbid0IGhhdmUgYnl0ZSBhZGQsDQo+ID4+IGJ5dGUgY29tcGFyZSwgYnl0 ZSByaWdodCBzaGlmdCwgZXRjLiAgV2UgdGhlcmVmb3JlIG5lZWQgdG8gcHJvbW90ZQ0KPiA+PiA4 LWJpdCBhbmQgMTYtIGJpdCBvcGVyYXRpb25zIHRvIDMyIGJpdHMgZmlyc3QuDQo+ID4+DQo+ID4+ IEZvciBhZGQsIHN1YnRyYWN0LCBtdWx0aXBseSwgbGVmdCBzaGlmdCwgYW5kIGxvZ2ljIG9wcywg d2UgY2FuIGF2b2lkDQo+ID4+IGRlZmluaW5nIHRoZSB1cHBlciBiaXRzIG9mIHRoZSBpbnB1dHMg d2hlbiB3ZSBkbyB0aGVzZSBleHRlbnNpb25zLA0KPiA+PiBiZWNhdXNlIHRoZSB1cHBlciBiaXRz IG9mIHRoZSBpbnB1dHMgZG9uJ3QgYWZmZWN0IHRoZSB1c2VmdWwgYml0cyBvZg0KPiA+PiB0aGUg cmVzdWx0LiAgQnV0IGZvciBjb21wYXJpc29ucywgcmlnaHQgc2hpZnRzLCBhbmQgZGl2aWRlcywg ZXRjLiwgd2UgZG8gbmVlZA0KPiB0byBleHRlbmQuDQo+ID4+DQo+ID4+IEFJVUksIHRoZSBjb21w YXJpc29uIGNhc2UgaXMgc3BlY2lhbCBiZWNhdXNlIChmb3IgQUFyY2g2NC1zcGVjaWZpYw0KPiA+ PiByZWFzb25zKSwgd2UgcHJlZmVyIGV4dGVuZCArIGNieiB0byB0c3QgKyBicmFuY2gsIGVzcGVj aWFsbHkgd2hlbiB0aGUNCj4gPj4gZXh0ZW5kIGNhbiBiZSBzaGFyZWQuDQo+ID4NCj4gPiBBZ3Jl ZWQsIHNvIEkgdGhpbmsgd2UgYWdyZWUgb24gdGhpcyDwn5iKIEkgZ3Vlc3MgdGhlIGRpc2FncmVl bWVudCBpcw0KPiA+IHdoZXJlIHRoaXMgc2hvdWxkIGJlIGRvbmUuIEknbGwgYWRtaXQgdGhhdCB0 aGUgdGVzdGNhc2UgYWJvdmUgd29ya3MgYnkNCj4gPiBjb2luY2lkZW5jZS4gQnV0IGlmIHdlIGRv bid0IGRvIGl0IGR1cmluZyBleHBhbmQgdGltZSwgdGhlIG9ubHkgcGxhY2UNCj4gPiBJIGNhbiB0 aGluayBvZiB0byBpbnRyb2R1Y2UgdGhlIHplcm8gZXh0ZW5kcyBpcyB0byBhZGQgdmFyaW91cw0K PiA+IHBhdHRlcm5zIHRvIGRvIGFuIGVhcmx5IHNwbGl0IG9mIGFueS1leHRlbmQNCj4gPiArIGNt cC4gIEJ1dCB3b3VsZG4ndCB0aGF0IGJlIG1vcmUgZnJhZ2lsZT8gQXQgbGVhc3QgYXQgZXhwYW5k IHRpbWUgYWxsDQo+ID4gKyBjb21wYXJpc29ucw0KPiA+IGFyZSB0Y2NfY29tcGFyaXNvbnMuDQo+ IA0KPiBJIGd1ZXNzIG9uZSBxdWVzdGlvbiBpczogaXMgdGhlIHBhdGNoIHdpdGhvdXQgdGhlIGNv bXBhcmlzb24gaGFuZGxpbmcganVzdA0KPiBleGFjZXJiYXRpbmcgYW4gZXhpc3RpbmcgcHJvYmxl bT8gIERvIHdlIGFscmVhZHkgbWFrZSBzaW1pbGFyIGJhZCBjaG9pY2VzDQo+IGJldHdlZW4gZXh0 ZW5kK2NieiBhbmQgdHN0K2JyYW5jaCBpbiBjYXNlcyB3aGVyZSB0aGUgdmFyaWFibGVzIGFyZW4n dA0KPiBzaG9ydCwgYnV0IHdoZXJlIGludGVybWVkaWF0ZSBjYWxjdWxhdGlvbnMgaW52b2x2ZSAm cz8gIElmIHNvLCBpdCBtaWdodCBiZQ0KPiBzb21ldGhpbmcgd29ydGggdGFja2xpbmcgaW4gaXRz IG93biByaWdodCwgcmVnYXJkbGVzcyBvZiB3aGVyZSB0aGUgJnMgb3INCj4gZXh0ZW5zaW9ucyBj b21lIGZyb20uDQoNCkkndmUgdHJpZWQgdmFyaW91cyBjYXNlcyBidXQgdGhleSBhbGwgbG9vayBj b3JyZWN0LiAgVGhpcyBpcyBtb3N0bHkgYmVjYXVzZQ0Kd2UgYWxyZWFkeSBoYXZlIGFjdHVhbCBp bnN0cnVjdGlvbnMgZm9yIHRoZXNlLiBXZSBnZW5lcmF0ZSBhIGNoYWluIG9mDQphbmQgKyB0c3Qg aW4gbW9zdCAhPSAwIGNhc2VzLCBpbiB0aGUgcmVzdCB3ZSBkbyB0aGUgbGVhc3QgYW1vdW50IG9m ICZzDQphbmQgdGhlbiBhIG5vcm1hbCBjbXAuIA0KDQpGb3IgdGhlIGNhc2UgaW4gc3BlYywgd2Ug Y29ycmVjdGx5IG9ubHkgZ2V0IGFuIGFkZGl0aW9uYWwgbW92IHRvIGNvcHkNCnRoZSB2YWx1ZS4g IFNvIGl0IGxvb2tzIGxpa2UgaXQncyBvbmx5IGFuIGlzc3VlIHdpdGggc2hvcnQgY2FzZXMuDQoN CkNoZWVycywNClRhbWFyDQoNCj4gDQo+IEJ1dCB5ZWFoLCBJJ20gbm90IHN1cmUgaG93IGVhc2ls eSB0aGF0IHdvdWxkIGZpdCBpbnRvIGV4aXN0aW5nIHBhc3Nlcy4NCj4gDQo+IFRoYW5rcywNCj4g UmljaGFyZA0K