From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id CF6913857007 for ; Thu, 19 Aug 2021 13:54:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CF6913857007 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17JDprYb020793; Thu, 19 Aug 2021 13:54:46 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3agw7t3r3b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Aug 2021 13:54:45 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17JDotNW147504; Thu, 19 Aug 2021 13:54:44 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2169.outbound.protection.outlook.com [104.47.59.169]) by aserp3020.oracle.com with ESMTP id 3ae5nbjkfm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 19 Aug 2021 13:54:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SZi/xdrSN2vmL7tTAeKuGZn3vEfFjGcgtmQRqLTI6N7GMQwRDlmDJ2D4V/UYHebXPnhLhNqdmpdn+MgCG/XxE6xGfx0xDVBHsEg7oQ19YFT7lBL+LiJa9meoCk/D5jYPwVlFfAsP1M0FWBmaHpYwPgKDjbhxn18mS1NzQMVc0Vu4yKYk3YdIY5ftmoH1jFQbvdEfGAbDIAuxdcz6fqFg6Q/edDyvQxSXWGjwq+RvO7WpV4YEpB++YX+Wt0HBFvnOhCS8UuX57Yl0876TmuLhwT8+XsIvRQV+Di8YWW1SvGsmyPt4VAh2O5fkMJySIvIn6kKuXTqYDPuZMAgOS2Tyug== 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=1OqnjyjVv25DT3h6x9NvXej3Y1ZobTk0mOeDotzMigk=; b=RMvzHSHumg3tt08uR8O26hvi32YY9GUJ9DRIIBT27zwi7l94L8hWwp9TNcDOomxcea5+7hn7vO6Q+jYZVaULae6hMQesBxuCtZSzCU2ElzcASV4NUoh0NaeFpMarKe1nsDA2tOxSIcSetinro0cugLvtVUXE7sDD+HR/Atwt4+ERzYHw4N4QFa/S9KS75WGka+HQfeBm6tvU6zjvqAv4bGwIGQFsRCP+0hgHvW3yOnWDchA8N/6Uy86ORSexdyHyEe+sVHrfBUUMfGTvCkxn4ybxmIYsBh4HquEnQ+te9UUTbqTWhZ7ZhwwlQ729e7sCeoWvN7mLojro7cbHsiDvxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB4841.namprd10.prod.outlook.com (2603:10b6:610:c3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Thu, 19 Aug 2021 13:54:42 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547%9]) with mapi id 15.20.4436.019; Thu, 19 Aug 2021 13:54:42 +0000 From: Qing Zhao To: Richard Biener CC: Jakub Jelinek , Nick Alcock via Gcc-patches , Kees Cook Subject: Re: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAUO6ICABYSmgIAAh5qAgAEYkwCAAGpqAIAAFZqAgAD9noCAAJMVgIABHGcAgABSSoA= Date: Thu, 19 Aug 2021 13:54:42 +0000 Message-ID: <2F266F68-454F-4E0E-B38B-293F60DE2B1C@oracle.com> References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> <517EA40B-9500-4090-8F03-B4A9CECC62F8@oracle.com> <8B2F93E8-C3AC-49D2-B764-D4DD8A150A52@oracle.com> <786F370D-4A45-4F66-846C-A3437A162A65@oracle.com> <986D883E-A346-456A-B335-4185D4B136B5@oracle.com> <7AD092FB-62D6-4C87-B141-FD649E7B3F93@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 51fbf43c-1c2b-47cc-8993-08d96318e560 x-ms-traffictypediagnostic: CH0PR10MB4841: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1shf82pfRJKg57l7RueKL73JAT+ok8FbQC5g+cU/0f9CcfzTrQ20D+XT8CzaWocIAphFwBlSwlfYQksGqT8oXJlmrd/6BgZxLxVqCvavf7COcfRoLuzoJRZGcsHCk8WOB8ZCGjGGRH22Nm9Hn7QeJdSIGWM5VvH45v1ls7y2BUflMk37krcNHhom83uUArayYtr1B2VLV7E7uT6VoeAd4yai4+Fkma+xV6A1DE+5dtAzFUPU15YyAOabuqedKFhyMyRtkYU63OWIo/v0YcKIEIC8oLgNIbziwcPKEybSYutdm5FNJ8mjfNf66skMpWUpC9OIb2IZFK61mLVtd1q+I0t8mi4zrpTdIBpv1X6UznFG6JMpMTIGAATF9qaYuhS71B//UXotEyE1RosEtGNERtQTmJuchfqVMVgRnx1n2Eb0WefwB067lgapRW6ztOWGg9Qg5ChAJ63MSknh+YGniFwpQ3Pr6jcP1YuS7iQtezW2hoJQJ8LhAaGVmcUSlFEXs0HENZd/K24sQirPOShdgyXiQzd5ewARiRcRdZwzQcnpx2z6Hgl3FprfANlkUQlq75A4h91w5rvz2x43LiasTgcioN+H9gtrFaaIiEPoFnUrPqS7XazF+dAswPqwy0t9XsshMKHmuD0Dii8bbnM9oTrVX4gWkbubzT1AmqW30sKpVIf4Y3kAqSFgBon27BfiWSAZStW/nJh/V0Zsbdo5Y3l4uEfltyB8Chh0RFjtBKEb4eKEDhm0UwEKBj5O//FR x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(39860400002)(376002)(366004)(396003)(346002)(36756003)(478600001)(38070700005)(38100700002)(33656002)(6506007)(8936002)(53546011)(66574015)(76116006)(83380400001)(6486002)(6916009)(91956017)(186003)(2906002)(66476007)(66556008)(6512007)(8676002)(64756008)(66446008)(66946007)(71200400001)(4326008)(44832011)(122000001)(5660300002)(54906003)(86362001)(316002)(2616005)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aFdTU3VYQWpGRzdmOWtLUXZKQjF6ekRtenFDK1pQVlZ4TllnektmdnpZc0Ew?= =?utf-8?B?aTNLaW9KbE5NaVJRQ2dlZFBvSlQzcTRPRkRXS2xFenJZMFQ3RUY2OWp4SWtu?= =?utf-8?B?b0U4UGdKeVkyUEZ3U3BBTGRVbXZRSUNkc05naDhsMVB4QkU5b1B4cjlUN29S?= =?utf-8?B?Z29GNXIwa1BPaGFTT0hJZjNFZjBPTjVFQlNLb21oSlh1dUFGWDlQSGN4Rmw2?= =?utf-8?B?TFFmN09uN1F6Z3ZLWHN6Yi9tQktiem9Hd3NaWFJmVVBpT1lvNTNTV3crSjl1?= =?utf-8?B?ZVFPN2YwV2FBKzhhRTNhRDc0d0d5SzdTZDdOdlRGbFJoNzBUMTJGM2p6ZGlL?= =?utf-8?B?VEVnbElNVkdqY0xTdkx4bXVJL0FlZ1ZaREMwYzZONFhLWDRQalRVVXZWZkJT?= =?utf-8?B?V2xQNVZ2eGVZZkJRcnBHb1BtUnowVGFtMGtWYk1PREtMeTNzdS92Y2tuNS81?= =?utf-8?B?THJONmhRQUFjRkl0dDB4MEpuaHJ6TmE1c1NkeGt6QXFpeTNOZzg4QXVhUnFX?= =?utf-8?B?V1Rkb1FwQ0NRdDRHeFR4UUVBaExrbGh3ZkRaQlBlS2lwWDk3aVVQeWVheUZJ?= =?utf-8?B?YWpiME1sRmFDaVM1TzVLSmlPbDNJZUZhTE9Jc241c3l6bWpENTlORlRBQXBa?= =?utf-8?B?YXlaOFRvMFdDZkxpb2ROSDBJdmlPMnhmOUs3NGdyNndjT2EzNG9xTkxJZEZt?= =?utf-8?B?eGlDVmsrYnZNekFvanRIa2cyTmJTY1krbitFME9UNWJvd2p0R1FKWEpKUXh2?= =?utf-8?B?bVJ6eWN0aXVrWndtZ3doMHp2a0ZSZDRyNEVvQ1RLSnlORUZEa3FERzVRajdS?= =?utf-8?B?TUxNMFNTMGlXTmcyd2NiQlhzeTFRZmFoV0NsVlJob3RRaXYxQjZGVXRIemVh?= =?utf-8?B?WEVoREdMU2Z6cHJtMHNyU1pMc2RYVXptcUt6TjQyZlBNczBaZzd1NkhtZExR?= =?utf-8?B?Y2NtN0FhdGcxM1cxRGUrLzBQRjBRVm9kQk1xVjdlenBEUHQxYnhKUFYvOHdz?= =?utf-8?B?S0w0UVoydDhQS0Y0dUZLam5YakJHaHIxTDhmZ2orYjRhdTdGSDVZL2tYeVJD?= =?utf-8?B?dng2MVJxNk14M1B2WXRIRlZUQXZoeTJza1BXVStEYklYRlpEK0JTVzBiL3ly?= =?utf-8?B?OE9FTHl4VTJoMjQwSTVBRFZvd2xWRzNJMmNMa2lUenk0OFhrcTd5UjlDdWtK?= =?utf-8?B?Tzg3Mlg1ZTU4aHBBZ01hWFRJVW1CRjBRNkZTVk1XVklMV1ZPSG1JeGxrRjd6?= =?utf-8?B?MElCTkE4TmJtWVVPdDJTMkJDeWNVMW1mK3dUN2FuNEFLaW1iMFpZTUs0b2Vk?= =?utf-8?B?Z09GR1FRL0R5Z0tkbFFDMDJYUkFLbWw5VENieTNaOFRzb1J5aVBSM2RvWFFV?= =?utf-8?B?Ymo2MjhUZEVhSGJIaTZWUU83NGQ3Z2praXlWWHR1aDZOYTZvSlVNaXRBOVJ2?= =?utf-8?B?aEViSkZLQ0s3R1FzODRLZUxPUnIxZXMzcmZFdlh0OXBhZjZjVnVPaG1WZ0Ry?= =?utf-8?B?STR3MXNabHloRDB1ZXlzNUtEZUdOL2hXQTZPckc2RE9VbnUwMWFDMEhPM0tR?= =?utf-8?B?aCs2WDFLWCtja0Jkdnl0SHlERHI4ZHhMQnVETjhIYmFtRURWNHpWKzlIdFkv?= =?utf-8?B?WHl4MjFmNjZMUFp6elFzZk0zeTkxdHJ3U1BPdkYyeG5GaHpXL0x0VWZqRFh3?= =?utf-8?B?YnM3M1BjTlhtZEtHTkpWemRScU5PVi9BKzBRM1ZKZzlhL3lYdGlJWEdSUlRY?= =?utf-8?B?SDNYSjIrSVRwQnVzRUdpVGNjSnI2QWUyUS9NSnJpdFY2MmF0a0RoTm45Rlhw?= =?utf-8?Q?M+SS0BIQAbeWhF5WPIvKLL+vlA28n8MtELAdM=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <30226D05474AA643A92D2A1ECBF56810@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51fbf43c-1c2b-47cc-8993-08d96318e560 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2021 13:54:42.7453 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NgVf/4M4pl+OzrndLslQqSofrmnSx+lvjsBis1d1bnF6FuwIbjIUVqjrmo7bJWqbNKsVEd4hjGHAsdRPthqWUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4841 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10080 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108190081 X-Proofpoint-ORIG-GUID: pWP9EDGLqzxi78vV6FrsubHTt_SyZfxL X-Proofpoint-GUID: pWP9EDGLqzxi78vV6FrsubHTt_SyZfxL X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_BL, RCVD_IN_MSPIKE_L3, SPF_HELO_NONE, SPF_NONE, TXREP 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: Thu, 19 Aug 2021 13:54:57 -0000 DQoNCj4gT24gQXVnIDE5LCAyMDIxLCBhdCA0OjAwIEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50 aGVyQHN1c2UuZGU+IHdyb3RlOg0KPiANCj4gT24gV2VkLCAxOCBBdWcgMjAyMSwgUWluZyBaaGFv IHdyb3RlOg0KPiANCj4+IA0KPj4gDQo+Pj4gT24gQXVnIDE4LCAyMDIxLCBhdCAyOjE1IEFNLCBS aWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+IHdyb3RlOg0KPj4+IA0KPj4+IE9uIFR1 ZSwgMTcgQXVnIDIwMjEsIFFpbmcgWmhhbyB3cm90ZToNCj4+PiANCj4+Pj4gDQo+Pj4+IA0KPj4+ Pj4gT24gQXVnIDE3LCAyMDIxLCBhdCA5OjUwIEFNLCBRaW5nIFpoYW8gdmlhIEdjYy1wYXRjaGVz IDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+IA0KPj4+Pj4g DQo+Pj4+Pj4gT24gQXVnIDE3LCAyMDIxLCBhdCAzOjI5IEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1 ZW50aGVyQHN1c2UuZGU+IHdyb3RlOg0KPj4+Pj4+IA0KPj4+Pj4+IE9uIE1vbiwgMTYgQXVnIDIw MjEsIFFpbmcgWmhhbyB3cm90ZToNCj4+Pj4+PiANCj4+Pj4+Pj4gTXkgY3VycmVudCBjb2RlIGZv ciBleHBhbmRfREVGRVJSRURfSU5JVCBpcyBsaWtlIHRoZSBmb2xsb3dpbmcsIGNvdWxkIHlvdSBj aGVjayBhbmQgc2VlIHdoZXRoZXIgdGhlcmUgaXMgYW55IGlzc3VlIGZvciBpdDoNCj4+Pj4+Pj4g DQo+Pj4+Pj4+ICNkZWZpbmUgSU5JVF9QQVRURVJOX1ZBTFVFICAweEZFDQo+Pj4+Pj4+IHN0YXRp YyB2b2lkDQo+Pj4+Pj4+IGV4cGFuZF9ERUZFUlJFRF9JTklUIChpbnRlcm5hbF9mbiwgZ2NhbGwg KnN0bXQpDQo+Pj4+Pj4+IHsNCj4+Pj4+Pj4gdHJlZSBsaHMgPSBnaW1wbGVfY2FsbF9saHMgKHN0 bXQpOw0KPj4+Pj4+PiB0cmVlIHZhcl9zaXplID0gZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAwKTsN Cj4+Pj4+Pj4gZW51bSBhdXRvX2luaXRfdHlwZSBpbml0X3R5cGUNCj4+Pj4+Pj4gPSAoZW51bSBh dXRvX2luaXRfdHlwZSkgVFJFRV9JTlRfQ1NUX0xPVyAoZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAx KSk7DQo+Pj4+Pj4+IGJvb2wgaXNfdmxhID0gKGJvb2wpIFRSRUVfSU5UX0NTVF9MT1cgKGdpbXBs ZV9jYWxsX2FyZyAoc3RtdCwgMikpOw0KPj4+Pj4+PiANCj4+Pj4+Pj4gdHJlZSB2YXJfdHlwZSA9 IFRSRUVfVFlQRSAobGhzKTsNCj4+Pj4+Pj4gZ2NjX2Fzc2VydCAoaW5pdF90eXBlID4gQVVUT19J TklUX1VOSU5JVElBTElaRUQpOw0KPj4+Pj4+PiANCj4+Pj4+Pj4gaWYgKGlzX3ZsYSB8fCAoIXVz ZV9yZWdpc3Rlcl9mb3JfZGVjbCAobGhzKSkpDQo+Pj4+Pj4+IHsNCj4+Pj4+Pj4gICBpZiAoVFJF RV9DT0RFIChsaHMpID09IFNTQV9OQU1FKQ0KPj4+Pj4+PiAgICAgbGhzID0gU1NBX05BTUVfVkFS IChsaHMpOw0KPj4+Pj4+IA0KPj4+Pj4+IHRoaXMgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgKGlu IGZhY3QgeW91IHNob3VsZG4ndCBzZWUgYSBTU0FfTkFNRQ0KPj4+Pj4+IGhlcmUsIGlmIHlvdSBk byB0aGVuIHVzaW5nIFNTQV9OQU1FX1ZBUiBpcyB3cm9uZykNCj4+Pj4+IFlvdSBtZWFuIGR1cmlu ZyBSVEwgZXhwYW5zaW9uIHBoYXNlLCBhbGwgU1NBX05BTUVzIGFyZSBnb25lIGFscmVhZHk/DQo+ Pj4+IA0KPj4+PiBBY3R1YWxseSwgdGhlIGxocyBjb3VsZCBiZSBTU0FfTkFNRSBoZXJlLCANCj4+ Pj4gDQo+Pj4+IEJyZWFrcG9pbnQgMSwgZXhwYW5kX0RFRkVSUkVEX0lOSVQgKHN0bXQ9MHg3ZmZm ZTk2YWUzNDgpIGF0IC4uLy4uL2xhdGVzdC1nY2MvZ2NjL2ludGVybmFsLWZuLmM6MzAyMQ0KPj4+ PiAzMDIxCSAgICAgIG1hcmtfYWRkcmVzc2FibGUgKGxocyk7DQo+Pj4+IChnZGIpIGNhbGwgZGVi dWdfdHJlZShsaHMpDQo+Pj4+IDxzc2FfbmFtZSAweDdmZmZlOTU4NGU1OA0KPj4+PiAgIHR5cGUg PHJlYWxfdHlwZSAweDdmZmZlOTU5YjJhMCBmbG9hdCBzaXplcy1naW1wbGlmaWVkIFNGDQo+Pj4+ ICAgICAgIHNpemUgPGludGVnZXJfY3N0IDB4N2ZmZmU5NTc5ZjQ4IGNvbnN0YW50IDMyPg0KPj4+ PiAgICAgICB1bml0LXNpemUgPGludGVnZXJfY3N0IDB4N2ZmZmU5NTc5ZjYwIGNvbnN0YW50IDQ+ DQo+Pj4+ICAgICAgIGFsaWduOjMyIHdhcm5faWZfbm90X2FsaWduOjAgc3ltdGFiOjAgYWxpYXMt c2V0IDIgY2Fub25pY2FsLXR5cGUgMHg3ZmZmZTk1OWIyYTAgcHJlY2lzaW9uOjMyDQo+Pj4+ICAg ICAgIHBvaW50ZXJfdG9fdGhpcyA8cG9pbnRlcl90eXBlIDB4N2ZmZmU5NTliN2UwPj4NCj4+Pj4g ICB2aXNpdGVkIHZhciA8dmFyX2RlY2wgMHg3ZmZmZjdmZjdiZDAgdGVtcDE+DQo+Pj4+ICAgZGVm X3N0bXQgdGVtcDFfNSA9IC5ERUZFUlJFRF9JTklUICg0LCAyLCAwLCAmInRlbXAxIlswXSk7DQo+ Pj4+ICAgdmVyc2lvbjo1Pg0KPj4+PiANCj4+Pj4gd2hlbiBJIGRlbGV0ZWQ6DQo+Pj4+IA0KPj4+ PiBpZiAoVFJFRV9DT0RFIChsaHMpID09IFNTQV9OQU1FDQo+Pj4+ICBsaHMgPSBTU0FfTkFNRV9W QVIgKGxocyk7DQo+Pj4gDQo+Pj4gYnV0IHRoZW4gdXNpbmcgU1NBX05BTUVfVkFSIGlzIGJyb2tl bi4gIEkgc3VzcGVjdCB1c2VfcmVnaXN0ZXJfZm9yX2RlY2wNCj4+PiBpc24ndCB0aGUgY29ycmVj dCB0aGluZyB0byBsb29rIGF0LiAgSSB0aGluayB3ZSBuZWVkIHRvIGxvb2sgYXQgd2hhdA0KPj4+ IHRoZSBMSFMgZXhwYW5kZWQgdG8gaWYgaXQgaXMgYSBTU0FfVkFSX1AgKHRoYXQgaW5jbHVkZXMg U1NBIG5hbWVzDQo+Pj4gYnV0IGFsc28gcGxhaW4gREVDTHMgYnV0IG5vdCB3aGF0IHdlIGdldCBm cm9tIFZMQXMgd2hlcmUgd2UnZCBzZWUNCj4+PiAqcHRyKS4gIFNvIHN0aCBsaWtlDQo+Pj4gDQo+ Pj4gYm9vbCByZWdfbGhzOw0KPj4+IGlmIChTU0FfVkFSX1AgKGxocykpDQo+Pj4gICB7DQo+Pj4g ICAgIHJ0eCB0ZW0gPSBleHBhbmRfZXhwciAobGhzLCBOVUxMX1JUWCwgVk9JRG1vZGUsIEVYUEFO RF9XUklURSk7DQo+Pj4gICAgIHJlZ19saHMgPSAhTUVNX1AgKHRlbSk7DQo+Pj4gICAgIC8qIElm IG5vdCBNRU1fUCByZWdfbGhzIHNob3VsZCBiZSBSRUdfUCBvciBTVUJSRUdfUCAoYnV0IG1heWJl DQo+Pj4gICAgICAgIGFsc28gQ09OQ0FUIG9yIGxvd3BhcnQuLi4/KSAgKi8NCj4+PiAgIH0NCj4+ PiBlbHNlDQo+Pj4gICB7DQo+Pj4gICAgIGdjY19hc3NlcnQgKGlzX3ZsYSk7DQo+Pj4gICAgIHJl Z19saHMgPSBmYWxzZTsNCj4+PiAgIH0NCj4+PiANCj4+PiBpZiAoIXJlZ19saHMpDQo+Pj4gICBt ZW1zZXQgcGF0aA0KPj4+IGVsc2UNCj4+PiAgIGV4cGFuZF9hc3NpZ25tZW50IHBhdGgNCj4+IA0K Pj4gQWZ0ZXIgbWFraW5nIHRoZSBmb2xsb3dpbmcgY2hhbmdlOg0KPj4gDQo+PiArICBib29sIHJl Z19saHMgPSB0cnVlOw0KPj4gDQo+PiAgIHRyZWUgdmFyX3R5cGUgPSBUUkVFX1RZUEUgKGxocyk7 DQo+PiAgIGdjY19hc3NlcnQgKGluaXRfdHlwZSA+IEFVVE9fSU5JVF9VTklOSVRJQUxJWkVEKTsN Cj4+IA0KPj4gLSAgaWYgKGlzX3ZsYSB8fCAoIXVzZV9yZWdpc3Rlcl9mb3JfZGVjbCAobGhzKSkp DQo+PiArICBpZiAoU1NBX1ZBUl9QIChsaHMpKQ0KPj4gKyAgICB7DQo+PiArICAgICAgcnR4IHRl bSA9IGV4cGFuZF9leHByIChsaHMsIE5VTExfUlRYLCBWT0lEbW9kZSwgRVhQQU5EX1dSSVRFKTsN Cj4+ICsgICAgICByZWdfbGhzID0gIU1FTV9QICh0ZW0pOw0KPj4gKyAgICB9DQo+PiArICBlbHNl DQo+PiArICAgIHsNCj4+ICsgICAgICBnY2NfYXNzZXJ0IChpc192bGEpOw0KPj4gKyAgICAgIHJl Z19saHMgPSBmYWxzZTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgaWYgKCFyZWdfbGhzKQ0KPj4g ICAgIHsNCj4+IA0KPj4gSSBnb3QgZXhhY3RseSB0aGUgc2FtZSBpbnRlcm5hbCBlcnJvciB0aGF0 IGZhaWxlZCBhdCBleHByLmM6DQo+PiANCj4+IDg0MzYgICAvKiBXZSBtdXN0IGhhdmUgbWFkZSBw cm9ncmVzcy4gICovDQo+PiA4NDM3ICAgZ2NjX2Fzc2VydCAoaW5uZXIgIT0gZXhwKTsNCj4+IA0K Pj4gDQo+PiBMb29rcyBsaWtlIGZvciB0aGUgZm9sbG93aW5nIGNvZGU6DQo+PiANCj4+IDMwMjYg ICBpZiAoIXJlZ19saHMpDQo+PiAzMDI3ICAgICB7DQo+PiAzMDI4ICAgICAvKiBJZiB0aGlzIGlz IGEgVkxBIG9yIHRoZSB2YXJpYWJsZSBpcyBub3QgaW4gcmVnaXN0ZXIsDQo+PiAzMDI5ICAgICAg ICBleHBhbmQgdG8gYSBtZW1zZXQgdG8gaW5pdGlhbGl6ZSBpdC4gICovDQo+PiAzMDMwICAgICAg IG1hcmtfYWRkcmVzc2FibGUgKGxocyk7DQo+PiAzMDMxICAgICAgIHRyZWUgdmFyX2FkZHIgPSBi dWlsZF9mb2xkX2FkZHJfZXhwciAobGhzKTsNCj4+IDMwMzIgDQo+PiAzMDMzICAgICAgIHRyZWUg dmFsdWUgPSAoaW5pdF90eXBlID09IEFVVE9fSU5JVF9QQVRURVJOKSA/DQo+PiAzMDM0ICAgICAg ICAgICAgICAgICAgICAgYnVpbGRfaW50X2NzdCAoaW50ZWdlcl90eXBlX25vZGUsDQo+PiAzMDM1 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5JVF9QQVRURVJOX1ZBTFVFKSA6 DQo+PiAzMDM2ICAgICAgICAgICAgICAgICAgICAgaW50ZWdlcl96ZXJvX25vZGU7DQo+PiAzMDM3 ICAgICAgIHRyZWUgbV9jYWxsID0gYnVpbGRfY2FsbF9leHByIChidWlsdGluX2RlY2xfaW1wbGlj aXQgKEJVSUxUX0lOX01FTVNFVCksDQo+PiAzMDM4ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAzLCB2YXJfYWRkciwgdmFsdWUsIHZhcl9zaXplKTsNCj4+IDMwMzkgICAgICAg LyogRXhwYW5kIHRoaXMgbWVtc2V0IGNhbGwuICAqLw0KPj4gMzA0MCAgICAgICBleHBhbmRfYnVp bHRpbl9tZW1zZXQgKG1fY2FsbCwgTlVMTF9SVFgsIFRZUEVfTU9ERSAodmFyX3R5cGUpKTsNCj4+ IDMwNDEgICAgIH0NCj4+IA0KPj4gQXQgbGluZSAzMDMwLCDigJxsaHPigJ0gY291bGQgYmUgYSBT U0FfTkFNRS4NCj4+IA0KPj4gTXkgcXVlc3Rpb25zIGFyZToNCj4+IA0KPj4gMS4gQ291bGQgdGhl IHJvdXRpbmUg4oCcbWFya19hZGRyZXNzYWJsZeKAnSBhbmQg4oCcYnVpbGRfZm9sZF9hZGRyX2V4 cHLigJ0gYmUgYXBwbGllZCBvbiBTU0FfTkFNRT8NCj4gDQo+IE5vLg0KPiANCj4+IDIuIENvdWxk IHRoZSByb3V0aW5lIOKAnGV4cGFuZF9idWlsdGluX21lbXNldOKAnSBiZSBhcHBsaWVkIG9uIHRo ZSBtZW1zZXQgY2FsbCB3aG9zZSDigJxERVNU4oCdIGlzDQo+PiAgICBhbiBhZGRyZXNzIGV4cHJl c3Npb24gb24gU1NBX05BTUU/IA0KPiANCj4gTm8uDQo+IA0KPj4gMy4gV2l0aGluIOKAnGV4cGFu ZF9ERUZFUlJFRF9JTklU4oCdLCBjYW4gSSBjYWxsIOKAnGV4cGFuZF9idWlsdGluX21lbXNldOKA nSB0byBleHBhbmQgLkRFRkVSUkVEX0lOSVQ/DQo+IA0KPiBXZWxsLCBub3Qgd2l0aCAiaW52YWxp ZCIgR0VORVJJQyBJIGZlYXIgKGFkZHJlc3Mgb2YgYSBTU0EgbmFtZSkuDQo+IA0KPj4gSSBzdXNw ZWN0IHRoYXQgb25lIG9mIHRoZSBhYm92ZSAzIG1pZ2h0IGJlIHRoZSBpc3N1ZSwgYnV0IG5vdCBz dXJlIHdoaWNoIG9uZT8NCj4gDQo+IEFsbCBvZiB0aGUgYWJvdmUgOykgIFNvIHdoaWxlIHJlZ19s aHMgaXMgbm93IHByZWNpc2UgYXMgdG8gaG93IHRoZQ0KPiB2YXJpYWJsZSB3aWxsIGVuZCB1cCAo dGhlIFNTQSBuYW1lIHdpbGwgZW5kIHVwIGFzIGEgc3RhY2sgdmFyaWFibGUgaW4gdGhpcw0KPiBj YXNlLCBmb3Igd2hhdGV2ZXIgcmVhc29uKSwgZXhwYW5zaW9uIHZpYSBtZW1jcHkgb25seSB3b3Jr cyB3aGVuDQo+IHdvcmtpbmcgb24gdGhlIFJUTCByZXByZXNlbnRhdGlvbi4gIFRoZSB1c3VhbCAi d29ya2Fyb3VuZCIgKHVnaCkNCj4gaXMgdG8gdXNlIG1ha2VfdHJlZSAoKSwgc28gaW4gdGhlICFy ZWdfbGhzIHBhdGggeW91J2QgZG8NCj4gDQo+ICAvKiBHZXQgYSBuZXcgR0VORVJJQyByZXByZXNl bnRhdGlvbiBmb3IgdGhlIFJUTC4gIFRoYXQncyBuZWNlc2FyeQ0KPiAgICAgaW4gY2FzZSBMSFMg aXMgYW4gU1NBIG5hbWUuICAqLw0KPiAgbGhzID0gbWFrZV90cmVlIChUUkVFX1RZUEUgKGxocyks IHRlbSk7DQoNClRoaXMgcmVzb2x2ZWQgdGhlIGlzc3VlLg0KDQpBbm90aGVyIHF1ZXN0aW9uLA0K DQpQcmV2aW91c2x5LCBJIHVzZWQNCg0KICAgIGlmIChUUkVFX0NPREUgKGxocykgPT0gU1NBX05B TUUpDQogICAgICAgbGhzID0gU1NBX05BTUVfVkFSIChsaHMpOw0KDQpUbyByZXNvbHZlIHRoaXMg aXNzdWUuIFRoZSBwdXJwb3NlIGxvb2tzIGxpa2UgdGhlIHNhbWUgYXMg4oCcbWFrZV90cmVl4oCd LCBqdXN0IGdldCBhbiBnZW5lcmljIHRyZWUgZm9yIHRoZSBMSFMuIA0KDQpXaHkgeW91IHNhaWQg dXNpbmcgU1NBX05BTUVfVkFSIGlzIGJyb2tlbj8gIElzIGl0IGJlY2F1c2UgU1NBX05BTUVfVkFS IHdpbGwgbm90IGFsd2F5cyByZXR1cm4gYSB2YWxpZCBUUkVFPw0KDQpJIHNob3VsZCB1c2UgYXMg Zm9sbG93aW5nDQoNCg0KICAgSWYgKFRSRUVfQ09ERSAobGhzKSA9PSBTU0FfTkFNRSkgJiYgU1NB X05BTUVfVkFSIChsaHMpKQ0KICAgICAgTGhzID0gU1NBX05BTUVfVkFSIChsaHMpDQoNCj8NCg0K PiANCj4gYWx0ZXJuYXRpdmVseSB5b3UgY291bGQgbWF5YmUgZG8NCj4gDQo+ICBpZiAoREVDTF9Q IChsaHMpKQ0KPiAgICB7DQo+ICsgICAgICBydHggdGVtID0gZXhwYW5kX2V4cHIgKGxocywgTlVM TF9SVFgsIFZPSURtb2RlLCBFWFBBTkRfV1JJVEUpOw0KPiArICAgICAgcmVnX2xocyA9ICFNRU1f UCAodGVtKTsNCj4gICAgfQ0KPiAgZWxzZSBpZiAoVFJFRV9DT0RFIChsaHMpID09IFNTQV9OQU1F KQ0KPiAgICByZWdfbGhzID0gdHJ1ZTsNCj4gIGVsc2UNCj4gICAgcmVnX2xocyA9IGZhbHNlOw0K PiANCj4gdGh1cyB0cmVhdCBTU0EgbmFtZXMgYXMgcmVnaXN0ZXIgc3RvcmFnZSBhbHdheXMgKGV2 ZW4gaWYgaXQgd2lsbCBlbmQNCj4gdXAgb24gdGhlIHN0YWNrKS4NCg0KTXkgcXVlc3Rpb24gaGVy ZSwgZm9yIGEgY29tcGxpY2F0ZSBzdHJ1Y3R1cmUgU1NBX05BTUUsIHdpbGwgZXhwYW5kaW5nIHRo cm91Z2ggbWVtc2V0IGJldHRlciB0aGFuIGV4cGFuZF9hc3NzaWdubWVudD8gDQoNClFpbmcNCj4g DQo+IFJpY2hhcmQuDQo+IA0KPj4gVGhhbmtzIGEgbG90Lg0KPj4gDQo+PiBRaW5nDQo+PiANCj4+ IA0KPj4gDQo+Pj4gYm9vbCByZWdfbGhzOw0KPj4+IGlmIChTU0FfVkFSX1AgKGxocykpDQo+Pj4g ICB7DQo+Pj4gICAgIHJ0eCB0ZW0gPSBleHBhbmRfZXhwciAobGhzLCBOVUxMX1JUWCwgVk9JRG1v ZGUsIEVYUEFORF9XUklURSk7DQo+Pj4gICAgIHJlZ19saHMgPSAhTUVNX1AgKHRlbSk7DQo+Pj4g ICAgIC8qIElmIG5vdCBNRU1fUCByZWdfbGhzIHNob3VsZCBiZSBSRUdfUCBvciBTVUJSRUdfUCAo YnV0IG1heWJlDQo+Pj4gICAgICAgIGFsc28gQ09OQ0FUIG9yIGxvd3BhcnQuLi4/KSAgKi8NCj4+ PiAgIH0NCj4+PiBlbHNlDQo+Pj4gICB7DQo+Pj4gICAgIGdjY19hc3NlcnQgKGlzX3ZsYSk7DQo+ Pj4gICAgIHJlZ19saHMgPSBmYWxzZTsNCj4+PiAgIH0NCj4+IA0KPj4gDQo+Pj4gDQo+Pj4+IE1h bnkgdGVzdGluZyBjYXNlcyBmYWlsZWQgd2l0aCBpbnRlcm5hbCBjb21waWxlciBlcnJvcjoNCj4+ Pj4gDQo+Pj4+IC9ob21lL29wYy9Xb3JrL0dDQy9sYXRlc3QtZ2NjL2djYy90ZXN0c3VpdGUvYy1j KystY29tbW9uL2F1dG8taW5pdC0zLmM6OTo5OiBpbnRlcm5hbCBjb21waWxlciBlcnJvcjogaW4g ZXhwYW5kX2V4cHJfYWRkcl9leHByXzEsIGF0IGV4cHIuYzo4NDM3DQo+Pj4+IDB4ZTIzN2FhIGV4 cGFuZF9leHByX2FkZHJfZXhwcl8xDQo+Pj4+IAkuLi8uLi9sYXRlc3QtZ2NjL2djYy9leHByLmM6 ODQzNw0KPj4+PiAweGUyNDA1OSBleHBhbmRfZXhwcl9hZGRyX2V4cHINCj4+Pj4gCS4uLy4uL2xh dGVzdC1nY2MvZ2NjL2V4cHIuYzo4NTI1DQo+Pj4+IDB4ZTMyYjU2IGV4cGFuZF9leHByX3JlYWxf MSh0cmVlX25vZGUqLCBydHhfZGVmKiwgbWFjaGluZV9tb2RlLCBleHBhbmRfbW9kaWZpZXIsIHJ0 eF9kZWYqKiwgYm9vbCkNCj4+Pj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2V4cHIuYzoxMTc0MQ0K Pj4+PiAweGUyZGE1MiBleHBhbmRfZXhwcl9yZWFsXzEodHJlZV9ub2RlKiwgcnR4X2RlZiosIG1h Y2hpbmVfbW9kZSwgZXhwYW5kX21vZGlmaWVyLCBydHhfZGVmKiosIGJvb2wpDQo+Pj4+IAkuLi8u Li9sYXRlc3QtZ2NjL2djYy9leHByLmM6MTA3NzcNCj4+Pj4gMHhlMjQ3MDYgZXhwYW5kX2V4cHJf cmVhbCh0cmVlX25vZGUqLCBydHhfZGVmKiwgbWFjaGluZV9tb2RlLCBleHBhbmRfbW9kaWZpZXIs IHJ0eF9kZWYqKiwgYm9vbCkNCj4+Pj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2V4cHIuYzo4NzEz DQo+Pj4+IDB4YzEzZjE1IGV4cGFuZF9leHByDQo+Pj4+IAkuLi8uLi9sYXRlc3QtZ2NjL2djYy9l eHByLmg6MzAxDQo+Pj4+IDB4YzE3YWNiIGdldF9tZW1vcnlfcnR4DQo+Pj4+IAkuLi8uLi9sYXRl c3QtZ2NjL2djYy9idWlsdGlucy5jOjEzNzANCj4+Pj4gMHhjMjIyM2QgZXhwYW5kX2J1aWx0aW5f bWVtc2V0X2FyZ3MNCj4+Pj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2J1aWx0aW5zLmM6NDEwMg0K Pj4+PiAweGMyMWEyMCBleHBhbmRfYnVpbHRpbl9tZW1zZXQodHJlZV9ub2RlKiwgcnR4X2RlZios IG1hY2hpbmVfbW9kZSkNCj4+Pj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2J1aWx0aW5zLmM6Mzg4 Ng0KPj4+PiAweGZiNWM4NSBleHBhbmRfREVGRVJSRURfSU5JVA0KPj4+PiAJLi4vLi4vbGF0ZXN0 LWdjYy9nY2MvaW50ZXJuYWwtZm4uYzozMDMxDQo+Pj4+IA0KPj4+PiANCj4+Pj4gU28sIGRpZCBJ IGRvIGFueXRoaW5nIHdyb25nPw0KPj4+PiANCj4+Pj4gUWluZw0KPj4+IA0KPj4+IC0tIA0KPj4+ IFJpY2hhcmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4NCj4+PiBTVVNFIFNvZnR3YXJlIFNv bHV0aW9ucyBHZXJtYW55IEdtYkgsIE1heGZlbGRzdHJhc3NlIDUsIDkwNDA5IE51ZXJuYmVyZywN Cj4+PiBHZXJtYW55OyBHRjogRmVsaXggSW1lbmTDtnJmZmVyOyBIUkIgMzY4MDkgKEFHIE51ZXJu YmVyZykNCj4+IA0KPj4gDQo+IA0KPiAtLSANCj4gUmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBz dXNlLmRlPg0KPiBTVVNFIFNvZnR3YXJlIFNvbHV0aW9ucyBHZXJtYW55IEdtYkgsIE1heGZlbGRz dHJhc3NlIDUsIDkwNDA5IE51ZXJuYmVyZywNCj4gR2VybWFueTsgR0Y6IEZlbGl4IEltZW5kw7Zy ZmZlcjsgSFJCIDM2ODA5IChBRyBOdWVybmJlcmcpDQoNCg==