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 AE5BB3858001 for ; Thu, 2 Sep 2021 17:24:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AE5BB3858001 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 182HAiKH032456; Thu, 2 Sep 2021 17:24:43 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3atdw1bj98-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Sep 2021 17:24:42 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 182HBvMJ037759; Thu, 2 Sep 2021 17:24:42 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by aserp3030.oracle.com with ESMTP id 3atdyxagsp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 02 Sep 2021 17:24:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aC1gAg9FEhEyUEYB2bo9hQX5D+agjMy0rnWvwlTRWcFSuUWCaf3VzaPjypa8/ObporYYEasmjOWrBAqB3UrWvQaKqFRjDhDgOkaApORSp5w5iNOZ/tsfhHLtrHIl9kqIJxXd5jAMsq+GgjAJ0w7IKMiiF+mWEtp0Zdvp9aKrWjRGS4drRGEbaY0PkNXhY07FT1kUpvsQTSeqW713cKzujIbA/eP68XYz6/gU10cz4x8osoKrd+a2xO6mBF6J8YbzeraOKe2jW+cik/QJ0xfYmrGHXzP12OD5LaBaDcWx907ypNkxHAbljbMyUmUnMN9rzdknwZ3DzuhtIqlcvhrRdQ== 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; bh=aY5EjtlqDl1elmEX7bo6jEcwwdVcJPLUeUyPSqtW9Vg=; b=lGhHEo6Lm1cCu7hxMQQOoHzup5o8ybz99XvTLZfkiM/4JpO6j0e+V2+W2L0N8c5aN7/deg/qRDtpngGzS5oYOvHPsRochOJgCsriHsh98d2GXmIjNAFGOmbkVhM8BVP9zD6kYSlpdGsZh6KwjKdM4QTrmasaKCjRUrpW5I6MWWP/2J4YvGknGye0TQT8YJAhaTq+QFogf5mKzpMLkIzsZM//+t0SQVCZ8Vp/xy7HpTAmpC8io62abC+7te2RilOZlRigo4t+naQO/cxRikJRDCUL6C4nh7vQfddHPkzCmKiv4twUoHS1nP26eZqgWkOR0DcVRLw0IWuMp2xMgNtBSA== 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 CH0PR10MB4971.namprd10.prod.outlook.com (2603:10b6:610:c3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.17; Thu, 2 Sep 2021 17:24:40 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::25f8:eaf:a3b9:fe86%3]) with mapi id 15.20.4478.017; Thu, 2 Sep 2021 17:24:40 +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: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAUO6ICABYSmgIAAh5qAgAEYkwCAAGpqAIAAFZqAgAD9noCAAJMVgIABHGcAgABSSoCABkmXAIAP8bUA Date: Thu, 2 Sep 2021 17:24:40 +0000 Message-ID: <3004DCF0-FB17-4683-8F59-9727D38EE8B8@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> <2F266F68-454F-4E0E-B38B-293F60DE2B1C@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: d19785ef-9efb-488c-3ebf-08d96e368c03 x-ms-traffictypediagnostic: CH0PR10MB4971: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jw6bvdJ0+DGBW2s7pWb7StDMkJjL02ySGVVoprZb9u5EY1xQdvvXcI4ULUylP2vUQ5ZeNQApF2q9cCHeGqdMgvP6JG/FrPtB8zpfS5PTtU9Cm6PLcyQ0jqe23N55D2m60mL9nm79EIiAUYnGcHv5aiRrMM4/AZFBqDaguiAL4rDYNQjWWcFAcInHY0MKbxZjWvb+d2QHJDlwXSHu/yE9V9BPrfwm4XEAC6dOs24/krcraIcP4mXC6689bShfoHwWgKuxj56NO2wBL3kdS5WyaQvaClsMS3wbcBXVFSQgokR5gepFypr6l2Gg+W5ZcWX+HNWVPHv3D1gCrqb5in2hCu7fRpEL1jSwNuc60RbQbTDG7VWUD+oH6L0IMgSIS0wImRqUye+TTMnyKymgOzAV+I8U6u6kSdBtZv62ePog+4QggPaGoOzlE/zljjRPZ4dnuLceTwWwNnpAXz8ycK1B11ez9cSgnVONs3Ht79/+Yx1uv7cNmLIRJpNPuRq7aPrTQRZoPrqsG/wKncDA6qMLtR6zbG66z9U2G+r7j/qVNCc/L7470G0TUK482KvLP8Lu9h/JjqFXQNR89GZFxjZZABQddZl5/ChaTbf6cmUjWXHYxwtQ11MA5qVd4C/ERnilB0EuwpAATnUqfszmPDCFq4diMKWUGpSUrLNPjL3gQxnfClRPqDdqVBOpjynTxxRf6DehAG1gvJQipqhEB67iH9MQNnJ1n+1F14dhv1zNvbFOq4fOYspwuYSAi8NxM/RU 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:(396003)(346002)(136003)(376002)(366004)(39860400002)(2906002)(478600001)(44832011)(53546011)(186003)(8936002)(66946007)(6506007)(86362001)(2616005)(38070700005)(76116006)(66556008)(66446008)(8676002)(91956017)(5660300002)(33656002)(6486002)(122000001)(36756003)(83380400001)(6512007)(6916009)(71200400001)(316002)(66476007)(64756008)(54906003)(4326008)(38100700002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SnBneHpNNldZc2lybDZVZndnVUpqbzlQdkVWV2x1V00xcE8zSTc3RkkxZWRD?= =?utf-8?B?YkN2RzZ3L0tpWXlBKzdhcVFDNjVySjc1WlNteHVoOGVoZ0J6bS93YklDN1BM?= =?utf-8?B?NDZMand5WElORUJKcmZxbU1jWEFvTnR3cmM4WU5ITitINHhEWDR4U1pjNHps?= =?utf-8?B?SjQzNDR4UU9PVlF0YS9UODF3Y3BYMkd4SE5ONy96ZHZwaFdPTVBlT2NCdnN4?= =?utf-8?B?cG82V241aTA1M1RnZkRoTjVMQkQ0d2JhTFNlT2VnbStqRUJOUWZZNzZBOEdI?= =?utf-8?B?bTR0c2RGOUlDT3QxMk9kMVZTVmlUSjJReFBmTCtNemowMWErRlNmUWNlVnNi?= =?utf-8?B?a0FaYjVNbnZMR2pzQzdtanJla1NCUzhkbTVGZmh6RTI1bWhWSk12TXFuSmpD?= =?utf-8?B?amM4YWdOcC9DWUF2NTJvTUk0Tzg1MTd3OVNZcFRlaFN6amtGUlExV0E4MWtL?= =?utf-8?B?SmRGNUoybHZGWmRQUUFoWU11WFQ1TE1FemM5MWtNaEJxOHNLWkpHKzZ6Vzhs?= =?utf-8?B?WlJPbGFic0t2WGVYbzJSTzVudTZZZ0xJRkNEaU1OVjFIa3FmekNZNXpzUjI5?= =?utf-8?B?bzFnb2Rqdk1sQ0pxNVlaM2R4dWJqSDMvS1JhTko4QXFiRzR1TytIeGRKUlRN?= =?utf-8?B?RU9QV0ZFc2FqUWk0aWExUlg5czV3azlYUENKNFJBdEhtZG80TUZ6NTg3MlBK?= =?utf-8?B?Z1M5QzA3SCs0N3RraEV5UDEra1hZdndIa0pObTd2dWpJZEpNTmFDQUV5T1A2?= =?utf-8?B?SkhxOHJSTmdlVzNhOTZ3QVBMbmZQODhNNHI0U3NtVjkrWkxoY1JDN1M3R3hx?= =?utf-8?B?OFVYdlJPMGpkTHhNeS80YzNYeW5GSFJ2YVljTitLR2RySVJLeTY5TmE3VDFm?= =?utf-8?B?RVBVSGwxMFNFSXZhTFJyNk5RM04wLzBlOWhpRHQ0RHRaMWxQcUpNUzhmNjJo?= =?utf-8?B?UDdML0E5bWxiVEtuL1lHbmwvZTd2LzBVVnhqeW5HR2pYYTRsMFBjRTF1dllT?= =?utf-8?B?aGE0UWY2NkNWY0pMOTFOWTFQcEFUaG9qcytPVWtqQUZPQVN2OUVtZFFrZGtu?= =?utf-8?B?a0x3eUZnVU84aUdLL2xxNXU4NWpYSnF0c2NRNTNzWktCSmx6cWRwT08zVXhl?= =?utf-8?B?MDhlL01URFd4ZTJHUEtHNEtsNklzNGhzSU9zSzZXK1VNZ056SENUUDNXNmR0?= =?utf-8?B?RUlMaTVjOUo2cTJWUk1tRHU2eHVTazlpTjJLTUxrRzhid3d1YytWNjZDWm55?= =?utf-8?B?TERjcEFzQlM1RTZGbjZNMk5aQUVWM2dhV3ZDMllJTEg4Z2xPVEUzbzVXdThB?= =?utf-8?B?aVRDVk00YVlCaVJpMGNWNzhuaGhJQWdZam5RY2JtT2dQeW5pNDB3WjlET3Q0?= =?utf-8?B?ZTlFQzlHdFZ5cXZCL1BlU0VXNXpyQWdxemxuMEpJWVNpQVlsL2pUbzFJRkNP?= =?utf-8?B?THZQSnN6MUJiMk05ZFNGUXpVTktjeWw5VzhMaVlIMFBsNDMyeXFDK1RhWVkv?= =?utf-8?B?c2d0ODlQSE9KcG9iT0ZwTFF4Qk9zZGxWS05Pb0duVXgyMDI1dWt5cGJ1aGZO?= =?utf-8?B?Rzd1K0dOaWpSRjdVT1ZwWHJLcWIwNWd5Y1EyQllEOENuSmVIWC9INGhUYVZ2?= =?utf-8?B?MjFrc3dvM2dodnNoZkE1UVZ2UnNGcmtJdHJxYXBNeGN4ZzhJWmlWSnVwcUtn?= =?utf-8?B?aUNoSGlFbk1BWHA0RlNscHczbGQ1bmxtbGFIeTd1YVFnKzhDMzhrekFBY2Vm?= =?utf-8?B?NlhSQ1J2RHRMWGR6VFNEL21LZHFkZGN2bWhCWGtGQnZtcXNZNFQySUdNSHZD?= =?utf-8?Q?TDC1DSlYFPg5hxnWRUnkxSwzSA+C8WpeVcqfc=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: 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: d19785ef-9efb-488c-3ebf-08d96e368c03 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Sep 2021 17:24:40.5211 (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: U0jI8kuCYu/81Gl6oFQMjF6h1soDNU1UVCep4e+hcnH5xHcXx/PENRwIxPqVY9N7JZa6Wn8DmXem50d0tdCoBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4971 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10095 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 phishscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2108310000 definitions=main-2109020100 X-Proofpoint-GUID: 8rs-pmaBl7tu8-e2P4lbDLCsSsmvPgsh X-Proofpoint-ORIG-GUID: 8rs-pmaBl7tu8-e2P4lbDLCsSsmvPgsh X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, 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, 02 Sep 2021 17:24:45 -0000 U29ycnkgZm9yIG15IGxhdGUgcmVwbHkgKEkganVzdCBjYW1lIGJhY2sgZnJvbSB2YWNhdGlvbiBs YXN0IG5pZ2h0KS4NCg0KPiBPbiBBdWcgMjMsIDIwMjEsIGF0IDg6NTUgQU0sIFJpY2hhcmQgQmll bmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4gd3JvdGU6DQo+IA0KPj4+PiANCj4+Pj4gDQo+Pj4+IExv b2tzIGxpa2UgZm9yIHRoZSBmb2xsb3dpbmcgY29kZToNCj4+Pj4gDQo+Pj4+IDMwMjYgICBpZiAo IXJlZ19saHMpDQo+Pj4+IDMwMjcgICAgIHsNCj4+Pj4gMzAyOCAgICAgLyogSWYgdGhpcyBpcyBh IFZMQSBvciB0aGUgdmFyaWFibGUgaXMgbm90IGluIHJlZ2lzdGVyLA0KPj4+PiAzMDI5ICAgICAg ICBleHBhbmQgdG8gYSBtZW1zZXQgdG8gaW5pdGlhbGl6ZSBpdC4gICovDQo+Pj4+IDMwMzAgICAg ICAgbWFya19hZGRyZXNzYWJsZSAobGhzKTsNCj4+Pj4gMzAzMSAgICAgICB0cmVlIHZhcl9hZGRy ID0gYnVpbGRfZm9sZF9hZGRyX2V4cHIgKGxocyk7DQo+Pj4+IDMwMzIgDQo+Pj4+IDMwMzMgICAg ICAgdHJlZSB2YWx1ZSA9IChpbml0X3R5cGUgPT0gQVVUT19JTklUX1BBVFRFUk4pID8NCj4+Pj4g MzAzNCAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX2ludF9jc3QgKGludGVnZXJfdHlwZV9ub2Rl LA0KPj4+PiAzMDM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5JVF9QQVRU RVJOX1ZBTFVFKSA6DQo+Pj4+IDMwMzYgICAgICAgICAgICAgICAgICAgICBpbnRlZ2VyX3plcm9f bm9kZTsNCj4+Pj4gMzAzNyAgICAgICB0cmVlIG1fY2FsbCA9IGJ1aWxkX2NhbGxfZXhwciAoYnVp bHRpbl9kZWNsX2ltcGxpY2l0IChCVUlMVF9JTl9NRU1TRVQpLA0KPj4+PiAzMDM4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLCB2YXJfYWRkciwgdmFsdWUsIHZhcl9zaXpl KTsNCj4+Pj4gMzAzOSAgICAgICAvKiBFeHBhbmQgdGhpcyBtZW1zZXQgY2FsbC4gICovDQo+Pj4+ IDMwNDAgICAgICAgZXhwYW5kX2J1aWx0aW5fbWVtc2V0IChtX2NhbGwsIE5VTExfUlRYLCBUWVBF X01PREUgKHZhcl90eXBlKSk7DQo+Pj4+IDMwNDEgICAgIH0NCj4+Pj4gDQo+Pj4+IEF0IGxpbmUg MzAzMCwg4oCcbGhz4oCdIGNvdWxkIGJlIGEgU1NBX05BTUUuDQo+Pj4+IA0KPj4+PiBNeSBxdWVz dGlvbnMgYXJlOg0KPj4+PiANCj4+Pj4gMS4gQ291bGQgdGhlIHJvdXRpbmUg4oCcbWFya19hZGRy ZXNzYWJsZeKAnSBhbmQg4oCcYnVpbGRfZm9sZF9hZGRyX2V4cHLigJ0gYmUgYXBwbGllZCBvbiBT U0FfTkFNRT8NCj4+PiANCj4+PiBOby4NCj4+PiANCj4+Pj4gMi4gQ291bGQgdGhlIHJvdXRpbmUg 4oCcZXhwYW5kX2J1aWx0aW5fbWVtc2V04oCdIGJlIGFwcGxpZWQgb24gdGhlIG1lbXNldCBjYWxs IHdob3NlIOKAnERFU1TigJ0gaXMNCj4+Pj4gICBhbiBhZGRyZXNzIGV4cHJlc3Npb24gb24gU1NB X05BTUU/IA0KPj4+IA0KPj4+IE5vLg0KPj4+IA0KPj4+PiAzLiBXaXRoaW4g4oCcZXhwYW5kX0RF RkVSUkVEX0lOSVTigJ0sIGNhbiBJIGNhbGwg4oCcZXhwYW5kX2J1aWx0aW5fbWVtc2V04oCdIHRv IGV4cGFuZCAuREVGRVJSRURfSU5JVD8NCj4+PiANCj4+PiBXZWxsLCBub3Qgd2l0aCAiaW52YWxp ZCIgR0VORVJJQyBJIGZlYXIgKGFkZHJlc3Mgb2YgYSBTU0EgbmFtZSkuDQo+Pj4gDQo+Pj4+IEkg c3VzcGVjdCB0aGF0IG9uZSBvZiB0aGUgYWJvdmUgMyBtaWdodCBiZSB0aGUgaXNzdWUsIGJ1dCBu b3Qgc3VyZSB3aGljaCBvbmU/DQo+Pj4gDQo+Pj4gQWxsIG9mIHRoZSBhYm92ZSA7KSAgU28gd2hp bGUgcmVnX2xocyBpcyBub3cgcHJlY2lzZSBhcyB0byBob3cgdGhlDQo+Pj4gdmFyaWFibGUgd2ls bCBlbmQgdXAgKHRoZSBTU0EgbmFtZSB3aWxsIGVuZCB1cCBhcyBhIHN0YWNrIHZhcmlhYmxlIGlu IHRoaXMNCj4+PiBjYXNlLCBmb3Igd2hhdGV2ZXIgcmVhc29uKSwgZXhwYW5zaW9uIHZpYSBtZW1j cHkgb25seSB3b3JrcyB3aGVuDQo+Pj4gd29ya2luZyBvbiB0aGUgUlRMIHJlcHJlc2VudGF0aW9u LiAgVGhlIHVzdWFsICJ3b3JrYXJvdW5kIiAodWdoKQ0KPj4+IGlzIHRvIHVzZSBtYWtlX3RyZWUg KCksIHNvIGluIHRoZSAhcmVnX2xocyBwYXRoIHlvdSdkIGRvDQo+Pj4gDQo+Pj4gLyogR2V0IGEg bmV3IEdFTkVSSUMgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBSVEwuICBUaGF0J3MgbmVjZXNhcnkN Cj4+PiAgICBpbiBjYXNlIExIUyBpcyBhbiBTU0EgbmFtZS4gICovDQo+Pj4gbGhzID0gbWFrZV90 cmVlIChUUkVFX1RZUEUgKGxocyksIHRlbSk7DQo+PiANCj4+IFRoaXMgcmVzb2x2ZWQgdGhlIGlz c3VlLg0KPj4gDQo+PiBBbm90aGVyIHF1ZXN0aW9uLA0KPj4gDQo+PiBQcmV2aW91c2x5LCBJIHVz ZWQNCj4+IA0KPj4gICAgaWYgKFRSRUVfQ09ERSAobGhzKSA9PSBTU0FfTkFNRSkNCj4+ICAgICAg IGxocyA9IFNTQV9OQU1FX1ZBUiAobGhzKTsNCj4+IA0KPj4gVG8gcmVzb2x2ZSB0aGlzIGlzc3Vl LiBUaGUgcHVycG9zZSBsb29rcyBsaWtlIHRoZSBzYW1lIGFzIOKAnG1ha2VfdHJlZeKAnSwganVz dCBnZXQgYW4gZ2VuZXJpYyB0cmVlIGZvciB0aGUgTEhTLiANCj4+IA0KPj4gV2h5IHlvdSBzYWlk IHVzaW5nIFNTQV9OQU1FX1ZBUiBpcyBicm9rZW4/ICBJcyBpdCBiZWNhdXNlIFNTQV9OQU1FX1ZB UiB3aWxsIG5vdCBhbHdheXMgcmV0dXJuIGEgdmFsaWQgVFJFRT8NCj4gDQo+IEJlY2F1c2UgaXQn cyBzaW1wbHkgdGhlIHdyb25nIGVudGl0eSAtIEkgaGF2ZSBubyBpZGVhIHdoeSB0aGF0IGV2ZW4N Cj4gd29ya2VkLiAgQWgsIGNmZ2V4cGFuZCBhc3NvY2lhdGVzIGl0IHdpdGggc29tZSBERUNMX1JU TCBmb3IgdGhlIA0KPiBiZW5lZml0IG9mIGRlYnVnIGluZm8uICBCdXQgaXQncyBzdGlsbCB3cm9u Zy4NCj4gDQo+PiBJIHNob3VsZCB1c2UgYXMgZm9sbG93aW5nDQo+PiANCj4+IA0KPj4gICBJZiAo VFJFRV9DT0RFIChsaHMpID09IFNTQV9OQU1FKSAmJiBTU0FfTkFNRV9WQVIgKGxocykpDQo+PiAg ICAgIExocyA9IFNTQV9OQU1FX1ZBUiAobGhzKQ0KPj4gDQo+PiA/DQo+IA0KPiBOby4gIEEgU1NB X05BTUVfVkFSIGNhbiBoYXZlIG11bHRpcGxlIFNTQV9OQU1FcyAob2J2aW91c2x5KSBhbmQNCj4g dGhleSBkbyBub3QgbmVjZXNzYXJpbHkgaGF2ZSB0byBiZSBhbGxvY2F0ZWQgdG8gdGhlIHNhbWUg dmFyaWFibGUNCj4gcGFydGl0aW9uIC0gdGhhdCBpcywgdGhlcmUncyBubyAxOjEgcmVsYXRpb25z aGlwIGJldHdlZW4gU1NBX05BTUUNCj4gYW5kIHN0YWNrIHNsb3Qgb3IgKHBzZXVkbykgcmVnaXN0 ZXIuICBZb3Ugd2FudCB0byBpbml0aWFsaXplIHRoZQ0KPiBzdG9yYWdlIGFzc29jaWF0ZWQgd2l0 aCB0aGUgU1NBX05BTUUgaW4gdGhlIC5ERUZFUlJFRF9JTklUIGNhbGwsDQo+IG5vdCBzb21lIG90 aGVyIHN0b3JhZ2UuDQoNCk9rYXksIHRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uLiBOb3cgSSB1 bmRlcnN0YW5kLg0KPiANCj4+PiANCj4+PiBhbHRlcm5hdGl2ZWx5IHlvdSBjb3VsZCBtYXliZSBk bw0KPj4+IA0KPj4+IGlmIChERUNMX1AgKGxocykpDQo+Pj4gICB7DQo+Pj4gKyAgICAgIHJ0eCB0 ZW0gPSBleHBhbmRfZXhwciAobGhzLCBOVUxMX1JUWCwgVk9JRG1vZGUsIEVYUEFORF9XUklURSk7 DQo+Pj4gKyAgICAgIHJlZ19saHMgPSAhTUVNX1AgKHRlbSk7DQo+Pj4gICB9DQo+Pj4gZWxzZSBp ZiAoVFJFRV9DT0RFIChsaHMpID09IFNTQV9OQU1FKQ0KPj4+ICAgcmVnX2xocyA9IHRydWU7DQo+ Pj4gZWxzZQ0KPj4+ICAgcmVnX2xocyA9IGZhbHNlOw0KPj4+IA0KPj4+IHRodXMgdHJlYXQgU1NB IG5hbWVzIGFzIHJlZ2lzdGVyIHN0b3JhZ2UgYWx3YXlzIChldmVuIGlmIGl0IHdpbGwgZW5kDQo+ Pj4gdXAgb24gdGhlIHN0YWNrKS4NCj4+IA0KPj4gTXkgcXVlc3Rpb24gaGVyZSwgZm9yIGEgY29t cGxpY2F0ZSBzdHJ1Y3R1cmUgU1NBX05BTUUsIHdpbGwgZXhwYW5kaW5nIHRocm91Z2ggbWVtc2V0 IGJldHRlciB0aGFuIGV4cGFuZF9hc3NzaWdubWVudD8gDQo+IA0KPiBJdCBkZXBlbmRzLiAgSW4g dGhlIGVuZCBJJ2QgY29uc2lkZXIgaXQgYSBtaXNzZWQtb3B0aW1pemF0aW9uIGJ1ZyBvbg0KPiB0 aGUgc2lkZSB0aGF0IGdlbmVyYXRlcyB3b3JzZSBjb2RlIC0gYnV0IEkgZG8gZXhwZWN0IGNhc2Vz IHdpbGwgZXhpc3QNCj4gZm9yIGJvdGguDQpPa2F5LiBJIGFncmVlLg0KDQo+ICBDbGVhcmx5IG1l bXNldCB3aWxsIGJlIHdvcnNlIHdoZW4gZGVhbGluZyB3aXRoIHJlZ2lzdGVyDQo+IGluaXRpYWxp emF0aW9uICh0aHVzIHRoZSAhTUVNX1AgY2hlY2spIGFuZCBJIGV4cGVjdCBtZW1zZXQgdG8gYmUg T0sNCj4gZm9yIHN0YWNrIHdoZXJlIG1lbWJlci13aXNlIGluaXQgZXNwLiB3aXRoIG5vbi16ZXJv IG1pZ2h0IHR1cm4gdXANCj4gd29yc2UgY29kZS4NCg0KU28sIGZvciBTU0FfTkFNRSwgc2luY2Ug dGhleSBhcmUgYWxsIHRyZWF0ZWQgYXMgcmVnX2xocywgdGhleSB3aWxsIGJlIGV4cGFuZGVkIHRo cm91Z2gg4oCcZXhwYW5kX2Fzc2lnbm1lbnTigJ0gDQphcyBtZW1iZXItd2lzZSBpbml0LCB0aGVy ZWZvcmUgbWlnaHQgZ2VuZXJhdGUgd29yc2UgY29kZSBmb3IgYSBTU0FfTkFNRSB0aGF0IGlzIGlu IHN0YWNrIGFjdHVhbGx5Lg0KDQpRaW5nDQoNCj4gDQo+IFJpY2hhcmQuDQo+IA0KPj4gUWluZw0K Pj4+IA0KDQo=