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 C23D043A0D; Tue, 30 Jan 2024 13:06:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5FC0A402AC; Tue, 30 Jan 2024 13:06:25 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id 1BF654026C for ; Tue, 30 Jan 2024 13:06:24 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TVgvt8sMU4Jx6u+XIka0ZWAdCGuFeXd533GzYqsfUwV7pPq7xkTMpG80eA3afBotqVX8jNWTQ9U9/JuGep1CzHYSVSnUSm4SkgmfsPCpovKH4fur/2eslSF+whurR5QhAiDUGVrQEv1mt/BX4KMkDFgVHvgYnGji6z1Cf+fX6st9aMT1ZbNtT/hubayKZPk2S5OZMVXJhMYQtRxmok3/+oTfsBAIs5gdEklYI6615hw+b7pTvL8fdGChx+Brlm0vmTywbzmNggfp8BX/iZXwUzNJQFSN6UBkHwErO/BohmfQ69mMAMMGAyqOW/1t7aErtfDlUhOqnLRu8qJK15ZLfg== 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=9dAwR4z2CZ8mguCgRLkxyv4kqFPW6n4rikOuJxPwueg=; b=PsYZN1lSLeClEMCtzmAGiVDPvvfiuV+p1GhI4f+yrUxi0cxorDg9DoFnc2ZLRXy9pZH9PRJiCkk0SdIkUaJ7btwKUUKDRaxfE0wDllInvnLoPX+oOApfmETzX9TVBIHY///fKRgSIKArdM94FZkbtRktISroet3rPRenwLMWHKPgOFvgDLPagmFUFxBsRIHYPcwjQN1BllA03aA8hWaYM0gNbXyE50OamplkAHwU5GeDLzv7hyFNIKiTIpAcX2HmTZk8CnX47Zzj2T8856SRxi6U7GWhJ+1r1zN5DTWxHrnrTD0jfm2Ja9Ldg1wD/ccfqacTLXfieuZQ0TnUsireBQ== 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=9dAwR4z2CZ8mguCgRLkxyv4kqFPW6n4rikOuJxPwueg=; b=FbCIzFRvb9BMXmycBA6wc+NLOftVRPECo749Se+8cUaI3hMfTApIlP3MI3SiGiMjfCWFFfS7lnqsJTez5Ol7zQg4PzEaNyHUzMOkTEd7EJQCLi9BP1l4FwJkAfOG4IWvz8xuXgnHLNrsg129k3bK2Xu9fMvGuO0go56C6tU4f1mAwYe+pj64fmW2EiqIhFiNR7TBDmBBBykSldpdNDK0yKPencB6pIBXuQpZuSLcDdKgUEZY+s3qMAdHIZybWZPrxTW2MYo9/kG/7Lr/GJAzlIuapXgL5+l9c+CsEWgN4VZzaGA/iXt7X4mkTcuc23zICUqOtj+TfEJ5S3y5Qq8F7Q== Received: from IA1PR12MB8311.namprd12.prod.outlook.com (2603:10b6:208:3fa::12) by MW3PR12MB4507.namprd12.prod.outlook.com (2603:10b6:303:2c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 12:06:21 +0000 Received: from IA1PR12MB8311.namprd12.prod.outlook.com ([fe80::708b:e498:d9c4:94]) by IA1PR12MB8311.namprd12.prod.outlook.com ([fe80::708b:e498:d9c4:94%4]) with mapi id 15.20.7228.029; Tue, 30 Jan 2024 12:06:21 +0000 From: Dariusz Sosnowski To: Ferruh Yigit , Stephen Hemminger CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko , Ori Kam , "dev@dpdk.org" Subject: RE: [RFC] ethdev: fast path async flow API Thread-Topic: [RFC] ethdev: fast path async flow API Thread-Index: AQHaOLOJMBiGV3bi0EOK9su1qim887C+8euAgAl5pJCAAHfyAIAeiClggAl+HjCAAFgigIABMtOg Date: Tue, 30 Jan 2024 12:06:21 +0000 Message-ID: References: <20231227105709.1951231-1-dsosnowski@nvidia.com> <20231228091657.14769682@hermes.local> <20240103170758.119e99d4@hermes.local> <97bbc06c-3baf-43fd-930d-27b01007f672@amd.com> In-Reply-To: <97bbc06c-3baf-43fd-930d-27b01007f672@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA1PR12MB8311:EE_|MW3PR12MB4507:EE_ x-ms-office365-filtering-correlation-id: e1153919-bf33-4409-9589-08dc218bdf73 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AxjL/bUHXYuHR/m8HFba4NOuVYkuSIwMkl3hGicAl66mKjj2od3nNlBxYBDRQSLAQVTF8jMvHNwL8AvEOAxSpcIm3vZrXdp+aBgq9fnZD5a9fSQzuChPmFAauomOgj5E3/WU9zfXZhWkVNjs7FP5shnl9Ihx3SIFnDf+TE/aCej9Bg7m9CQPhK9yDG7jBvojyHgm7LXabfdhMbioR8vozxI2deDfPqKa3yylvm6hKy6gVjlnndfBFsDc56mEFjM8wyeN8TQUc1AUsgpfYpnx6e15w8iAPwSrW6IVoNpMV2nCr5+HvnaygkdzxvCvBTg/N5iqCSaBTjF7xyrS6jeKQWvKV/byQyRs2RFgQGX/uOwp9P7AB2xibMaUbQSmZxV8twWbnzbl9tv+1q9EOYJHalxvpfJ62hc21QpKE0ZJi7w5NKtZG8QUW1PDg31qvd4tW0H7O1qMVhqplWg25B8QL8JyPzu7QjP8d4vttwJ8a3xal7Bxe3o2LGITh4LjWhBaPZK5mj1DcptDqDnFJP9k9j3RZ2c4PKcN4pf/MqaAJYIBxmt8DoQSG9veT40r7Pm0hBzPQkmgnggDdPIiwYAKClPaao/onFmsblNRAcuJQURmsTA6srlF0FZiD4T527z00GGsP4oGNHZpO7yFOC1mq3bxmoi+nw4142lHeN0KDNA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR12MB8311.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(39860400002)(396003)(136003)(346002)(376002)(230173577357003)(230273577357003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(316002)(8676002)(8936002)(52536014)(33656002)(2906002)(5660300002)(86362001)(4326008)(110136005)(66476007)(66446008)(76116006)(66946007)(66556008)(64756008)(54906003)(38070700009)(9686003)(38100700002)(478600001)(122000001)(7696005)(6506007)(53546011)(83380400001)(71200400001)(26005)(41300700001)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bVZGMXVrcmtXLzhkaVV4SUxxS1dlVjZTbEkzbityYzlVRFE2SVVhRDZxSFBk?= =?utf-8?B?aXlMamd4dElSUjVHeVpaUEVvSlhmaG5MVm1MeEJ2WVMrTkE4Z3NuVnR1NTRM?= =?utf-8?B?NFNqdFlZL0kvRldqWElGSkxkWWN5QkQrQVdWNWNTMU9Ha3BOVWUyQ1pXdSt4?= =?utf-8?B?aTVOSnRuSHBEYk82eWdwU0JpZ0dZajBjc0g5Rzk3NEdxYnVNcERGRG5WZm9M?= =?utf-8?B?ZitVK1lhaWk5Tlc3ZFA4Mnlnb2ZzdmF5VmY4dTRMdmdqeFFCR2NBOUdnYnlJ?= =?utf-8?B?dlN2T3Y3bVl2WjVXMjhJSnV2MTVHWDMzazdwVWVaZGM5cmtsOHIvM0tmaHJ5?= =?utf-8?B?NWhkdnJ3NkVQb1VpdVNpL255bmlBblN5bmpoRjBINUdUWk1ZUE04Z3V4dnpS?= =?utf-8?B?RVNzQXVWWWlYTU5iLzN6N2c2bUpXZTNZMWRUMVREdi96SFFxMm9qZVU2MVN6?= =?utf-8?B?NDRlcUxvdFpJbml0Y0lWa3JualgzT2dRZG1leHk4UnVTM0NMK0NtOUpQT3h0?= =?utf-8?B?WC83SURBWEhrcEYyMGllRloySjB5ZGwxSGY0Rlh3ZjdkVGtaTWxub3J1Q1lU?= =?utf-8?B?QlI0MlN5OC9FTGZmRGxTRmdnZHIvanZIeWFNUWFLeHMyZkErSFNvN0ZiSkE1?= =?utf-8?B?dHF4UGZrMFUrL2tXS3JPZGVRSXB5VHEvbktTRTREQmV6aERpZU5TcVJHVnpT?= =?utf-8?B?dklvR0hRbUtjZ0JacWc2bGwvV0dYUHRiNHM1cFV3cDQzd0RrYkRMM0pMbzhQ?= =?utf-8?B?bUN4K3lTQ1Y2UEVaUlJ1Tm8wblg1V1piblVuVXFjZmJQRnFPMUV5elpjSkkr?= =?utf-8?B?RDg1RzRaQXFvNVdDVEtrbDlmNEJoVnNOMVJoaUJvN01ibjZUWmVaYW9EM0g4?= =?utf-8?B?RDVIWElFOENMdXRUejJIOXNsa0hZVzM1RmtLb2dTWlhmTFZ5bUEyZ0RraGc3?= =?utf-8?B?SENTQW1EUTBxL3k4ZFh1T28vZDZsOUFiZ3NWaXNRcVZOQzdaTmFWekY3bUZ4?= =?utf-8?B?N0VZZkowclk0QXAxOTE3RE56Q0FVQ0hvQ2RyZTNMblVEOVdiRHFUWnRsQ2NZ?= =?utf-8?B?UFF6Y0NQbXhyejlONVdhTlpMVjR5emVPYzkydTJxZndBalhGUUQ4VHEwS1J0?= =?utf-8?B?c0lBS2FFZDBXRkNvM2FwVHZBYVdiSC9pMUxQVFBYWldMVWRhRURBb1U2Wm5s?= =?utf-8?B?eTMzV3ZCUk41MnhBdGtQajdLVThvbEtIbXdNZlpIVmtkNG9SSVdxR3hGNGJB?= =?utf-8?B?TnQyc3ZDUi96eGlDZFRqcnJYaHZncWhEYm9UNW85amxDdk9KdXZrTUFKOTZm?= =?utf-8?B?YzlxbSt4bUhOY1I5YTRjcWNjeDN1dVNYYWxDK3hHRWdvaFozSUEyUzFMa2pt?= =?utf-8?B?bEhPdWVGT01RWkkvUzN3OGJ5SWMrejdoNmR4NXZmZDd2c01MaXpjSFF0a2pS?= =?utf-8?B?VUNTc0s5bjZGZXU1czJNbHZjSXJQZFJtWDBlaWV0QXQ4eGJwZ0kyMXVIZHBF?= =?utf-8?B?Ry8zVys3bFBGK0JudTFkVWhMZ2dLa1hqNnFsMWtPZUxjWkZ4akprd0k2MDgv?= =?utf-8?B?eXdEeHFWUENuVlJZcXlMWkZOK0ZienFmbm5yN0MvMWhkR2hqbTlYMGJneXJT?= =?utf-8?B?Q0NyMk5RVHRLYVl6dVo2UDMydTErNk0xb1B1MzhlYkpzRXNxSHdLZHJBVnZO?= =?utf-8?B?d0hZNTdTTHBrelU0eDcwTnYyeFBDMEZ1MXlyTDJFaVE1MzlwME1KazVDdU43?= =?utf-8?B?R09mWFhRek9xaHRRcGdQczRYdG15b3YzOUZjYmtQNmkzaVgzcmhkYlNZeUU1?= =?utf-8?B?Qko2dzFGVUQrUzVQL25XTFZaZ1ZtMi9MM21OV3dEdUFJdUZGaE1NVXZYRGdF?= =?utf-8?B?U0NkZmd1R1I1UXp3Q2dnRVI1L0dvTGpQTTdMWkROaDY3SUhKZDlXcnRQRG9s?= =?utf-8?B?RDZTdnFGQlczQlcxZU1WSDZQOXV4amVSR0F4aDZ3RVpiUVcybGluT1AxQmxo?= =?utf-8?B?SkNMeEZvN0d5NG11UFdsb29HTDJSSDNtdVpXd05vUGE5SU9KYk1YQVdEdUp0?= =?utf-8?B?OXhtR1k3RDVoUHBEMXB3cFhiV3FCOGF6YUN0Mmdqc3l5UllrVDBpcjdRNHlm?= =?utf-8?Q?onQZKlh5zEGnXhgYfAo7H3sEY?= 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: IA1PR12MB8311.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1153919-bf33-4409-9589-08dc218bdf73 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2024 12:06:21.2214 (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: QAlQdbzyZYkRTp1mOKLySYkmwJqejwgvDYcu8QKWGMFDlDBoByDk1t08YWtGjxS/rc+D2vkjIu3/lanqXgHjNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4507 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 SGkgRmVycnVoLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGFtZC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgSmFudWFyeSAy OSwgMjAyNCAxODozNg0KPiBUbzogRGFyaXVzeiBTb3Nub3dza2kgPGRzb3Nub3dza2lAbnZpZGlh LmNvbT47IFN0ZXBoZW4gSGVtbWluZ2VyDQo+IDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz4N Cj4gQ2M6IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiAoRVhURVJOQUwpIDx0aG9tYXNAbW9u amFsb24ubmV0PjsNCj4gQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxh YnMucnU+OyBPcmkgS2FtDQo+IDxvcmlrYUBudmlkaWEuY29tPjsgZGV2QGRwZGsub3JnDQo+IFN1 YmplY3Q6IFJlOiBbUkZDXSBldGhkZXY6IGZhc3QgcGF0aCBhc3luYyBmbG93IEFQSQ0KPiANCj4g T24gMS8yOS8yMDI0IDE6MzggUE0sIERhcml1c3ogU29zbm93c2tpIHdyb3RlOg0KPiA+IEhpIGFs bCwNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBEYXJp dXN6IFNvc25vd3NraSA8ZHNvc25vd3NraUBudmlkaWEuY29tPg0KPiA+PiBTZW50OiBUdWVzZGF5 LCBKYW51YXJ5IDIzLCAyMDI0IDEyOjM3DQo+ID4+IFRvOiBTdGVwaGVuIEhlbW1pbmdlciA8c3Rl cGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+DQo+ID4+IENjOiBOQlUtQ29udGFjdC1UaG9tYXMgTW9u amFsb24gKEVYVEVSTkFMKSA8dGhvbWFzQG1vbmphbG9uLm5ldD47DQo+ID4+IEZlcnJ1aCBZaWdp dCA8ZmVycnVoLnlpZ2l0QGFtZC5jb20+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4+IDxhbmRyZXcu cnliY2hlbmtvQG9rdGV0bGFicy5ydT47IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+Ow0KPiA+ PiBkZXZAZHBkay5vcmcNCj4gPj4gU3ViamVjdDogUkU6IFtSRkNdIGV0aGRldjogZmFzdCBwYXRo IGFzeW5jIGZsb3cgQVBJDQo+ID4+DQo+ID4+IEhpIFN0ZXBoZW4sDQo+ID4+DQo+ID4+IFNvcnJ5 IGZvciBzdWNoIGEgbGF0ZSByZXNwb25zZS4NCj4gPj4NCj4gPj4gRnJvbTogU3RlcGhlbiBIZW1t aW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPg0KPiA+PiBTZW50OiBUaHVyc2RheSwg SmFudWFyeSA0LCAyMDI0IDAyOjA4DQo+ID4+PiBPbiBXZWQsIDMgSmFuIDIwMjQgMTk6MTQ6NDkg KzAwMDANCj4gPj4+IERhcml1c3ogU29zbm93c2tpIDxkc29zbm93c2tpQG52aWRpYS5jb20+IHdy b3RlOg0KPiA+Pj4+IEluIHN1bW1hcnksIGluIG15IG9waW5pb24gZXh0ZW5kaW5nIHRoZSBhc3lu YyBmbG93IEFQSSB3aXRoIGJ1bGtpbmcNCj4gPj4+IGNhcGFiaWxpdGllcyBvciBleHBvc2luZyB0 aGUgcXVldWUgZGlyZWN0bHkgdG8gdGhlIGFwcGxpY2F0aW9uIGlzIG5vdA0KPiBkZXNpcmFibGUu DQo+ID4+Pj4gVGhpcyBwcm9wb3NhbCBhaW1zIHRvIHJlZHVjZSB0aGUgSS1jYWNoZSBvdmVyaGVh ZCBpbiBhc3luYyBmbG93IEFQSQ0KPiA+Pj4+IGJ5DQo+ID4+PiByZXVzaW5nIHRoZSBleGlzdGlu ZyBkZXNpZ24gcGF0dGVybiBpbiBEUERLIC0gZmFzdCBwYXRoIGZ1bmN0aW9ucw0KPiA+Pj4gYXJl IGlubGluZWQgdG8gdGhlIGFwcGxpY2F0aW9uIGNvZGUgYW5kIHRoZXkgY2FsbCBjYWNoZWQgUE1E IGNhbGxiYWNrcy4NCj4gPj4+DQo+ID4+PiBJbmxpbmUgbmVlZHMgdG8gbW9yZSBkaXNjb3VyYWdl ZCBpbiBEUERLLCBiZWNhdXNlIGl0IG9ubHkgd29ya3MgaWYNCj4gPj4+IGFwcGxpY2F0aW9uIGVu ZHMgdXAgYnVpbGRpbmcgd2l0aCBEUERLIGZyb20gc291cmNlLg0KPiA+Pj4gSXQgZG9lc24ndCB3 b3JrIGZvciB0aGUgTGludXggZGlzdHJvIHBhY2thZ2luZyBtb2RlbCBhbmQgc3ltYm9sDQo+ID4+ PiB2ZXJzaW9uaW5nLCBldGMuDQo+ID4+DQo+ID4+IEkgdW5kZXJzdGFuZCB0aGUgcHJvYmxlbS4g SW4gdGhhdCBjYXNlLCBJIGhhdmUgYSBwcm9wb3NhbC4NCj4gPj4gSSBoYWQgYSBjaGF0IHdpdGgg VGhvbWFzIHJlZ2FyZGluZyB0aGlzIFJGQywgYW5kIGhlIG5vdGljZWQgdGhhdA0KPiA+PiB0aGVy ZSBhcmUgMiBzZXBhcmF0ZSBjaGFuZ2VzIHByb3Bvc2VkIGhlcmU6DQo+ID4+DQo+ID4+IDEuIFBl ci1wb3J0IGNhbGxiYWNrcyBmb3IgYXN5bmMgZmxvdyBBUEkuDQo+ID4+ICAgICAtIE1vdmVzIHNw ZWNpZmllZCBjYWxsYmFja3MgdG8gcnRlX2Zsb3dfZnBfb3BzIHN0cnVjdCBhbmQgYWxsb3cNCj4g Pj4gUE1EcyB0byByZWdpc3RlciB0aGVtIGR5bmFtaWNhbGx5Lg0KPiA+PiAgICAgLSBSZW1vdmVz IGluZGlyZWN0aW9uIGF0IEFQSSBsZXZlbCAtIG5vIG5lZWQgdG8gY2FsbCBydGVfZmxvd19vcHNf Z2V0KCkuDQo+ID4+ICAgICAtIFJlbW92ZXMgY2hlY2tpbmcgaWYgY2FsbGJhY2tzIGFyZSBkZWZp bmVkIC0gZWl0aGVyIHRoZSBkZWZhdWx0DQo+ID4+IERQREsgY2FsbGJhY2sgaXMgdXNlZCBvciB0 aGUgb25lIHByb3ZpZGVkIGJ5IFBNRC4NCj4gPj4gMi4gTWFrZSBhc3luYyBmbG93IEFQSSBmdW5j dGlvbnMgaW5saW5lYWJsZS4NCj4gPj4NCj4gPj4gQ2hhbmdlICgxKSB3b24ndCBicmVhayBBQkkg KGV4aXN0aW5nIGNhbGxiYWNrcyBpbiBydGVfZmxvd19vcHMgY2FuIGJlDQo+ID4+IG1hcmtlZCBh cyBkZXByZWNhdGVkIGZvciBub3cgYW5kIHBoYXNlZCBvdXQgbGF0ZXIpIGFuZCBpbiBteSBvcGlu aW9uDQo+ID4+IGlzIGxlc3MgY29udHJvdmVyc2lhbCBjb21wYXJlZCB0byBjaGFuZ2UgKDIpLg0K PiA+Pg0KPiA+PiBJJ2xsIHJlcnVuIHRoZSBiZW5jaG1hcmtzIGZvciBib3RoIGNoYW5nZXMgc2Vw YXJhdGVseSB0byBjb21wYXJlDQo+ID4+IHRoZWlyIGJlbmVmaXRzIGluIGlzb2xhdGlvbi4NCj4g Pj4gVGhpcyB3b3VsZCBhbGxvdyB1cyB0byBkZWNpZGUgaWYgY2hhbmdlICgyKSBpcyB3b3J0aCB0 aGUgZHJhd2JhY2tzIGl0DQo+ID4+IGludHJvZHVjZXMuDQo+ID4+DQo+ID4+IFdoYXQgZG8geW91 IHRoaW5rPw0KPiA+DQo+ID4gSSBzcGxpdCB0aGUgUkZDIGludG8gMiBwYXJ0czoNCj4gPg0KPiA+ IDEuIEludHJvZHVjZSBwZXItcG9ydCBjYWxsYmFja3M6DQo+ID4gICAgIC0gSW50cm9kdWNlIHJ0 ZV9mbG93X2ZwX29wcyBzdHJ1Y3QgLSBob2xkcyBjYWxsYmFja3MgZm9yIGZhc3QgcGF0aCBjYWxs cywgZm9yDQo+IGVhY2ggcG9ydC4gUE1EIHJlZ2lzdGVycyBjYWxsYmFja3MgdGhyb3VnaCBydGVf Zmxvd19mcF9vcHNfcmVnaXN0ZXIoKS4NCj4gPiAgICAgLSBSZWxldmFudCBydGVfZmxvd19hc3lu Y18qIGZ1bmN0aW9ucyBqdXN0IHBhc3MgYXJndW1lbnRzIHRvIGZhc3QgcGF0aA0KPiBjYWxsYmFj a3MuIFZhbGlkYXRpb24gY2hlY2tzIGFyZSBkb25lIG9ubHkgaWYgUlRFX0ZMT1dfREVCVUcgbWFj cm8gaXMNCj4gZGVmaW5lZC4NCj4gPiAgICAgLSBCaWdnZXN0IGRpZmZlcmVuY2UgaXMgdGhlIHJl bW92YWwgb2YgY2FsbGJhY2sgYWNjZXNzIHRocm91Z2gNCj4gcnRlX2Zsb3dfZ2V0X29wcygpLg0K PiA+IDIuIElubGluZSBhc3luYyBmbG93IEFQSSBmdW5jdGlvbnMuDQo+ID4gICAgIC0gUmVsZXZh bnQgcnRlX2Zsb3dfYXN5bmNfKiBmdW5jdGlvbnMgZGVmaW5pdGlvbnMgYXJlIG1vdmVkIHRvIHJ0 ZV9mbG93LmgNCj4gYW5kIG1hZGUgaW5saW5lYWJsZS4NCj4gPg0KPiA+IEhlcmUgYXJlIHRoZSBy ZXN1bHRzIG9mIHRoZSBiZW5jaG1hcms6DQo+ID4NCj4gPiB8ICAgICAgICAgICAgICAgICAgICAg ICB8IEF2ZyBJbnNlcnRpb24gfCBEaWZmIG92ZXIgYmFzZWxpbmUgfCBBdmcNCj4gPiB8IERlbGV0 aW9uIHwgRGlmZiBvdmVyIGJhc2VsaW5lIHwNCj4gPiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18 LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tfC0tLS0t LS0tLS0tLS0NCj4gLS0tLS0tLXwNCj4gPiB8IGJhc2VsaW5lICh2MjQuMDMtcmMwKSB8ICAgICA1 ODU1LjQgICAgfCAgICAgICAgICAgICAgICAgICAgfCAgICA5MDI2LjggICAgfCAgICAgICAgICAg ICAgICAgICAgfA0KPiA+IHwgYXBwbGllZCAoMSkgICAgICAgICAgIHwgICAgIDYzODQuMiAgICB8 ICAgICs1MjguOCAoKzklKSAgICB8ICAgIDEwMDU0LjIgICB8ICArMTAyNy40DQo+ICgrMTEuNCUp ICB8DQo+ID4gfCBhcHBsaWVkICgyKSAgICAgICAgICAgfCAgICAgNjQzNC42ICAgIHwgICArNTc5 LjIgKCs5LjklKSAgIHwgICAgMTAwMTEuNCAgIHwgICArOTg0LjYNCj4gKCsxMC45JSkgIHwNCj4g Pg0KPiA+IFJlc3VsdHMgYXJlIGluIEtGbG93cy9zZWMuDQo+ID4gVGhlIGJlbmNobWFyayBpcyBj b250aW51b3VzbHkgaW5zZXJ0aW5nIGFuZCBkZWxldGluZyAyTSBmbG93IHJ1bGVzLg0KPiA+IFRo ZXNlIHJ1bGVzIG1hdGNoIG9uIElQdjQgZGVzdGluYXRpb24gYWRkcmVzcyBhbmQgd2l0aCBhIHNp bmdsZSBhY3Rpb24NCj4gRFJPUC4NCj4gPiBGbG93IHJ1bGVzIGFyZSBpbnNlcnRlZCBhbmQgZGVs ZXRlZCB1c2luZyBhIHNpbmdsZSBmbG93IHF1ZXVlLg0KPiA+DQo+ID4gQ2hhbmdlICgyKSBpbXBy b3ZlcyBpbnNlcnRpb24gcmF0ZSBwZXJmb3JtYW5jZSBieSB+MSUgY29tcGFyZWQgdG8gKDEpLA0K PiBidXQgZGVjcmVhc2VzIGRlbGV0aW9uIHJhdGUgYnkgfjAuNSUuDQo+ID4gQmFzZWQgb24gdGhl c2UgcmVzdWx0cywgSSB0aGluayB3ZSBjYW4gc2F5IHRoYXQgbWFraW5nIHJ0ZV9mbG93X2FzeW5j XyooKQ0KPiBjYWxscyBpbmxpbmVhYmxlIG1heSBub3QgYmUgd29ydGggaXQgY29tcGFyZWQgdG8g dGhlIGlzc3VlcyBpdCBjYXVzZXMuDQo+ID4NCj4gPiBXaGF0IGRvIHlvdSBhbGwgdGhpbmsgYWJv dXQgdGhlIHJlc3VsdHM/DQo+ID4NCj4gDQo+IEhpIERhcml1c3osDQo+IA0KPiBBcyBkaXNjdXNz ZWQgYmVmb3JlLCBjb252ZXJ0aW5nIEFQSXMgdG8gc3RhdGljIGlubGluZSBmdW5jdGlvbnMgb3Ig ZXhwb3NpbmcNCj4gJ3J0ZV9ldGhfZGV2JyBoYXMgY29ucyBidXQgd2l0aCBvbmx5IGFwcGx5aW5n IGZpcnN0IHBhcnQgYWJvdmUgc2VlbXMgZ2V0IHJpZCBvZg0KPiB0aGVtIHdpdGggcmVhc29uYWJs ZSBwZXJmb3JtYW5jZSBnYWluLCBzbyBJIHRoaW5rIHdlIGNhbiBjb250aW51ZSB3aXRoIHRoaXMN Cj4gYXBwcm9hY2ggYW5kIGNvbnRpbnVlIHRvIHJldmlld3MuDQo+IA0KPiBNb3N0IG9mIHRoZSAn cnRlX2Zsb3dfYXN5bmNfKicgYXJlIGFscmVhZHkgbWlzc2luZyB0aGUgZnVuY3Rpb24gdmFsaWRp dHkgY2hlY2ssDQo+IHNvIGhhdmluZyBhIGRlZmF1bHQgKGR1bW15PykgcnRlX2Zsb3dfZnBfb3Bz IGZvciB0aGVtIHNlZW1zIGV2ZW4gYW4NCj4gaW1wcm92ZW1lbnQgdGhlcmUuDQo+IA0KPiANCj4g T25seSBwcmV2aW91c2x5ICdzdHJ1Y3QgcnRlX2Zsb3dfb3BzJyB3YXMgY29taW5nIGZyb20gZHJp dmVycywgZXRoZGV2IGxheWVyDQo+IGRvZXNuJ3QgbmVlZCB0byBtYWludGFpbiBhbnl0aGluZy4N Cj4gQnV0IHdpdGggJ3J0ZV9mbG93X2ZwX29wcycgc3RydWN0LCBldGhkZXYgbmVlZHMgdG8gc3Rv cmUgYW5vdGhlciBhcnJheSB3aXRoDQo+IGZpeGVkICgnUlRFX01BWF9FVEhQT1JUUycpIHNpemUg d2hpY2ggd2lsbCBiZSBhbm90aGVyIGJsb2NrZXIgaW4gdGhlIGZ1dHVyZQ0KPiB0byBjb252ZXJ0 IHRoaXMgZml4ZWQgYXJyYXlzIHRvIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhcnJheXMuDQo+IA0K PiBGb3IgdGhpcywgZG9lcyBpdCBzdGlsbCBoZWxwIHdlIGFkZCBhbiBhIG5ldyBmaWVsZCB0byAi c3RydWN0IHJ0ZV9ldGhfZGV2IiwgbGlrZQ0KPiAic3RydWN0IHJ0ZV9mbG93X29wcyAqZmxvd19v cHMiLCBzaW1pbGFyIHRvICdkZXZfb3BzJz8NCj4gVGhlIGluZGlyZWN0aW9uIHN0aWxsIHdpbGwg YmUgdGhlcmUsIGJ1dCBlbGltaW5hdGUgJ3J0ZV9mbG93X2dldF9vcHMoKScNCj4gY2FsbCBhbmQg Y2hlY2tzIGNvbWVzIHdpdGggaXQuDQo+IElmIG1ha2VzIHNlbnNlLCBpcyB0aGVyZSBhIGNoYW5j ZSB0byBleHBlcmltZW50IHRoaXMgYW5kIGdldCBzb21lIHBlcmZvcm1hbmNlDQo+IG51bWJlcnMg d2l0aCBpdD8NCldoaWNoIG9wdGlvbiBkbyB5b3UgaGF2ZSBpbiBtaW5kIHNwZWNpZmljYWxseT8N Cg0KMS4gS2VlcGluZyBvbmx5IGZhc3QgcGF0aCBjYWxsYmFja3MgaW4gImRldi0+Zmxvd19vcHMi LCBzbyAic3RydWN0IHJ0ZV9ldGhfZGV2IiB3aWxsIGhvbGQgb25seSBhIHBvaW50ZXIgdG8gInN0 cnVjdCBydGVfZmxvd19mcF9vcHMiIGFzIGRlZmluZWQgaW4gUkZDLg0KICAgIC0gT25seSBhc3lu YyBmbG93IEFQSSB3aWxsIHVzZSAiZGV2LT5mbG93X29wcy0+Y2FsbGJhY2siLg0KICAgIC0gT3Ro ZXIgQVBJcyB3aWxsIGdvIHRocm91Z2ggInJ0ZV9mbG93X29wc19nZXQoKSINCjIuIEtlZXBpbmcg YWxsIGZsb3cgY2FsbGJhY2tzIGluICJkZXYtPmZsb3dfb3BzIiwgc28gInN0cnVjdCBydGVfZmxv d19vcHMiLg0KICAgIC0gQXMgYSByZXN1bHQsIEkgdGhpbmsgdGhhdCAicnRlX2Zsb3dfZ2V0X29w cygpIiBjb3VsZCBiZSByZW1vdmVkIGFsdG9nZXRoZXIgYXNzdW1pbmcgdGhhdCBhbGwgZnVuY3Rp b25zIGhhdmUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiwNCiAgICAgIGNoZWNraW5nIGZvciBwb3J0 IHZhbGlkaXR5IChFTk9ERVYgaWYgcG9ydCBub3QgdmFsaWQpIGFuZCByZXR1cm5pbmcgRU5PU1lT Lg0KDQpSZWdhcmRsZXNzIG9mIHRoZSB2ZXJzaW9uLCBJIGNhbiBleHBlcmltZW50IHdpdGggYWRk aXRpb25hbCBpbmRpcmVjdGlvbi4NCg0KQmVzdCByZWdhcmRzLA0KRGFyaXVzeiBTb3Nub3dza2kN Cg==