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 B5B9A3858D38 for ; Thu, 11 Apr 2024 13:17:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B5B9A3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B5B9A3858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712841424; cv=pass; b=vk/LhMKbjzyzgqdXe4UUt9zGxLd1B3k+FwPy0kLl1Wc95O2yQqhIY9X4KWlRze3m44N1XUnrZDJ/5FMpV+5FsPGL6/LNHl/P28vgsRhs+CTcjw20RH11PO1qlqi4/N70LBEr4WXoAWu+Kes2p1WX8ywg/CAYf39/qH8kv0CdQN4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712841424; c=relaxed/simple; bh=bE1YakdLGsyfQN+Zzf/WKTfcCWivbKMakOG3HnLdqZw=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=dMFB1z/6vkh6sad0zmM1Lkck6O4I8jqn8RFSq/hcr/RGDyHSMzBxMYHMxE0WwEdq3XNp1zwRq674KuVYD8RJi94mspqWugW9Ha9csuSn+SMfRlARYXqLfyd+H1hqAkwwErK6gE0zjUjGYyT2ntkMcqbZ5HcRluDoxE4SYt3rSVk= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43BCPcoI021648; Thu, 11 Apr 2024 13:17:01 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-2023-11-20; bh=bE1YakdLGsyfQN+Zzf/WKTfcCWivbKMakOG3HnLdqZw=; b=nZtbx1QU7vaoAltNjJ/isnloFk7nBW8S7YqqrscpFgAxCy/WiEKcBps71Zz/P68Q/Gn0 cLeLuakH6rupdqw7lYVB40IYs33VlOktFXJx6mqk77AoGXzQZgTowM21LFI0otenB0wZ eL8DsHnKwS0MZImn+GPcwPeiDqXrdAs6pTjS/E6FL/SMaLjqmwrnozjp37J+VTLgVa/a hyCwS+vGUvgRJwrjjlTXRPPwFWprOYK7AfaQW4wwHOYXWMVoNvZXrbbZWqoUFlC2n7Tc PYuLKzq2nBDc0zR6s2vBMvw7RmbPG0YruRgWYUI/HqymikqgZcebOURHjGoAb+CmYy/R dA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xax0usj8b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 11 Apr 2024 13:17:01 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 43BCAp1N026260; Thu, 11 Apr 2024 13:17:00 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3xdrssk427-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 11 Apr 2024 13:17:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DV5G/z9n2/pwCkgMV9P13bT04Q7/8ZxEP00pw5wVyy4uq306aBYoVfTu9sjK7YjFu9TF72bYxyKnogxHirgy8NplCZ5HJHDJCbRle2Xg7Wmnwmfl4BzvzWBCf4XUkfPUvLbOrpqxIhDoXXKRFTn5qFR0U0IHZ6i04LW4zBZVOFMOttI8SdtYi3b4KIyY4AFZN/gJ9E811iJEi/uvWSc7ctj9X1R33jQdsPOhIroB/JOmApfmpH9JD+OWtJ/8RbJYMt2Rahw45CAqNvLAB5d2hzbQsRqL/Ekw+1ZGE5+v5miM/5ib2GFwgJqVjq1RSFWS2SEsDH+A/0FvVHS98lbIrQ== 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=bE1YakdLGsyfQN+Zzf/WKTfcCWivbKMakOG3HnLdqZw=; b=V7dO9eP/4EkjCNoYo9cqwy957+Ei8vMshKxElWGskzuvPR9tfaNzV1yWOvIY/B/8eaDKLvDq7TL8saGn8C4OeEg6qOsumg5dofjlPHUeQLyuggNcen14HcRCtvJD1xz8RFutvCiwpBJcIV5/tEVTx0Qq/utK3YPvKyFgl8UPzNdDRRkgc7pK8NyuK1/uKpwqddLWvzpTrENQcIo1ICzs+VpKlu+oWcuvjjEnId5b+jr0d6E+XJs6wLPDFLtAjf1dOCrq26G936vaCVU7Qc9s5ZEI/Vb6nG/OuIWcePB77zZxLr/Qu/DgS/JcyR7x68pJjQchvHgeES+KY+zmW4zwFg== 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=bE1YakdLGsyfQN+Zzf/WKTfcCWivbKMakOG3HnLdqZw=; b=OA50x/sNoxf2GIwCVn31y3BH2JSPmH6pmBylCvX+IC0kEnxsjBv0oYsEBMHk06r9F2hVg+mSAkdW/eAPnPa5x0gEaN8hqpdtl0bwioOfNfCwKUCH5/bpUki4at/QhysXw4GTWTOyTg6L3klUATnT+gr9WFy9tPYXf/eSZhCpTBs= Received: from CY8PR10MB6538.namprd10.prod.outlook.com (2603:10b6:930:5a::17) by SJ2PR10MB7653.namprd10.prod.outlook.com (2603:10b6:a03:542::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Thu, 11 Apr 2024 13:16:58 +0000 Received: from CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc]) by CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc%6]) with mapi id 15.20.7409.042; Thu, 11 Apr 2024 13:16:58 +0000 From: Qing Zhao To: Martin Uecker CC: Joseph Myers , Richard Biener , Siddhesh Poyarekar , Kees Cook , "isanbard@gmail.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v8 1/5] Provide counted_by attribute to flexible array member field (PR108896) Thread-Topic: [PATCH v8 1/5] Provide counted_by attribute to flexible array member field (PR108896) Thread-Index: AQHagfMoTvsykZNFLkqLHn8p+Gr+abFh1xSAgAAN24CAAAthAIAACDOAgACvV4CAAHlCgA== Date: Thu, 11 Apr 2024 13:16:58 +0000 Message-ID: <11DF125B-8146-47A8-A728-B549F2066420@oracle.com> References: <20240329160703.4012941-1-qing.zhao@oracle.com> <20240329160703.4012941-2-qing.zhao@oracle.com> <7516d9f96d842f9316b7623b6851ee32caf74264.camel@tugraz.at> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3774.500.171.1.1) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR10MB6538:EE_|SJ2PR10MB7653:EE_ x-ms-office365-filtering-correlation-id: eed7fd32-b85a-4eba-78eb-08dc5a29aa81 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: guXNqQppEJorZ8OCAI7wJz1SVUqBbfU/ept7196Y6w8xcgE7DR0gjwnRQw1/Jdo5H4tZAzomzzmQJVgmvZrW32PpKJMEQyNdn+kWq/0JuxvRrzAPLkarSYkf2Oa4mSpf3qnJ0Iow7KorrO4Xr5CIqBwy3gx2PmO1cmDl74H8+TT/PlIGzM499jN0vqBYIKIXl+PZgZuzFvbyh5y0oal28WtKQgDsdn0Iy6Ifg+n2wq5IWUhh11pW8eZJSDTWCzwlvL6vTBRww98qfwQ+c3GC1OBfTyo4qKKwg6CYZyr/X7kziA7NDccdOQzvnjXkJj4O4mbvZva1p6ip5NjpFlVtCmSIgFn3zqOQVmXp7pAZoqsfrWjRciFKhASKEgFSrd8rHUaKT4JaDkJmxNVWkbF7iMH2U9C3OWBsSnscyEx5io+3FBTLs5516r83v2qIhnkDnRWt3/KoLPZHJ1Oi0FBQNQFRvAGUwEjV7IijQQzehBrY7O3H8DH0T2h/VnDQju46UNxCeE6eD3fOE0VJ6eDoyxF6RoKZxrMTdjqa7m2heJBA7ZIejgVd7L3f6b/DoiXxIjPpBFVWhg7guOsk6bHldCa2pzXRwQd4b1bYkvwRijmVNnEctOYfIv+t0ufwk/Bnk7pmTG/YkkIt8IIus9lkvCln4ikfMf5pkGceanjPKTIaya9BQp1+tkPgktbiSPUMQOVmk64ZrMv4Incvz6uMqgoIsRIK9y/Xw1d5riXASoE= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB6538.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d25WTi9LRzJRZmZ6ZlVFR0FQZnY1Z0FJdkk0Yyt2U0E0K0VoY09jM0xoRlFS?= =?utf-8?B?NTJlWWlvNkpQa1dFMnJWV29vVlpUYUpKTlZpNFRZWGI0d0VHM3pza0tCNE80?= =?utf-8?B?ZlFGN3lUSkUzY0lmdjd2U1Nicjhpa1UrRlVKdUlmZTExVGErR0JWV3F1U1Rh?= =?utf-8?B?VmlhRHhiNGJKVW1mWUFWUlBDMjBNSzhXcTNzMGRucUwyaDB4ejdLcWYrN3hW?= =?utf-8?B?cVhpWXQ5SXk4bG5aQkMxTk50K2J5MEVOeWdqLzREdmplQjVRcVprNFcwbGxH?= =?utf-8?B?OTZSeVlUcTQvNmk1ZFRRK0lLa0JuVW1BS2FhMWNHa0tQNTZYMldaSzIzL2tC?= =?utf-8?B?U2U1QzVRWDR4UWZDdnE2bFN2VTJjSkdyaHlPU2xMRjdSZi84SjBBbk5MM05x?= =?utf-8?B?YTZtNGx4WUZHMkw5aTZSRnNUdFlGdWFzU0VzT0dsSWhCcFhFQzkzNi9yczJG?= =?utf-8?B?RWVIK3RnL3ViTksyek9Td3hqWS92K2QxMXQ2VkpKT3p3UUNsc1U0Q1AvbzRY?= =?utf-8?B?VHZKa2RZMERsMFdRYktwNnZvNVFPZy84YUVadW44c3ZJck5OVWNNcVBXSE1j?= =?utf-8?B?RmE3ek5SelFraGRlS0dac0xlWktwSHBsNlNReC9SN3pMUEpNb0k0RzFGQ2lN?= =?utf-8?B?L3B0aXA0WnFvZGUwa0J0OHdESnJqOEhLd3dSbFZkOWVSbklycGdkcjFhOXRu?= =?utf-8?B?MzVRY0xjSHNGSWlQbGk1amJjbnNPNE5sMXNkWmI4WjVidW55WExMcTZVa2Qx?= =?utf-8?B?STdQV3d1OEtYSU9YZzVjU3hjaGQ1WnlVYVJQbWUxckhnMUlpZGc4RnFyVmYy?= =?utf-8?B?RUtwSE1UeWhJWEdQYlU1RUUxRm5Yd2dJZUZxMWxJUXJzajdoVlNTRm9hOUlh?= =?utf-8?B?aWM0ZXEwMEEzc3FoM1IwZ1hGSEVRU0JrNDRLUE1BSUt1cWxqTHkwSlllWXhs?= =?utf-8?B?T1g5ekkyK0JpR2lRSlhhWUFXdmJSVE5qQzBNK2hMdkh6cHZkRHRTNW5zK3Fk?= =?utf-8?B?aWRnRHR1MU5haFZKaDJ5WlI2S29TRVhoSGg4MlNFOSs3Z2xPcTRxUHlOc3VT?= =?utf-8?B?aG1oNFA0VzlFYm5MdkRqWHRtK1ZyRXdXNmRnOHkzVCs0clljb2NRclZEdVRD?= =?utf-8?B?NXVydlgyWVFUL0pKN3VXZkdrQWFlKzFZdTRaY3p0UlNBODJueUdYZEdIaXZB?= =?utf-8?B?aU82S3hhRVQzVkg1ZGJXZE9tZXpscE1LSUFzdGlOd0dFaTVBYnRQMUN5UkZ5?= =?utf-8?B?R2hqVmVUdGNCeHBHN2ZhSGlnWGtYRUgvbGVnUjFZdk03dkt0UlBpckQ2Qmo1?= =?utf-8?B?eUNKMllaN3pWSEZ0OGcxYjZOWG5oZU50WjA0d1F5b1FJSzl1SWNUUzFpU0po?= =?utf-8?B?UDlVS1NSME5ITVVFTElCM2REQnc4S0xRVmVWTkJ1bEtYbmp6TGhOVkFybm1V?= =?utf-8?B?QW5hTFRVYWlyR1BRd012d2I1NlZPZmpLNnpkanRWeHhWMUlxallJVGpFY2tr?= =?utf-8?B?VnhRVE5sTkJyN0RUZjFxbklINXJydXl0WmlieEtUdVFITkVVV3JKQmIxUTl3?= =?utf-8?B?T1dmRkVNektHOXQwYzFlcnkzS0swQXVFVThOL09Vd2p5TGxBWUh1d2FUWXgv?= =?utf-8?B?YzAwamRKWlFNclJGb3l1VDE1WDdRSWIvRVRvaU1KZmhFZTFkUTZtVDNDRUkv?= =?utf-8?B?R0RCLzZoVjg2TWpMSVVGVHN1N09DdmZjUUFVd3FLdHpLWnNSY09YQjUxN1VO?= =?utf-8?B?VmlqOVE1Mnl6bTdxU2k4czJEeHEzZ21GQi9pdnZBZWVSWG5haTZiT2pBZ1R6?= =?utf-8?B?RVZzVmZuRTJrVzFKRWlXMUJma1ZPWlRMcEkweFNlTlVPT1EwU3lIQkw2SGFM?= =?utf-8?B?Vm1MSUdGZFNoZFIrYUFKNlBVOFdGWVhBQ0FRR3Q1bTNEV1p2eXNZR2VqMGli?= =?utf-8?B?bzU5U2dYOHp6QjlTa0Q2K3NpWCtiT0loaXRHRVM4Und1UnZJNDBheWc2UGVL?= =?utf-8?B?QWpZNmJXQnE4ZU41VGpqRjZldjZkalQzTDUwRXhLVFkzRm5VdEZRbjIwZVVs?= =?utf-8?B?M2FoZm1PaVVyQm0rZnU1U04wdmJyWVRtT0VST2VZdXFHMnlrRFV6K2tpeWlC?= =?utf-8?B?eGsyMVF5T0crMCt6T0Nnd0xXZHhHRUc4Qk9QR3VmK1dDS0hCVGRkdXhUSm04?= =?utf-8?Q?NJIs7dOaF8q23TBmjUMul4Y=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <59CC0AFDED2AA04C94F9981E726A0D25@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: cl77e2rb1HUzGUA+JsXW2IoMst3Y12NPZkuqhqIpGWR9H7lQV5H9SdocM4cxOGo6IkFua/d7y2/bQ60Ier6cwB/FzD14NzDjaXvUahiBPa3WbI60Pu8mz+jCkSse+gXHH2Fsuh0fKLxrPqsqaHHl4UBeMe93srrKwxPqREYENB6NDWBIZfNEnQnmyrfEuLBaClTFx6PhK73OdwtBmxQzmKZh4GYbGZP1+JGfTlCYp2n4Smk9ATKoze4l34NHHIbuyAKAwJwtmv6CMiTz3LUD7sCdlCupxYTQZx3pD1kpgqdmdkaIrcO9zdqQ7gv+LTW32ImwuAy1N5doYQqG52eK6HsvOqmtlpJCRoSVyR+0wCwlpV6aNLCOZwRy1FrzUo7DDC3ry7UEgJeuTLjT3eUjdm0qIUV4DXagu1LqgFN7UuL3Bv9g8rZEOONqmDr0Uhdh8tHxKoKcebaJFK1rqFeti//f3uVm3CBbfcRUddJCKmsjkLWLpQGeiHH/PjFRa0jwVG+jxctW2WZFX89KBr0LjhPNRTa6xfD0EOIIZwMjlVhPUDktX6gznTN0Z7lN0b6hgkX3clOf+jc4Y9VAPXnFyFmI8tFOcg0C3rvu9nh0UHA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB6538.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eed7fd32-b85a-4eba-78eb-08dc5a29aa81 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2024 13:16:58.0173 (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: Ceq7etN3Gh3sUwb0Ey0Z6JS+PM+GZEqEPDMLGssqowCuz0sQWKzq/5nV/K12Txutb83vrwHgHuW9LGqaQRA5cg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7653 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-11_06,2024-04-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 adultscore=0 phishscore=0 spamscore=0 malwarescore=0 mlxlogscore=522 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404110096 X-Proofpoint-GUID: W25Wd5-o1TaYbRUtWXkea0CU4pbliayi X-Proofpoint-ORIG-GUID: W25Wd5-o1TaYbRUtWXkea0CU4pbliayi X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,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: DQoNCj4gT24gQXByIDExLCAyMDI0LCBhdCAwMjowMiwgTWFydGluIFVlY2tlciA8dWVja2VyQHR1 Z3Jhei5hdD4gd3JvdGU6DQo+IA0KPiBBbSBNaXR0d29jaCwgZGVtIDEwLjA0LjIwMjQgdW0gMTk6 MzUgKzAwMDAgc2NocmllYiBRaW5nIFpoYW86DQo+PiANCj4+PiBPbiBBcHIgMTAsIDIwMjQsIGF0 IDE1OjA1LCBNYXJ0aW4gVWVja2VyIDx1ZWNrZXJAdHVncmF6LmF0PiB3cm90ZToNCj4+PiANCj4+ PiBBbSBNaXR0d29jaCwgZGVtIDEwLjA0LjIwMjQgdW0gMjA6MjUgKzAyMDAgc2NocmllYiBNYXJ0 aW4gVWVja2VyOg0KPj4+PiBBbSBNaXR0d29jaCwgZGVtIDEwLjA0LjIwMjQgdW0gMTc6MzUgKzAw MDAgc2NocmllYiBKb3NlcGggTXllcnM6DQo+Pj4+PiBPbiBGcmksIDI5IE1hciAyMDI0LCBRaW5n IFpoYW8gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+PiArICAvKiBJc3N1ZSBlcnJvciB3aGVuIHRoZXJl IGlzIGEgY291bnRlZF9ieSBhdHRyaWJ1dGUgd2l0aCBhIGRpZmZlcmVudA0KPj4+Pj4+ICsgICAg IGZpZWxkIGFzIHRoZSBhcmd1bWVudCBmb3IgdGhlIHNhbWUgZmxleGlibGUgYXJyYXkgbWVtYmVy IGZpZWxkLiAgKi8NCj4+Pj4+IA0KPj4+Pj4gVGhlcmUncyBhbm90aGVyIGNhc2Ugb2YgdGhpcyB0 byBjb25zaWRlciwgdGhvdWdoIEknbSBub3Qgc3VyZSB3aGVyZSBiZXN0IA0KPj4+Pj4gdG8gY2hl Y2sgZm9yIGl0IChNYXJ0aW4gbWlnaHQgaGF2ZSBzdWdnZXN0aW9ucykgLSBvZiBjb3Vyc2UgdGhp cyBjYXNlIHdpbGwgDQo+Pj4+PiBuZWVkIHRlc3RjYXNlcyBhcyB3ZWxsLg0KPj4+Pj4gDQo+Pj4+ PiBTdXBwb3NlLCBhcyBhbGxvd2VkIGluIEMyMywgYSBzdHJ1Y3R1cmUgaXMgZGVmaW5lZCB0d2lj ZSBpbiB0aGUgc2FtZSANCj4+Pj4+IHNjb3BlLCBidXQgdGhlIHR3byBkZWZpbml0aW9ucyBvZiB0 aGUgc3RydWN0dXJlIHVzZSBpbmNvbnNpc3RlbnQgDQo+Pj4+PiBjb3VudGVkX2J5IGF0dHJpYnV0 ZXMuICBJJ2Qgc2F5IHRoYXQsIHdoZW4gdGhlIGRlY2xhcmF0aW9ucyBhcmUgaW4gdGhlIA0KPj4+ Pj4gc2FtZSBzY29wZSAodGh1cyByZXF1aXJlZCB0byBiZSBjb25zaXN0ZW50KSwgaXQgc2hvdWxk IGJlIGFuIGVycm9yIGZvciB0aGUgDQo+Pj4+PiB0d28gZGVmaW5pdGlvbnMgb2Ygd2hhdCBpcyBt ZWFudCB0byBiZSB0aGUgc2FtZSBzdHJ1Y3R1cmUgdG8gdXNlIA0KPj4+Pj4gaW5jb21wYXRpYmxl IGNvdW50ZWRfYnkgYXR0cmlidXRlcyAoZXZlbiB0aG91Z2ggdGhlIG1lbWJlciBkZWNsYXJhdGlv bnMgDQo+Pj4+PiBhcmUgb3RoZXJ3aXNlIHRoZSBzYW1lKS4NCj4+Pj4gDQo+Pj4+IEkgdGhpbmsg dGhlIHJpZ2h0IHBsYWNlIGNvdWxkIGJlIGNvbXBfdHlwZXNfYXR0cmlidXRlcyBpbg0KPj4+PiBh dHRyaWJ1dGVzLmNjLiAgSXQgbWF5IGJlIHN1ZmZpY2llbnQgdG8gc2V0IHRoZQ0KPj4+PiBhZmZl Y3RzX3R5cGVfaWRlbnRpZnkgZmxhZy4NCj4+Pj4gDQo+Pj4+IFRoaXMgc2hvdWxkIHRoZW4gZ2l2 ZSBhIHJlZGVmaW5pdGlvbiBlcnJvciBhcyBpdCBzaG91bGQgZG8gZm9yDQo+Pj4+ICJwYWNrZWQi Lg0KPj4+IA0KPj4+IFRoaW5raW5nIGFib3V0IHRoaXMgYSBiaXQgbW9yZSwgdGhpcyB3aWxsIG5v dCB3b3JrIGhlcmUsIGJlY2F1c2UNCj4+PiB0aGUgY291bnRlZF9ieSBhdHRyaWJ1dGUgaXMgbm90 IGFwcGxpZWQgdG8gdGhlIHN0cnVjdCB0eXBlIGJ1dA0KPj4+IG9uZSBvZiB0aGUgbWVtYmVycy4N Cj4+PiANCj4+PiBTbyBwcm9iYWJseSB0aGVyZSBzaG91bGQgYmUgYSBjaGVjayBhZGRlZCBkaXJl Y3RseQ0KPj4+IHRvIHRhZ2dlZF90eXBlc190dV9jb21wYXRpYmxlX3ANCj4+IA0KPj4gDQo+PiBU aGVyZSBhcmUgdHdvIGNhc2VzIHdlIHdpbGwgY2hlY2s6DQo+PiANCj4+ICBBLiBCb3RoIGRlZmlu aXRpb25zIGFyZSBpbiB0aGUgc2FtZSBzY29wZTsNCj4+ICAgICAgVGhlbiBpZiB0aGUgMm5kIGRl ZmluaXRpb24gaGFzIGEgY291bnRlZC1ieSBhdHRyaWJ1dGUgZGlmZmVyZW50IGZyb20gdGhlIDFz dCBkZWZpbml0aW9uLCB0aGUgMm5kIGRlZmluaXRpb24gd2lsbCBiZSBnaXZlbiBhIHJlZGVmaW5p dGlvbiBlcnJvcjsgDQo+PiANCj4+ICBCLiBUaGVzZSB0d28gZGVmaW5pdGlvbnMgYXJlIGluIGRp ZmZlcmVudCBzY29wZTsNCj4+ICAgICAgV2hlbiB0aGVzZSB0d28gZGVmaW5pdGlvbnMgYXJlIHVz ZWQgaW4gYSB3YXkgbmVlZCB0byBiZSBjb21wYXRpYmxlLCBhbiBpbmNvbXBhdGlibGUgZXJyb3Ig bmVlZCB0byBiZSBpc3N1ZWQgYXQgdGhhdA0KPj4gUG9pbnQ7DQo+PiANCj4+IA0KPj4gTXkgcXVl c3Rpb24gaXMsIFdpbGwgdGhlIHJvdXRpbmUg4oCcdGFnZ2VkX3R5cGVzX3R1X2NvbXBhdGlibGVf cOKAnSBjYW4gaGFuZGxlIGJvdGggQSBhbmQgQj8NCj4gDQo+IFllcywgY2hhbmdpbmcgdGhpcyBm dW5jdGlvbiBzaG91bGQgYWRkcmVzcyBib3RoIGNhc2VzIGlmIEkgYW0NCj4gbm90IG1pc3Npbmcg c29tZXRoaW5nLg0KPiANClRoYW5rcyBmb3IgdGhlIGhlbHAuDQpXaWxsIHN0dWR5IHRoaXMgcm91 dGluZSBpbiBtb3JlIGRldGFpbHMgYW5kIHVwZGF0ZSB0aGUgcGF0Y2guDQoNClFpbmcNCj4gTWFy dGluDQo+IA0KPj4gDQo+PiBUaGFua3MuDQo+PiANCj4+IFFpbmcNCj4+PiANCj4+PiBNYXJ0aW4N Cj4+PiANCj4+Pj4gDQo+Pj4+PiANCj4+Pj4+IEluIEMyMyBzdHJ1Y3R1cmVzIGRlZmluZWQgd2l0 aCB0aGUgc2FtZSB0YWcgaW4gZGlmZmVyZW50IHNjb3BlcyBhcmUgDQo+Pj4+PiBjb21wYXRpYmxl IGdpdmVuIHJlcXVpcmVtZW50cyBpbmNsdWRpbmcgY29tcGF0aWJsZSB0eXBlcyBmb3IgY29ycmVz cG9uZGluZyANCj4+Pj4+IGVsZW1lbnRzLiAgSXQgd291bGQgc2VlbSBtb3N0IGFwcHJvcHJpYXRl IHRvIG1lIGZvciBzdWNoIHN0cnVjdHVyZXMgd2l0aCANCj4+Pj4+IGluY29tcGF0aWJsZSBjb3Vu dGVkX2J5IGF0dHJpYnV0ZXMgdG8gYmUgY29uc2lkZXJlZCAqbm90KiBjb21wYXRpYmxlIHR5cGVz IA0KPj4+Pj4gKGJ1dCBpdCB3b3VsZCBiZSB2YWxpZCB0byBkZWZpbmUgc3RydWN0dXJlcyB3aXRo IHRoZSBzYW1lIHRhZywgZGlmZmVyZW50IA0KPj4+Pj4gc2NvcGVzLCBhbmQgZWxlbWVudHMgdGhl IHNhbWUgZXhjZXB0IGZvciBjb3VudGVkX2J5IC0ganVzdCBub3QgdG8gdXNlIHRoZW0gDQo+Pj4+ PiBpbiBhbnkgd2F5IHJlcXVpcmluZyB0aGVtIHRvIGJlIGNvbXBhdGlibGUpLg0KPj4+PiANCj4+ Pj4gQW5vdGhlciBvcHRpb24gbWlnaHQgYmUgdG8gd2FybiBhYm91dCB0aGUgY2FzZSB3aGVuIHRo b3NlIHR5cGVzDQo+Pj4+IGFyZSB0aGVuIHVzZWQgdG9nZXRoZXIgaW4gYSB3YXkgd2hlcmUgdGhl eSBhcmUgcmVxdWlyZWQgdG8NCj4+Pj4gYmUgY29tcGF0aWJsZS4gIFRoZW4gY29tcF90eXBlc19h dHRyaWJ1dGVzIHdvdWxkIGhhdmUgdG8gcmV0dXJuIDIuDQo+Pj4+IA0KPj4+PiANCj4+Pj4gTWFy dGluDQo+Pj4+IA0KPj4+Pj4gDQo+Pj4+Pj4gK1RoZSBAY29kZXtjb3VudGVkX2J5fSBhdHRyaWJ1 dGUgbWF5IGJlIGF0dGFjaGVkIHRvIHRoZSBDOTkgZmxleGlibGUgYXJyYXkNCj4+Pj4+PiArbWVt YmVyIG9mIGEgc3RydWN0dXJlLiAgSXQgaW5kaWNhdGVzIHRoYXQgdGhlIG51bWJlciBvZiB0aGUg ZWxlbWVudHMgb2YgdGhlDQo+Pj4+Pj4gK2FycmF5IGlzIGdpdmVuIGJ5IHRoZSBmaWVsZCAiQHZh cntjb3VudH0iIGluIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyB0aGUNCj4+Pj4+IA0KPj4+Pj4gQXMg bm90ZWQgcHJldmlvdXNseSwgdGhlICIiIHF1b3RlcyBzaG91bGQgYmUgcmVtb3ZlZCB0aGVyZSAo b3IgcmVwbGFjZWQgYnkgDQo+Pj4+PiBgYCcnIHF1b3RlcykuDQo+Pj4+PiANCj4+Pj4gDQo+Pj4g DQo+PiANCj4gDQoNCg==