From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 47DDC4596C; Thu, 12 Sep 2024 13:51:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CF7B240265; Thu, 12 Sep 2024 13:50:59 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2073.outbound.protection.outlook.com [40.107.237.73]) by mails.dpdk.org (Postfix) with ESMTP id 2133440144 for ; Thu, 12 Sep 2024 13:50:58 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RKLv1erqIrqtih/nsEv6DOdQok0x/NE/zuUgI36u01mqQq5/RmXmOmOe/7RVrBn3Dcz21zikdbJa1N3GI7jsYbiJvjb+xiNVaS7GN4aLqCccHkJM4bJL/IlZ55rNowYDNN+k2M68niisA7/PIeg2VSjPgp1ghGsY2uDiFoZ5uipuuy/Yt9AiKp6j6fidho7Pqef8cU6liAG/Dl2TIIn7IZXFQHB+nmNG4WAIaNqgyPP0rTuq+0AnRydqDl4uCSQJwLlGRMpmPD0y6dI/c+xG8ZRDEVVMdzLdd78LeLBiVPlRA9jFAYk3gK2I0IaD8IFf/jLp6Q0f8JZAykI7tW0rVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=NALt08wjbqjFwqOwkkbMOffcCQUqWWdm5kle8JSnK40=; b=s/2uvy6vrZjoUNiXjXrc28Fa0B3bzQF7pQqoQbO5otq63xvm9eAzZ3gibNWv4138HB03lJUdZS3Z+w7/9dA22eIje2rer3VM8kXJvi/I5Lk/bFXJFe9dg8odA4e4wh1fqZQc1NDe/mvWWhBkkaQVknnuIbAZlOF4jl6/yWkbW6pqT8rtMje0cVu8VsJFctOf0c+3E4H18pICHDfbA2yKLasDSPUaxHtxQlE9Tdn7w5T3J6z6WjiFldHTJaUbhD+6tOCUbcVxKfiFsagwnUCS+sMEZ/YZKH23qPkUOHiSTqwW0muMDvZLkPHhGSxRzY4+e5n2Nj61ljcF3HXeMk00bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NALt08wjbqjFwqOwkkbMOffcCQUqWWdm5kle8JSnK40=; b=uWkpXGw1Sm9O4uvQFd7BPrBy6jnH2b5KKDeMqTdgfoooJYD/Wqg1bTqpGlqytbShdLH/5FLPb/zMcRTe9WZPavV+nfsSea5VaWhrAYPygtCDxaBa7nUkAKv2YN4IUrN4YgARf2XKXHjkTQeltjuUZFdm5QBeCy1xvB+gwOGVHoc= Received: from PH7PR12MB8596.namprd12.prod.outlook.com (2603:10b6:510:1b7::6) by BY5PR12MB4049.namprd12.prod.outlook.com (2603:10b6:a03:201::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.18; Thu, 12 Sep 2024 11:50:55 +0000 Received: from PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069]) by PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069%5]) with mapi id 15.20.7939.017; Thu, 12 Sep 2024 11:50:55 +0000 From: "Varghese, Vipin" To: Bruce Richardson CC: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , "Yigit, Ferruh" , "dev@dpdk.org" Subject: RE: [RFC 0/2] introduce LLC aware functions Thread-Topic: [RFC 0/2] introduce LLC aware functions Thread-Index: AQHa+JNN1dIv3haYqUm1ERuQ50RdLbI7nXQAgAgSf4CAA7kzgIAIKv8ggAAKnQCAAmLgMIAA1QwAgACgD/CAAIE/AIAAI0TA Date: Thu, 12 Sep 2024 11:50:55 +0000 Message-ID: References: <20240827151014.201-1-vipin.varghese@amd.com> <45f26104-ad6c-4e42-8446-d8b51ac3f2dd@lysator.liu.se> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ActionId=6383bf48-ff48-4bd3-919e-29697ca9e71d; MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=0; MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=true; MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged; MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open Source; MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2024-09-12T11:24:13Z; MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR12MB8596:EE_|BY5PR12MB4049:EE_ x-ms-office365-filtering-correlation-id: 3afb71c7-cc03-45db-f183-08dcd32128d5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?c0tGWmtUZmVPQ2FjdU9kWHRqMHNPRG5hMlBVS1Qxdis2amF6REZ4eDNlMHpL?= =?utf-8?B?ZjE4WHg2TWZlL3B5aW9UVW9ZRmJsWnFaL0pCMyt1SVlzb1IvQ29GZ2RibVZ3?= =?utf-8?B?VlZORkNKQWg1MUg4ZXk2N0xyZXRRdmtnRFhIZU80b21IQkJzZk1rN3NEaU1G?= =?utf-8?B?a3NUb0k0Ly9CdFZ3ZS9IQXRFeUhHU0FybjBVRXUwVmZBZlA4MFpMN0VmTmNB?= =?utf-8?B?SDB6WTFxNzFYZVdqTzF1cHF5aFE0U3QySUZiUXlSemtiOGlVcmc2c3BwQW1o?= =?utf-8?B?bjVweUEzeHBwOFl6SlY2ZUZmVzgyZ3NzNVQrRVFtK3JBcmUvOXNBTGplZHpI?= =?utf-8?B?c0xTbWFVYXF1TitUc1ZzWFhlSkxHTzgvaCtJc1RQK1RGR21EMXJYUk4za3Yy?= =?utf-8?B?MUxqV1ZoQksxdlJQbW1SUHoyTlYybm0rMGVubjJpNHV5OCtCWG9wSTROUTFC?= =?utf-8?B?ZGpZMElUNW1GaTlvZXpEUGdsVkp4OWtyOWtGYVBCNHhheG5zdXp1K2ZHUURo?= =?utf-8?B?R3Q0Y25JQUNucmFIRDh6NGlVa3NSRVVGSWpESkJzamM5TXYxdmZSYzhiUUZ6?= =?utf-8?B?QlFmb0VxMTkyUVZtQ2s3WmZxdWRuU2Rka3pvazhQOS9kd1NuM3llRWZGZjNk?= =?utf-8?B?aExUSnNsNWI4cnUvby9qQzFUT2EzUVRSOU9kNU9RNWZjMm5Ccm5ZdzNPaktz?= =?utf-8?B?d0ZoSFQxUllqNjRKRGE1VWxLRkw2V0FXR1RySnBNQjZQaEcvVVBrMWdEMklL?= =?utf-8?B?c05aNTRSU3BlcjFRcWNmMnp6dGJ6MmNJTUdlWTBlVzNBSkkyL0NoS2hVNzV1?= =?utf-8?B?dGRCTEpWSkloYUhUNEl2bVdyY1pQbkp6R09abzhhRjUrU3lZWDNOQ2d3QmJp?= =?utf-8?B?OTdmV0wvMjZIMExYcTdNRWVsNTdYRlBOWUpZMlRlWmhDbkt3NU1aZUsvdWtZ?= =?utf-8?B?Wk0yS0x5TmZtRm5Jb0xlZklqU2JHTk96ajYxSVRjUU1FMlhVakVGdldyYjhZ?= =?utf-8?B?UG1UR2hrRWcrTVNWQzNvRkFLRkpSd1pIOUVBQWpMWWxwL1NtL2hTSUhGbU9L?= =?utf-8?B?NDVjZjcva3l6ZVEzUmkwNlFxamZUQUV2MFBmMXpWMFk5OVVHdVExREQyZHFs?= =?utf-8?B?bWZMdDJGbmtUOEpFcFpic3M0Nld6Ni9JVCtyZUhCUVNGN0d4Q21mcGo3eXNn?= =?utf-8?B?UENKajM1aUQ2QmRZN3BYQVFpRjdZdHNMTEx6YWFZYTc1dndLd2RiNHY0WE92?= =?utf-8?B?bFNlM3VicEovaFQ2NTN6ZWFnRmRRTzh6Q3dueVB1SVhRaVJhMmxKNmdpckIx?= =?utf-8?B?dHBLcnpOV2s2ekhOL2RuL2xDVlFBd2lVWXlObitnN1ZjVHRBNHpTSGQ4MitM?= =?utf-8?B?R2hEYU1pbmtWdW9xdjZFSXZ4YTZYd1ZEZ2ZPZUtiZXI3UGtXRk1jQmtwZndu?= =?utf-8?B?WG43Ujl1SGJ0ckVmVTY0TDEzTm9ISWwzQzZsVTR5d3I3UFBBOU1KQStGWFh4?= =?utf-8?B?MWJsVGEyang1UUpOd0dIcE1CMDVQaHlJOXJqbGhJMm1pU1lXdHZOVGl3dWZo?= =?utf-8?B?OGxPVDU3SWJ5bURCdlhRV052NmJGQzkySWNGdE4zTlNBemhzcE5NTjFvSnM0?= =?utf-8?B?OHI4MHFncVFVbnpzOU9VM1VnUUQ3cjlpSExEbkRWS1htOTU5S3NpdWMvaG9F?= =?utf-8?B?dHQrVSs3d3llVDV6UTZuR2Z3N1dON25XUzIvWm56QkRFbUJqdzJUcW9FUDJR?= =?utf-8?B?UU80dytVc3IxMUpzbmRaY2RGV2UvWGFEUnpxaHU1Z05LNW1wN2RKcTRoMGFy?= =?utf-8?B?MXhMM1NHdllGWndMeXcydGhtUXZ2VHVrbEFlS1hPdlJPVXVvRDF3UnRKZDN0?= =?utf-8?B?QU1SMDdkZkttWWRvZlp2NVh1U3NhUTFLVHZ1dWRmWUF0aHc9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB8596.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c2V0K04vK2EzWW5LdDBhWTY4NTFGY1VSdkZBY1c2bTczOGFJeEdRVDhYTUts?= =?utf-8?B?SEZXRytseXo5MGdoa01yUmR5SjkvZG9zL0didWZML05vTnB5bk8vaU05Mksr?= =?utf-8?B?NXV4WENqU0NWNXdsVVZZbnBCNEIwU3JXUUVoS1loZ21BcmRxNUxmK0V5WHN6?= =?utf-8?B?ZFY2UHpDRVlnaEY5QlNMK2ZtaXYySGFOUVhMbFh2ejlpaUQyS2F2QzAzVFNi?= =?utf-8?B?NmZZQWlIRE13U29GWTNSbndSVmdES0RkM2pWUGR3Z3dpKy91RmxRZmN6RE84?= =?utf-8?B?QWN4dDlZcHNRV3QwUUx4ZjhMV3BNTHZUQ0FTZ2ZkWnlzSUVhVVJnZDI0RmIw?= =?utf-8?B?RkVwempTUXhoSXdkdWtNa3BiZGI5SjdUQy81VmdwY3B0Slp5RjNpWUdwYkVn?= =?utf-8?B?YXVoWC9qYVBnQjBuSDFjTEJxV0o5M1VZYnZZUkkvTGZCOTJGVC9MVDB3bTZv?= =?utf-8?B?T1NkVVdzSGJqVndiWTlHU0ZFaHdMZUN4SGJXMFFvRlF3Vm1wUUdkQytDeVlo?= =?utf-8?B?SW1BTFdrVnowU0NrUzVhemJqUmV1N041OUdBU1RxL2IvZ0JpeTV5WStqUWk3?= =?utf-8?B?R1M4dlpYSDVweHZnU2c1WGE4YVBwV0dQMHdlWmJoZzd2c0Y5R0V2YWRhTTNO?= =?utf-8?B?ZEdZbXgwWWY3Q3hDMWM1UTYyZTNSNFZPQ3pjZHp2UjZ4bGU3L1RXYnhMUzJK?= =?utf-8?B?YjlYdkdHcmNNczkwbncwRW9mM3Bhd3V4bEUyRVFzVFFjVXhMT2pVZUovSHhI?= =?utf-8?B?dTRhRjY1Qk9Ld2xyMTJrL1h4eDlNZXRyR09VT1BnTm9sZnRNS3BMTmNNWlIv?= =?utf-8?B?SklSRFd2Ny93bXg5TFhZalhpSW9lKzBYeWl4c0V2Y1dabFo4RzVhWFBxT2Q4?= =?utf-8?B?MjQzL00zQ3h4TllBMFR2bWRRb3dIWkp4ZlJUVTl4R1IycHFFYzFIb3lWTDZR?= =?utf-8?B?djBBQnVxYUxTYWx2T2VueVB6NHI1cXd5d1ZHb0pWaitmNHhaYlBGcFVTZU1N?= =?utf-8?B?L2V0K1krVjZPcWRMMmwrL0g4QVlpSjNKM0plQVBzTG1pcFV0VnBGcW4ydWRU?= =?utf-8?B?QzZpOEtMOHZ5UGdzM1pRanJHVHR6TVJ1NWl2T2RkYzRxZWFUd0Z4TzAxMDNv?= =?utf-8?B?SWxBdGxaYlJ2TVZkR1JiVUVwblhGRVNyMGxXT3hwU01tK2RucC8wZEF0RUZG?= =?utf-8?B?cDNmTU1OenJIL2FKaFhETEp6OUtpSHJ4RmxwdjIwNE9yRDd3UERaekFFcTc4?= =?utf-8?B?ZEVvMk5tZTlORythdEhOWTZpM3d0Z3FlVGo4Y3VmK2VmdHkyQTdKM3RJdVdz?= =?utf-8?B?Y3Jla1c2MkF4cUpGUHJpUXNWRXNnVDdlWmxsYjgvai9vaXV4UWk0N2U0OFVq?= =?utf-8?B?MXdydEUzSGxiNGZuRFhUbkdyMkFJRGRiNHdKdHIrdUhyOGN4UHNWSHdNbk0r?= =?utf-8?B?TGlYVkhGUkZaVWRSbzJSTXRkMmorUkZ4TVVRTnJUVlcrdHRDQ2wrSEVKOFVn?= =?utf-8?B?OHVDTVVGSFYvRHFBTkNzMGZodHpqa3RzSVVrcFZjM24vNEFQSko2Q0pKTUln?= =?utf-8?B?WXh4cHlUc1dmc2sySEpxM2pRTGU3alFQR3d0Y1I4dmVkb0tsTHBvL0puek1r?= =?utf-8?B?Q05SRzcrM2VWK3pqOGJpczdYUDQ3ZVhZSGtjYVZGWURETzZoQXl3ZFRDNU02?= =?utf-8?B?YWZwYXJXR05xT0NSQWRyc01BY1hiZFdQOUZ0b0RHd2hwNTVSa3RoaDBiKy9G?= =?utf-8?B?T1RmaldZSExSZE9yUVhIb3J2Zms3aDJpeVN2UEZZc3p5WGNISmtvaTlXU2Qy?= =?utf-8?B?N2JPQVBPb3N4TzlUTzJEMHZIWm9KdCtYOGxPNnNDcFJNVDU2U051b0tublMv?= =?utf-8?B?S0x5VnBGTXByZG0yUWJMTDltb3RNbzhTd0ZEVW1zbXVRNjRHYVlCWGZvVmxJ?= =?utf-8?B?dFpMQ1Uva21WelZ3dGN0ejZxZ0ZTa3hXZmxUUWR3TW9TMFM4KzdkVkhNenlv?= =?utf-8?B?bEM1R3hBazA2RU92ay9FakZ2TURzM2NCd0svcEI5NVFrb2I4V3JSQk9UaTVP?= =?utf-8?B?WnkxLzJiMVlwQ2l0cGtpeDIvcHJvYTRaaC9MVHlxN253RWhPa3JxYnQyT1p4?= =?utf-8?Q?Whi8=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB8596.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3afb71c7-cc03-45db-f183-08dcd32128d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2024 11:50:55.1839 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: fKw+ekmetk8hVQKDaTAE0dgI4uOncLiLNxgPwXNAW9YTEEvNxWW3hnp05/g4suvUd6ss2cyAlq99hahpNAS/VQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4049 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org W1B1YmxpY10NCg0KU25pcHBlZA0KDQo+ID4NCj4gPg0KPiA+ICAgIEJhc2VkIG9uIHRoZSBkaXNj dXNzaW9ucyB3ZSBhZ3JlZWQgb24gc2hhcmluZyB2ZXJzaW9uLTIgRlJDIGZvcg0KPiA+ICAgIGV4 dGVuZGluZyBBUEkgYXMgYHJ0ZV9nZXRfbmV4dF9sY29yZV9leHRuZGAgd2l0aCBleHRyYSBhcmd1 bWVudCBhcw0KPiA+ICAgIGBmbGFnc2AuDQo+ID4NCj4gPiAgICBBcyBwZXIgbXkgaWRlYXRpb24s IGZvciB0aGUgQVBJIGAgcnRlX2dldF9uZXh0X3NpYmxpbmdfY29yZWAsIHRoZSBhYm92ZQ0KPiA+ ICAgIEFQSSBjYW4gZWFzaWx5IHdpdGggZmxhZyBgIFJURV9HRVRfTENPUkVfTDEgKFNNVClgLiBJ cyB0aGlzIHJpZ2h0DQo+ID4gICAgdW5kZXJzdGFuZGluZz8NCj4gPg0KPiA+ICAgIFdlIGNhbiBl YXNpbHkgaGF2ZSBzaW1wbGUgTUFDUk9zIGxpa2UgYFJURV9MQ09SRV9GT1JFQUNIX0wxYCB3aGlj aA0KPiA+ICAgIGFsbG93cyB0byBpdGVyYXRlIFNNVCBzaWJsaW5nIHRocmVhZHMuDQo+ID4NCj4g Pg0KPg0KPiBUaGlzIHNlZW1zIGxpa2UgYSBsb3Qgb2YgbmV3IG1hY3JvIGFuZCBBUEkgYWRkaXRp b25zISBJJ2QgcmVhbGx5IGxpa2UgdG8gY3V0IHRoYXQNCj4gYmFjayBhbmQgc2ltcGxpZnkgdGhl IGFtb3VudCBvZiBuZXcgdGhpbmdzIHdlIGFyZSBhZGRpbmcgdG8gRFBESyBmb3IgdGhpcy4NCkkg ZGlzYWdyZWUgQnJ1Y2UsIGFzIHBlciB0aGUgbmV3IGNvbnZlcnNhdGlvbiB3aXRoIEFuYXRvbHkg YW5kIHlvdSBpdCBoYXMgYmVlbiBzaGFyZWQgdGhlIG5ldyBBUEkgYXJlDQpgYGANCjEuIHJ0ZV9n ZXRfbmV4dF9sY29yZV9leG50ZA0KMi4gcnRlX2dldF9uZXh0X25fbGNvcmVfZXhudGQNCmBgYA0K DQpXaGlsZSBJIG1lbnRpb25lZCBjdXN0b20gTWFjcm8gY2FuIGF1Z21lbnQgYmFzZWQgb24gdHlw aWNhbCBmbGFnIHVzYWdlIHNpbWlsYXIgdG8gYCBSVEVfTENPUkVfRk9SRUFDSCBhbmQgUlRFX0xD T1JFX0ZPUkVBQ0hfV09SS0VSYCBhcw0KYGBgDQpSVEVfTENPUkVfRk9SRUFDSF9GTEFHDQpSVEVf TENPUkVfRk9SRUFDSF9XT1JLRVJfRkxBRw0KDQpPcg0KDQpSVEVfTENPUkVfRk9SRUFDSF9MTEMN ClJURV9MQ09SRV9GT1JFQUNIX1dPUktFUl9MTEMNCmBgYA0KDQpQbGVhc2Ugbm90ZSBJIGhhdmUg bm90IGV2ZW4gc2hhcmVkIHZlcnNpb24tMiBvZiBSRkMgeWV0Lg0KDQo+IEkgdGVuZCB0byBhZ3Jl ZSB3aXRoIG90aGVycyB0aGF0IGV4dGVybmFsIGxpYnMgd291bGQgYmUgYmV0dGVyIGZvciBhcHBz IHRoYXQgcmVhbGx5IHdhbnQgdG8gZGVhbCB3aXRoIGFsbCB0aGlzLg0KSSBoYXZlIGNvdmVyZWQg d2h5IHRoaXMgaXMgbm90IGEgZ29vZCBpZGVhIGZvciBNYXR0aWFzIHF1ZXJ5Lg0KDQo+DQo+ID4N Cj4gPiAgICA+DQo+ID4NCj4gPiAgICA+IExvb2tpbmcgbG9naWNhbGx5LCBJJ20gbm90IHN1cmUg YWJvdXQgdGhlIEJPT1NUX0VOQUJMRUQgYW5kIEJPT1NUX0RJU0FCTEVEIGZsYWdzIHlvdSBwcm9w b3NlDQo+ID4gICAgVGhlIGlkZWEgZm9yIHRoZSBCT09TVF9FTkFCTEVEICYgQk9PU1RfRElTQUJM RUQgaXMgYmFzZWQgb24gRFBESyBwb3dlciBsaWJyYXJ5IHdoaWNoIGFsbG93cyB0byBlbmFibGUg Ym9vc3QuDQo+ID4gICAgQWxsb3cgdXNlciB0byBzZWxlY3QgbGNvcmVzIHdoZXJlIEJPT1NUIGlz IGVuYWJsZWR8ZGlzYWJsZWQgdXNpbmcgTUFDUk8gb3IgQVBJLg0KTWF5IGJlIHRoZXJlIGlzIGNv bmZ1c2lvbiwgc28gbGV0IG1lIHRyeSB0byBiZSBleHBsaWNpdCBoZXJlLiBUaGUgaW50ZW50aW9u IG9mIGFueSBgcnRlX2dldF9uZXh0X2xjb3JlIyNgICBpcyBmZXRjaCBsY29yZXMuDQpIZW5jZSB3 aXRoIG5ldyBwcm9wb3NlZCBBUEkgYHJ0ZV9nZXRfbmV4dF9sY29yZV9leG50ZGAgd2l0aCBgZmxh ZyBzZXQgZm9yIEJvb3N0YCBpcyB0byBmZXRjaCBsY29yZXMgd2hlcmUgYm9vc3QgaXMgZW5hYmxl ZC4NClRoZXJlIGlzIG5vIGludGVudGlvbiB0byBlbmFibGUgb3IgZGlzYWJsZSBib29zdCBvbiBs Y29yZSB3aXRoIGBnZXRgIEFQSS4NCg0KPiA+DQo+ID4NCj4gPg0KPiA+ICAgIC0gaW4gYSBzeXN0 ZW0gd2l0aCBtdWx0aXBsZSBwb3NzaWJsZQ0KPiA+DQo+ID4gICAgPiBzdGFuZGFyZCBhbmQgYm9v c3QgZnJlcXVlbmNpZXMgd2hhdCB3b3VsZCB0aG9zZSBjb3JyZXNwb25kIHRvPw0KPiA+DQo+ID4g ICAgSSBub3cgdW5kZXJzdGFuZCB0aGUgY29uZnVzaW9uLCBhcG9sb2dpZXMgZm9yIG1peGluZyB0 aGUgQU1EIEVQWUMgU29DDQo+ID4gICAgYm9vc3Qgd2l0aCBJbnRlbCBUdXJiby4NCj4gPg0KPiA+ DQo+ID4NCj4gPiAgICBUaGFuayB5b3UgZm9yIHBvaW50aW5nIG91dCwgd2Ugd2lsbCB1c2UgdGhl IHRlcm1pbm9sb2d5IGANCj4gPiAgICBSVEVfR0VUX0xDT1JFX1RVUkJPYC4NCj4gPg0KPiA+DQo+ DQo+IFRoYXQgc3RpbGwgZG9lc24ndCBjbGFyaWZ5IGl0IGZvciBtZS4gSWYgeW91IHN0YXJ0IG1p eGluZyBpbiBwb3dlciBtYW5hZ2VtZW50IHJlbGF0ZWQgZnVuY3Rpb25zIGluIHdpdGggdG9wb2xv Z3kgb25lcyB0aGluZ3Mgd2lsbCB0dXJuIGludG8gYSByZWFsIGhlYWRhY2hlLg0KQ2FuIHlvdSBw bGVhc2UgdGVsbCBtZSB3aGF0IGlzIG5vdCBjbGFyaWZpZWQuIERQREsgbGNvcmVzIGFzIG9mIHRv ZGF5IGhhcyBubyBub3Rpb24gb2YgQ2FjaGUsIE51bWEsIFBvd2VyLCBUdXJibyBvciBhbnkgRFBE SyBzdXBwb3J0ZWQgZmVhdHVyZXMuDQpUaGUgaW5pdGlhbCBBUEkgaW50cm9kdWNlZCB3ZXJlIHRv IGV4cG9zZSBsY29yZSBzaGFyaW5nIHRoZSBzYW1lIExhc3QgTGV2ZWwgQ2FjaGUuIEJhc2VkIG9u IGludGVyYWN0aW9uIHdpdGggQW5hdG9seSwgZXh0ZW5kaW5nIHRoaXMgdG8gc3VwcG9ydCBtdWx0 aXBsZSBmZWF0dXJlcyB0dXJuZWQgb3V0IHRvIGJlIHBvc3NpYmlsaXR5Lg0KSGVuY2UsIHdlIHNh aWQgd2UgY2FuIHNoYXJlIHYyIGZvciBSRkMgYmFzZWQgb24gdGhpcyBpZGVhLg0KDQpCdXQgaWYg dGhlIGNsYWltIGlzIG5vdCB0byBwdXQgVFVSQk8gSSBhbSBhbHNvIG9rIGZvciB0aGlzLiBMZXQg b25seSBrZWVwIGNhY2hlIGFuZCBOVU1BLUlPIGRvbWFpbi4NCg0KPiBXaGF0IGRvZXMgYm9vc3Qg b3IgdHVyYm8gY29ycmVzcG9uZCB0bz8gSXMgaXQgZm9yIGNvcmVzIHRoYXQgaGF2ZSB0aGUgZmVh dHVyZSBlbmFibGVkIC0gd2hldGhlciBvciBub3QgaXQncyBjdXJyZW50bHkgaW4gdXNlIC0gb3Ig aXMgaXQgZm9yIGZpbmRpbmcgY29yZXMgdGhhdCBhcmUNCj4gY3VycmVudGx5IGJvb3N0ZWQ/ICBE byB3ZSBuZWVkIGFkZGl0aW9ucyBmb3IgY29yZXMgdGhhdCBhcmUgYm9vc3RlZCBieSAxMDBNaHog dnMgc2F5IDMwME1oei4gV2hhdCBhYm91dCBjb3JlcyB0aGF0IGFyZSBpbiBsb3dlciBmcmVxdWVu Y2llcyBmb3INCj4gcG93ZXItc2F2aW5nLiBEbyB3ZSBhZGQgbWFjcm9zIGZvciBmaW5kaW5nIHRo b3NlPw0KV2h5IGFyZSB3ZSB0YWxraW5nIGFib3V0IGZlcS11cCBhbmQgZnJlcS1kb3duPyBUaGlz IHdhcyBub3QgZXZlbiBkaXNjdXNzZWQgaW4gdGhpcyBSRkMgcGF0Y2ggYXQgYWxsLg0KDQo+ID4N Cj4gPiAgICBXaGF0J3MgYWxzbw0KPiA+DQo+ID4gICAgPiBtaXNzaW5nIGlzIGEgZGVmaW5lIGZv ciBnZXR0aW5nIGFjdHVhbCBOVU1BIHNpYmxpbmdzIGkuZS4gdGhvc2UNCj4gPiAgICBzaGFyaW5n IGNvbW1vbiBtZW1vcnkgYnV0IG5vdCBhbiBMMyBvciBhbnl0aGluZyBlbHNlLg0KPiA+DQo+ID4g ICAgVGhpcyBjYW4gYmUgZXh0ZW5kZWQgaW50byBgcnRlX2dldF9uZXh0X2xjb3JlX2V4dG5kYCB3 aXRoIGZsYWcgYA0KPiA+ICAgIFJURV9HRVRfTENPUkVfTlVNQWAuIFRoaXMgd2lsbCBhbGxvdyB0 byBncmFiIGFsbCBsY29yZXMgdW5kZXIgdGhlIHNhbWUNCj4gPiAgICBzdWItbWVtb3J5IE5VTUEg YXMgc2hhcmVkIGJ5IExDT1JFLg0KPiA+DQo+ID4gICAgSWYgU01UIHNpYmxpbmcgaXMgZW5hYmxl ZCBhbmQgRFBESyBMY29yZSBtYXNrIGNvdmVycyB0aGUgc2libGluZw0KPiA+ICAgIHRocmVhZHMs IHRoZW4gYCBSVEVfR0VUX0xDT1JFX05VTUFgIGdldCBhbGwgbGNvcmUgYW5kIHNpYmxpbmcgdGhy ZWFkcw0KPiA+ICAgIHVuZGVyIHNhbWUgbWVtb3J5IE5VTUEgb2YgbGNvcmUgc2hhcmVkLg0KPiA+ DQo+ID4NCj4NCj4gWWVzLiBUaGF0IGNhbiB3b3JrLiBCdXQgaXQgbWVhbnMgd2UgYXJlIGJhc2lu ZyB0aGUgaW1wbGVtZW50YXRpb24gb24gYSBmaXhlZCBpZGVhIG9mIHdoYXQgdG9wb2xvZ2llcyB0 aGVyZSBhcmUgb3IgY2FuIGV4aXN0Lg0KPiBNeSBzdWdnZXN0aW9uIGJlbG93IGlzIGp1c3QgdG8g aWdub3JlIHRoZSB3aG9sZSBpZGVhIG9mIEwxIHZzIEwyIHZzIE5VTUEgLSBqdXN0IGdpdmUgdGhl IGFwcCBhIHdheSB0byBmaW5kIGl0J3MgbmVhcmVzdCBub2Rlcy4NCkJydWNlLCBmb3IgZGlmZmVy ZW50IHZlbmRvciBTb0MsIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhcmNoaXRlY3R1cmUgaXMgZGlm ZmVyZW50LiBMZXQgbWUgc2hhcmUgd2hhdCBJIGtub3cNCjEuIHVzaW5nIEwxLCB3ZSBjYW4gZmV0 Y2ggU01UIHRocmVhZHMNCjIuIHVzaW5nIEwyIHdlIGNhbiBnZXQgY2VydGFpbiBTb0Mgb24gQXJt LCBJbnRlbCBhbmQgcG93ZXIgUEMgd2hpY2ggaXMgbGlrZSBlZmZpY2llbnQgY29yZXMNCjMuIHVz aW5nIEwzIHdlIGNhbiBnZXQgY2VydGFpbiBTb0MgbGlrZSBBTUQsIEFGNjR4IGFuZCBvdGhlcnMg d2hpY2ggZm9sbG93IGNoaXBsZXQgb3IgdGlsZSBzcGxpdCBMMyBkb21haW4uDQoNCj4NCj4gQWZ0 ZXIgYWxsLCB0aGUgYXBwIGRvZXNuJ3Qgd2FudCB0byBrbm93IHRoZSB0b3BvbG9neSBqdXN0IGZv ciB0aGUgc2FrZSBvZiBrbm93aW5nIGl0IC0gaXQgd2FudHMgaXQgdG8gZW5zdXJlIGJlc3QgcGxh Y2VtZW50IG9mIHdvcmsgb24gY29yZXMhIFRvIHRoYXQgZW5kLCBpdCBqdXN0IG5lZWRzIHRvIGtu b3cgd2hhdCBjb3JlcyBhcmUgbmVhciB0byBlYWNoIG90aGVyIGFuZCB3aGF0IGFyZSBmYXIgYXdh eS4NCkV4YWN0bHksIHRoYXQgaXMgd2h5IHdlIHdhbnQgdG8gbWluaW1pemUgbmV3IGxpYnJhcmll cyBhbmQgbGltaXQgdG8gZm9ybWF0IG9mIGV4aXN0aW5nIEFQSSBgcnRlX2dldF9uZXh0X2xjb3Jl YC4gVGhlIGVuZCB1c2VyIG5lZWQgdG8gZGVwbG95IGFub3RoZXIgbGlicmFyeSBvciBleHRlcm5h bCBsaWJyYXJ5IHRoZW4gbWFwIHRvIERQREsgbGNvcmUgbWFwcGluZyB0byBpZGVudGlmeSB3aGF0 IGlzIHdoZXJlLg0KU28gYXMgZW5kIHVzZXIgSSBwcmVmZXIgc2ltcGxlIEFQSSB3aGljaCBnZXQg bXkgd29yayBkb25lLg0KDQo+DQo+ID4NCj4gPiAgICA+DQo+ID4NCj4gPiAgICA+IE15IHN1Z2dl c3Rpb24gd291bGQgYmUgdG8gaGF2ZSB0aGUgZnVuY3Rpb24gdGFrZSBqdXN0IGFuIGludGVnZXIt dHlwZQ0KPiA+ICAgIGUuZy4NCj4gPg0KPiA+ICAgID4gdWludDE2X3QgcGFyYW1ldGVyIHdoaWNo IGRlZmluZXMgdGhlIG1lbW9yeS9jYWNoZSBoaWVyYXJjaHkgbGV2ZWwgdG8NCj4gPiAgICB1c2Us IDANCj4gPg0KPiA+ICAgID4gYmVpbmcgbG93ZXN0LCAxIG5leHQsIGFuZCBzbyBvbi4gRGlmZmVy ZW50IHN5c3RlbXMgbWF5IGhhdmUgZGlmZmVyZW50DQo+ID4gICAgbnVtYmVycw0KPiA+DQo+ID4g ICAgPiBvZiBjYWNoZSBsZXZlbHMgc28gbGV0cyBqdXN0IG1ha2UgaXQgYSB6ZXJvLWJhc2VkIGlu ZGV4IG9mIGxldmVscywNCj4gPiAgICByYXRoZXIgdGhhbg0KPiA+DQo+ID4gICAgPiBnaXZpbmcg ZXhwbGljaXQgZGVmaW5lcyAoZXhjZXB0IGZvciBtZW1vcnkgd2hpY2ggc2hvdWxkIHByb2JhYmx5 DQo+ID4gICAgYWx3YXlzIGJlDQo+ID4NCj4gPiAgICA+IGxhc3QpLiBUaGUgemVyby1sZXZlbCB3 aWxsIGJlIGZvciAiY2xvc2VzdCBuZWlnaGJvdXIiDQo+ID4NCj4gPiAgICBHb29kIGlkZWEsIHdl IGRpZCBwcm90b3R5cGUgdGhpcyBpbnRlcm5hbGx5LiBCdXQgaXNzdWUgaXQgd2lsbCBrZWVwIG9u DQo+ID4gICAgYWRkaW5nIHRoZSBudW1iZXIgb2YgQVBJIGludG8gbGNvcmUgbGlicmFyeS4NCj4g Pg0KPiA+ICAgIFRvIGtlZXAgdGhlIEFQSSBjb3VudCBsZXNzLCB3ZSBhcmUgdXNpbmcgbGNvcmUg aWQgYXMgaGludCB0byBzdWItTlVNQS4NCj4gPg0KPg0KPiBJJ20gdW5jbGVhciBhYm91dCB0aGlz IGtlZXBpbmcgdGhlIEFQSSBjb3VudCBkb3duIC0geW91IGFyZSBwcm9wb3NpbmcgYSBsb3Qgb2Yg QVBJcyBhbmQgbWFjcm9zIHVwIGFib3ZlLg0KTm8sIEkgYW0gbm90LiBJIGhhdmUgc2hhcmVkIGJh c2VkIG9uIHRoZSBsYXN0IGRpc2N1c3Npb24gd2l0aCBBbmF0b2x5IHdlIHdpbGwgZW5kIHVwIHdp dGggMiBBUEkgaW4gbGNvcmUgb25seS4gRXhwbGFpbmVkIGluIHRoZSBhYm92ZSByZXNwb25zZQ0K DQo+IE15IHN1Z2dlc3Rpb24gaXMgYmFzaWNhbGx5IHRvIGFkZCB0d28gQVBJcyBhbmQgbm8gbWFj cm9zOiBvbmUgQVBJIHRvIGdldCB0aGUgbWF4IG51bWJlciBvZiB0b3BvbG9neS1uZWFybmVzcyBs ZXZlbHMsIGFuZCBhDQo+IHNlY29uZCBBUEkgdG8gZ2V0IHRoZSBuZXh0IHNpYmxpbmcgYSBnaXZl biBuZWFybmVzcyBsZXZlbCBmcm9tDQo+IDAobmVhcmVzdCkuLk4oZnVydGhlc3QpLiBJZiB3ZSB3 YW50LCB3ZSBjYW4gYWxzbyBhZGQgYSBGT1JFQUNIIG1hY3JvIHRvby4NCj4NCj4gT3ZlcmFsbCwg dGhvdWdoLCBhcyBJIHNheSBhYm92ZSwgbGV0J3MgZm9jdXMgb24gdGhlIHByb2JsZW0gdGhlIGFw cCBhY3R1YWxseQ0KPiB3YW50cyB0aGVzZSBBUElzIGZvciwgbm90IGhvdyB3ZSB0aGluayB3ZSBz aG91bGQgc29sdmUgaXQuIEFwcHMgZG9uJ3Qgd2FudCB0bw0KPiBrbm93IHRoZSB0b3BvbG9neSBm b3Iga25vd2xlZGdlIHNha2UsIHRoZXkgd2FudCB0byB1c2UgdGhhdCBrbm93bGVkZ2UgdG8NCj4g aW1wcm92ZSBwZXJmb3JtYW5jZSBieSBwaW5uaW5nIHRhc2tzIHRvIGNvcmVzLiBXaGF0IGlzIHRo ZSBtaW5pbXVtIHRoYXQgd2UNCj4gbmVlZCB0byBwcm92aWRlIHRvIGVuYWJsZSB0aGUgYXBwIHRv IGRvIHRoYXQ/IEZvciBleGFtcGxlLCBpZiB0aGVyZSBhcmUgbm8NCj4gbGNvcmVzIHRoYXQgc2hh cmUgYW4gTDEsIHRoZW4gZnJvbSBhbiBhcHAgdG9wb2xvZ3kgdmlld3BvaW50IHRoYXQgTDEgbGV2 ZWwgbWF5DQo+IGFzIHdlbGwgbm90IGV4aXN0LCBiZWNhdXNlIGl0IHByb3ZpZGVzIHVzIG5vIGRl dGFpbHMgb24gaG93IHRvIHBsYWNlIG91ciB3b3JrLg0KSSBoYXZlIHNoYXJlZCBhYm92ZSB3aHkg d2UgbmVlZCB2ZW5kb3IgYWdub3N0aWMgTDEsIEwyLCBMMyBhbmQgc3ViLU5VTUEtSU8uDQoNClNu aXBwZWQNCg==