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 834233858D28 for ; Thu, 26 Jan 2023 17:42:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 834233858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30QGwxLT027300; Thu, 26 Jan 2023 17:42:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=/cBhHjXdE1fCqaredAuLdp7IFo9yeM34qSmUMjLtVJs=; b=R2iC41gJPdVF1mSDfd0JDuD7ZNV5B5OsDUGzIRHu+Y9a0h0WAipIUOXdTEFLqdHMQ/Lc BSASv+nu4+Xkw6S1tyTxzzFR5KCK+8NmFWJpOjZRK1HrxLKq2DfNTVfHKaDDxBuI8Wxy Ynj0Jpl3fR8wMgaHzmwZTSEpFjtnXMfEYWPO3W+1gddX1KCixcXS1RBmyr7jJP3kS3DL uKl94i4kC7x6Mr3DsLBHQ12Dra3ECqIh9Q5ljkJt0vlHZPEjuGLIEAbcmXjg0bfNXZVq bmAfXrArcc/vFs9MalGorBHnSC60t0IoOqbpt4F0RG9spar7RGrjcgTV13JtSTEZYi53 XA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3n86ybjxk6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Jan 2023 17:42:21 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 30QHJsSR006194; Thu, 26 Jan 2023 17:42:20 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2171.outbound.protection.outlook.com [104.47.57.171]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3n86gf0wj6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 26 Jan 2023 17:42:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fXzX48JVJYliwLERJqT9dqVOkQ6jE+VeM7AuN4TuFNFIFLklpCedZUsLT1Rvy+G58ZuSRq1Rlcbdjp7arkxieBSqCW6bFY/WNgm/lf7K+pQQu/uKsAkKxzzWeDb9GXiaLLWC+M/dRCjof1ikBwZVlKBESZvPyQNtEwVQ08DGJ4CsdoeGDmOb7eYi2gMuo0SHXRP+M49OI9LlIsIUEhyMh2LH7H76HTDMVQMwU+6DxHDPo7jsZV/27sJeymZn0h81fGiZURuWKL017qF0h9heeRYjROon5NE7rgFZedPBYJSeU/R13eEWp0ZEw/ne7yQdaltidE4O87V/m5u/9Gg1Dw== 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=/cBhHjXdE1fCqaredAuLdp7IFo9yeM34qSmUMjLtVJs=; b=EUa3sFEFxdabt1L0ij3XglEdR44H9sTK6mtsO1K/Q+PYBwqzzX/x+BDuuLFDKUiMURfjY5uuXPz3xLT2iKRhRKnAAlYIdBsLFzbdDFGpIyZedrzx4z1tFPd1Lh7zMyL/EBOL3qHrRA1uJt6AY9m6K1bY/r5XJt50mr3OLcokYxaWqWV093/3WJpXe5+Oj4p2UA/FCRfTRGrse7EyRJgv315RlF7U5RZaBh4XOWFbeVoEewwMKNnoxklXkbha/iIzz7CweZVKUO+yJykvLJm6TVZNTk39SbcwDsvSHysXU/7CMJOdHhzgWswDZkxsD3bdKU9pXBQ1tR2BRZPfbUx5Jw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/cBhHjXdE1fCqaredAuLdp7IFo9yeM34qSmUMjLtVJs=; b=gFXcY2c+Mwu5+d9b/9aOY6w1+lslkl53EQF61dS13YYRuSH+hVlXj/cGpG5e7N7x953EU/sQ06Q4IyOZlRW5kIX7xXCa8WOveHs+mRuk6qybyFavpZLFSbe6lWZxcJpY4H0n+2I+yzb6m1c3Dk1F0DHE/6v6wE0I5ogR9tTXnwo= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by DS0PR10MB6077.namprd10.prod.outlook.com (2603:10b6:8:cb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.22; Thu, 26 Jan 2023 17:42:18 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::c96c:cb50:dea2:2cd2]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::c96c:cb50:dea2:2cd2%5]) with mapi id 15.20.6043.020; Thu, 26 Jan 2023 17:42:18 +0000 From: Qing Zhao To: Siddhesh Poyarekar CC: gcc Patches , Jakub Jelinek , kees Cook Subject: Re: [PATCH 2/2] tree-object-size: More consistent behaviour with flex arrays Thread-Topic: [PATCH 2/2] tree-object-size: More consistent behaviour with flex arrays Thread-Index: AQHZFYtTTbunyKYk9UqyvT1t6S7YB66xGR+AgAAPiICAAAdSgA== Date: Thu, 26 Jan 2023 17:42:17 +0000 Message-ID: References: <20221221222554.4141678-1-siddhesh@gotplt.org> <20221221222554.4141678-3-siddhesh@gotplt.org> <50FEF91F-65B2-4BDC-92C2-BEB8A4A5E3C3@oracle.com> <00feef0c-0b2f-a600-1f55-4976f9ef21d0@gotplt.org> In-Reply-To: <00feef0c-0b2f-a600-1f55-4976f9ef21d0@gotplt.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.1) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|DS0PR10MB6077:EE_ x-ms-office365-filtering-correlation-id: 60742d8c-14c6-403a-fd63-08daffc4ab5a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: j4eUM5XKtC6jWadaPM4re0h7fbvVr2cFcaVN0S9Lrq2yPvpE0fkGOp7AJueFbtNFgAVarZEYacUBBbI+lqxU9+AUKY782Baeub3noaZIpyJswhw1EeWE3Wv3pQj6g6BxCfcihi0bjdWjaqqUhAR3BWpruLBGrLXgoqiN4B2v4agU7vlARU+uOvNLh9I8N6xvvDutYhSzw3IKQ6rTwZtaTxS+JMAvEO08w5vDUZiMEfoDH55JzZISymRdNBjjEXfABB19SmKTNwKu61PN04r4DyCCNS8FF1TUZBVcW7qdx2uwuPmDipkStZmMMeJJuPkVSTvD70h3xLA3I46eVtBQjAFMyKwg4bc5tNwwBoekhhQxNAvcwiu45THI1gYrMbbGG/HnmgBwZLwaETOkSplfXDGQKIhDsYuqpdATpthf1fWKy+/Iz9UCJ7u63KecZhFxjp0HFRFmxgDUzALLYsL7/RdToI3QI2ynJxSIqsvB4bKG1HOz/wYwoaqIH238kBZA0X1sf4c4//Qj8xLqHwscsh5tIo1bHXnqirNJ3dsA6nvogWsN3FUhAkE19+n/gFDAsWmg014KVYINHGn6n5dm6dn4lyw50teCFYZ2RdnCQy5yULwi7uA0h/hllltynBxJ5V/iLZ3LUUYCTauOqcsLBNBrTCa1zdYtJavTCnZk3sD2xmY07HCFukAV5v3qaBYCnR3pd+e6SgvuScUvJQh6V/Z7CT4k2lBK/xGlgMj6uc8= 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:(13230025)(39860400002)(366004)(346002)(136003)(376002)(396003)(451199018)(2616005)(6512007)(26005)(186003)(53546011)(83380400001)(66946007)(38070700005)(36756003)(33656002)(122000001)(38100700002)(76116006)(66476007)(66556008)(86362001)(4326008)(64756008)(316002)(66446008)(6916009)(8676002)(91956017)(44832011)(41300700001)(5660300002)(8936002)(2906002)(478600001)(6486002)(54906003)(6506007)(71200400001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TFI4WHB5Y0dVdWRBR0w3SWxMaE93NTNIdlZKOGFtRllZWW5IZ3BXL05EenFG?= =?utf-8?B?Q1VFK0ZqeGFoNGZQelRpNytJMG1ydWtQWEg4Y01WdDFtZjZIZitEN0hNbmxQ?= =?utf-8?B?MXVQOWhMbmM0d3VaWDhTQ1FqRGVzRDYwb3ZIdUlOOER5WTIzc24vTWd4OEx4?= =?utf-8?B?QjU1eGtQaHhyQ3QwK0VSZlJ2Z3h1byszSHUrMHVIcXVZdzBNRFdtck1HS3Rt?= =?utf-8?B?cEo1Z2RkKy9xRkIrem04OGVVZnlKa3hmK2ZkN0xYZy9UNExidlFFL0RyOVdm?= =?utf-8?B?L3dGUDh1akFNN0swenAydWZ6cXV5WUIvMVZ5VTFBb0F3ZHpramtWUFJCcVAx?= =?utf-8?B?a20xWTQxWGFld3Npd0YzaUxlT3BFWXhVQ2xGajk5K1lvUjZGODNhNWs5TjM4?= =?utf-8?B?Tkp2Q1B6UGpCaC9MMTRZanBQK3d4S2xnM1psMnZITytwS1VTU0RsdVIzVnlJ?= =?utf-8?B?TytXcHRLTVlONSt5dnFGaEhxZkp2ZFhsUkM3aGFQZmhJcEF0WHFLK1h3WXMr?= =?utf-8?B?ZVpLQWVjOUZqOGxlQ3R6b1dKcDN6RVY1dTV2WGhpbUhKcjhkb0lkcmpxWmc3?= =?utf-8?B?dk1yRFBScHFtOFY3eTk3L2p6MVBzZzZneG1peGRqVzcyRWx3TUI5UDRFc3k2?= =?utf-8?B?b3h3bUk3NER2T0pIOWhtM0liT3dBVHJSZVcrelpYemF5WEJzMWZaTHhsSzV4?= =?utf-8?B?NEVCVUtjbkc4TXJZYTZzSW43Wkx0cG5HanhTN1dSdGNMdzhoSEpTN2xKQ3Bx?= =?utf-8?B?QUs3ZDh4QUtldVgybFBGaDZxNis3Y0Zkd1pDaklpTDVlSUdpU1RBb2FVek8x?= =?utf-8?B?UkVzOTRmQTJ3R295bWRsNW13eEdkZi9SYjg3ZDZVQlg4aFY5aWQxNDlvV0RX?= =?utf-8?B?QzAvekhwemdnL0xDWVdWZlE2dHRTVmp4aCt6c3VhbHJYZkVzNDNmNUljdExx?= =?utf-8?B?QnMydC84TTV0cHc2SEVBU0w1YnU2QTB5dnRET3ZxRHpzd2hDZ0FEd1JaN2RJ?= =?utf-8?B?YmdCSlVNL2svOGd2Wk1CaW8zY01xUDg3ak8xSU5lcWRLWVd2OVJUQVpyZGJI?= =?utf-8?B?SW1iVzhuTG1ZN05ZazU1elZsZFcxSXV6dml3YU9TSEZKdGx4WUpDZVFHNmxh?= =?utf-8?B?VHFQSlBTazE1Nk4xeUZFbW9DODFiNk9aYm4zZlVEUTlBSy9nNk5nLytGVkRC?= =?utf-8?B?Q2t6WlNvU3l0ZXhKWUhMR2cyMWs5TithcUNMU1RHN1lzblpWNFV4MURCYjNZ?= =?utf-8?B?bGlZVXNJajZIRWFFcGZSUlQ4cllxSGk3K25uTkxlNUdmZExtWWdqeHoxQ2ZS?= =?utf-8?B?WFhFVXE5ckUzNVlvczJVK0kvaDBOODFVSmlSenhNeUU2TW5zeGdIdm1HZzl6?= =?utf-8?B?M1lMU2xHOTVuWjJsZi9SSzFtMVU1c2pDb2FPalVjaVBGVnV4cjNIbkExeWdm?= =?utf-8?B?czF5SFZJU3p4S0tCNXNzZXJSMFRKeHl0VkgwTnM3WDFPVTNVTCtJMGI2eVJw?= =?utf-8?B?bnBnVmhhZEhvakkvSTRsWmdIK2lQM0Z1b0hLajBjN1F0d201RkhtcHdyZW9D?= =?utf-8?B?K01oeTcrajRLbHJmcXBCclF6TTdnMFlDZUVtWG9MZjdBVEtkWVV0T1p6amV6?= =?utf-8?B?d3VDTDVkYldwY2tuSW01TDdxUlh1eE5xYSs0RVYvTVVMU0RIMFZkNEdqSkYz?= =?utf-8?B?WVl3cFlaUVByamVrM29IRW9rUkVscmZZeFpuV2tIc3ZPMzJ1ZEFtaUpnQzMy?= =?utf-8?B?VlU0V1BlMktLTFRDaXhzTXdHMHUvcy9IWHc3Qm5Fb1RzS2Y2YTk5VWNaY044?= =?utf-8?B?YWFRWnc2em43RjlXeXFmTzVGMy9nSHI0Ri9vaTU5K1JtNjJ0Z2E0N0U4SXNI?= =?utf-8?B?d3dxTnV3TzNPazJoOWlKU2xYWmE2c1lmQ1FrTklCYnR2ZWRTcjRWUlgzOWpn?= =?utf-8?B?a0ZJVW9oZ3ZhMmJkQ09hWjNhalJ4bGE0ZFlneFMvSlVsZGQvSjhMZmVMOTZ6?= =?utf-8?B?NHN0NGMxWTMraEdHNmU0Nm9ubnUyZFdNemo2R1RsU0R3Zm1ZUDFQdW5jZDc2?= =?utf-8?B?SGhQdXlONk9PYTBHN0hGaUFqK0p3NUcwd2xGUWdvaCtxT1hJSDFHZ0FUR0hB?= =?utf-8?B?WU9WS1JlSjBJVHZ4dWl0ZHA4Nkl3dEZ2UnZVbEJzbm5WT09XdzczSGx2dFNM?= =?utf-8?B?eGc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 2htYiaIXAArNf9RBURGLB/67oQBB4h9yNIeLWXdW5JEoLI8yoLRsnDx7sUyu3BLjgi4aDvWYj3ykfKmGMcQ6A5OzQ1EPA05Bzl8HbdG+ZpFqZs16lcXRm1SVn9MSlBg1xPvb8TnIBWnd6RIW/F9yln9BjMVWNzDSZdgSr2/b1GCrJzo9bJDEG6fqwyr0rH9/xGaAyEHYTiG77my3xtWZVGrrn1xmdyzUCqSsvUo0m+j0OuJofMK65Eo9vxyZu0WDJpPUEKQxPxKrd05YWdGbpk1aLMe7KVFApdq4YKxOwvpSpQ7MNI1f+Ve/SpBNpjYPzGrRmmgc388rlRO3gzZsOTD3i1N6qbwgwmb+lNm1/ITtiU78SRkM4ksjsvo5FwnZxiDIMhavDwC/DSxLJI1i82jWGjYF9FMVcBn/Ctg5ATDSAG8saugvNulgnerlvY6X3WrakaMFJd85YPCaPmPk5kiQ+EfU2fQDvzHphO3kV/OCe8a2VR8KBnbMg3enh1dAeMyNuIoO9pvvFxZ0VyjGarP/hf8gpbr/3cTOre+nT8JZ60gExMwWqlas0g7+I7O6gUOnKqK+WUGHwtNCjdnEF4KqO0R0pRjsPIgEuVTAlpS6/gpXuTRpQYXbe6zDRyzC+SX8Yl4Ku8KY19EV0ARanPYOBZrsn4NPBZ3MrLNpqRbwx/mHyOP5zCbZf6X4G5fvPabBKztwNK36Hnzqd+8P8yvGoRZN7uCKQj2blT51V/42ebNK+DggPVcH5NwNTAXli+WkKuDacJ5UgPEfVGcAsjlnwR31CHAHWyqQULVNbwvX4pQnc93GGYHmlUUKQiFc0pAC845unihItjXI6y9G2g== 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: 60742d8c-14c6-403a-fd63-08daffc4ab5a X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2023 17:42:17.9573 (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: dWDEdO3GWTMnT2e6I7mDIt0KBpMe7GrUu5mRM/oUJkfMj0czMeH5kx/wkYpeM0X0a5tZaGPKMi9SLtPH7JebZA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB6077 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-26_08,2023-01-26_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 spamscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301260170 X-Proofpoint-GUID: 8T76Ef5w_eL2hzfd_aQ0QOeMIeEXqn8b X-Proofpoint-ORIG-GUID: 8T76Ef5w_eL2hzfd_aQ0QOeMIeEXqn8b X-Spam-Status: No, score=-5.4 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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DQoNCj4gT24gSmFuIDI2LCAyMDIzLCBhdCAxMjoxNiBQTSwgU2lkZGhlc2ggUG95YXJla2FyIDxz aWRkaGVzaEBnb3RwbHQub3JnPiB3cm90ZToNCj4gDQo+IE9uIDIwMjMtMDEtMjYgMTE6MjAsIFFp bmcgWmhhbyB3cm90ZToNCj4+IEhpLCBTaWRkaGVzaCwNCj4+IFRoYW5rcyBhIGxvdCBmb3IgdGhp cyBwYXRjaCwgYWZ0ZXIgLWZzdHJpY3QtZmxleC1hcnJheSBmdW5jdGlvbmFsaXR5IGhhcyBiZWVu IGFkZGVkIGludG8gR0NDLA0KPj4gIEkgdGhpbmsgdGhhdCBtYWtpbmcgdGhlIHRyZWUtb2JqZWN0 LXNpemUgdG8gaGF2ZSBjb25zaXN0ZW50IGJlaGF2aW9yIHdpdGggZmxleCBhcnJheXMgaXMgYQ0K Pj4gdmFsdWFibGUgYW5kIG5hdHVyYWwgd29yayB0aGF0IG5lZWQgdG8gYmUgYWRkZWQuDQo+PiBJ IGFsc28gbGlrZSB0aGUgY29tbWVudHMgeW91IGFkZGVkIGludG8gdHJlZS1vYmplY3Qtc2l6ZS5j YywgbWFraW5nIHRoZSBjb2RlIG11Y2ggZWFzaWVyIHRvIGJlIHVuZGVyc3Rvb2QuDQo+PiBNaW5v ciBjb21tZW50cyBiZWxvdzoNCj4+PiBPbiBEZWMgMjEsIDIwMjIsIGF0IDU6MjUgUE0sIFNpZGRo ZXNoIFBveWFyZWthciA8c2lkZGhlc2hAZ290cGx0Lm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gVGhl IHRyZWUgb2JqZWN0IHNpemUgcGFzcyB0cmllcyB0byBmYWlsIHdoZW4gaXQgZGV0ZWN0cyBhIGZs ZXggYXJyYXkgaW4NCj4+PiB0aGUgc3RydWN0LCBidXQgaXQgZW5kcyB1cCBkb2luZyB0aGUgcmln aHQgdGhpbmcgb25seSB3aGVuIHRoZSBmbGV4DQo+Pj4gYXJyYXkgaXMgaW4gdGhlIG91dGVybW9z dCBzdHJ1Y3QuICBGb3IgbmVzdGVkIGNhc2VzIChzdWNoIGFzIGFycmF5cw0KPj4+IG5lc3RlZCBp biBhIHVuaW9uIG9yIGFuIGlubmVyIHN0cnVjdCksIGl0IGVuZHMgdXAgdGFraW5nIHdoYXRldmVy IHZhbHVlDQo+Pj4gdGhlIGZsZXggYXJyYXkgaXMgZGVjbGFyZWQgd2l0aCwgdXNpbmcgemVybyBm b3IgdGhlIHN0YW5kYXJkIGZsZXggYXJyYXksDQo+Pj4gaS5lLiBbXS4NCj4+PiANCj4+PiBSZXdv cmsgc3Vib2JqZWN0IHNpemUgY29tcHV0YXRpb24gdG8gbWFrZSBpdCBtb3JlIGNvbnNpc3RlbnQg YWNyb3NzIHRoZQ0KPj4+IGJvYXJkLCBob25vcmluZyAtZnN0cmljdC1mbGV4LWFycmF5cy4gIFdp dGggdGhpcyBjaGFuZ2UsIGFueSBhcnJheSBhdA0KPj4+IHRoZSBlbmQgb2YgdGhlIHN0cnVjdCB3 aWxsIGVuZCB1cCBjYXVzaW5nIF9fYm9zIHRvIHVzZSB0aGUgYWxsb2NhdGVkDQo+Pj4gdmFsdWUg b2YgdGhlIG91dGVyIG9iamVjdCwgYmFpbGluZyBvdXQgaW4gdGhlIG1heGltdW0gY2FzZSB3aGVu IGl0IGNhbid0DQo+Pj4gZmluZCBpdC4gIEluIHRoZSBtaW5pbXVtIGNhc2UsIGl0IHdpbGwgcmV0 dXJuIHRoZSBzdWJzY3JpcHQgdmFsdWUgb3IgdGhlDQo+Pj4gYWxsb2NhdGVkIHZhbHVlIG9mIHRo ZSBvdXRlciBvYmplY3QsIHdoaWNoZXZlciBpcyBsYXJnZXIuDQo+PiBJIHNlZSBmcm9tIHRoZSBj aGFuZ2VzIGluIHRoZSB0ZXN0aW5nIGNhc2UsIHRoZXJlIGFyZSB0aGUgZm9sbG93aW5nIG1ham9y IGNoYW5nZXMgZm9yIHRoZSBleGlzdGluZyBiZWhhdmlvciAoY2FuIGJlIHNob3cgd2l0aCB0aGUg dGVzdGluZyBjYXNlKQ0KPj4gKioqKkZvciBub24tbmVzdGVkIHN0cnVjdHVyZXM6DQo+PiBzdHJ1 Y3QgQQ0KPj4gew0KPj4gICBjaGFyIGFbMTBdOw0KPj4gICBpbnQgYjsNCj4+ICAgY2hhciBjWzEw XTsNCj4+IH07DQo+PiAxLiAgVGhlIE1pbmltdW0gc2l6ZSBvZiB0aGUgcmVmZXJlbmNlIHRvIHRo ZSBzdWJvYmplY3QgdGhhdCBpcyBhIHRyYWlsaW5nIGFycmF5IG9mIGEgc3RydWN0dXJlIGlzIGNo YW5nZWQgZnJvbSDigJww4oCdIHRvIOKAnHNpemVvZiB0aGUgc3Vib2JqZWN0Ig0KPj4+IC0gIGlm IChfX2J1aWx0aW5fb2JqZWN0X3NpemUgKCZwLT5jLCAzKSAhPSAwKQ0KPj4gKyAgaWYgKF9fYnVp bHRpbl9vYmplY3Rfc2l6ZSAoJnAtPmMsIDMpICE9IDEwKQ0KPj4gKioqKkZvciBuZXN0ZWQgc3Ry dWN0dXJlczoNCj4+IHN0cnVjdCBEDQo+PiB7DQo+PiAgIGludCBpOw0KPj4gICBzdHJ1Y3QgRDEN Cj4+ICAgew0KPj4gICAgIGNoYXIgYjsNCj4+ICAgICBjaGFyIGFbMTBdOw0KPj4gICB9IGo7DQo+ PiB9Ow0KPj4gMi4gICBUaGUgTWF4aW11bSBzaXplIG9mIHRoZSByZWZlcmVuY2UgdG8gdGhlIHN1 Ym9iamVjdCB0aGF0IGlzIGEgdHJhaWxpbmcgYXJyYXkgb2YgdGhlIGlubmVyIHN0cnVjdHVyZSBp cyBjaGFuZ2VkIGZyb20g4oCcc2l6ZW9mIHRoZSBzdWJvYmplY3TigJ0gdG8g4oCcLTEiDQo+Pj4g LSAgaWYgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJmQtPmouYVszXSwgMSkgIT0gc2l6ZW9mIChk LT5qLmEpIC0gMykNCj4+PiArICBpZiAoX19idWlsdGluX29iamVjdF9zaXplICgmZC0+ai5hWzNd LCAxKSAhPSAoc2l6ZV90KSAtMSkNCj4+IC4NCj4+IDMuICBUaGUgTWluaW11bSBzaXplIG9mIHRo ZSByZWZlcmVuY2UgdG8gdGhlIHN1Ym9iamVjdCB0aGF0IGlzIGEgdHJhaWxpbmcgYXJyYXkgb2Yg dGhlIGlubmVyIHN0cnVjdHVyZSBpcyBjaGFuZ2VkIGZyb20g4oCcMOKAnSB0byDigJxzaXplb2Yg dGhlIHN1Ym9iamVjdCINCj4+IC0gIGlmIChfX2J1aWx0aW5fb2JqZWN0X3NpemUgKChjaGFyICop ICZlLT5qWzBdLCAzKSAhPSAwKQ0KPj4+ICsgIGlmIChfX2J1aWx0aW5fb2JqZWN0X3NpemUgKChj aGFyICopICZlLT5qWzBdLCAzKSAhPSBzaXplb2YgKGUtPmopKQ0KPiANCj4gQWxsIG9mIHRoZSBh Ym92ZSBpcyBjb3JyZWN0LCB0aGFua3MgZm9yIHRoZSBoaWdoIGxldmVsIHJldmlldyENCj4gDQo+ PiBJIHRoaW5rIHRoYXQgYWxsIHRoZSBhYm92ZSBjaGFuZ2VzIGFyZSBnb29kLiBNeSBvbmx5IGNv bmNlcm4gaXMsIGZvciB0aGUgY2hhbmdlIG9mIHRoZSBNaW5pbXVtIHNpemUgb2YgdGhlIHJlZmVy ZW5jZSB0byB0aGUgc3Vib2JqZWN0IHRoYXQgaXMgYSB0cmFpbGluZyBhcnJheSAodGhlIGFib3Zl IGNhc2UgMSBhbmQgMyksIHdpbGwgdGhlcmUgYmUgYW55IG5lZ3RpdmUgaW1wYWN0IG9uIHRoZSBl eGlzdGluZyBhcHBsaWNhdGlvbiB0aGF0IHVzZSBpdD8NCj4gDQo+IEkgZG91YnQgaXQsIGJlY2F1 c2UgdGhlIDAgcmV0dXJuIHZhbHVlIGZvciBtaW5pbXVtIG9iamVjdCBzaXplIGlzIGVzc2VudGlh bGx5IGEgZmFpbHVyZSB0byBkZXRlcm1pbmUgbWluaW11bSBvYmplY3Qgc2l6ZSwgaS5lLiBhIHNw ZWNpYWwgdmFsdWUuICBUaGlzIGNoYW5nZSBjYW4gYmUgaW50ZXJwcmV0ZWQgYXMgc3VjY2VlZGlu ZyB0byBnZXQgdGhlIG1pbmltdW0gb2JqZWN0IHNpemUgaW4gbW9yZSBjYXNlcy4NCj4gDQo+IExp a2V3aXNlIGZvciB0aGUgbWF4aW11bSBvYmplY3Qgc2l6ZSBjaGFuZ2UsIHRoZSBjaGFuZ2UgY2Fu IGJlIGludGVycHJldGVkIGFzIGZhaWxpbmcgdG8gZ2V0IHRoZSBtYXhpbXVtIG9iamVjdCBzaXpl IGluIG1vcmUgY2FzZXMuIERvZXMgdGhhdCBzb3VuZCByZWFzb25hYmxlPw0KDQpZZXMsIG1ha2Ug c2Vuc2UgdG8gbWUuDQoNClRoYW5rcy4NCg0KUWluZw0KPiANCj4+PiArCSAgLyogSWYgdGhlIHN1 Ym9iamVjdCBzaXplIGNhbm5vdCBiZSBlYXNpbHkgaW5mZXJyZWQgb3IgaXMgc21hbGxlciB0aGFu DQo+Pj4gKwkgICAgIHRoZSB3aG9sZSBzaXplLCBqdXN0IHVzZSB0aGUgd2hvbGUgc2l6ZS4gICov DQo+PiBTaG91bGQgdGhlIGFib3ZlIGNvbW1lbnQgYmU6DQo+PiArCSAgLyogSWYgdGhlIHN1Ym9i amVjdCBzaXplIGNhbm5vdCBiZSBlYXNpbHkgaW5mZXJyZWQgb3IgaXMgbGFyZ2VyIHRoYW4NCj4+ ICsJICAgICB0aGUgd2hvbGUgc2l6ZSwganVzdCB1c2UgdGhlIHdob2xlIHNpemUuICAqLw0KPj4+ IAkgIGlmICghIFRZUEVfU0laRV9VTklUIChUUkVFX1RZUEUgKHZhcikpDQo+Pj4gCSAgICAgIHx8 ICEgdHJlZV9maXRzX3Vod2lfcCAoVFlQRV9TSVpFX1VOSVQgKFRSRUVfVFlQRSAodmFyKSkpDQo+ Pj4gCSAgICAgIHx8IChwdF92YXJfc2l6ZSAmJiBUUkVFX0NPREUgKHB0X3Zhcl9zaXplKSA9PSBJ TlRFR0VSX0NTVA0KPj4+IAkJICAmJiB0cmVlX2ludF9jc3RfbHQgKHB0X3Zhcl9zaXplLA0KPj4+ IAkJCQkgICAgICBUWVBFX1NJWkVfVU5JVCAoVFJFRV9UWVBFICh2YXIpKSkpKQ0KPj4+IAkgICAg dmFyID0gcHRfdmFyOw0KPiANCj4gT29wcywgeWVzIGluZGVlZCwgZml4ZWQgaW4gbXkgY29weS4N Cj4gDQo+IFRoYW5rcywNCj4gU2lkDQoNCg==