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 B8392A0C47; Tue, 5 Oct 2021 11:41:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A91FB412F9; Tue, 5 Oct 2021 11:41:51 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2080.outbound.protection.outlook.com [40.107.237.80]) by mails.dpdk.org (Postfix) with ESMTP id A247C412F0 for ; Tue, 5 Oct 2021 11:41:49 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fbUtwwAYHBgjeqwsdOixVkBsdl85DW7iVoQ2gNPIbki368LtQY73jx8BycOzzAZJFJWW04eGV2lJxhjACWBuskCpgLQ88m3PPdNUIkbMAU4qZyqwW65A9Ys3aTg+z4VJd+Jm8/vYdryzAVchZvsNz8tSp8oIAVjZShXcXK47CQSUOy/wWK/GtJ5AOJJwUrwe5BE3gCk0w1N2CaIicREzHgvQJ3qXg5CIWjhhhBOFOfbgUVZ1+cBM2Y9ho8EseGdCNqiOW+TZd8NtPFBKbwCrBoxHWcuA/dYpiKKc2nqpTn8csuwTOy/sRcoNGC32rKIMO1BztqcN7CFqYetZyme/VQ== 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=8pGY6e8FeOBrqdsMtEvYfnPqiFtu23EsfDhYNeecDDM=; b=lRvAi3BSNNRr1z6FQ9/VwGxbIjg+XGMEMm7G298UUsiIyOfq3LPKnDxct3LZXEsPmx8+P0WG/RN0yeLkzI+AxOuMPOGivc9t1sgeuvEB6yph1uLxOTJcvE2L7aBSFM/9AdPea3vQvhMkpjRVvJayWh3Gqn276yvhmyYtZAbfQM4Zr9WxtEND0iAnNDz0qw/CdS7OmQUWeENd6KArfhXDNBJMToBUo9ARbQ73hKhby6V9abmjm1SdxSoAtO6TV+NhberabDarJ1Xch6b4YWBDCM/HQqUDyngbhWOyNG5BX9PH0Ke7AxnYh+07YY3MEXW5yvsa4bLDGb66N/eij84CfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8pGY6e8FeOBrqdsMtEvYfnPqiFtu23EsfDhYNeecDDM=; b=i03ryQAee+usHy2iM+XunplYITi8dEldoTVSMHWztpZS7npHOff79wl3jZTyrbN1/H3U2FEZOVFevytjv2tyXLhJc8xU+PT4288q6HzWGyLUvPsSLZ5FSKXTO+oVk//rI1uAsl++IqUnGSofsqUszIJP397m2eIuNyXJm5zTK30SDzSo4+sDrgQ2ptC0cZUiLoFoTmUcA0ajfXeb33ymrN/ZCyeGntnAlIiOAqUdodvYJawbKU3zklyqvUVUDcKwJlxU6kbherwbjTAKcZHhgbDgfxtxMAncfI4wLvGOWfpTOWj4loXCxrGQl1fMcrZrDwXinewpRLbBZqz65BHrbA== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM6PR12MB5550.namprd12.prod.outlook.com (2603:10b6:5:1b6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14; Tue, 5 Oct 2021 09:41:46 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::d03d:1f75:ca20:6a32]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::d03d:1f75:ca20:6a32%5]) with mapi id 15.20.4566.022; Tue, 5 Oct 2021 09:41:46 +0000 From: Ori Kam To: Andrew Rybchenko , Ivan Malov , NBU-Contact-Thomas Monjalon CC: Andy Moreton , Ray Kinsella , "dev@dpdk.org" , Jerin Jacob , Wisam Monther , Xiaoyun Li , Ferruh Yigit Thread-Topic: [PATCH v3 1/5] ethdev: add API to negotiate delivery of Rx meta data Thread-Index: AQHXsG0EGYKwxu5FGk6rpb3sj4WbEKu8simggABJ14CAAMRGAIADKRXQgAAoU4CAAA0j8IAAeO6AgAArh0CAAD6kgIAAY+swgABiKoCAACV2gIAAG4MAgAEK9wCAAAp84IAACX2AgAAPbpA= Date: Tue, 5 Oct 2021 09:41:46 +0000 Message-ID: References: <20210902142359.28138-1-ivan.malov@oktetlabs.ru> <6e9703ae-9fe0-2656-c08f-da95e44bcdeb@oktetlabs.ru> <06d5d165-a9e0-ecc6-74b5-20a77a88e301@oktetlabs.ru> <437bda42-b20d-9093-30a5-4a75be50c085@oktetlabs.ru> <7a68c7cf-2706-a637-c280-f485a0d24f0b@oktetlabs.ru> <254528d7-6534-0fb6-518f-4467fb09bd17@oktetlabs.ru> In-Reply-To: <254528d7-6534-0fb6-518f-4467fb09bd17@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 84d58d27-fc5a-4eb2-a564-08d987e45924 x-ms-traffictypediagnostic: DM6PR12MB5550: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ajU4m7rH7dMk8MMviox0lIuWRSIEeBO5OIMhi++eYKzFtJu/d1apEVO5elwxN38lkbVc5YCU26tOAH9zVpqUGxaDQpr5k8JFyZIcgjtId1lGQWuQ9sF697oA0heaJpTxF0j4BDXrN6vtiaeYFz5FxKt6bsCBHR9E64xIr3Fc+5zsYKe09CUEl9qbREN8NSu1wbNCqnKEIGvE5gbP/JgUem7rYGtW4Qo1biS5ba4xKjFWqX/X/Ttj5EoRJ+BEJND9XRUytjakoxOD6hpr99nSKYf/wbc0aDZQB8dbRymuv43MwfTf5WMSrpNmEAo8J9EDL480m2nimmiCM4NQZS5Gt2Ny//HJ/zwKKTUclci5IE2Swsf2eeUrCWD4kSXJeFpw7OR6fx4X+P7kh30qNR8L8PLweAKefMK/kVbfoxwUmFCTBWub2weQyIIqk9ahJwrNrNzfnxgO8gE1XyEpKYeNWYjDWjD3GGhnabGMXM+JfbfD3tYKpeggkVg9nHbLP8rzQyX1sWCgKLe8D6nqSALfsZU47WZzusfUx4m/X1WiVsQBPdgYn3M4KKwfmocAEeFgbXiEwNl3yZv4yWM/TxktYbtlO4N9XMs/af0n9Gemlw2mx2+GBob4QW9yy9T8ndUsS50odPwP1x/2gVib8WGk7+vAeTOwOKbmMgOFEQURBIXE6k2vYtk3yRFvy+BhNIQeoPxpCqtQy9L0NNlSjVipmA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(7696005)(5660300002)(55016002)(6506007)(38100700002)(52536014)(8676002)(86362001)(71200400001)(8936002)(38070700005)(53546011)(33656002)(4326008)(186003)(122000001)(66446008)(64756008)(83380400001)(66556008)(9686003)(110136005)(54906003)(508600001)(2906002)(76116006)(316002)(66946007)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N005QnVXSFZ4L01BZkF5Q3pmeWNEM0pvSUx2dlBwQmExUHpweGY5ZHZBZ0lK?= =?utf-8?B?YzV4bjY0SFkwT2xPbnAzNEkwSFhSN1FhQmJRL3F1cFVpVS92ZTVBSDhMejNK?= =?utf-8?B?VzFnTXpZUitEYVJsRDNwNlcxbFRobDhUZTR4WnBNZ2ZpTFQzelVKT1dIYWQ4?= =?utf-8?B?dG45LzY2VmtPODJlckJMa0s2eHBwajFpeG90L1RDSElwTHRJMStKc01NL2pE?= =?utf-8?B?RzM3N0hLNVBjcUFJdmVTdUZwOTNacFpCZWM2VGZianhQZ0sreHBvcjFpSEFL?= =?utf-8?B?M3B6cnN2SzZjMUlQK1ZRQmlnUXZpQUwzbTMxTWFhVXVSbXBESGNZTWFTalFi?= =?utf-8?B?RWxGRHJGMjJsY1YrbWg3TStyYllKL3hxRlhiT2pLeGJSaERyTE5Ta0xGSXE2?= =?utf-8?B?bklodk5IRDN3ZDU1NGZhUDl0YXZteTIyZmNFWUY0SlNIY2pGSXJGQktXOWU0?= =?utf-8?B?RGFhc1YvTDliTnRWZmdodnRIRkNoa2JsdHl3NUgxZ2RtQ2dmWlp1eTl2T2RG?= =?utf-8?B?cGdmanJ4OHhtTEh5Y3prNHQxTnhxSU5OdWNSdTAvZ2hjQkdsRzNkOTFNeWJI?= =?utf-8?B?VmtmZ1E0ZHBXTDY2b3V1OGFFQXBLWGExS3FJZUxneTdLaVBPWlhXclRHeGVM?= =?utf-8?B?TDUzNGVETzM0L0NoVHVqQ0ZNeDFGZXE0a3diOGZ4ZW9NQVR1cnRsVC9rbTFX?= =?utf-8?B?M1NWVnQ2VFN5SGYrWEg1TUFaaEE2WFh3S1RTK0hWSkI3NWE0TmZPRXRPTUxS?= =?utf-8?B?bDZhSEZSU24zakYzbVhneHQ5ZVVwZUMrNU1BRDM5TGcwaFZZWk5OQVkwV3c4?= =?utf-8?B?cFNCM2d5L1RtdGQ1aGZQR1AxMmZNKy9iNEE4WkpEaktSZ3E1Y1BLYnVUbzJB?= =?utf-8?B?bHNGUGREeUlDOEltLy9qSG4zaUV6WnNoSlk1RDdsNkpYM09tRXE5MTZoNmF0?= =?utf-8?B?TEJWRjF2cHNNM2FPSmo3ZVRXN3hKV2x2VnAvWndFTXNrWU1kWmNpOFd5SUM3?= =?utf-8?B?c2xEQnlDbUZ3ZGszTlRLeXpiVjBUazZqK05aVVZCaDM1N3d6MFNVbzZhTi84?= =?utf-8?B?aFdxVWgvOTdxalN5aVpZRUw0dExBSG43ZUI3YytaQktRSS9vZWREM1NNWWl1?= =?utf-8?B?d0d3a21GZmpKeThTU0RQL01FYWhUZFl5ckJXbCtudlAxc2FoZkphSlZ4eU03?= =?utf-8?B?TUJaWTh3UTM2c0VyUm5uRFRvM3orNFdnM0R0SHd3aE1RUUJ3QmUwWjlEWnBV?= =?utf-8?B?T21BcVlkSXNlTk9sMHNUeWRxUFJJaTVuTlRpaWljazZjSkkrY2Nnd1Y1MHdM?= =?utf-8?B?L3oxUmRmMzI5OC93QUhSS29iZU1JaGtYWnJxOGxsM0FmY2tKVS9DNWRoaGc4?= =?utf-8?B?RXgvQnFCbEtqK2JBTUVxa0IrMStqL3Nzc0V0K0YzcmxzemhBSmtjZkc1M0FW?= =?utf-8?B?REtOMUhSUHV0RS9pQWc4NjlaQllVazM4V2g0RVZLRjBzK2hVeWZaeHVqek84?= =?utf-8?B?eXJuTGVjMEtnbEl3N3VKQjJ4NHEzcVh0akZWenBobklHMjgrUU1Vbk9FbDFO?= =?utf-8?B?TkJDdkZ2Q3liSWxObHdxN29KL1duVFJhUkxQdDR1QVAzN0U4NTlONTZoSHNZ?= =?utf-8?B?Z2Rkb2FXWmVhakZyaG43QittdDJHMGM5UUtCSTdWb1AwY1lzU0F3VE8rQWk1?= =?utf-8?B?YkhYSmpxZVRCZFRLQWRyK2hDbE5lUDBLUkphQXI4eUdRUWxSSGtFZXpvVmJa?= =?utf-8?B?Z3o1QUR1anpEaHhNSlBlZ1R3RUcvcFZDMXErQ0VjZTVWU3djMEVvVFg1MEZU?= =?utf-8?B?aDF4cE1EZFlkUDNjZVJjeHA3YU5FOG51d2JyY0owOWRwTzdoaVlkekhWRGcx?= =?utf-8?Q?orkXrUWbAWkp0?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84d58d27-fc5a-4eb2-a564-08d987e45924 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2021 09:41:46.6965 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9zyq45qRXqK4xe3Op4nzUbiuNfBK253TQ97yDwRusjy/nDr0BOBrWguRwF9DvQuLN3PzmnhabEc98yCaO1dlow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB5550 Subject: Re: [dpdk-dev] [PATCH v3 1/5] ethdev: add API to negotiate delivery of Rx meta data 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 Sender: "dev" SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUdWVz ZGF5LCBPY3RvYmVyIDUsIDIwMjEgMTE6MzkgQU0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAx LzVdIGV0aGRldjogYWRkIEFQSSB0byBuZWdvdGlhdGUgZGVsaXZlcnkgb2YgUnggbWV0YQ0KPiBk YXRhDQo+IA0KPiBIaSBPcmksDQo+IA0KPiBPbiAxMC81LzIxIDExOjE3IEFNLCBPcmkgS2FtIHdy b3RlOg0KPiA+IEhpIEFuZHJldywNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFi cy5ydT4NCj4gPj4gU2VudDogVHVlc2RheSwgT2N0b2JlciA1LCAyMDIxIDEwOjI3IEFNDQo+ID4+ IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMS81XSBldGhkZXY6IGFkZCBBUEkgdG8gbmVnb3RpYXRl IGRlbGl2ZXJ5IG9mDQo+ID4+IFJ4IG1ldGEgZGF0YQ0KPiA+Pg0KPiA+PiBPbiAxMC81LzIxIDk6 MzAgQU0sIE9yaSBLYW0gd3JvdGU6DQo+ID4+PiBIaSBBbmRyZXcsDQo+ID4+Pg0KPiA+Pj4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8 YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4+Pj4gU2VudDogTW9uZGF5LCBPY3Rv YmVyIDQsIDIwMjEgNDo1MyBQTQ0KPiA+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMS81XSBl dGhkZXY6IGFkZCBBUEkgdG8gbmVnb3RpYXRlIGRlbGl2ZXJ5DQo+ID4+Pj4gb2YgUnggbWV0YSBk YXRhDQo+ID4+Pj4NCj4gPj4+PiBPbiAxMC80LzIxIDI6MzkgUE0sIEl2YW4gTWFsb3Ygd3JvdGU6 DQo+ID4+Pj4+IE9uIDA0LzEwLzIwMjEgMDk6NTYsIE9yaSBLYW0gd3JvdGU6DQo+ID4+Pj4+Pj4g T24gMDQvMTAvMjAyMSAwMDowNCwgT3JpIEthbSB3cm90ZToNCj4gPj4+Pj4+Pj4gSSB1bmRlcnN0 YW5kIHRoYXQgeW91IGFyZSBvbmx5IHRhbGtpbmcgYWJvdXQgZW5hYmxpbmcgdGhlDQo+ID4+Pj4+ Pj4+IGFjdGlvbiwgbWVhbmluZyB0byBsZXQgdGhlIFBNRCBrbm93IHRoYXQgYXQgc29tZSBwb2lu dCB0aGVyZQ0KPiA+Pj4+Pj4+PiB3aWxsIGJlIGEgcnVsZSB0aGF0IHdpbGwgdXNlIHRoZSBtYXJr IGFjdGlvbiBmb3IgZXhhbXBsZS4NCj4gPj4+Pj4+Pj4gSXMgbXkgdW5kZXJzdGFuZGluZyBjb3Jy ZWN0Pw0KPiA+Pj4+Pj4+IE5vdCByZWFsbHkuIFRoZSBjYXVzYWwgcmVsYXRpb25zaGlwcyBhcmUg YXMgZm9sbG93cy4gVGhlDQo+ID4+Pj4+Pj4gYXBwbGljYXRpb24gY29tZXMgdG8gcmVhbGlzZSB0 aGF0IGl0IHdpbGwgbmVlZCB0byB1c2UsIHNheSwNCj4gPj4+Pj4+PiBhY3Rpb24gTUFSSyBpbiBm bG93cy4NCj4gPj4+Pj4+PiBUaGlzLCBpbiB0dXJuLCBtZWFucyB0aGF0LCBpbiBvcmRlciB0byBi ZSBhYmxlIHRvIGFjdHVhbGx5IHNlZQ0KPiA+Pj4+Pj4+IHRoZSBtYXJrIGluIHJlY2VpdmVkIHBh Y2tldHMsIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBlbnN1cmUNCj4gPj4+Pj4+PiB0aGF0IGEp IHRoZSBOSUMgd2lsbCBiZSBhYmxlIHRvIGRlbGl2ZXIgdGhlIG1hcmsgdG8gdGhlIFBNRCBhbmQN Cj4gPj4+Pj4+PiBiKSB0aGF0IHRoZSBQTUQgd2lsbCBiZSBhYmxlIHRvIGRlbGl2ZXIgdGhlIG1h cmsgdG8gdGhlDQo+ID4+Pj4+Pj4gYXBwbGljYXRpb24uIEluIHBhcnRpY3VsYXIsIGluIHRoZSBj YXNlIG9mIFJ4IG1hcmssDQo+ID4+Pj4+Pj4gKGIpIGRvZXNuJ3QNCj4gPj4+Pj4+PiBuZWVkIHRv IGJlIG5lZ290aWF0ZWQgPSBmaWVsZCAibWFyayIgaXMgYW55d2F5IHByb3Zpc2lvbmVkIGluDQo+ ID4+Pj4+Pj4gdGhlIG1idWYgc3RydWN0dXJlLCBzbyBubyBuZWVkIHRvIGVuYWJsZSBpdC4gQnV0 IChhKSBuZWVkcyB0byBiZQ0KPiBuZWdvdGlhdGVkLg0KPiA+Pj4+Pj4+IEhlbmNlIHRoaXMNCj4g Pj4+Pj4+PiBBUEkuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+IFBsZWFzZSBzZWUgbXkgYWJvdmUgY29t bWVudCBJIHRoaW5rIHdlIGJvdGggYWdyZWUuDQo+ID4+Pj4+IEFncmVlIHRvIGhhdmUgdGhlIDQt dGggZmxhZyBpbiB0aGUgbmV3IEFQSSB0byBjb3ZlciB0aGlzICJjdXN0b20gLw0KPiA+Pj4+PiBy YXcgbWV0ZGF0YSIgZGVsaXZlcnk/IFBlcnNvbmFsbHksIEkgdGVuZCB0byBhZ3JlZSwgYnV0IG1h eWJlDQo+ID4+Pj4+IEFuZHJldyBjYW4gZXhwcmVzcyBoaXMgb3BpbmlvbiwgdG9vLg0KPiA+Pj4+ IE9mIGNvdXJzZSwgaXQgY291bGQgYmUgYWRkZWQsIGJ1dCB3ZSdyZSBub3QgZ29pbmcgdG8gc3Vw cG9ydCBpdCBpbg0KPiA+Pj4+IG5ldC9zZmMuIFNvLCBJIHRoaW5rIHRoZSBmbGFnIHNob3VsZCBi ZSBhZGRlZCB3aGVuIGEgUE1EIHdpbGwgZ29pbmcNCj4gPj4+PiB0bw0KPiA+PiBzdXBwb3J0IGl0 IChlLmcuDQo+ID4+Pj4gbmV0L21seDUpLg0KPiA+Pj4gSSB0aGluayBpdCBzaG91bGQgYmUgYWRk ZWQgbm93LCBhbmQgbW9yZSBJIHRoaW5rIHRoYXQgdGhpcyBwYXRjaA0KPiA+Pj4gc2hvdWxkIGFk ZCB0aGUgbWlzc2luZyBmdW5jdGlvbiB0byBhbGwgUE1EcyDwn5iKDQo+ID4+DQo+ID4+IFNvcnJ5 LCBidXQgSSBkaXNhZ3JlZS4gQ291bGQgeW91IHBvaW50IG91dCB0byBEUERLIGRvY3VtZW50YXRp b24NCj4gPj4gd2hlcmUgaXQgaXMgd3JpdHRlbj8gU2hvdWxkIGFsbCBuZXcgQVBJIGJlIHN1cHBv cnRlZCBpbiBhbGwgUE1EcyBieSB0aGUgQVBJDQo+IGNvbnRyaWJ1dG9yPw0KPiA+Pg0KPiA+IFRo aXMgY2hhbmdlcyBleGlzdGluZyBQTUQgYmVhdmlvciwgdW50aWwgbm93IHRoZXJlIHdhcyBubyBu ZWVkIHRvDQo+ID4gcmVnaXN0ZXIgdGhlIE1BUksgbm93IHlvdSByZXF1aXJlIGl0LCBpdCBpcyBq dXN0IGxpa2UgY2hhbmdlIHRoZSBzaGFyZWQgY291bnRlcg0KPiB5b3UgbmVlZGVkIHRvIGZpeCBk aWZmZXJlbnQgZHJpdmVycy4NCj4gPiBUaGlzIGlzIG5vdCBjcml0aWNhbCB0byBtZSBsaWtlIEkg c2FpZCBpbiBvdGhlciB0aHJlYWQgYXMgbG9uZyBpcyBpdA0KPiA+IGlzIGNsZWFyIHRoYXQgaWYg UE1EIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgbmV3IGZ1bmN0aW9uIGl0IGRvZXNuJ3QgbWVhbiB0aGUg dGhlDQo+IFBNRCBoYXMgaXNzdWUgd2l0aCB0aGUgcmVxdWVzdC4NCj4gDQo+IEkgc2VlIHlvdXIg cG9pbnQuIEhvcGVmdWxseSB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24gaW4gdjQgaXMgY2xlYXIg dGhhdCBpdCBpcyBub3QNCj4gdGhlIGNhc2UuIElmIGNhbGxiYWNrIGlzIG5vdCBzdXBwb3J0ZWQg YnkgYSBkcml2ZXIsIGFwcGxpY2F0aW9uIHNob3VsZCB0cnkgdG8gdXNlDQo+IGFsbCByZXF1aXJl ZCBtZXRhZGF0YS4NCj4gU28sIHRoZXJlIGlzIG5vIGJyZWFrYWdlIGluIGFjY29yZGFuY2Ugd2l0 aCBkZWZpbmVkIEFQSSBjb250cmFjdC4NCj4gDQoNCkFncmVlIGxlcyBwcmV0dHkgYnV0IHdvcmtz Lg0KDQo+IE1hbnkgdGhhbmtzIGZvciB5b3VyIHJldmlldyBub3Rlcy4gVGhlIHJldmlldyByZWFs bHkgbWFrZXMgdGhlIEFQSSBjbGVhcmVyDQo+IGFuZCBiZXR0ZXIgZG9jdW1lbnRlZC4NCj4gDQoN ClRyeWluZyB0byBkbyBteSBiZXN0Lg0KDQo+ID4gT25lIG1vcmUgdGhpbmcsIEkgdGhpbmsgdGhp cyBmbGFnIHNob3VsZCBiZSBhZGRlZCBub3cgc2luY2UgeW91IG5lZWQNCj4gPiBpdCwgSSB0aGlu ayB5b3Ugc2hvdWxkIHJlcG9ydCB0aGF0IHlvdSBkb24ndCBzdXBwb3J0IGl0Lg0KPiA+IHNpbmNl IGp1c3QgbGlrZSB3ZSB0YWxrZWQgdGhlcmUgaXMgbm8gcmVhbCBkaWZmZXJlbmNlIGJldHdlZW4g bWV0YWRhdGEgYW5kDQo+IE1BUksuDQo+ID4gV2hhdCBkbyB5b3UgdGhpbms/DQo+IA0KPiBJdCBz b3VuZHMgbGlrZSBhIHRyaWNrIDopIE5lZ2F0aXZlIHN1cHBvcnQgaXMgKm5vdCogYSBzdXBwb3J0 IGluIGZhY3QuIERQREsgcG9saWN5DQo+IHJlcXVpcmVzIHN1cHBvcnQgb2YgYSBmZWF0dXJlIGlu IGEgUE1EIGFuZCBpbi10cmVlIGFwcGxpY2F0aW9uLiBPZiBjb3Vyc2UsIGl0IGlzDQo+IG5vdCBh IHByb2JsZW0gdG8gYWRkIG1ldGEuIEl0IGlzIHJlYWxseSBlYXN5IHRvIGRvLiBJIGp1c3QgZG9u J3Qgd2FudCB0byBhZGQgaXQgaW4NCj4gdjUgdG8gYmUgZGVsZXRlZCBpbiB2NiBiZWNhdXNlIG9m IG15IGFib3ZlIGNvbmNlcm5zLg0KPiANClRoaXMgd2FzIG5vdCBhIHRyaWNrLiBJIHVuZGVyc3Rh bmQgd2hhdCB5b3UgYXJlIHNheWluZy4NCmlmIHdlIHNheSB0aGF0IG1ldGFkYXRhIGlzIHRoZSBz YW1lIGFzIG1hcmssIChJIHRoaW5rIHdlIGFsbCBhZ3JlZSBvbiBpdCkgYW5kIHRoYXQNCmFwcGxp Y2F0aW9uIG5lZWQgdG8gbm90aWZ5IHBtZCBhYm91dCBzdWNoIG9wZXJhdGlvbnMsIEkgYXNzdW1l IGl0IHdpbGwgdHJ5IHRvIHNlZSBob3cgdG8NCnJlcXVlc3QgdGhlIG1ldGFkYXRhLg0KDQpJJ20g Ty5LLiB3aXRoIGFkZGluZyBpdCBsYXRlciBhbmQgaW4gYW55IGNhc2UgSSBwcm9taXNlIHlvdSB0 aGF0IGlmIHlvdSBhZGQgaXQNCml0IHdpbGwgc3RheS4NCg0KPiBAVGhvbWFzLCB3aGF0IGRvIHlv dSB0aGluaz8NCj4gDQo+IEFuZHJldy4NCg0KT3JpDQo=