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 6B314430CA; Tue, 22 Aug 2023 06:18:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DEC984021D; Tue, 22 Aug 2023 06:18:08 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2047.outbound.protection.outlook.com [40.107.6.47]) by mails.dpdk.org (Postfix) with ESMTP id 9858440041 for ; Tue, 22 Aug 2023 06:18:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fo8XkstnjaeSM1dHXs0Ed3NTUHw2bk+tRosPjfplTgYXqmwYhdJamgcqpS3R/fbM2YYMxB0bqtTy8+CPkAnWPdNJSYmlJPlSKlK4VhXttmKqNZ+8Nk0iLzULCIJQVHlg3Y6W137Vpk4CM2zASbOuVTOjr1TIpJWugHnz3UJ5bM2dU9PW4lFu5JB7L5vjIXTlJKctG0YMSDRbEHWmnp8r/fABmvDpaprQRMmhUVXI0UiVfULiUnSz1CDyqR4S3TI9Jh9YrG9ZM4WdTlifzLgBDkTpivXRGanZdZ9CI8HCbqeSVL3+dVKjCJwOgSkgYNNN6oTDJD5jqA6WqY3yt/Gd4g== 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=O3vxL1jpp+/jvrn5F6/tHDPIhMubBTbxcvFj8nqenQY=; b=jp3rFXja6YruJWRrUu8l2LaxbEMiXz7FBdlLnRZk45uVOanPz+0NNTXyZiBL/NO9VZ+GcV1J6Jr/3VJctVMRwrIMMb+l2U5TEmm1FyV78MqcnBrFDYkXIE2/gSisK+VWawuebbaR0Lfqhoe7sEDzg93j9vKJgZJUlJ6mw3j8yiE/lLItHuKkM+jmscN9SwwZJvEaQ2KD+6QPI2R+8XNYqpGcVwOFPUvjEOMBlXroPtBlOnHthkQtGy59qwQxhmgADMWAe49ptzIVbODHCI+PpGU6EQb86wYk57TbO7v/1x25HkgFoTQy0efUsqu1ktL+UKwCyd10II3879uZKvGAJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O3vxL1jpp+/jvrn5F6/tHDPIhMubBTbxcvFj8nqenQY=; b=G3nfTZ6FcI/gaEJdp24uvUAN/knwAi+2CqefPWXwR/5WNZhtOxOk9det42T2RrWh9a9FabDdOYyBw5ed/qlRvtrB2Q6UkF3RSkevmJfrQJ/aN7K8eFV6elzTzi1vU+2DBMX/Q/gt9h0JkAGWO/wJoGreU8Rj3yHDKv2vYELBo64= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by AM8PR08MB5603.eurprd08.prod.outlook.com (2603:10a6:20b:1d4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.24; Tue, 22 Aug 2023 04:18:05 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::b3a3:eb56:481f:99c2]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::b3a3:eb56:481f:99c2%4]) with mapi id 15.20.6699.022; Tue, 22 Aug 2023 04:18:05 +0000 From: Honnappa Nagarahalli To: Jack Min , Stephen Hemminger CC: "dev@dpdk.org" , Matan Azrad , "viacheslavo@nvidia.com" , Tyler Retzlaff , Wathsala Wathawana Vithanage , nd , Konstantin Ananyev , Aditya Ambadipudi , nd Subject: RE: MLX5 PMD access ring library private data Thread-Topic: MLX5 PMD access ring library private data Thread-Index: AdnQxsvoCzxwBK+4RuO3Q5bzZMsUvwATUnsAABoGmwAAA5QT0AADlmmAABCm6OAAGHh3gAAbp/hAAFQpnAAALLbngA== Date: Tue, 22 Aug 2023 04:18:04 +0000 Message-ID: References: <20230817070658.45576e6d@hermes.local> <1fbe4f48-e652-4887-8949-ad9cd15e2c26@nvidia.com> <7fd66332-a7cf-4947-ad5b-e1af0c5148e0@nvidia.com> <1ea7fb69-0a6e-4e61-843e-127f3ccd35b3@nvidia.com> In-Reply-To: <1ea7fb69-0a6e-4e61-843e-127f3ccd35b3@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: BA2F0254DAD4664C85F0501DD0154AC9.0 x-checkrecipientchecked: true authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DBAPR08MB5814:EE_|AM8PR08MB5603:EE_ x-ms-office365-filtering-correlation-id: 919d33f6-3a4f-4725-8d87-08dba2c6c844 nodisclaimer: true x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OXQaw1vPvJ5TpTm8OUS7gPH+ej9S0IAdhIozpGrHZslGcfOv4AwnhweLyzvAKc8Z0bOrIsO5gNOE6GSuh5a22B7iXR+0KU9cGh9wUGdXzTCOEObzzn8N4sOKUbxdk6q0FKX5QsOH53hmWnj8MhRMetFrovtFSnt9ZFNpz7q//SoUyVUdVfNdFSStgs5OxSF3m9Nl8wa8DFX3Cl7BH7I/aJ4MDo5lclIYaygwFZD7o6lBqg6HMZqNtOT/L+QF9mPOm3cxbOXxuBBCOU+HZKNoxN+cLzy1vUuLFwSDx5OeQ22idnkJRaPB2bR8tBpS76ZqHU3ohj6c1gvEmR106mLqaMzz+5qKHBHqhx3lNI3ttGfzzvJUakag3DSqKGF6Lmoh0vb/r+D5Rvepd66sRpqcBbfBfZG/q0yzzgiPSf578ZXpmwZ7zsx5bsqc6ZNCkowv9Ot2q0hWymYu6ahPyQP39eYUlE9zgvIsauLh9vntIK5Ldcddy6egdFiDB7VTItNCZ3wg+WcEXi6yCLRPas5+FOd6gl41MIsJehG0klb3w9cXxmZnOhiZZJBNxtTbhv9hH1GDkkAbEEDJtFUZw98Q3FcuRzufpVsx6DRFdLX7Ehs= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(136003)(39860400002)(376002)(346002)(366004)(1800799009)(186009)(451199024)(54906003)(66446008)(76116006)(66476007)(66556008)(64756008)(316002)(66946007)(9686003)(110136005)(8676002)(8936002)(4326008)(41300700001)(122000001)(966005)(478600001)(55016003)(71200400001)(38100700002)(38070700005)(53546011)(6506007)(83380400001)(2906002)(86362001)(7696005)(5660300002)(33656002)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1QzNHllcTN6a2RQWW5YRlNIZkRFMXRKZEIvOWx0WWxZUmZTdEdid1plVjE5?= =?utf-8?B?UnZ6NFBSekV5L2xkeS9HS0tIb0prTWdOWHBYcFpIYVlpa1IwdThyM3B2TjAz?= =?utf-8?B?ZUNrczFLR09IZTlKVWlaOUdpTnRuSG1wZzAxZUJlUHg1eXJrM1BZWml3bGdS?= =?utf-8?B?ejBvdHJJOVhvdFJsNW1RTTRFUG9YcWRDNTRZTXFEUG1iTkdadTl2UjFZSTAr?= =?utf-8?B?L2JlcjdSK2RmVDIxVXY1WGYvWFZYQmZqT0JGQ2IyQUdGUEo1dHNwcnZCUG4x?= =?utf-8?B?VGdLckJFRnM2emRRaUdpRnVWSzcybHNiV01WbXd2anFncXlIRUxWWUJESndI?= =?utf-8?B?cG5udEZLNWFCY3dodzdwNW1QQjVjQUVoaWt1SkFpdnB4dEkyMHRMOUFDWDdr?= =?utf-8?B?c3JxOFpmeStIUXBuaGhwd2pxRjk3S3RFR0c1VnBoQU9FcXRINnhYKzg2K2E1?= =?utf-8?B?eWRlQnJaRGU4dUJKcE0zb2xPZTR3dUVjQjZVTGd3ZnhZaXRCckNSbS91QUoy?= =?utf-8?B?OXczWk51Ump0L2E3cXUyZ2h2akxDWXc5eXdnNVNFaDJTaFRrc05rb1JIYzdC?= =?utf-8?B?cGFVSkVLMzduM0d1Y0hNTlNiWDk1VldJaU5Ba1hvTU5CS0lWRVNxUjdsamhq?= =?utf-8?B?azNZWmhTTGxHa1poNldxQkhXVDQxbExlMnF2a3FwRGFnWUx1NjduT2ZVdll1?= =?utf-8?B?a2JWeThPRkF5WDRVZnFiVi83MlFvclBHUzdaeE5jY3BpUW16YWdWTWVGb0NF?= =?utf-8?B?NHJoQTJENVNSRFNXUVo5RUQ3Vk53Q2xyUHJGQTNFT1RpRGE5VURZWHFFV1g5?= =?utf-8?B?L2dMNyt3NG1saXF2UWtWdTZMaUJaSWJEc09rUDJUZW9MS0hIU2hVdFBSbi91?= =?utf-8?B?cTAwdXcrMnl0OHltNUdrUVlRWGxGNjRqTlpvSk5hd2tFSUt0clh2VkFlMEVY?= =?utf-8?B?aDhsU1Qxcit5RTc4YS9BdWw0U2JLZW9lRldHR0M5cEpXNkQzSTVDWjdWdGt3?= =?utf-8?B?NnBrUVBXTThGV2tsTUZjM3hsWGxDVHRKMEc2RXJ2aTF3dWNaY2pLMzU5bFdU?= =?utf-8?B?VEQ3TlRtbEJsMXRJbDJhcW1xcGdiS1cvN0oyVEFXQ1VZdHptUk5iRUxERXF5?= =?utf-8?B?VU9WOGcwaHM2cDdkSFhxQmw5ZzBmWFZzZnBSN0xYMitUQU9MMjdnVnlJUEUr?= =?utf-8?B?K2Z6QzZSTUVXWUdDRDN3Y2tYcE9yRmU1M0VTQU9zYnFXQW1GakRKWXM4N0NC?= =?utf-8?B?dEh1WXBoN1VmbHM4YkVvZDBkcmFXRkFxMDlQeTVrSW5ZaEk3elNmLytZSWIy?= =?utf-8?B?N1NrdjMvaW9Bd3FSTERHMnFXeHgxYThJc3ZTTkZCQlF2MWo5dDNUVEhQWGNv?= =?utf-8?B?T3hvNFFsd3dpb09xYXFqUkdSM0UrdFdJRjNVeTcvWkZhOWN1SzlDaDVsaEhU?= =?utf-8?B?ZzN2dnRlSE0vUjBJb0lYNjlOVXRFV2p2QjZCU2JGbjJPc0JWakM4MDFXcnBo?= =?utf-8?B?Vmg4c3RGZ0F3WGo0R3dqY0ZzYjRJbElxTjJDRStvK2ozc2NyV1phUjA2K0dP?= =?utf-8?B?bXE4aVJ4MVJZQjlBZEpsTkhING5ZVmtXTUV5SDVXQldBTDJKT0dxNUU0RG94?= =?utf-8?B?cnlLS1Nlczc1NGdBNjZEMjQvSmRDczNhazQ0RUZKZHJDcHpQdjAvTzB4NUc5?= =?utf-8?B?SmNaM0lmZWh2T2ZxV2FlV0F0TWZSL3BzNmlqWFhuWXNDNXJ4UGlwdEY1K2lN?= =?utf-8?B?MXVtbWJaaGFLdC9WN1pBYTZIWGk0Um9XSjEzTjY2aktlZlFuT09EaUt1SGp3?= =?utf-8?B?RE5ic2V6dlNlSXNzM0VTZ2xjUVlQclFIUUNzZmRLOTR1cEhxTEFXZVBPd09B?= =?utf-8?B?bGNzOFJzOGFZLzJLTWZHbGFKY3M5R0Q3UExRQW9kTjlmekg1WnM3RHM4YWFW?= =?utf-8?B?aWhXOFp3V2tWRENUQnNQRDh4cFQzeEg3dFU0Y1oxTDFzakpQR21hSzJDQ0sz?= =?utf-8?B?Tzc2SFhEdFBiZ0J4UkEwNVEwWEtZL0Nya0V6YVBFdGZRcGZzeHJ0ODdGTExh?= =?utf-8?B?b1pHUXJrdUg4b3M4TzVodjI4NjExRTVJcWV0eVFxQ0RhT0FyOGRPcDVPbEMx?= =?utf-8?B?bGtXTlNiUHMxNzV6bUJ1L3hFWnkzOU8ycEVRWGZFNmh3MFBFbTQ3U0pXUjY5?= =?utf-8?B?ZWdzQTFKdFhpQXpvTnh5bWtjU3dXc2I3WTFFVGlEK1hyeC9VMG4wS0I1ejR2?= =?utf-8?B?a1lJcXBiMFkrdmEzck1FNGsxUTdRPT0=?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBAPR08MB5814.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 919d33f6-3a4f-4725-8d87-08dba2c6c844 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2023 04:18:05.0096 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GdbiddVl83m1G2znokqvZug3AppJYFz4PDovn8BfwjG5XQ2tPnV0nLTX4zbutn+v5ybAgIjHRysxepptESu9H5BgUy7M3sE9bRGnHTDu5B8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5603 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 PHNuaXA+DQoNCj4gPg0KPiA+ICAgICBPbiAyMDIzLzgvMTggMTI6MzAsIEhvbm5hcHBhIE5hZ2Fy YWhhbGxpIHdyb3RlOg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPiAgICAgICAgICAgICAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+DQo+ID4gICAgICAgICAgICAgRnJvbTogSmFj ayBNaW48amFja21pbkBudmlkaWEuY29tPg0KPiA+IDxtYWlsdG86amFja21pbkBudmlkaWEuY29t Pg0KPiA+DQo+ID4gICAgICAgICAgICAgU2VudDogVGh1cnNkYXksIEF1Z3VzdCAxNywgMjAyMyA5 OjMyIFBNDQo+ID4NCj4gPiAgICAgICAgICAgICBUbzogU3RlcGhlbiBIZW1taW5nZXI8c3RlcGhl bkBuZXR3b3JrcGx1bWJlci5vcmc+DQo+ID4gPG1haWx0bzpzdGVwaGVuQG5ldHdvcmtwbHVtYmVy Lm9yZz47IEhvbm5hcHBhDQo+ID4NCj4gPiAgICAgICAgICAgICBOYWdhcmFoYWxsaTxIb25uYXBw YS5OYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+IDxtYWlsdG86SG9ubmFwcGEuTmFnYXJhaGFsbGlA YXJtLmNvbT4NCj4gPg0KPiA+ICAgICAgICAgICAgIENjOmRldkBkcGRrLm9yZzsgTWF0YW4gQXpy YWQ8bWF0YW5AbnZpZGlhLmNvbT4NCj4gPiA8bWFpbHRvOm1hdGFuQG52aWRpYS5jb20+Ow0KPiA+ DQo+ID4gICAgICAgICAgICAgdmlhY2hlc2xhdm9AbnZpZGlhLmNvbTsgVHlsZXINCj4gPiBSZXR6 bGFmZjxyb3JldHpsYUBsaW51eC5taWNyb3NvZnQuY29tPg0KPiA+IDxtYWlsdG86cm9yZXR6bGFA bGludXgubWljcm9zb2Z0LmNvbT47DQo+ID4NCj4gPiAgICAgICAgICAgICBXYXRoc2FsYSBXYXRo YXdhbmEgVml0aGFuYWdlPHdhdGhzYWxhLnZpdGhhbmFnZUBhcm0uY29tPg0KPiA+IDxtYWlsdG86 d2F0aHNhbGEudml0aGFuYWdlQGFybS5jb20+OyBuZA0KPiA+DQo+ID4gICAgICAgICAgICAgPG5k QGFybS5jb20+ICA8bWFpbHRvOm5kQGFybS5jb20+DQo+ID4NCj4gPiAgICAgICAgICAgICBTdWJq ZWN0OiBSZTogTUxYNSBQTUQgYWNjZXNzIHJpbmcgbGlicmFyeSBwcml2YXRlIGRhdGENCj4gPg0K PiA+DQo+ID4NCj4gPiAgICAgICAgICAgICBPbiAyMDIzLzgvMTcgMjI6MDYsIFN0ZXBoZW4gSGVt bWluZ2VyIHdyb3RlOg0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIE9uIFRodSwgMTcgQXVnIDIw MjMgMDU6MDY6MjAgKzAwMDANCj4gPg0KPiA+ICAgICAgICAgICAgICAgICBIb25uYXBwYSBOYWdh cmFoYWxsaTxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA8bWFpbHRvOkhvbm5hcHBh Lk5hZ2FyYWhhbGxpQGFybS5jb20+ICB3cm90ZToNCj4gPg0KPiA+DQo+ID4NCj4gPiAgICAgICAg ICAgICAgICAgICAgIEhpIE1hdGFuLCBWaWFjaGVzbGF2LA0KPiA+DQo+ID4gICAgICAgICAgICAg ICAgICAgICAgwqDCoMKgwqDCoCBUeWxlciBwb2ludGVkIG91dCB0aGF0IHRoZSBmdW5jdGlvbg0K PiA+DQo+ID4gICAgICAgICAgICAgX19tbHg1X2h3c19jbnRfcG9vbF9lbnF1ZXVlX3JldmVydCBp cyBhY2Nlc3NpbmcgdGhlIHJpbmcNCj4gPiBwcml2YXRlIHN0cnVjdHVyZQ0KPiA+DQo+ID4gICAg ICAgICAgICAgbWVtYmVycyAocHJvZC5oZWFkIGFuZCBwcm9kLnRhaWwpIGRpcmVjdGx5LiBFdmVu IHRob3VnaCAnDQo+ID4gc3RydWN0IHJ0ZV9yaW5nJyBpcyBhDQo+ID4NCj4gPiAgICAgICAgICAg ICBwdWJsaWMgc3RydWN0dXJlIChtYWlubHkgYmVjYXVzZSB0aGUgbGlicmFyeSBwcm92aWRlcw0K PiA+IGlubGluZSBmdW5jdGlvbnMpLCB0aGUNCj4gPg0KPiA+ICAgICAgICAgICAgIHN0cnVjdHVy ZSBtZW1iZXJzIGFyZSBjb25zaWRlcmVkIHByaXZhdGUgdG8gdGhlIHJpbmcNCj4gPiBsaWJyYXJ5 LiBTbywgdGhpcyBuZWVkcyB0bw0KPiA+DQo+ID4gICAgICAgICAgICAgYmUgY29ycmVjdGVkLg0K PiA+DQo+ID4NCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgSXQgbG9va3MgbGlrZSB0aGUg ZnVuY3Rpb24NCj4gPiBfX21seDVfaHdzX2NudF9wb29sX2VucXVldWVfcmV2ZXJ0IGlzIHRyeWlu Zw0KPiA+DQo+ID4gICAgICAgICAgICAgdG8gcmV2ZXJ0IHRoaW5ncyB0aGF0IHdlcmUgZW5xdWV1 ZWQuIEl0IGlzIG5vdCBjbGVhciB0byBtZQ0KPiA+IHdoeSB0aGlzDQo+ID4NCj4gPiAgICAgICAg ICAgICBmdW5jdGlvbmFsaXR5IGlzIHJlcXVpcmVkLiBDYW4geW91IHByb3ZpZGUgdGhlIHVzZSBj YXNlDQo+ID4gZm9yIHRoaXM/IFdlIGNhbg0KPiA+DQo+ID4gICAgICAgICAgICAgZGlzY3VzcyBw b3NzaWJsZSBzb2x1dGlvbnMuDQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgSG93IGNhbiByZXZl cnRpbmcgYmUgdGhyZWFkIHNhZmU/IENvbnN1bWVyIGNvdWxkIGhhdmUNCj4gPiBhbHJlYWR5IGxv b2tlZCBhdA0KPiA+DQo+ID4gICAgICAgICAgICAgdGhlbT8NCj4gPg0KPiA+DQo+ID4NCj4gPiAg ICAgICAgICAgICBIZXksDQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgICAgICAgICAgSW4gb3VyIGNh c2UsIHRoaXMgcmluZyBpcyBTQy9TUCwgb25seSBhY2Nlc3NlZCBieSBvbmUNCj4gPiB0aHJlYWQN Cj4gPg0KPiA+ICAgICAgICAgICAgIChlbnF1ZXVlL2RlcXVldWUvcmV2ZXJ0KS4NCj4gPg0KPiA+ ICAgICAgICAgWW91IGNvdWxkIGltcGxlbWVudCBhIG1vcmUgc2ltcGxlciBhbmQgbW9yZSBlZmZp Y2llbnQgKEZvciBleDogc3VjaCBhbg0KPiBpbXBsZW1lbnRhdGlvbiB3b3VsZCBub3QgbmVlZCBh bnkgYXRvbWljIG9wZXJhdGlvbnMsIHdvdWxkIHJlcXVpcmUgbGVzcw0KPiBudW1iZXIgb2YgY2Fj aGUgbGluZXMpIHJpbmcgZm9yIHRoaXMuDQo+ID4NCj4gPiAgICAgICAgIElzIHRoaXMgZnVuY3Rp b24gYmVpbmcgdXNlZCBpbiB0aGUgZGF0YXBsYW5lPw0KPiA+DQo+ID4gICAgIFllcyzCoCB3ZSBj YW4gaGF2ZSBvdXIgb3duIHZlcnNpb24gb2YgcmluZyAobm8gYXRvbWljIG9wZXJhdGlvbnMpDQo+ ID4gICAgIGJ1dCBiYXNpYyBvcGVyYXRpb24gYXJlIHN0aWxsIGFzIHNhbWUgYXMgcnRlX3Jpbmcu DQo+ID4NCj4gPiAgICAgU2luY2UgcnRlIHJpbmcgaGFzIGJlZW4gd2VsbC1kZXNpZ25lZCBhbmQg dGVzdGVkIHN1ZmZpY2llbnRseSwgc28NCj4gPiAgICAgdGhlcmUgaXMgbm8gc3Ryb25nIHJlYXNv biB0byByZS13cml0ZSBhIG5ldyBzaW1wbGUgdmVyc2lvbiBvZiBpdA0KPiA+ICAgICB1bnRpbCB0 b2RheSA6KQ0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgICAgICAg ICAgVGhlIHNjZW5hcmlvIHdlIGhhdmUgInJldmVydCIgaXM6DQo+ID4NCj4gPg0KPiA+DQo+ID4g ICAgICAgICAgICAgICDCoFdlIHVzZSByaW5nIHRvIG1hbmFnZXIgb3VyIEhXIG9iamVjdHMgKGNv dW50ZXIgaW4gdGhpcw0KPiA+IGNhc2UpIGFuZCBmb3IgZWFjaA0KPiA+DQo+ID4gICAgICAgICAg ICAgY29yZSAodGhyZWFkKSBoYXMgImNhY2hlIiAoYSBTQy9TUCByaW5nKSBmb3Igc2FrZSBvZiBw ZXJmb3JtYW5jZS4NCj4gPg0KPiA+DQo+ID4NCj4gPiAgICAgICAgICAgICAxLiBHZXQgb2JqZWN0 cyBmcm9tICJjYWNoZSIgZmlyc3RseSwgaWYgY2FjaGUgaXMgZW1wdHksIHdlDQo+ID4gZmV0Y2gg YSBidWxrIG9mIGZyZWUNCj4gPg0KPiA+ICAgICAgICAgICAgIG9iamVjdHMgZnJvbSBnbG9iYWwg cmluZyBpbnRvIGNhY2hlLg0KPiA+DQo+ID4NCj4gPg0KPiA+ICAgICAgICAgICAgIDIuIFB1dCAo ZnJlZSkgb2JqZWN0cyBhbHNvIGludG8gImNhY2hlIiBmaXJzdGx5LCBpZiBjYWNoZQ0KPiA+IGlz IGZ1bGwsIHdlIGZsdXNoIGEgYnVsayBvZg0KPiA+DQo+ID4gICAgICAgICAgICAgb2JqZWN0cyBp bnRvIGdsb2JhbCByaW5nIGluIG9yZGVyIHRvIG1ha2Ugc29tZSByb29tcyBpbiBjYWNoZS4NCj4g Pg0KPiA+DQo+ID4NCj4gPiAgICAgICAgICAgICBIb3dldmVyLCB0aGlzIEhXIG9iamVjdCBjYW5u b3QgYmUgaW1tZWRpYXRlbHkgcmV1c2VkIGFmdGVyDQo+ID4gZnJlZS4gSXQgbmVlZHMNCj4gPg0K PiA+ICAgICAgICAgICAgIHRpbWUgdG8gYmUgcmVzZXQgYW5kIHRoZW4gY2FuIGJlIHVzZWQgYWdh aW4uDQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgICAgICAgICAgU28gd2hlbiB3ZSBmbHVzaCBjYWNo ZSwgd2Ugd2FudCB0byBrZWVwIHRoZSBmaXJzdCBlbnF1ZXVlZA0KPiA+IG9iamVjdHMgc3RpbGwg c3RheQ0KPiA+DQo+ID4gICAgICAgICAgICAgdGhlcmUgYmVjYXVzZSB0aGV5IGhhdmUgbW9yZSBj aGFuY2UgYWxyZWFkeSBiZSByZXNldCB0aGFuDQo+ID4gdGhlIGxhdGVzdA0KPiA+DQo+ID4gICAg ICAgICAgICAgZW5xdWV1ZWQgb2JqZWN0cy4NCj4gPg0KPiA+DQo+ID4NCj4gPiAgICAgICAgICAg ICBPbmx5IGZsdXNoIHJlY2VudGx5IGVucXVldWVkIG9iamVjdHMgYmFjayBpbnRvIGdsb2JhbCBy aW5nLCBhY3QgYXMgIkxJRk8iDQo+ID4NCj4gPiAgICAgICAgICAgICBiZWhhdmlvci4NCj4gPg0K PiA+DQo+ID4NCj4gPiAgICAgICAgICAgICBUaGlzIGlzIHdoeSB3ZSByZXF1aXJlICJyZXZlcnQi IGVucXVldWVkIG9iamVjdHMuDQo+ID4NCj4gPiAgICAgICAgIFlvdSBjb3VsZCB1c2UgJ3J0ZV9y aW5nX2ZyZWVfY291bnQnIEFQSSBiZWZvcmUgeW91IGVucXVldWUgdG8gY2hlY2sgZm9yDQo+IGF2 YWlsYWJsZSBzcGFjZS4NCj4gPg0KPiA+ICAgICBPbmx5IHdoZW4gY2FjaGUgaXMgZnVsbCAocnRl X3JpbmdfZnJlZV9jb3VudCgpIGlzIHplcm8pLCB3ZSByZXZlcnQNCj4gPiAgICAgWCBvYmplY3Rz Lg0KPiA+DQo+ID4gICAgIElmIHRoZXJlIGlzIHN0aWxswqAgb25lIGZyZWUgc2xvdCB3ZSB3aWxs IG5vdCB0cmlnZ2VyIHJldmVydCAoZmx1c2gpLg0KPiA+DQo+ID4gICAgICovW0hvbm5hcHBhXS8q IE1heSBiZSBJIHdhcyBub3QgY2xlYXIgaW4gbXkgcmVjb21tZW5kYXRpb24uIFdoYXQgSQ0KPiA+ ICAgICBhbSBzYXlpbmcgaXMsIHlvdSBjb3VsZCBjYWxsIOKAmHJ0ZV9yaW5nX2ZyZWVfY291bnTi gJkgdG8gY2hlY2sgaWYgeW91DQo+ID4gICAgIGhhdmUgZW5vdWdoIHNwYWNlIG9uIHRoZSBjYWNo ZSByaW5nLiBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlDQo+ID4gICAgIHlvdSBjYW4gZW5x dWV1ZSB0aGUgbmV3IG9iamVjdHMgb24gdGhlIGdsb2JhbCByaW5nLiBQc2V1ZG8gY29kZSBiZWxv dzoNCj4gPg0KPiA+ICAgICBJZiAocnRlX3JpbmdfZnJlZV9jb3VudChjYWNoZV9yaW5nKSA+IG4p IHsNCj4gPg0KPiA+ICAgICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPGVucXVldWUgbiBvYmpl Y3RzIG9uIGNhY2hlIHJpbmc+DQo+ID4NCj4gPiAgICAgfSBlbHNlIHsNCj4gPg0KPiA+ICAgICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPGVucXVldWUgbiBvYmplY3RzIG9uIGdsb2JhbCByaW5n Pg0KPiA+DQo+ID4gICAgIH0NCj4gPg0KPiA+IEhleSwNCj4gPg0KPiA+IFRoZW4gbmV4dCBuIG9i amVjdHMgd2lsbCBzdGlsbCBlbnF1ZXVlIGludG8gZ2xvYmFsIHJpbmcsIG5vdCBpbnRvDQo+ID4g Y2FjaGUgLCByaWdodD8gKCB3ZSBlbnF1ZXVlIG5ubm4gb2JqZWN0cyBjb250aW51YWxseSkNCj4g Pg0KPiA+IE91ciByZXF1aXJlbWVudCBpcyBsaWtlIHRoaXM6DQo+ID4NCj4gPiBpZiAocnRlX3Jp bmdfZnJlZV9jb3VudChjYWNoZV9yaW5nKSA+IDApIHsNCj4gPg0KPiA+IMKgwqDCoMKgwqDCoMKg wqAgPGVucXVldWUgdGhpcyBvYmplY3Qgb24gY2FjaGUgcmluZz4NCj4gPg0KPiA+IH0gZWxzZSB7 IC8qIGNhY2hlIGlzIGZ1bGwgKi8NCj4gPg0KPiA+IMKgIMKgIMKgIDxlbnF1ZXVlIHRoaXMgb2Jq ZWN0IGludG8gZ2xvYmFsIHJpbmc+DQo+ID4NCj4gPiDCoMKgwqDCoCA8bW92ZSB0aGUgbGF0ZXN0 IG4gb2JqZWN0cyBpbnRvIGdsb2JhbCByaW5nIHRvbz4NCj4gPg0KPiA+ICovW0hvbm5hcHBhXSAv KlVuZGVyc3Rvb2QuIElNTywgdGhpcyBpcyBhIHVuaXF1ZSByZXF1aXJlbWVudC4gUmluZw0KPiA+ IGxpYnJhcnkgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGFuZCBpcyBub3QgZGVzaWduZWQgZm9yIHRo aXMuIEFzIHBlciB0aGUNCj4gPiBndWlkZWxpbmVzIGFuZCBwYXN0IGFncmVlbWVudHMsIGFjY2Vz c2luZyBzdHJ1Y3R1cmUgbWVtYmVycyBpbiByaW5nDQo+ID4gc3RydWN0dXJlcyBpcyBub3QgYWxs b3dlZC4NCj4gPg0KPiBBbHJpZ2h0LiBOb3cgSSdtIGF3YXJlIG9mIHRoaXMuDQo+IA0KPiBEbyB3 ZSBoYXZlIGEgZG9jdW1lbnQgYWJvdXQgdGhpcz8gSSBwcm9iYWJseSBvdmVybG9va2VkIGl0Li4u DQpOb3Qgc3VyZSBpZiB0aGlzIGlzIGRvY3VtZW50ZWQsIHdlIGNhbiBhZGQgaXQgdG8gY29kaW5n IGd1aWRlbGluZXMuDQoNCj4gDQo+ID4gSSB0aGluayBhIHNpbXBsZSBpbXBsZW1lbnRhdGlvbiBs aWtlIFsxXSB3b3VsZCBzdWZmaWNlIHlvdXIgbmVlZHMuDQo+ID4NCj4gPiBbMV0NCj4gPiBodHRw czovL3BhdGNoZXMuZHBkay5vcmcvcHJvamVjdC9kcGRrL3BhdGNoLzIwMjMwODIxMDYwNDIwLjM1 MDk2NjctMS0NCj4gaA0KPiA+IG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbS8NCj4gPg0KPiA+ IH0NCj4gPg0KPiBZZXMsIG1vc3RseS4NCj4gDQo+IEl0IHdpbGwgYmUgYmV0dGVyIGlmIHdlIGhh dmUgYSAiemVyby1jb3B5IiB2ZXJzaW9uLCBsaWtlOg0KPiBydGVfc3RfcmluZ19kZXF1ZXVlX3pj X2F0X2hlYWRfYnVyc3RfZWxlbV9zdGFydCgpDQpZZXMsIHdpbGwgYWRkDQo+IA0KPiAtSmFjaw0K DQo=