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 1F02F3858C2C for ; Mon, 8 Nov 2021 23:47:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1F02F3858C2C Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 1A8Moq39010247; Mon, 8 Nov 2021 23:47:37 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3c6usnfapq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 08 Nov 2021 23:47:37 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 1A8NjLuj133041; Mon, 8 Nov 2021 23:47:36 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2047.outbound.protection.outlook.com [104.47.66.47]) by userp3030.oracle.com with ESMTP id 3c5etutktm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 08 Nov 2021 23:47:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=leqLeR1NFPxRZ+0LigLmVnIWDZOTbEyEJ/Zb0k6l/bj7+QThUbksPhaycnDZhxMk11Gl2D9AIrosxyzSgCAdQq0U6cfOYcnt74ZL2qqmwUYjijyVRh6llUgU8u6BSPKep4fRMXqylvG9TsOrd9SPdBHYFH5yTzc5wVQjr3fBSprkWUfWlqAAdIvCDDqZR33iO3WltKiLYlttCJui1GcMThbOMM5fj+QjPoPrKo0IjHS4gIFKWrVO53N0EiRiF6kPetbXUJiqgo7kJQj2yXCjDCMJwQeehl6Qv8TLFTWMzE9tBtMrkdDOP7L483tEcMQ2jV/CJ0RBOhtUuqPt/5NOgQ== 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=CEBGmI+DRHzT3tq663q12ch4ECbYGoYcJb8U9wn/AaY=; b=L/tpH2p1a5xjETnUdjPKjtBFZbvHqUP/e8KecdDMG5/7cOy+97XS3AklxAazsm47bcD/DssETjuwN3KOPUOXyWI7hsuQhR2fNDEUTv/U4LBWh5+1x4NGNB/nnVrW6VCV3N1PymYhYR8gMvNZG3C9bIN8XnC1qOjI7kPktWlQgwYsb9pUU11Se1EPAYorH2Kl2LemFRO2ICBq2uoxPnRjbe85hByL/VX/1wgEAxabHQfXkhHoOb+Jl9L8rbz8e6qmSBLeMC3pDkzCOs5m/QB3FmPmr8S5ITslvUq03pKnO1sURyrGywGlET/eJYcso8MigsqRKLOFcyGvhNXsS9FDGA== 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 CH0PR10MB5243.namprd10.prod.outlook.com (2603:10b6:610:dc::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Mon, 8 Nov 2021 23:47:34 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8dd2:f5a2:23e8:1a7c]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8dd2:f5a2:23e8:1a7c%7]) with mapi id 15.20.4669.016; Mon, 8 Nov 2021 23:47:34 +0000 From: Qing Zhao To: Richard Biener , Jakub Jelinek CC: gcc-patches Nick Alcock via , "Kewen. Lin" , "H.J. Lu" , andrew Pinski Subject: Re: Values of WIDE_INT_MAX_ELTS in gcc11 and gcc12 are different Thread-Topic: Values of WIDE_INT_MAX_ELTS in gcc11 and gcc12 are different Thread-Index: AQHX0bvLsQO1mq+z4Uu/O/Y+LAgejav0ctOAgAANXwCAADR4AIAAZ3kAgAABloCAABZmgIABEZwAgAMPjoCAAP09AA== Date: Mon, 8 Nov 2021 23:47:33 +0000 Message-ID: <64E9CE8D-1305-45E6-9B54-3E18311E2CF9@oracle.com> References: <7B702DE8-7B94-4317-BC19-610D2F406759@oracle.com> <20211105065326.GF304296@tucnak> <20211105161715.GM304296@tucnak> <1DD8CB3D-2B99-4F02-8FB0-0027BB1042BD@oracle.com> <20211106095642.GO304296@tucnak> 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: 1d42a4d1-2760-4a49-060b-08d9a31222ea x-ms-traffictypediagnostic: CH0PR10MB5243: 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: meHs1hDGNBNTikG2YZj/KFDdaepuRaR5pHoSE9JWesqrwp3IzSyTEEwYA9ZZNtZtATMJGE/yMiWoGTx3axJrx6GPG8ls/SuADKtAGU5a5fLqsy6bYN/zj0nEYBEz6kOVPppPdrRnhPgFeGjaNCbup7WQ4xl0VxuzYIFAOoVgV+YhL57CCwRCDSSYzCOM5it7uPuN0ol1FAYynfjg2hz+gFvbjgo9CFCRttQ+hH+c0/U/k7QyVIkRzSJFoNFQnu+lW05FwYl00ydyg14JI8/9djdCKOyNr1oou2PoZAFS+ArCdVGjpdHjb8bR2+VtmEJILmK8otr8L5CIDjv/YKg+MrjMEGWhMqRi5AL7p+KDcZn2aBwqcmnILhQuVy1zI37p5Jy/KbQWc6Hs44ojeKnN0suWfn6Foc7LYK0BIrLM62ucvMnLOgqU+VCUIcmutm9iXkH0d5s/ESsNR4FB1DSG1QR/F5hbzKn7+b3Resd3KeZOGAhtnGKGmIEmrEzH1gHZu0xqvX/kemRIEQk+F072Rt5zRJBgWo+YqCn1+qseF/SLW4hMoAhYC7MOlN+E9sy1kOBdgWDTyTAqw0suHjwjbE2fIM4Nn3g+q+dTQtg8buyi20zEavcoXp1VYvu92sbvAuUzhxT+BNxFdXPuwQOG+GRgrvT1GDTmYBONWFheezc8OdE8X/8MRYsaHG7PeLUkyUuzLHrONa21VFdX88L8bVPqiE9yjBuZtToD70uyfuw= 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)(2616005)(2906002)(54906003)(110136005)(6512007)(86362001)(33656002)(38070700005)(44832011)(26005)(186003)(83380400001)(36756003)(4326008)(53546011)(5660300002)(6506007)(6486002)(316002)(8936002)(38100700002)(508600001)(91956017)(76116006)(66446008)(66556008)(66476007)(64756008)(8676002)(71200400001)(122000001)(66946007)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bzBZeUlodGpVcDM5dFdiMjZDWTBmeUs0cG4xVG9ORDNOclVZMXJnVUFDNHVh?= =?utf-8?B?Mi9zTGxvdi9FdlR0RDA5OElHcytqTk9mTjV5SlRiNmtkRnd1UHduYzRDT21i?= =?utf-8?B?bjZyODR4VTR2SysrbnJyRDR6NlA1RVcxd2N1MEQyYkhuNHVkSDdzdjdQek5J?= =?utf-8?B?YWszQTlzZDdTWlNYMnFrcForUkM3TGh3bGp3aG5mS2FlaWpIYWJOMmgwTDM5?= =?utf-8?B?L0dEWmFNUXVscjgzMnVIZWthKzhrKzR0b0RUL0hDRDljQm9lVmx3M2FKWkFK?= =?utf-8?B?WU9DV1hEMEdKZlRtdlY5ZzBvdDZtdzJHZ25BS0F0KzZ3TlQvOHNzejFNQWE1?= =?utf-8?B?YnNQbkRmZlZieUVBTUJVYThRZzlINXFMd2JDLys3dWJic21GT1pVQXVaOFk4?= =?utf-8?B?b1RnYTk5bFZiNy8wbzdUdnY4U1EzcFgxMC94U2JodXBIWklEdTdnZnJUZDVD?= =?utf-8?B?dXN5NXNvVDZxbktva05uZEJFaDlndzR5ZGoxZWgwN0VsWHl0cVoxWTFoZHZD?= =?utf-8?B?ZUpvKzlhOFp0aWJnRDZuSVBEZ1N6VDJkT0ZqZng0MWE2eXJabWF0bmxuTko3?= =?utf-8?B?NmwxUUgxSWdGTTRQZDEvQ3d6NWlrdWMwK253Nko5djh0d1dUQVFlMTRhdmV5?= =?utf-8?B?RmZzT2xLYWQ2QnBYSzh1MFNCdzYzNllyMlBYRjZKSUY0aHpsRWYydFROeDBo?= =?utf-8?B?S3BNa0dHcy9wVkNJNThYVVl3NFRqWEtackpybmFDb0NIaDNsdTVDK1c0RFBV?= =?utf-8?B?amQycnM2L3p1NHdCaitnZDV1NnRGS0k3cGV2Z2xjYysvSjdLSElIZ01yWlQv?= =?utf-8?B?SDdVK01QbDdIbDhiUnlTUjAySUpqWnRCRVpRREV1RWRFam80NGlUSzFPL3Fn?= =?utf-8?B?Vzk2TnBpbGZPbGlJVXh4d3dTQXdhVXUzZVQ3Z2J4R0pwdmd2ZUNUdDQrWUFy?= =?utf-8?B?L1ZJYlFJeTY5dGhQQkp0RmFiNlFOc1lZWVNNdmtaUHc5OXZNQjE0YmY5VW9R?= =?utf-8?B?WkxUaE05a1ZiRFU4T2FOaFFITkJ1cWFLQlpKU2M4eS9wT1RtMVJOc0hHb05J?= =?utf-8?B?VVd4UDBKMUNmMzJuMHhFR0ZEbkVaQUpDWkx0Q1BzbjFTNFE5OEVMZDlYa2hC?= =?utf-8?B?K0ZlZyszVktYTW5tWlBTa1RQYUJPSDgwajRlZlo2YzI1d3N1MXlVUXdLYmRO?= =?utf-8?B?dmM4WkZWa1dIaWs0VElFUTFHTkovNFFlVnh5cEZuZjdKRGlndVZFODl2L3pn?= =?utf-8?B?YlJFOVM0RDd6WVBmVkNPQjZqMjZTQmttZCtLNDhqc3dZdFZhSXNzam1ySU5Y?= =?utf-8?B?Um5rRGdNVGc3L0I2a0d4NXBoMklVWVBuNmF0UDMxL1U3aTlZdkJxeTUwa2dn?= =?utf-8?B?ZHMvZjVWYkpVRHZ6c1hxUmRXTW5CM2tJM2xVNkFleE1YcURXN1JHN3Y4M1dz?= =?utf-8?B?UVVtQVd4Slh5b01Ga0JHSjl0MWNrK2JvOFlTYk9LekRlcldsck9uSnFCRWpI?= =?utf-8?B?QWN0SHpVWTR5dHBac2hOL0lRd3FaL0hEMU91RlVEaGtCUHI1ZW5PTzdQYVhJ?= =?utf-8?B?OFlTU2toY0pLL21CdjN4clNRYStSeXVySXpqck5lQk9DanE4V3gwY2ZHR04v?= =?utf-8?B?VFE0NGdzNTNESDJRMGdXM3A5OWJ5Q01VbXJDQnZUYTFjbm1kRFpONEhIR2RJ?= =?utf-8?B?T254WSs1NHFSVmZPUHVyNTd4ckZhNW96bjBGQmFMQnNTeG9TVk91TjBiWU0w?= =?utf-8?B?NWVSODRYNmE1bFFndHlIWlVjT0VVcTFCSlNGa1BSaVBUdEZ3RlZ0SlVUVEpU?= =?utf-8?B?cG9TUGhVL2NmV2IwL1c3ZWZ1TFVtOVk0QjVVOXlZaWRWaFYwcEJsQmVVYzhq?= =?utf-8?B?MkppeDhNSWc0VG1vTjVqaHNUYzFtTjBSdXEvYWgyZktFMzlZNnhFYjJVT1Vs?= =?utf-8?B?L2JxM2gxcTVNdUIycmk0REZqZE14dHozN0Q1ZFI5TmpqZXZrbFFudURzcUI5?= =?utf-8?B?b0NLN3pZY1VvVzMvN3k0V1ZGcStnOTlWUG9RSmhubUE3cDZwL2hDMGpYNG85?= =?utf-8?B?ZUVFZDlNZXJ1M2Izd3ptd2NOZXZxaktTd1dYWXhUdWxlL2x3RHl4VzhOWkhK?= =?utf-8?B?STVkWm10b1poaHhBL2l6MERVSGhUYmJGZDhjcEljK1hQcnJWSStIK2JoLzFa?= =?utf-8?Q?u4u4e6wEur0YsiVlHW5XglM=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <71612787A909E34DAB06507BDD2BEB6C@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: 1d42a4d1-2760-4a49-060b-08d9a31222ea X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2021 23:47:33.9161 (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: PsePsHAuVZtHkBoKMZiOPFmsTICOuV5lpbcIPyAnmRzKtAqcRgthCQkUvBV6XDP6hZjMenb5czCjT2UXESugog== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5243 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10162 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 mlxscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2111080141 X-Proofpoint-ORIG-GUID: fCQZ8_c_X4rWdD3zqv_WXKDhx7B51sJs X-Proofpoint-GUID: fCQZ8_c_X4rWdD3zqv_WXKDhx7B51sJs X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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: Mon, 08 Nov 2021 23:47:40 -0000 SGksIEkgdHJpZWQgYm90aCB0aGUgZm9sbG93aW5nIHBhdGNoZXM6DQoNClBhdGNoMToNCg0KW29w Y0BxaW56aGFvLW9sOHUzLXg4NiBnY2NdJCBnaXQgZGlmZiANCmRpZmYgLS1naXQgYS9nY2MvaW50 ZXJuYWwtZm4uYyBiL2djYy9pbnRlcm5hbC1mbi5jDQppbmRleCAwY2JhOTU0MTFhNi4uY2E0OWQy YjQ1MTQgMTAwNjQ0DQotLS0gYS9nY2MvaW50ZXJuYWwtZm4uYw0KKysrIGIvZ2NjL2ludGVybmFs LWZuLmMNCkBAIC0zMDczLDEyICszMDczLDE0IEBAIGV4cGFuZF9ERUZFUlJFRF9JTklUIChpbnRl cm5hbF9mbiwgZ2NhbGwgKnN0bXQpDQogICAgICAgLyogSWYgdGhpcyB2YXJpYWJsZSBpcyBpbiBh IHJlZ2lzdGVyIHVzZSBleHBhbmRfYXNzaWdubWVudC4NCiAgICAgICAgIEZvciBib29sZWFuIHNj YWxhcnMgZm9yY2UgemVyby1pbml0LiAgKi8NCiAgICAgICB0cmVlIGluaXQ7DQorICAgICAgc2Nh bGFyX2ludF9tb2RlIHZhcl9tb2RlOw0KICAgICAgIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAo bGhzKSkgIT0gQk9PTEVBTl9UWVBFDQogICAgICAgICAgJiYgdHJlZV9maXRzX3Vod2lfcCAodmFy X3NpemUpDQogICAgICAgICAgJiYgKGluaXRfdHlwZSA9PSBBVVRPX0lOSVRfUEFUVEVSTg0KICAg ICAgICAgICAgICB8fCAhaXNfZ2ltcGxlX3JlZ190eXBlICh2YXJfdHlwZSkpDQogICAgICAgICAg JiYgaW50X21vZGVfZm9yX3NpemUgKHRyZWVfdG9fdWh3aSAodmFyX3NpemUpICogQklUU19QRVJf VU5JVCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkuZXhpc3RzICgpKQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKS5leGlzdHMgKCZ2YXJfbW9kZSkNCisgICAg ICAgICAmJiB0YXJnZXRtLnNjYWxhcl9tb2RlX3N1cHBvcnRlZF9wICh2YXJfbW9kZSkpDQogICAg ICAgIHsNCiAgICAgICAgICB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIHRvdGFsX2J5dGVzID0gdHJl ZV90b191aHdpICh2YXJfc2l6ZSk7DQogICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmID0gKHVu c2lnbmVkIGNoYXIgKikgeG1hbGxvYyAodG90YWxfYnl0ZXMpOw0KDQpBTkQNCg0KUGF0Y2gyOg0K ZGlmZiAtLWdpdCBhL2djYy9pbnRlcm5hbC1mbi5jIGIvZ2NjL2ludGVybmFsLWZuLmMNCmluZGV4 IDBjYmE5NTQxMWE2Li43ZjEyOTY1NTkyNiAxMDA2NDQNCi0tLSBhL2djYy9pbnRlcm5hbC1mbi5j DQorKysgYi9nY2MvaW50ZXJuYWwtZm4uYw0KQEAgLTMwNzMsMTIgKzMwNzMsMTQgQEAgZXhwYW5k X0RFRkVSUkVEX0lOSVQgKGludGVybmFsX2ZuLCBnY2FsbCAqc3RtdCkNCiAgICAgICAvKiBJZiB0 aGlzIHZhcmlhYmxlIGlzIGluIGEgcmVnaXN0ZXIgdXNlIGV4cGFuZF9hc3NpZ25tZW50Lg0KICAg ICAgICAgRm9yIGJvb2xlYW4gc2NhbGFycyBmb3JjZSB6ZXJvLWluaXQuICAqLw0KICAgICAgIHRy ZWUgaW5pdDsNCisgICAgICBzY2FsYXJfaW50X21vZGUgdmFyX21vZGU7DQogICAgICAgaWYgKFRS RUVfQ09ERSAoVFJFRV9UWVBFIChsaHMpKSAhPSBCT09MRUFOX1RZUEUNCiAgICAgICAgICAmJiB0 cmVlX2ZpdHNfdWh3aV9wICh2YXJfc2l6ZSkNCiAgICAgICAgICAmJiAoaW5pdF90eXBlID09IEFV VE9fSU5JVF9QQVRURVJODQogICAgICAgICAgICAgIHx8ICFpc19naW1wbGVfcmVnX3R5cGUgKHZh cl90eXBlKSkNCiAgICAgICAgICAmJiBpbnRfbW9kZV9mb3Jfc2l6ZSAodHJlZV90b191aHdpICh2 YXJfc2l6ZSkgKiBCSVRTX1BFUl9VTklULA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwKS5leGlzdHMgKCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApLmV4aXN0 cyAoJnZhcl9tb2RlKQ0KKyAgICAgICAgICYmIGhhdmVfaW5zbl9mb3IgKFNFVCwgdmFyX21vZGUp KQ0KICAgICAgICB7DQogICAgICAgICAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCB0b3RhbF9ieXRl cyA9IHRyZWVfdG9fdWh3aSAodmFyX3NpemUpOw0KICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1 ZiA9ICh1bnNpZ25lZCBjaGFyICopIHhtYWxsb2MgKHRvdGFsX2J5dGVzKTsNCg0KSGF2ZSB0aGUg c2FtZSBlZmZlY3Q6DQoNCjEuIFJlc29sdmVkIHRoZSBJQ0UgaW4gZ2NjMTE7DQoyLiBGb3IgX0Nv bXBsZXggbG9uZyBkb3VibGUgdmFyaWFibGVzLCBib3RoIHJldHVybiBGQUxTRSwgYXMgYSByZXN1 bHQsIGZvciBQQVRURVJOIGluaXRpYWxpemF0aW9uIG9mIF9Db21wbGV4IGxvbmcgZG91YmxlIHZh cmlhYmxlcywgbm93IHRoZXkgYXJlIGluaXRpYWxpemF0aW9uIHdpdGggWkVST3MgaW5zdGVhZCBv ZiBGRXMuDQoNCkxldCBtZSBrbm93IHlvdSBvcGluaW9uIG9uIHRoaXMsIElmIHRoZSBhYm92ZSAy IGlzIG9rYXksIHRoZW4gSSBtaWdodCBwaWNrIHRoZSBhYm92ZSBQYXRjaCAxIGZvciB0aGUgZmlu YWwgcGF0Y2ggdG8gdGhpcyBpc3N1ZS4NCg0KVGhhbmtzLg0KDQpRaW5nDQoNCj4gT24gTm92IDgs IDIwMjEsIGF0IDI6NDEgQU0sIFJpY2hhcmQgQmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWls LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBTYXQsIE5vdiA2LCAyMDIxIGF0IDEwOjU2IEFNIEpha3Vi IEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IHdyb3RlOg0KPj4gDQo+PiBPbiBGcmksIE5vdiAw NSwgMjAyMSBhdCAwNTozNzoyNVBNICswMDAwLCBRaW5nIFpoYW8gd3JvdGU6DQo+Pj4+IE9uIE5v diA1LCAyMDIxLCBhdCAxMToxNyBBTSwgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4g d3JvdGU6DQo+Pj4+IA0KPj4+PiBPbiBGcmksIE5vdiAwNSwgMjAyMSBhdCAwNDoxMTozNlBNICsw MDAwLCBRaW5nIFpoYW8gd3JvdGU6DQo+Pj4+PiAzMDc2ICAgICAgIGlmIChUUkVFX0NPREUgKFRS RUVfVFlQRSAobGhzKSkgIT0gQk9PTEVBTl9UWVBFDQo+Pj4+PiAzMDc3ICAgICAgICAgICAmJiB0 cmVlX2ZpdHNfdWh3aV9wICh2YXJfc2l6ZSkNCj4+Pj4+IDMwNzggICAgICAgICAgICYmIChpbml0 X3R5cGUgPT0gQVVUT19JTklUX1BBVFRFUk4NCj4+Pj4+IDMwNzkgICAgICAgICAgICAgICB8fCAh aXNfZ2ltcGxlX3JlZ190eXBlICh2YXJfdHlwZSkpDQo+Pj4+PiAzMDgwICAgICAgICAgICAmJiBp bnRfbW9kZV9mb3Jfc2l6ZSAodHJlZV90b191aHdpICh2YXJfc2l6ZSkgKiBCSVRTX1BFUl9VTklU LA0KPj4+Pj4gMzA4MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApLmV4aXN0cyAo KSkNCj4+Pj4+IDMwODIgICAgICAgICB7DQo+Pj4+PiAzMDgzICAgICAgICAgICB1bnNpZ25lZCBI T1NUX1dJREVfSU5UIHRvdGFsX2J5dGVzID0gdHJlZV90b191aHdpICh2YXJfc2l6ZSk7DQo+Pj4+ PiAzMDg0ICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpidWYgPSAodW5zaWduZWQgY2hhciAqKSB4 bWFsbG9jICh0b3RhbF9ieXRlcyk7DQo+Pj4+PiAzMDg1ICAgICAgICAgICBtZW1zZXQgKGJ1Ziwg KGluaXRfdHlwZSA9PSBBVVRPX0lOSVRfUEFUVEVSTg0KPj4+Pj4gMzA4NiAgICAgICAgICAgICAg ICAgICAgICAgICA/IElOSVRfUEFUVEVSTl9WQUxVRSA6IDApLCB0b3RhbF9ieXRlcyk7DQo+Pj4+ PiAzMDg3ICAgICAgICAgICB0cmVlIGl0eXBlID0gYnVpbGRfbm9uc3RhbmRhcmRfaW50ZWdlcl90 eXBlDQo+Pj4+PiAzMDg4ICAgICAgICAgICAgICAgICAgICAgICAgICAodG90YWxfYnl0ZXMgKiBC SVRTX1BFUl9VTklULCAxKTsNCj4+Pj4+IA0KPj4+Pj4gVGhlIGV4YWN0IGZhaWxpbmcgcG9pbnQg aXMgYXQgZnVuY3Rpb24g4oCcc2V0X21pbl9hbmRfbWF4X3ZhbHVlc19mb3JfaW50ZWdyYWxfdHlw ZeKAnToNCj4+Pj4+IA0KPj4+Pj4gMjg1MSAgIGdjY19hc3NlcnQgKHByZWNpc2lvbiA8PSBXSURF X0lOVF9NQVhfUFJFQ0lTSU9OKTsNCj4+Pj4+IA0KPj4+Pj4gRm9yIF9Db21wbGV4IGxvbmcgZG91 YmxlLCAg4oCccHJlY2lzaW9u4oCdIGlzIDI1Ni4NCj4+Pj4+IEluIEdDQzExLCDigJxXSURFX0lO VF9NQVhfUFJFQ0lTSU9O4oCdIGlzIDE5MiwgIGluIEdDQzEyLCBpdOKAmXMgNTEyLg0KPj4+Pj4g QXMgYSByZXN1bHQsIHRoZSBhYm92ZSBhc3NlcnRpb24gZmFpbGVkIG9uIEdDQzExLg0KPj4+Pj4g DQo+Pj4+PiBJIGFtIHdvbmRlcmluZyB3aGF04oCZcyB0aGUgYmVzdCBmaXggZm9yIHRoaXMgaXNz dWUgaW4gZ2NjMTE/DQo+Pj4+IA0KPj4+PiBFdmVuIGZvciBnY2MgMTIgdGhlIGFib3ZlIGlzIHdy b25nLCB5b3UgY2FuJ3QgYmxpbmRseSBhc3N1bWUgdGhhdA0KPj4+PiBidWlsZF9ub25zdGFuZGFy ZF9pbnRlZ2VyX3R5cGUgd2lsbCB3b3JrIGZvciBhcmJpdHJhcnkgcHJlY2lzaW9ucywNCj4+Pj4g YW5kIGV2ZW4gaWYgaXQgd29ya3MgdGhhdCBpdCB3aWxsIGFjdHVhbGx5IHdvcmsuDQo+Pj4+IFRo ZSBmYWN0IHRoYXQgc3VjaCBhIG1vZGUgZXhpc3QgaXMgb25lIHRoaW5nLCBidXQNCj4+Pj4gdGFy Z2V0bS5zY2FsYXJfbW9kZV9zdXBwb3J0ZWRfcCBzaG91bGQgYmUgdGVzdGVkIGZvciB3aGV0aGVy IHRoZSBtb2RlDQo+Pj4+IGlzIGFjdHVhbGx5IHN1cHBvcnRlZC4NCj4+PiANCj4+PiBZb3UgbWVh biDigJxpbnRfbW9kZV9mb3Jfc2l6ZSgpLmV4aXN0cygp4oCdIGlzIG5vdCBlbm91Z2ggdG8gbWFr ZSBzdXJlDQo+Pj4g4oCcYnVpbGRfbm9uc3RhbmRhcmRfaW50ZWdlcl90eXBl4oCdIHRvIGJlIHZh bGlkPyAgV2Ugc2hvdWxkIGFkZA0KPj4+IOKAnHRhcmdldG0uc2NhbGFyX21vZGVfc3VwcG9ydGVk X3DigJ0gdG9vID8NCj4+IA0KPj4gWWVhaC4gIFRoZSBmb3JtZXIgc2F5cyB3aGV0aGVyIHRoZSBi YWNrZW5kIGhhcyB0aGF0IG1vZGUgYXQgYWxsLg0KPj4gQnV0IHNvbWUgbW9kZXMgbWF5IGJlIHRo ZXJlIG9ubHkgaW4gc29tZSBzcGVjaWZpYyBwYXR0ZXJucyBidXQNCj4+IHdpdGhvdXQgc3VwcG9y dCBmb3IgbW92LCBhZGQsIGV0Yy4gIE9ubHkgZm9yDQo+PiB0YXJnZXRtLnNjYWxhcl9tb2RlX3N1 cHBvcnRlZF9wIG1vZGVzIHRoZSBiYWNrZW5kIGd1YXJhbnRlZXMgdGhhdA0KPj4gb25lIGNhbiB1 c2UgdGhlbSBlLmcuIGluIG1vZGUgYXR0cmlidXRlIGFuZCBjYW4gZXhwZWN0IGV4cGFuc2lvbg0K Pj4gdG8gZXhwYW5kIGV2ZXJ5dGhpbmcgd2l0aCB0aGF0IG1vZGUgdGhhdCBpcyBuZWVkZWQgaW4g c29tZSB3YXkuDQo+PiBFLmcuIG9ubHkgaWYgdGFyZ2V0bS5zY2FsYXJfbW9kZV9zdXBwb3J0ZWRf cCAoVEltb2RlKSB0aGUgRkVzDQo+PiBzdXBwb3J0IF9faW50MTI4X3QgdHlwZSwgZXRjLg0KPiAN Cj4gVGhlIG1lbWNweSBmb2xkaW5nIGNvZGUgbm93IGNoZWNrcw0KPiANCj4gICAgICAgICAgICAg IHNjYWxhcl9pbnRfbW9kZSBtb2RlOw0KPiAgICAgICAgICAgICAgaWYgKGludF9tb2RlX2Zvcl9z aXplIChpbGVuICogOCwgMCkuZXhpc3RzICgmbW9kZSkNCj4gICAgICAgICAgICAgICAgICAmJiBH RVRfTU9ERV9TSVpFIChtb2RlKSAqIEJJVFNfUEVSX1VOSVQgPT0gaWxlbiAqIDgNCj4gICAgICAg ICAgICAgICAgICAmJiBoYXZlX2luc25fZm9yIChTRVQsIG1vZGUpDQo+IA0KPiB0aHVzIHNwZWNp ZmljYWxseSBvbmx5IGhhdmVfaW5zbl9mb3IgKFNFVCwgbW9kZSksIHdoaWNoIEkgZ3Vlc3MgaXMN Cj4gZ29vZCBlbm91Z2ggZm9yIHRoaXMgY2FzZSBhcyB3ZWxsPw0KPiANCj4+ICAgICAgICBKYWt1 Yg0KDQo=