From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id DA2D43858023 for ; Tue, 11 Jan 2022 16:32:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DA2D43858023 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 20BFEXtT001294; Tue, 11 Jan 2022 16:32:17 GMT Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3dgn74bg13-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Jan 2022 16:32:17 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 20BGVbLY151834; Tue, 11 Jan 2022 16:32:15 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by userp3020.oracle.com with ESMTP id 3df42n10mv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Jan 2022 16:32:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TAV+t2ZTkYWruhKHPN7sz3RYlGkCVBC1yahhiesHqVqWBAiRjqDKNxuNSVve3n6cA58zaiPnlr+SXH7zaRRA/kx/KGXiPDUy1Em6UjMkwP9pfeZ228mbIz6m2/f6PIAsEaRn2m47bzbLJxcYs6LnRrHHsfSACfwS3DDO/f9+Z/wcirnV/J1GVd306t9+OI0RcYG9YTEqRwSi9Lp4ZwEfxxYrK6erCKFepQ73bSoYu1aGFRjBIIWzFWqN0EJ2nCmcV6S6u5kMqBBQzqjdLjp8iJeDWaXLZDtuaoz4NU+cJvsZ/DaW+C7H5Cpy7OA8dTnfZF2IPOPwQALPMy1V/sd8YA== 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=GVv/vJ1UBXCC3D8IVubwUW4nImLhiMM2SDkFZmBbWfE=; b=C5xYMo5GFFHhxW7ioQw3L59UlPt3NdDfyoSVU7vyb5arLNZpsuhtkg+7QwzhMVk8IPeomCOq3jRes7FQ6TWhZFJffSfdg8JXXGCEd4mQdxMwTOIX6qCXFWTZ4RJqjVlZFIm7hkAvk8TDkDLzGhkkv2wccmhzjm87k0racC9IhPMs9+VO8XBAUz2HHdEx1gman+lqwSZ+O9IQpyHoSrQD2OJA3Cy1ldBqdIiv1daReuKRkk4z9B751V93LxTtI6dTniaReqogktMZZsCX9pjNB1/Ba5arhfcum1+NuSf8I6Y8M+RfLiv8PrsG7vljRxOvj7Acmku1e6wrbBuoQxFqSw== 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 CH2PR10MB3814.namprd10.prod.outlook.com (2603:10b6:610:2::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Tue, 11 Jan 2022 16:32:13 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::c16e:10a1:4c99:944a]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::c16e:10a1:4c99:944a%5]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 16:32:13 +0000 From: Qing Zhao To: Richard Biener CC: Martin Sebor , gcc Patches Subject: Re: [Patch][V2]Enable -Wuninitialized + -ftrivial-auto-var-init for address taken variables Thread-Topic: [Patch][V2]Enable -Wuninitialized + -ftrivial-auto-var-init for address taken variables Thread-Index: AQHX8pX6I51oG/IGc0CQnJU6vQp1bKxUWjuAgABr3ACACTcPAIAALz8A Date: Tue, 11 Jan 2022 16:32:13 +0000 Message-ID: <10EE05DA-9DF7-4C8B-88EC-0435096AA624@oracle.com> References: <06181656-BDA3-4D1C-A1B7-7077D7B1BF21@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: 9d839a39-8aab-4109-7115-08d9d51fec43 x-ms-traffictypediagnostic: CH2PR10MB3814:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R4BxkQ4HP9ZB9dv+8KVn2fR0+jCJo9TP78qRgf+fJb/hD0iO7ueGd+R/oNPkrcngj/QQVMtms6W4UBFHFFgWxHDJKwqGDPiOvrkJ9j0gZ/pikHUOlDcE0jIlc0n/Pjymi+TEzY8kXr+BDBrFV7Jq/n54lhatWKzbsd0u5jRDrTp3NvOmjUJPa/9HKu9sOST9jMKQ2m/XKMjNHp8KMuTJqBqcmOYtCYgozUkuv3B/O4diKCWlSwH1noI2h2nbusvcT4Vs7VCU+tf3XgSs2O7jSVX1YKWrxFro62o6AugD2AA2jz8IDJ7yOQXh8ivtRMWhgZgtv0T64+C8EC9Mg0yWZ7PUCkn3NgrVY4m8hVBrhqxWUFouUJJ9qdO10OS78FeCrYjDQxrI54vldi0sGJiKFWIiQIQHKV88gD5Ymji0xvZZo2jZkekOX6+CGmnnvilPTKRev3xpwsiPGO5g6bNCJafZyRP8qp1MVpwfl+PPowKnoCXZS02hQIpwBhTRwaEikPV35wVxV4EkCJ+yGooz614pKFwBLdVBecYW8ndEgCaQygrdRtKQjlNF6NuaOH3tqqrfsqMtpKQTQTmXFWfoFRHVNaPUL5AvUhAroMHCqJUmyhDNZrUCVX+ycE0CJ+TVi3/+9gZIF+4+ayqjalmXQiOGgY7D+16kPUR1pIkfl8QMPC6YClMZCUvM7+LwhUEPQZVENz1oMG+hJQo7h31ov3RRdPCMVQVED2VFtYAUkQ0Ez1uUcUEEVNDOBNbB6yzK36zjR27kZADEvzQ7PgGv6JYkIT1yIFOxB3NyO64n4+pxJq/i4iZyx55OcIC7SLLnm91AvOwgjlYK1iegevs8lw== 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:(366004)(26005)(186003)(38100700002)(122000001)(83380400001)(53546011)(2906002)(91956017)(6506007)(36756003)(966005)(6486002)(2616005)(38070700005)(508600001)(6512007)(71200400001)(5660300002)(44832011)(76116006)(6916009)(8936002)(84970400001)(86362001)(54906003)(33656002)(316002)(4326008)(66446008)(64756008)(66556008)(66946007)(8676002)(66476007)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b1cxWGREcnpUTTJ5b0JINHo0WjVFWmk5ZkI2TTB4aXFtakpoWXR4WFhEcnhP?= =?utf-8?B?eExmU0tmSEpYS3dUUjF6VGpXbkJjYVBkcHVFekFTK3E2bVEySFNmdGo1NUlt?= =?utf-8?B?N3hVazlmSUVMRFdJUkorekFVZlNOWGQwMk1NWmI2UVhDT0VrVEFMVTZLcnlK?= =?utf-8?B?bitab3F3KzdGSWNoNlZZaWhwb016VHA4RXNrWnc5NGRDK1JTczFjSWtMbkxa?= =?utf-8?B?U0VsRWFUV01hL3NTdE1JVkgvdDE1aG43aHB1Uk9ITFpZbTFMZERNWjFUczY1?= =?utf-8?B?QVRaWGo4RURubkFaU1FzdklIcVZFazgxM0o5eS9XRzY2M3YxZDlQZklQWk9E?= =?utf-8?B?ZVlVTDJBQmR2ZCs5c0gzc04ycjZycUxHVGRPMmErZ3NxSEZ5aTBLUW0vb09q?= =?utf-8?B?ZGFnYlBqYlorRnJhVDhBYzVIWlpiUG5XOEoyRUZtcGpkWmxneWVSRnNGeTZu?= =?utf-8?B?cUlZbWM1c004MlhpaXZSdTM2Q1dXMWs2OHBhemJ5UVpGdHlvZjRjUmN2YUJt?= =?utf-8?B?VFhKM3UxeUVMaWdsSElOVFZuUUdKR2FQNlowZmhlSndiSEp3aXZxeEsrRXNt?= =?utf-8?B?bDdDcU1EbExJOXNTSGZNNUpZL2FGaGlNQ1ZjbnUwbGZ4bTc4NzhVYmRSc085?= =?utf-8?B?dkVhQkVPWjY3YXZBTDE5ZUdjTldyWFdmdmJyb0hHZWs2UTRCSVBSVCtuYVgv?= =?utf-8?B?VVdiMTFOa2oxWVk1UDJFdTlxTjQySlpsSjhwblhvOUIxZGp5U0tKZXUzeWEy?= =?utf-8?B?d2JBdndvc2tjcVdXRk56eXJtcE0wS3NyNC9WWXVpWTNmUlRMbUh4Z1podmhI?= =?utf-8?B?SktnREQ3VUwxYTZPM3hvRS9MQ0pGQTBhbWQ4WHJ3M3BoN3ZOR2FUSkJPNENQ?= =?utf-8?B?RXEwV21sMzhudnkxOUk2K1FBUDkvbHdwWm9WRTdHU1d3SHNNWVdIZStMT3NP?= =?utf-8?B?eklYTXRLY2M5UFcydFY5M0lqSWpiZ0JXeTQ2amh4NkRiTER4ODAvVDV0SWZt?= =?utf-8?B?S1pOSkZ5Mk0reHhSSXFEZVR1c0F4VWtmYm9mRW56eWlBa2NQdEdMcDc3ZjJ5?= =?utf-8?B?bXZ6Ukd6a0loZlpGN1lmSjIwYVRYZGpKbVpNRXYwbFFudDNQaTBrelROc2ZJ?= =?utf-8?B?UUIxY1hBUkttTWs5elRmNkdMbmFMOFNhZmlaZG9rc2JsbGlrZ0VyeUMyT0c0?= =?utf-8?B?NDZJaGMrRFVBNFdpcWxOZVBIVjRvM3R4YXJjSWUvOU5FZFZZUEdXMVpBVDUw?= =?utf-8?B?WFdvVUlLSDlnamM0RTJxeml1aENqcUM3WVZDYmErcU9pTkl3ZGZyUEZqTGt4?= =?utf-8?B?a1grTnVsdm9aT2FWdzhMd0tlNVk3VVpQRzRpVU85ZHJCeWRjeVBORDg2N1dm?= =?utf-8?B?YnBkbkg5STRWV2NnT3FWYkE3eDJ2eE1JZ0hPY2I5dDQvbXkrRGtsc3ZOR2hY?= =?utf-8?B?MFNjUHdvenBnZU5obDdBMEhvcEtNTzA4cHlpUzQrQ3RFRFNpdTUzZU1XZTVC?= =?utf-8?B?SU85NVBCN1hhbnlia1ZnbHo2dWsvaitMakthR1FyZWZjRHE1aFhDWmxzc0Y5?= =?utf-8?B?NlRPdytmeEVaOFAzR2N5ZHl3eDRkeWtXOFJFRm9GRSt0RGQ3eVRpMDhwUkow?= =?utf-8?B?emtJNkRsaGw4M081b0Izd2RjRURXblBncVRXeDBQZnBkYmZVV1ZCaUY4dFdM?= =?utf-8?B?T3hNaXlka0ZCY0FjcGtmcFNqcWVjbnVjZkVHQTROU3ZZdGpOZkdQOUdOaVla?= =?utf-8?B?cFMxVkZUTmNQWFpoN3FUWmFobDdFb3VXc3FYMm11L2RuNHg5clVHdDhBTURB?= =?utf-8?B?WW1kOXh0dG1JMDlUREI3dEVhemRtaWR2SFBSY1FpOTZKelhyZmJ4cVk1L0pQ?= =?utf-8?B?aEYxZEw2OGxoVkFWL2dzZ2dhblJGM2tKK2t0VitHT2dsUExYR2ZoRXExN3hv?= =?utf-8?B?QmhmeGR4djJtUzlkVHBUZ2lOeHBWeUV5WlgxUllTU0Zad0REaEs2eVMrWFNO?= =?utf-8?B?MGEwMlcrUkk3Wlg1OExlN1ptalFCYit4ZTc0WHB4elAxeGplQ2Z4M1lWa2NB?= =?utf-8?B?emxsZ29Ud3h6RHhBbzhFdUJ0NWpybnVTdGhVeXg3WDAwdmZpamk3RlM2UnpC?= =?utf-8?B?OVJGN0lGYmRqcXVyL0xObzJjYURVQ00zYnR5S2FOTjFlbTBFMVB0bnY2c3c2?= =?utf-8?Q?roVwDSEV0zd9bwOqdGGsn6M=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <6A0FCD1386B85449B8BD3A183BB018DB@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: 9d839a39-8aab-4109-7115-08d9d51fec43 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2022 16:32:13.3243 (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: UOrLulQdSD7atIl1zswYK6ZJHNeS260dHSkIeJB5Y25R+MEKV/Eci7v3th5W0/WGuLMiLjGo1apotak/d0lvFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB3814 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10223 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2201110093 X-Proofpoint-ORIG-GUID: F3_1VLe-yzGFzCHoqcYLEGJejhQJ3Qrg X-Proofpoint-GUID: F3_1VLe-yzGFzCHoqcYLEGJejhQJ3Qrg X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, 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: Tue, 11 Jan 2022 16:32:21 -0000 SGksIFJpY2hhcmQsDQoNCj4gT24gSmFuIDExLCAyMDIyLCBhdCA3OjQzIEFNLCBSaWNoYXJkIEJp ZW5lciA8cmljaGFyZC5ndWVudGhlckBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4+Pj4gDQo+Pj4+ IA0KPj4+PiAxLiAgQWRkIHNvbWUgbWVhbmluZ2Z1bCB0ZW1wb3JhcmllcyB0byBicmVhayB0aGUg bG9uZyBleHByZXNzaW9uIHRvIG1ha2UgaXQNCj4+Pj4gICAgUmVhZGFibGUuIEFuZCBhbHNvIGFk ZCBjb21tZW50cyB0byBleHBsYWluIHRoZSBwdXJwb3NlIG9mIHRoZSBzdGF0ZW1lbnQ7DQo+Pj4+ IA0KPj4+PiAyLiAgUmVzb2x2ZSB0aGUgbWVtb3J5IGxlYWthZ2Ugb2YgdGhlIGR5bmFtaWNhbGx5 IGNyZWF0ZWQgc3RyaW5nLg0KPj4+PiANCj4+Pj4gVGhlIHBhdGNoIGhhcyBiZWVuIGJvb3RzdHJh cHBlZCBhbmQgcmVncmVzc2luZyB0ZXN0ZWQgb24gYm90aCB4ODYgYW5kIGFhcmNoNjQsIG5vIGlz c3Vlcy4NCj4+Pj4gT2theSBmb3IgY29tbWl0Pw0KPj4+IA0KPj4+IHRyZWUgZGVjbF9uYW1lDQo+ Pj4gKyAgICA9IGJ1aWxkX3N0cmluZ19saXRlcmFsIChJREVOVElGSUVSX0xFTkdUSCAoREVDTF9O QU1FIChkZWNsKSkgKyAxLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBJREVOVElG SUVSX1BPSU5URVIgKERFQ0xfTkFNRSAoZGVjbCkpKTsNCj4+PiANCj4+PiB5b3UgbmVlZCB0byBk ZWFsIHdpdGggREVDTF9OQU1FIGJlaW5nIE5VTEwuDQo+PiANCj4+IE9rYXkuDQo+PiBVc3VhbGx5 IHVuZGVyIHdoYXQgc2l0dWF0aW9uLCB0aGUgZGVjbF9uYW1lIHdpbGwgYmUgTlVMTD8NCj4gDQo+ IEkgZG9uJ3Qga25vdyBidXQgaXQgZGVmaW5pdGVseSBoYXBwZW5zLg0KPiANCj4+PiBJdCdzIGFs c28gYSBiaXQgYXdrd2FyZA0KPj4+IHRvIGJ1aWxkIGFub3RoZXINCj4+PiBjb3B5IG9mIGFsbCBk ZWNsIG5hbWVzIDovDQo+PiANCj4+IFllcywgdGhpcyBpcyBhd2t3YXJkLiBCdXQgaXQgbWlnaHQg YmUgdW5hdm9pZGFibGUgZm9yIGFkZHJlc3MgdGFrZW4gdmFyaWFibGVzIHNpbmNlIHRoZSBvcmln aW5hbCB2YXJpYWJsZSBtaWdodCBiZSBjb21wbGV0ZWx5IGRlbGV0ZWQgYnkgb3B0aW1pemF0aW9u cy4NCj4+IFNlZSB0aGUgZGV0YWlscyBhdDoNCj4+IGh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJt YWlsL2djYy1wYXRjaGVzLzIwMjEtQXVndXN0LzU3NzQzMS5odG1sDQo+PiANCj4+IFdlIGhhZCBh IHByZXZpb3VzIGRpc2N1c3Npb24gb24gdGhpcyBpc3N1ZSwgYW5kIHRoZSBpZGVhIG9mIGFkZGlu ZyB0aGlzIDNyZCBhcmd1bWVudCB3aXRoIHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZSB3YXMgcHJv cG9zZWQgYnkgeW91IGF0IHRoYXQgdGltZS4gLTopDQo+IA0KPiBJIGtub3cgLi4uIEkgZGlkbid0 IGhhdmUgYSBiZXR0ZXIgaWRlYS4NCg0KSSB0aGluayB0aGF0IGFkZGluZyB0aGUgbmFtZSBzdHJp bmcgb2YgdGhlIGF1dG8gdmFyaWFibGUgYXMgb25lIHBhcmFtZXRlciB0byB0aGUgZnVuY3Rpb24g LkRFRkVSUkVEX0lOSVQgbWlnaHQgYmUgdGhlIG9ubHkgc29sdXRpb24gdG8gdGhpcyBpc3N1ZT8g KEluIHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgaW1wbGVtZW50YXRpb24sIHdlIGFkZGVkIHRo ZSBWQVIgaXRzZWxmIGFzIG9uZSBwYXJhbWV0ZXIgdG8gdGhlIGZ1bmN0aW9uIC5ERUZFUlJFRF9J TklULCBidXQgdGhhdCBkZXNpZ24gZGlkbuKAmXQgd29yayBvdXQpDQo+IA0KPj4gDQo+PiANCj4+ PiANCj4+PiArICAgICAgICAgLyogVGhlIExIUyBvZiB0aGUgY2FsbCBpcyBhIHRlbXBvcmFyeSB2 YXJpYWJsZSwgd2UgdXNlIGl0IGFzIGENCj4+PiArICAgICAgICAgICAgcGxhY2Vob2xkZXIgdG8g cmVjb3JkIHRoZSBpbmZvcm1hdGlvbiBvbiB3aGV0aGVyIHRoZSB3YXJuaW5nDQo+Pj4gKyAgICAg ICAgICAgIGhhcyBiZWVuIGlzc3VlZCBvciBub3QuICAqLw0KPj4+ICsgICAgICAgICByZXBsX3Zh ciA9IGdpbXBsZV9jYWxsX2xocyAoZGVmX3N0bXQpOw0KPj4+IA0KPj4+IHRoaXMgc2VlbXMgdG8g YmUgYSBjaGFuZ2UgdGhhdCBjYW4gYmUgZG9uZSBpbmRlcGVuZGVudGx5Pw0KPj4gDQo+PiBUaGUg bWFqb3IgcHVycG9zZSBvZiB0aGlzIOKAnHJlcGxfdmFy4oCdIGlzIHVzZWQgdG8gcmVjb3JkIHRo ZSBpbmZvIHdoZXRoZXIgdGhlIHdhcm5pbmcgaGFzIGJlZW4gaXNzdWVkIGZvciB0aGUgdmFyaWFi bGUgb3Igbm90LCB0aGVuIGF2b2lkIGVtaXR0aW5nIGl0IGFnYWluIGxhdGVyLg0KPj4gU2luY2Ug dGhlIG9yaWdpbmFsIHZhcmlhYmxlIGhhcyBiZWVuIGNvbXBsZXRlbHkgZGVsZXRlZCBieSBvcHRp bWl6YXRpb24sIHdlIGhhdmUgdG8gdXNlIHRoaXMg4oCccmVwbF92YXLigJ0gZm9yIGEgcGxhY2Vo b2xkZXIgdG8gcmVjb3JkIHN1Y2ggaW5mby4NCj4gDQo+IEJ1dCB0aGUgLi4uID0gLkRFRkVSUkVE X0lOSVQgc3RtdCBpdHNlbGYgY291bGQgYmUgdXNlZCB0byByZWNvcmQgdGhpcw0KPiBzaW5jZSBp dHMgbG9jYXRpb24gaXMNCj4gYWxyZWFkeSB1c2VkIHRvIGluZGljYXRlIHRoZSBvcmlnaW5hbCBs b2NhdGlvbiwgbGlrZSB3aXRoDQo+IHN1cHByZXNzX3dhcm5pbmcvd2FybmluZ19zdXBwcmVzc2Vk X3A/DQoNCkFoLCBJIHdpbGwgY2hlY2sgb24gdGhpcy4gVGhhbmtzIGEgbG90Lg0KPiANCj4+PiAN Cj4+PiArICAgICAgICAgLyogSWdub3JlIHRoZSBjYWxsIHRvIC5ERUZFUlJFRF9JTklUIHRoYXQg ZGVmaW5lIHRoZSBvcmlnaW5hbA0KPj4+ICsgICAgICAgICAgICB2YXIgaXRzZWxmLiAgKi8NCj4+ PiArICAgICAgICAgaWYgKGlzX2dpbXBsZV9hc3NpZ24gKGNvbnRleHQpKQ0KPj4+ICsgICAgICAg ICAgIHsNCj4+PiArICAgICAgICAgICAgIGlmIChUUkVFX0NPREUgKGdpbXBsZV9hc3NpZ25fbGhz IChjb250ZXh0KSkgPT0gVkFSX0RFQ0wpDQo+Pj4gKyAgICAgICAgICAgICAgIGxoc192YXIgPSBn aW1wbGVfYXNzaWduX2xocyAoY29udGV4dCk7DQo+Pj4gKyAgICAgICAgICAgICBlbHNlIGlmIChU UkVFX0NPREUgKGdpbXBsZV9hc3NpZ25fbGhzIChjb250ZXh0KSkgPT0gU1NBX05BTUUpDQo+Pj4g KyAgICAgICAgICAgICAgIGxoc192YXIgPSBTU0FfTkFNRV9WQVIgKGdpbXBsZV9hc3NpZ25fbGhz IChjb250ZXh0KSk7DQo+Pj4gKyAgICAgICAgICAgfQ0KPj4+ICsgICAgICAgICBpZiAobGhzX3Zh cg0KPj4+ICsgICAgICAgICAgICAgJiYgKGxoc192YXJfbmFtZSA9IERFQ0xfTkFNRSAobGhzX3Zh cikpDQo+Pj4gKyAgICAgICAgICAgICAmJiAobGhzX3Zhcl9uYW1lX3N0ciA9IElERU5USUZJRVJf UE9JTlRFUiAobGhzX3Zhcl9uYW1lKSkNCj4+PiArICAgICAgICAgICAgICYmIChzdHJjbXAgKGxo c192YXJfbmFtZV9zdHIsIHZhcl9uYW1lX3N0cikgPT0gMCkpDQo+Pj4gKyAgICAgICAgICAgcmV0 dXJuOw0KPj4+IA0KPj4+IGxpa2V3aXNlIGJ1dCBJIGRvbid0IHJlYWxseSB1bmRlcnN0YW5kIHdo YXQgeW91IGFyZSBkb2luZyBoZXJlLg0KPj4gDQo+PiBUaGUgYWJvdmUgaXMgdG8gZXhjbHVkZSB0 aGUgZm9sbG93aW5nIGNhc2U6DQo+PiANCj4+ICAgICAgIHRlbXAgPSAuREVGRVJSRURfSU5JVCAo NCwgMiwg4oCcYWx0X3JlbG9jIik7DQo+PiAgICAgICBhbHRfcmVsb2MgPSB0ZW1wOw0KPj4gDQo+ PiBpLmUsIGEgY2FsbCB0byAuREVGRVJSRURfSU5JVCB0aGF0IGRlZmluZSB0aGUgb3JpZ2luYWwg dmFyaWFibGUgaXRzZWxmLg0KPiANCj4gSG93IGNhbiB0aGlzIGhhcHBlbj8gIEl0IGxvb2tzIGxp a2UgYSBidWcgdG8gbWUuICBEbyB5b3UgaGF2ZSBhIHRlc3RjYXNlPw0KV2l0aCAtZnRyaXZpYWwt YXV0by12YXItaW5pdCwgRHVyaW5nIGdpbXBsaWZpY2F0aW9uIHBoYXNlLCBhbG1vc3QgYWxsIGFk ZHJlc3MgdGFrZW4gdmFyaWFibGVzIHRoYXQgZG8gbm90IGhhdmUgYW4gZXhwbGljaXQgaW5pdGlh bGl6ZXIgd2lsbCBoYXZlIHRoZSBhYm92ZSBJUiBwYXR0ZXJuLg0KDQpGb3IgZXhhbXBsZSwgZ2Nj LmRnL2F1dG8taW5pdC11bmluaXQtMTYuYzoNCg0KW29wY0BxaW56aGFvLW9sOHUzLXg4NiBnY2Nd JCBjYXQgL2hvbWUvb3BjL1dvcmsvR0NDL2xhdGVzdC1nY2MvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv YXV0by1pbml0LXVuaW5pdC0xNi5jICANCi8qIHsgZGctZG8gY29tcGlsZSB9ICovDQovKiB7IGRn LW9wdGlvbnMgIi1PMiAtV3VuaW5pdGlhbGl6ZWQgLWZ0cml2aWFsLWF1dG8tdmFyLWluaXQ9emVy byIgfSAqLw0KDQppbnQgZm9vLCBiYXI7DQoNCnN0YXRpYw0Kdm9pZCBkZWNvZGVfcmVsb2MoaW50 IHJlbG9jLCBpbnQgKmlzX2FsdCkNCnsNCiAgaWYgKHJlbG9jID49IDIwKQ0KICAgICAgKmlzX2Fs dCA9IDE7DQogIGVsc2UgaWYgKHJlbG9jID49IDEwKQ0KICAgICAgKmlzX2FsdCA9IDA7DQp9DQoN CnZvaWQgdGVzdGZ1bmMoKQ0Kew0KICBpbnQgYWx0X3JlbG9jOw0KDQogIGRlY29kZV9yZWxvYyhm b28sICZhbHRfcmVsb2MpOw0KDQogIGlmIChhbHRfcmVsb2MpIC8qIHsgZGctd2FybmluZyAibWF5 IGJlIHVzZWQgdW5pbml0aWFsaXplZCIgIiIgfSAgKi8NCiAgICBiYXIgPSA0MjsNCn0NCg0KKioq KldpdGggIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8sIHRoZSBJUiBhZnRlciBnaW1wbGlm aWNhdGlvbiBpczoNCg0KICAgICAgXzEgPSAuREVGRVJSRURfSU5JVCAoNCwgMiwgJiJhbHRfcmVs b2MiWzBdKTsNCiAgICAgIGFsdF9yZWxvYyA9IF8xOw0KDQpBbmQgdGhlIElSIGFmdGVyIFNTQSBp cyBzaW1pbGFyIGFzIHRoZSBhYm92ZToNCg0KICBfMSA9IC5ERUZFUlJFRF9JTklUICg0LCAyLCAm ImFsdF9yZWxvYyJbMF0pOw0KICBhbHRfcmVsb2MgPSBfMTsNCg0KRHVyaW5nIHRoZSBlYXJseSB1 bmluaXRpYWxpemVkIGFuYWx5c2lzIHBoYXNlLCB0aGUgYWJvdmUgSVIgd2lsbCBmZWVkIHRvIHRo ZSBhbmFseXplciwgd2Ugc2hvdWxkIGV4Y2x1ZGUgc3VjaCANCklSIGZyb20gaXNzdWluZyBmYWtl IHdhcm5pbmdzLg0KDQo+IA0KPj4gDQo+Pj4gSSdtDQo+Pj4gYWxzbyBub3Qgc3VyZQ0KPj4+IEkg dW5kZXJzdGFuZCB0aGUgY2FzZSB3ZSB0cnkgdG8gZml4IHdpdGggcGFzc2luZyB0aGUgbmFtZSAt IGlzIHRoYXQNCj4+PiBmb3IgVkxBIGRlY2xzDQo+Pj4gdGhhdCBnZXQgcmVwbGFjZWQgYnkgYWxs b2NhdGlvbj8NCj4+IA0KPj4gVGhpcyB3aG9sZSBwYXRjaCBpcyBtYWlubHkgdG8gcmVzb2x2ZSB0 aGUgaXNzdWUgdGhhdCBoYXMgYmVlbiBkaXNjdXNzZWQgbGFzdCBBdWcgYXM6DQo+PiANCj4+IGh0 dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjEtQXVndXN0LzU3NzQz MS5odG1sDQo+PiANCj4+IFdlIGhhdmUgYWdyZWVkIGF0IHRoYXQgdGltZSB0byByZXNvbHZlIHRo aXMgaXNzdWUgbGF0ZXIuDQo+IA0KPiBZZXMsIEkga25vdy4gIEJ1dCB0aGUgcGF0Y2ggc2VlbXMg dG8gZG8gbXVsdGlwbGUgdGhpbmdzIGFuZCB0aGVyZSdzIG5vDQo+IG5ldyB0ZXN0Y2FzZQ0KPiBh bmQgdGhlIENoYW5nZUxvZyBkb2VzIG5vdCBpbmRpY2F0ZSB0aGUgYWx0ZXJlZCB0ZXN0Y2FzZXMg YXJlIGluIGFueQ0KPiB3YXkgbm93IGZpeGVkLg0KDQpUaGF04oCZcyBteSBiYWQsIEkgcmVhbGl6 ZWQgdGhpcyBwcm9ibGVtIGFuZCBzZXBhcmF0ZWQgdGhlIG9yaWdpbmFsIHBhdGNoIGludG8gdHdv IHNlcGFyYXRlIHBhdGNoIGFuZCBhbHNvIGFkZGVkIG1vcmUgZGV0YWlsZWQNCkRlc2NyaXB0aW9u IG9mIHRoZSBwcm9ibGVtLCBob3BlIHRoaXMgdGltZSB0aGUgcGF0Y2ggd2lsbCBiZSBtb3JlIGNs ZWFyZXIuDQoNCllvdSBoYXZlIGFwcHJvdmVkIHRoZSAxc3QgcGF0Y2guICBJIHdpbGwgdXBkYXRl IGl0IHBlciB5b3VyIHN1Z2dlc3Rpb24gYW5kIGNvbW1pdCB0byBHQ0MxMi4NCg0KRm9yIHRoZSAy bmQgb25lLCAgSSB3aWxsIGZpeCB0aGUgY29uY2VybiB5b3UgcmFpc2VkIGFib3V0IOKAnHJlcGxf dmFy4oCdLCBhbmQgcmVzdWJtaXQgdGhlIHBhdGNoLg0KDQpRaW5nDQoNCg==