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 0327143AC1; Tue, 13 Feb 2024 08:05:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9C4C0402AD; Tue, 13 Feb 2024 08:05:46 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2074.outbound.protection.outlook.com [40.107.92.74]) by mails.dpdk.org (Postfix) with ESMTP id 6224E4027B for ; Tue, 13 Feb 2024 08:05:45 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4lUj2H+SV3RRyfRFYC5ktkwyUozMiUFl4r+HP6/CY2z+AqE/ZIzMht3UDmH9WP1QVM/9mjyuZFE2LzI39G7mMz+ZTDP9qAeLhwKDdJFHrqgNKDznr+b2eAlMR1qi8eboDuYZtgGUKs9lA7nsJhqXiqw1Qt2gN/tfZ5+vw9qBdcM5vxP3Hjfi50B90eGw5ArYZBzGXvGV6p80XHsW6fHtp7bkLItnSDhUd0KciYrcblePxVeiN+3n97KhbN8l7gZ8VB/gBv6YQ2i1pIjKWr+budPvDruf/yplJonZvtG3KWrsqzW/N6plEcPffSrP5tyy/c9kU5dmoLPgeftcTCQ5Q== 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=OrUftyeRS4NOoBMrHMPYNgp57GgWI3KpfrHh3fqx41U=; b=ZU9Oc7PETsIBl3kRjz6UoW2/lL7Nvk1aogWL/nODgpmRFbeULFxtbTJZWSMuDYth6CSfMWOWGzM5/70hG74QcsjDrFXz4MJfYWyjj0m+LfsOZY8p+IqkDFF5K0DLQ8I2J2C9vo7WipW9151IHbztU0A6ah5vDTnbTFePaRHxSlp0rJfj0Wtg5SgksYOGuZaekiL06IwhINznjnmrJWhUGyJw0q46KaM38h9yPtGAfPz6jhGZi6euRavmxtA++CruQUNKNF3mj5NfipR01z3UpZalV86tDja9fcqbHKbfFzoV/pYolUUXgOGbAE0Ox4ggKjfLNJ84GeMHy0uZ1K6S9A== 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=OrUftyeRS4NOoBMrHMPYNgp57GgWI3KpfrHh3fqx41U=; b=TLCecVjCzxV4FMdRXIie+fldQTNsDoycDgLkuhRW2mxrSods3R1wyyijMYxUExE3x9y2/qAc7VnAfqK1iUanQzyV9r4YWXG+k5Tv687mW6EQpF9YYgcffCUMqP4WVUBPqGiHLNsiKyBJcWXYSPN/Vbp4cgZ41tZi7FlJ5yCZudNLFgVYtYeG7bIjNrcyqkVRaKWCtlFuAw91AhBBUEbvW4nU2RuING2s9hUHxcEROoKk9y+FWxsYvPvDjdh3HRk7McfTicnmMmVGfUNeg4H2t7BC1T7JzLyLFSczRBdAg0k4LPj50XkW4Gat/Rv29ev8Fjhltbc9aQFMSdreHHnyrQ== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by CH2PR12MB5002.namprd12.prod.outlook.com (2603:10b6:610:6d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.25; Tue, 13 Feb 2024 07:05:42 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::4b7d:c23d:42aa:3f9e]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::4b7d:c23d:42aa:3f9e%7]) with mapi id 15.20.7292.022; Tue, 13 Feb 2024 07:05:40 +0000 From: Ori Kam To: Ferruh Yigit , Dariusz Sosnowski , "cristian.dumitrescu@intel.com" , "andrew.rybchenko@oktetlabs.ru" , "stephen@networkplumber.org" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" CC: "dev@dpdk.org" , Raslan Darawsheh Subject: RE: [PATCH v2 1/4] ethdev: introduce encap hash calculation Thread-Topic: [PATCH v2 1/4] ethdev: introduce encap hash calculation Thread-Index: AQHaWm6U+XsWFAYcxUWJTEIghyQQuLEAr1eAgAQPWMCAAjezgIAAFFIAgAAfSYCAALV5kA== Date: Tue, 13 Feb 2024 07:05:40 +0000 Message-ID: References: <20240128093943.4461-1-orika@nvidia.com> <20240208090919.11565-1-orika@nvidia.com> <50189a77-2c1f-4b31-935d-506fa98d22af@amd.com> <55623d61-c2e2-49b4-873b-8d1aa78ce142@amd.com> <19b7d3db-f142-49fa-976d-a180f03d7a0b@amd.com> In-Reply-To: <19b7d3db-f142-49fa-976d-a180f03d7a0b@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: MW2PR12MB4666:EE_|CH2PR12MB5002:EE_ x-ms-office365-filtering-correlation-id: de067c5f-6c05-4dce-de9d-08dc2c62300f 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: ZyU5OgyLLJTsTRssf/5ojrp7Jm0Z3q8UXKRKB8jH1ZD/i98Qc1Iev3qtRjYujIQ0UCr4SiTLkcKHBIho25sBCCgtT8fqNiGfYrSP5EOUQEDUoPNUgJEpW9f1BXyp16JzcZsLd4ZOJu44m3kPxzp0ba6txqUzFw5HCeB5wL7f//ljGLM8xOr37Shn2cfhskDk3wRJ8J1bDyhzY+r7MxADj8KljuJDSDcofsNcztFJS3fg3rUyMw3tOf5KurKdYjPdlo3T2k1dmzUZSUEsAz7vmUlL/jzAHpWX61Um59+kP1vn4WAmVJTck3803aXrWhtZqBF2ZlVt/biBXAUSBEG8jrVavjDiv4Ex17NSM17umDjLtymzSOBCpnpOcPzQTYtixgl4ipODWsgZTgscFbyqHgn1mAri6vm2vNYDkEDJAhQMPCSQnKfSjqfc96SPAr+BkYomnlohbmnFs0wUxxJWAL5HICrD7gZaPHUZmT4u2TMV47xhNhquyBC32BKLJPb1NYc8jn/D1v/nSZ+sMIziBB5XmAPsAIuCHdEUAUS466PLZxt0uLye+EXdJXQRpjyU5Uo78sh4E448hNbz51NJCwm5jLjpk8R8cVfp9w9ArqG+eyUF3qISzYg/yKXL21xe x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(136003)(376002)(39860400002)(346002)(230273577357003)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(55016003)(110136005)(76116006)(66899024)(41300700001)(2906002)(5660300002)(64756008)(54906003)(66446008)(66556008)(66476007)(86362001)(83380400001)(8936002)(8676002)(66946007)(4326008)(52536014)(316002)(107886003)(7696005)(6506007)(26005)(53546011)(9686003)(38100700002)(122000001)(38070700009)(71200400001)(478600001)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?amovcURWVFJTMlpaYndmV1JPS3lHNWJlMFErYnE4M3krMjZ1V0ViaFFhdFFm?= =?utf-8?B?NHFmUUdJWHhOWEdaaG0vWGJzeFNwTnRkM2pKQ2dta0NGeTcxdXpqVXNtY1Q4?= =?utf-8?B?WHV2bmg1ODVQNy8wY2labEtkcUNmd1Z6U2k0NTJmSS9PRUc0NEpERmVsZy80?= =?utf-8?B?cjZ1dEI5MmNJdGhnS2RRTjdhVDhCWGlROUpPYWlFUVBwaEVCOVhIL3JoMFdP?= =?utf-8?B?VUhtSS9tU1kyM3ZDeFYyMGJleVBKMnFEZjkvYzQ2cVR3MUtnVkNEa3d5MGNQ?= =?utf-8?B?YkV6cjk1bVMrdkNHMlJGajVaTjMrM2JYdTY5blgxeGdRU0dqeERzYW1mcU4w?= =?utf-8?B?bVM5VVNIcmkrRU5YZnRRZGZadmdsSzlQcFJxdVNkL1d0YSt2VjhINDRrOHQx?= =?utf-8?B?TEc4TmxDdXQyZ1ZYcGlaMEFXRjJSbWJtbGpJZkVvMnphdjNnQlNaYVM4R1NP?= =?utf-8?B?cHhmVmlQWnRsQjlyMHRqSlRTYTRoNVBUWXE0OEFTclM5RTcvYmlseXVjTk1h?= =?utf-8?B?UG1EVmhaT1BDR3lDbXFYaGkzRmMycmttTmFYTm1mU2NFdWR2MUx4WTgreDZV?= =?utf-8?B?akVFbTg5NFU3Y3ZWaUtpbmMxaXA1dGxCbUc0ZHpNRnUvYkIvbUlZUHIrR280?= =?utf-8?B?MWlhQ2JrckI2YmZxVHNWcmZCaW5YT3l6K0hZenpySDdkZlA3Z2Y2NVlFUnMy?= =?utf-8?B?Qm1VRmZmZDVjMVpZa051UUFqL3Jqd3F6bnhlTlMwZkNicG9qTTBxZlZvTGVp?= =?utf-8?B?ajE4UktodWgzcC81NGREQ2ZjZUtmdU1ETFZZWkJxa2N5RmtGMUN0bTQ1SFdU?= =?utf-8?B?dkVKZHZNVml0R3dnYUgwMnhjSXlpaXVkQWF4YWU5WG9tNUJMc2ZacUpERkEx?= =?utf-8?B?MHZkZ1R1amtBUmd3Zk00VHZQUnBtMGhRVlNvQWxZRzNETndaY29lYXFMK09W?= =?utf-8?B?dUlSSm5ScUtUcVd2NTBZeXc0SDdIK3NxdEJuM2R1cnE5MU1wRiswN1Q3TFBR?= =?utf-8?B?ODVIWVNDbE5rbk5XSGhTRmhVd0YzUkE3WTJ6SytqSU4vUE1oV29Md1RkUzhh?= =?utf-8?B?d01tbERiQmdLazlNUFFwa2lUSjYwbmFlNTVlczBRR0RVbytYck9RNmx2L2hZ?= =?utf-8?B?Sm5ROWJmN2I4VC9nWHF6ZS9oWGxKQW80d2cxTnJVNWpyUkxGcVZrWkI0ckhV?= =?utf-8?B?VmliMDV0a1hUMktvWVNWaFVJZHZhOU1Fc1EyWUJ3QkEvUmc3SWpxVmY2Z3dK?= =?utf-8?B?RTJzdS9vUEN6eHhUR05BOGs0Mmlva29pZ0ZQSHdZVjVHSlRzUkZtcnhZNE1V?= =?utf-8?B?eitiZ3hOT2FpM1kxbWl5a2pPLzlXWDdBaW5uak9BRnYxdkNCdjV2K2JmbjNQ?= =?utf-8?B?Qmd6dE5GZkJqK2JBZHVnMlFjdDdxZVlJNlVvMjRRdXBVaks1aXRuNG9icERj?= =?utf-8?B?NDJFbVlNZnhjMkIxK3MrQlZKZ1VIcDZCdi9qMDJ6M01WeEJ5ZEYzOENXOVl5?= =?utf-8?B?Nk00REpxbU9aZ1dXMEs0M2JUM09FUWYxV1JOcE42am9SMTFwZnZ6YmlXQlJT?= =?utf-8?B?bDduRTlJMVFkQ3h3dW5Cb29ueVNkNmpjZjQvUy9oV3VqMXdMc2gxQS84ZkVk?= =?utf-8?B?cmE1a0QvZkVvejFncTY1MUEvRVRidi9KcFNrR3g3Z2swNXl6ajNMZVlWT3dB?= =?utf-8?B?NDZ6TE5OSU56Wi9WVFhCZnZZTVRpdGN4SmZvVmU1UU91UXI0Z3kwRFhNNFJL?= =?utf-8?B?aTZrTEplUTVmMm1FNExMTkt5dWpBMlBWUVdoZGpLWnVYbGZlMWYwaStTclFT?= =?utf-8?B?OGYyMnE1elVGeGpvaHhhSXNWM3NqZ204ZHlscjMrOWRsL3p6K1FHVU9Pc0gw?= =?utf-8?B?Z3I2Y1Biczl0TjB3UGh6RUtmcmJiUFhyNTVKNlMvVVM2NEZDeTJENWtlY2Fn?= =?utf-8?B?RVZubG1NbXZiT2RYc0VXUnBIRlZGdFl0dkNuM21lUlBhUzNUTGkxWWNFMlpk?= =?utf-8?B?b3hQeWVhanovQUZLOHZja1lZWWdJZGNOYitNZmFNd1d0ZkdPbGFncG9EbERJ?= =?utf-8?B?SDNjUytWOGNQZzZzQ01OL3JxWmhJNi9mL2hvUnZaL0ZXTzhsRW5LTjJuRkxj?= =?utf-8?Q?39RI=3D?= 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: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de067c5f-6c05-4dce-de9d-08dc2c62300f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Feb 2024 07:05:40.3986 (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: LOvzJKr0XQMRFVM5rMGJubdPh7D/90/WoZbDcHxumEeiVO1A2vjTZ6GHN1J94KkkYmboBMiiLDxl8izIT1GImA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB5002 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogTW9uZGF5LCBGZWJydWFyeSAxMiwgMjAyNCAx MDoxMCBQTQ0KPiANCj4gT24gMi8xMi8yMDI0IDY6NDQgUE0sIE9yaSBLYW0gd3JvdGU6DQo+ID4g SGkgRmVycnVoDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJv bTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gPj4gU2VudDogTW9uZGF5 LCBGZWJydWFyeSAxMiwgMjAyNCA3OjA1IFBNDQo+ID4+DQo+ID4+IE9uIDIvMTEvMjAyNCA3OjI5 IEFNLCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4gSGkgRmVycnVoLA0KPiA+Pj4NCj4gPj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVo LnlpZ2l0QGFtZC5jb20+DQo+ID4+Pj4gU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDgsIDIwMjQg NzoxMyBQTQ0KPiA+Pj4+IFRvOiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgRGFyaXVzeiBT b3Nub3dza2kNCj4gPj4+Pg0KPiA+Pj4+IE9uIDIvOC8yMDI0IDk6MDkgQU0sIE9yaSBLYW0gd3Jv dGU6DQo+ID4+Pj4+IER1cmluZyBlbmNhcHN1bGF0aW9uIG9mIGEgcGFja2V0LCBpdCBpcyBwb3Nz aWJsZSB0byBjaGFuZ2Ugc29tZQ0KPiA+Pj4+PiBvdXRlciBoZWFkZXJzIHRvIGltcHJvdmUgZmxv dyBkZXN0cmlidXRpb24uDQo+ID4+Pj4+IEZvciBleGFtcGxlLCBmcm9tIFZYTEFOIFJGQzoNCj4g Pj4+Pj4gIkl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIFVEUCBzb3VyY2UgcG9ydCBudW1iZXIN Cj4gPj4+Pj4gYmUgY2FsY3VsYXRlZCB1c2luZyBhIGhhc2ggb2YgZmllbGRzIGZyb20gdGhlIGlu bmVyIHBhY2tldCAtLQ0KPiA+Pj4+PiBvbmUgZXhhbXBsZSBiZWluZyBhIGhhc2ggb2YgdGhlIGlu bmVyIEV0aGVybmV0IGZyYW1lJ3MgaGVhZGVycy4NCj4gPj4+Pj4gVGhpcyBpcyB0byBlbmFibGUg YSBsZXZlbCBvZiBlbnRyb3B5IGZvciB0aGUgRUNNUC9sb2FkLWJhbGFuY2luZyINCj4gPj4+Pj4N Cj4gPj4+Pj4gVGhlIHR1bm5lbCBwcm90b2NvbCBkZWZpbmVzIHdoaWNoIG91dGVyIGZpZWxkIHNo b3VsZCBob2xkIHRoaXMgaGFzaCwNCj4gPj4+Pj4gYnV0IGl0IGRvZXNuJ3QgZGVmaW5lIHRoZSBo YXNoIGNhbGN1bGF0aW9uIGFsZ29yaXRobS4NCj4gPj4+Pj4NCj4gPj4+Pj4gQW4gYXBwbGljYXRp b24gdGhhdCB1c2VzIGZsb3cgb2ZmbG9hZHMgZ2V0cyB0aGUgZmlyc3QgZmV3IHBhY2tldHMNCj4g Pj4+Pj4gKGV4Y2VwdGlvbiBwYXRoKSBhbmQgdGhlbiBkZWNpZGVzIHRvIG9mZmxvYWQgdGhlIGZs b3cuDQo+ID4+Pj4+IEFzIGEgcmVzdWx0LCB0aGVyZSBhcmUgdHdvDQo+ID4+Pj4+IGRpZmZlcmVu dCBwYXRocyB0aGF0IGEgcGFja2V0IGZyb20gYSBnaXZlbiBmbG93IG1heSB0YWtlLg0KPiA+Pj4+ PiBTVyBmb3IgdGhlIGZpcnN0IGZldyBwYWNrZXRzIG9yIEhXIGZvciB0aGUgcmVzdC4NCj4gPj4+ Pj4gV2hlbiB0aGUgcGFja2V0IGdvZXMgdGhyb3VnaCB0aGUgU1csIHRoZSBTVyBlbmNhcHN1bGF0 ZXMgdGhlDQo+IHBhY2tldA0KPiA+Pj4+PiBhbmQgbXVzdCB1c2UgdGhlIHNhbWUgaGFzaCBjYWxj dWxhdGlvbiBhcyB0aGUgSFcgd2lsbCBkbyBmb3INCj4gPj4+Pj4gdGhlIHJlc3Qgb2YgdGhlIHBh Y2tldHMgaW4gdGhpcyBmbG93Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiB0aGUgbmV3IGZ1bmN0aW9uIHJ0 ZV9mbG93X2NhbGNfZW5jYXBfaGFzaCBjYW4gcXVlcnkgdGhlIGhhc2ggdmFsdWUNCj4gPj4+Pj4g ZnJvbW0gdGhlIGRyaXZlciBmb3IgYSBnaXZlbiBwYWNrZXQgYXMgaWYgdGhlIHBhY2tldCB3YXMg cGFzc2VkDQo+ID4+Pj4+IHRocm91Z2ggdGhlIEhXLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaWduZWQt b2ZmLWJ5OiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiA+Pj4+PiBBY2tlZC1ieTogRGFy aXVzeiBTb3Nub3dza2kgPGRzb3Nub3dza2lAbnZpZGlhLmNvbT4NCj4gPj4+Pj4NCj4gPj4+Pg0K PiA+Pj4+IDwuLi4+DQo+ID4+Pj4NCj4gPj4+Pj4gK2ludA0KPiA+Pj4+PiArcnRlX2Zsb3dfY2Fs Y19lbmNhcF9oYXNoKHVpbnQxNl90IHBvcnRfaWQsIGNvbnN0IHN0cnVjdA0KPiBydGVfZmxvd19p dGVtDQo+ID4+Pj4gcGF0dGVybltdLA0KPiA+Pj4+PiArCQkJIGVudW0gcnRlX2Zsb3dfZW5jYXBf aGFzaF9maWVsZCBkZXN0X2ZpZWxkLA0KPiB1aW50OF90DQo+ID4+Pj4gaGFzaF9sZW4sDQo+ID4+ Pj4+ICsJCQkgdWludDhfdCAqaGFzaCwgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcikNCj4g Pj4+Pj4gK3sNCj4gPj4+Pj4gKwlpbnQgcmV0Ow0KPiA+Pj4+PiArCXN0cnVjdCBydGVfZXRoX2Rl diAqZGV2Ow0KPiA+Pj4+PiArCWNvbnN0IHN0cnVjdCBydGVfZmxvd19vcHMgKm9wczsNCj4gPj4+ Pj4gKw0KPiA+Pj4+PiArCVJURV9FVEhfVkFMSURfUE9SVElEX09SX0VSUl9SRVQocG9ydF9pZCwg LUVOT0RFVik7DQo+ID4+Pj4+ICsJb3BzID0gcnRlX2Zsb3dfb3BzX2dldChwb3J0X2lkLCBlcnJv cik7DQo+ID4+Pj4+ICsJaWYgKCFvcHMgfHwgIW9wcy0+Zmxvd19jYWxjX2VuY2FwX2hhc2gpDQo+ ID4+Pj4+ICsJCXJldHVybiBydGVfZmxvd19lcnJvcl9zZXQoZXJyb3IsIEVOT1RTVVAsDQo+ID4+ Pj4+ICsNCj4gPj4+PiBSVEVfRkxPV19FUlJPUl9UWVBFX1VOU1BFQ0lGSUVELCBOVUxMLA0KPiA+ Pj4+PiArCQkJCQkgICJjYWxjIGVuY2FwIGhhc2ggaXMgbm90DQo+IHN1cHBvcnRlZCIpOw0KPiA+ Pj4+PiArCWlmICgoZGVzdF9maWVsZCA9PSBSVEVfRkxPV19FTkNBUF9IQVNIX0ZJRUxEX1NSQ19Q T1JUDQo+ICYmDQo+ID4+Pj4gaGFzaF9sZW4gIT0gMikgfHwNCj4gPj4+Pj4gKwkgICAgKGRlc3Rf ZmllbGQgPT0NCj4gUlRFX0ZMT1dfRU5DQVBfSEFTSF9GSUVMRF9OVkdSRV9GTE9XX0lEDQo+ID4+ Pj4gJiYgaGFzaF9sZW4gIT0gMSkpDQo+ID4+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBJZiB0aGVyZSBp cyBhIGZpeGVkIG1hcHBpbmcgd2l0aCB0aGUgZGVzdF9maWVsZCBhbmQgdGhlIHNpemUsIGluc3Rl YWQgb2YNCj4gPj4+PiBwdXR0aW5nIHRoaXMgaW5mb3JtYXRpb24gaW50byBjaGVjayBjb2RlLCB3 aGF0IGRvIHlvdSB0aGluayB0byBwdXQgaXQNCj4gPj4+PiBpbnRvIHRoZSBkYXRhIHN0cnVjdHVy ZT8NCj4gPj4+Pg0KPiA+Pj4+IEkgbWVhbiBpbnN0ZWFkIG9mIHVzaW5nIGVudW0gZm9yIGRlc3Rf ZmlsZWQsIGl0IGNhbiBiZSBhIHN0cnVjdCB0aGF0IGlzDQo+ID4+Pj4gaG9sZGluZyBlbnVtIGFu ZCBpdHMgZXhwZWN0ZWQgc2l6ZSwgdGhpcyBjbGFyaWZpZXMgd2hhdCB0aGUgZXhwZWN0ZWQNCj4g Pj4+PiBzaXplIGZvciB0aGF0IGZpZWxkLg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gRnJvbSBteSBv cmlnaW5hbCBlbWFpbCBJIHRoaW5rIHdlIG9ubHkgbmVlZCB0aGUgdHlwZSwgd2UgZG9uJ3QgbmVl ZCB0aGUNCj4gPj4gc2l6ZS4NCj4gPj4+IE9uIHRoZSBSRkMgdGhyZWFkIHRoZXJlIHdhcyBhbiBv YmplY3Rpb24uIFNvIEkgYWRkZWQgdGhlIHNpemUsDQo+ID4+PiBJZiB5b3UgdGhpbmsgaXQgaXMg bm90IG5lZWRlZCBsZXRzIHJlbW92ZSBpdC4NCj4gPj4+DQo+ID4+DQo+ID4+IEkgYW0gbm90IHNh eWluZyBsZW5ndGggaXMgbm90IG5lZWRlZCwgYnV0DQo+ID4+IEFQSSBnZXRzICdkZXN0X2ZpZWxk JyAmICdoYXNoX2xlbicsIGFuZCBhY2NvcmRpbmcgY2hlY2tzIGluIHRoZSBBUEkgZm9yDQo+ID4+ IGVhY2ggJ2Rlc3RfZmllbGQnIHRoZXJlIGlzIGFuIGV4YWN0ICdoYXNoX2xlbicgcmVxdWlyZW1l bnQsIHRoaXMNCj4gPj4gcmVxdWlyZW1lbnQgaXMgc29tZXRoaW5nIGltcGFjdHMgdXNlciBidXQg dGhpcyBpbmZvcm1hdGlvbiBpcyBlbWJlZGRlZA0KPiA+PiBpbiB0aGUgQVBJLCBteSBzdWdnZXN0 aW9uIGlzIG1ha2UgaXQgbW9yZSB2aXNpYmxlIHRvIHVzZXIuDQo+ID4+DQo+ID4+IE15IGluaXRp YWwgc3VnZ2VzdGlvbiB3YXMgcHV0IHRoaXMgaW50byBhbiBvYmplY3QsIGxpa2U6DQo+ID4+IGBg YA0KPiA+PiBzdHJ1Y3QgeCB7DQo+ID4+IAllbnVtIHJ0ZV9mbG93X2VuY2FwX2hhc2hfZmllbGQg ZGVzdF9maWVsZDsNCj4gPj4gCXNpemVfdCBleHBlY3RlZCBzaXplOw0KPiA+PiB9IHlbXSA9IHsN Cj4gPj4gCXsgUlRFX0ZMT1dfRU5DQVBfSEFTSF9GSUVMRF9TUkNfUE9SVCwgMiB9LA0KPiA+PiAJ eyBSVEVfRkxPV19FTkNBUF9IQVNIX0ZJRUxEX05WR1JFX0ZMT1dfSUQsIDEgfQ0KPiA+PiB9Ow0K PiA+PiBgYGANCj4gPj4NCj4gPj4gQnV0IGFzIHlvdSBtZW50aW9uZWQgdGhpcyBpcyBhIGxpbWl0 ZWQgc2V0LCBwZXJoYXBzIGl0IGlzIHN1ZmZpY2llbnQgdG8NCj4gPj4gZG9jdW1lbnQgc2l6ZSBy ZXF1aXJlbWVudCBpbiB0aGUgImVudW0gcnRlX2Zsb3dfZW5jYXBfaGFzaF9maWVsZCIgQVBJDQo+ ID4+IGRveHlnZW4gY29tbWVudC4NCj4gPg0KPiA+IFdpbGwgYWRkIGl0IHRvIHRoZSBkb3h5Z2Vu Lg0KPiA+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+Pj4+ICsJCXJldHVybiBydGVfZmxvd19lcnJv cl9zZXQoZXJyb3IsIEVJTlZBTCwNCj4gPj4+Pj4gKw0KPiA+Pj4+IFJURV9GTE9XX0VSUk9SX1RZ UEVfVU5TUEVDSUZJRUQsIE5VTEwsDQo+ID4+Pj4+ICsJCQkJCSAgImhhc2ggbGVuIGRvZXNuJ3Qg bWF0Y2ggdGhlDQo+ID4+Pj4gcmVxdWVzdGVkIGZpZWxkIGxlbiIpOw0KPiA+Pj4+PiArCWRldiA9 ICZydGVfZXRoX2RldmljZXNbcG9ydF9pZF07DQo+ID4+Pj4+ICsJcmV0ID0gb3BzLT5mbG93X2Nh bGNfZW5jYXBfaGFzaChkZXYsIHBhdHRlcm4sIGRlc3RfZmllbGQsDQo+IGhhc2gsDQo+ID4+Pj4g ZXJyb3IpOw0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gJ2hhc2hfbGVuJyBpcyBnZXQgYnkgQVBJ LCBidXQgaXQgaXMgbm90IHBhc3NlZCB0byBkZXZfb3BzLCBkb2VzIHRoaXMNCj4gPj4+PiBtZWFu IHRoaXMgaW5mb3JtYXRpb24gaGFyZGNvZGVkIGluIHRoZSBkcml2ZXIgYXMgd2VsbCwgaWYgc28g d2h5DQo+ID4+Pj4gZHVwbGljYXRlIHRoaXMgaW5mb3JtYXRpb24gaW4gZHJpdmVyIGluc3RlYWQg b2ZmIHBhc3NpbmcgaGFzaF9sZW4gdG8NCj4gZHJpdmVyPw0KPiA+Pj4NCj4gPj4+IE5vdCBzdXJl IEkgdW5kZXJzdGFuZCwgbGlrZSBJIHdyb3RlIGFib3ZlIHRoaXMgaXMgcHVyZSB2ZXJpZmljYXRp b24gZnJvbSBteQ0KPiA+PiBwb2ludCBvZiB2aWV3Lg0KPiA+Pj4gVGhlIGRyaXZlciBrbm93cyB0 aGUgc2l6ZSBiYXNlZCBvbiB0aGUgZGVzdC4NCj4gPj4+DQo+ID4+DQo+ID4+IE15IGludGVudGlv biB3YXMgc2ltaWxhciB0byBhYm92ZSBjb21tZW50LCBsaWtlIGRlc3RfZmllbGQgdHlwZQ0KPiA+ PiBSVEVfRkxPV19FTkNBUF9IQVNIX0ZJRUxEX1NSQ19QT1JUIGltcGxpZXMgdGhhdCByZXF1aXJl ZCBzaXplDQo+IHNob3VsZA0KPiA+PiBiZQ0KPiA+PiAyIGJ5dGVzLCBhbmQgaXQgc2VlbXMgZHJp dmVyIGFscmVhZHkga25vd3MgYWJvdXQgdGhpcyByZXF1aXJlbWVudC4NCj4gPg0KPiA+IFRoYXQg aXMgY29ycmVjdCwgdGhhdCBpcyB3aHkgSSBkb24ndCB0aGluayB3ZSBuZWVkIHRoZSBzaXplLCBh ZGQgYWRkZWQgaXQNCj4gPiBvbmx5IGZvciB2YWxpZGF0aW9uIGR1ZSB0byBjb21tdW5pdHkgcmVx dWVzdC4NCj4gPg0KPiA+Pg0KPiA+PiBJbnN0ZWFkLCBpdCBjYW4gYmUgcG9zc2libGUgdG8gdmVy aWZ5ICdoYXNoX2xlbicgaW4gdGhlIEFQSSBsZXZlbCwgcGFzcw0KPiA+PiB0aGlzIGluZm9ybWF0 aW9uIHRvIHRoZSBkcml2ZXIgYW5kIGRyaXZlciB1c2UgJ2hhc2hfbGVuJyBkaXJlY3RseSBmb3IN Cj4gPj4gaXRzIHNpemUgcGFyYW1ldGVyLCBzbyBkcml2ZXIgd2lsbCByZWx5IG9uIEFQSSBwcm92 aWRlZCAnaGFzaF9sZW4nIHZhbHVlDQo+ID4+IGluc3RlYWQgb2Ygc3RvcmluZyB0aGlzIGluZm9y bWF0aW9uIHdpdGhpbiBkcml2ZXIuDQo+ID4+DQo+ID4+IExldHMgYXNzdW1lIDEwIGRyaXZlcnMg YXJlIGltcGxlbWVudGluZyB0aGlzIGZlYXR1cmUsIHNob3VsZCBhbGwgb2YgdGhlbQ0KPiA+PiBk ZWZpbmUgTUxYNURSX0NSQ19FTkNBUF9FTlRST1BZX0hBU0hfU0laRV8xNiBlcXVpdmFsZW50DQo+ ID4+IGVudW0vZGVmaW5lDQo+ID4+IHdpdGhpbmcgdGhlIGRyaXZlcj8NCj4gPg0KPiA+IE5vLCB0 aGUgZHJpdmVyIGltcGxlbWVudHMgaGFyZC1jb2RlZCBsb2dpYywgd2hpY2ggbWVhbnMgdGhhdCBp dCBqdXN0IG5lZWRzDQo+IHRvIGtub3cNCj4gPiB0aGUgZGVzdCBmaWVsZCwgaW4gb3JkZXIgdG8g a25vdyB3aGF0IGhhc2ggdG8gY2FsY3VsYXRlDQo+ID4gSXQgaXMgcG9zc2libGUgdGhhdCBmb3Ig ZWFjaCBmaWVsZCB0aGUgSFcgd2lsbCBjYWxjdWxhdGUgdGhlIGhhc2ggdXNpbmcNCj4gZGlmZmVy ZW50IGFsZ29yaXRobS4NCj4gPg0KPiANCj4gT0sgaWYgSFcgYWxyZWFkeSBuZWVkcyB0byBrbm93 IHRoZSBzaXplIGluIGFkdmFuY2UsIGxldHMgZ28gd2l0aCBlbnVtDQo+IGRveHlnZW4gdXBkYXRl IG9ubHkuDQo+IA0KPiA+IEFsc28gaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgSFcgZG9lc24ndCBz dXBwb3J0IHdyaXRpbmcgdG8gdGhlIGV4cGVjdGVkIGZpZWxkLA0KPiBpbiB3aGljaCBjYXNlIHdl DQo+ID4gd2FudCB0aGUgZHJpdmVyIGNhbGwgdG8gZmFpbC4NCj4gPg0KPiA+IEZpZWxkIGltcGxp ZXMgc2l6ZS4NCj4gPiBTaXplIGRvZXNuJ3QgaW1wbGllcyBmaWVsZC4NCj4gPg0KPiA+Pg0KPiA+ Pj4+DQo+ID4+Pj4NCj4gPj4+Pj4gKwlyZXR1cm4gZmxvd19lcnIocG9ydF9pZCwgcmV0LCBlcnJv cik7DQo+ID4+Pj4+ICt9DQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9mbG93 LmggYi9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPj4+Pj4gaW5kZXggMTI2N2MxNDZlNS4uMmJk ZjNhNGExNyAxMDA2NDQNCj4gPj4+Pj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4+ Pj4+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+Pj4+PiBAQCAtNjc4Myw2ICs2Nzgz LDU3IEBAIHJ0ZV9mbG93X2NhbGNfdGFibGVfaGFzaCh1aW50MTZfdA0KPiBwb3J0X2lkLA0KPiA+ Pj4+IGNvbnN0IHN0cnVjdCBydGVfZmxvd190ZW1wbGF0ZV90YWJsZQ0KPiA+Pj4+PiAgCQkJIGNv bnN0IHN0cnVjdCBydGVfZmxvd19pdGVtIHBhdHRlcm5bXSwgdWludDhfdA0KPiA+Pj4+IHBhdHRl cm5fdGVtcGxhdGVfaW5kZXgsDQo+ID4+Pj4+ICAJCQkgdWludDMyX3QgKmhhc2gsIHN0cnVjdCBy dGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+Pj4+Pg0KPiA+Pj4+PiArLyoqDQo+ID4+Pj4+ICsg KiBAd2FybmluZw0KPiA+Pj4+PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hh bmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+Pj4+PiArICoNCj4gPj4+Pj4gKyAqIERlc3Rp bmF0aW9uIGZpZWxkIHR5cGUgZm9yIHRoZSBoYXNoIGNhbGN1bGF0aW9uLCB3aGVuIGVuY2FwIGFj dGlvbg0KPiBpcw0KPiA+Pj4+IHVzZWQuDQo+ID4+Pj4+ICsgKg0KPiA+Pj4+PiArICogQHNlZSBm dW5jdGlvbiBydGVfZmxvd19jYWxjX2VuY2FwX2hhc2gNCj4gPj4+Pj4gKyAqLw0KPiA+Pj4+PiAr ZW51bSBydGVfZmxvd19lbmNhcF9oYXNoX2ZpZWxkIHsNCj4gPj4+Pj4gKwkvKiBDYWxjdWxhdGUg aGFzaCBwbGFjZWQgaW4gVURQIHNvdXJjZSBwb3J0IGZpZWxkLiAqLw0KPiA+Pj4+Pg0KPiA+Pg0K PiA+PiBKdXN0IHJlY29nbml6ZWQgdGhhdCBjb21tZW50cyBhcmUgbm90IGRveHlnZW4gY29tbWVu dHMuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gV2lsbCBmaXguDQo+ID4+DQo+ID4+Pj4+ICsJUlRF X0ZMT1dfRU5DQVBfSEFTSF9GSUVMRF9TUkNfUE9SVCwNCj4gPj4+Pj4gKwkvKiBDYWxjdWxhdGUg aGFzaCBwbGFjZWQgaW4gTlZHUkUgZmxvdyBJRCBmaWVsZC4gKi8NCj4gPj4+Pj4gKwlSVEVfRkxP V19FTkNBUF9IQVNIX0ZJRUxEX05WR1JFX0ZMT1dfSUQsDQo+ID4+Pj4+ICt9Ow0KPiA+Pj4+Pg0K PiA+Pj4+DQo+ID4+Pj4gSW5kZWVkIGFib3ZlIGVudW0gcmVwcmVzZW50cyBhIGZpZWxkIGluIGEg bmV0d29yayBwcm90b2NvbCwgcmlnaHQ/DQo+ID4+Pj4gSW5zdGVhZCBvZiBoYXZpbmcgYSAnUlRF X0ZMT1dfRU5DQVBfSEFTSF8nIHNwZWNpZmljIG9uZSwgY2FuIHJlLQ0KPiB1c2luZw0KPiA+Pj4+ ICdlbnVtIHJ0ZV9mbG93X2ZpZWxkX2lkJyB3b3JrPw0KPiA+Pj4NCj4gPj4+IFNpbmNlIHRoZSBv cHRpb24gYXJlIHJlYWxseSBsaW1pdGVkIGFuZCBkZWZpbmVkIGJ5IHN0YW5kYXJkLCBJIHByZWZl ciB0bw0KPiBoYXZlDQo+ID4+IGRlZGljYXRlZCBvcHRpb25zLg0KPiA+Pj4NCj4gPj4NCj4gPj4g T0ssIG15IGludGVudGlvbiBpcyB0byByZWR1Y2UgdGhlIGR1cGxpY2F0aW9uLiBKdXN0IGZvciBi cmFpbnN0b3JtLCB3aGF0DQo+ID4+IGlzIHRoZSBiZW5lZml0IG9mIGhhdmluZyAnUlRFX0ZMT1df RU5DQVBfSEFTSF8nIHNwZWNpZmljIGVudW1zLCBpZiB3ZQ0KPiA+PiBjYW4gcHJlc2VudCB0aGVt IGFzIGdlbmVyaWMgcHJvdG9jb2wgZmllbHMsIGxpa2UNCj4gPj4gJ1JURV9GTE9XX0VOQ0FQX0hB U0hfRklFTERfU1JDX1BPUlQnIHZzDQo+ID4+ICdSVEVfRkxPV19GSUVMRF9VRFBfUE9SVF9TUkMs Jz8NCj4gPg0KPiA+IEkgZ3Vlc3MgeW91IHdhbnQgdG8gZ28gd2l0aCAnUlRFX0ZMT1dfRklFTERf VURQX1BPUlRfU1JDDQo+ID4gcmlnaHQ/DQo+ID4NCj4gDQo+IEkganVzdCB3YW50IHRvIGRpc2N1 c3MgaWYgcmVkdW5kYW5jeSBjYW4gYmUgZWxpbWluYXRlZC4NCj4gDQo+ID4gVGhlIG1haW4gaXNz dWUgaXMgc2luY2UgdGhlIG9wdGlvbnMgYXJlIHJlYWxseSBsaW1pdGVkIGFuZCB1c2VkIGZvciBh IHZlcnkNCj4gZGVkaWNhdGVkIGZ1bmN0aW9uLg0KPiA+IFdoZW4gYXBwIGRldmVsb3BlcnMgLyBE UERLIGRldmVsb3BlcnMgd2lsbCBsb29rIGF0IGl0LCBpdCB3aWxsIGJlIHZlcnkNCj4gdW5jbGVh ciB3aGF0IGlzIHRoZSB1c2Ugb2YgdGhpcyBlbnVtLg0KPiA+IFdlIGFscmVhZHkgaGF2ZSBhbiBl bnVtIGZvciBmaWVsZHMuIExpa2UgeW91IHN1Z2dlc3RlZCB3ZSBjb3VsZCBoYXZlDQo+IHVzZWQg aXQsDQo+ID4gYnV0IHRoaXMgd2lsbCBzaG93IG11Y2ggbW9yZSBvcHRpb24gdGhhbiB0aGVyZSBh cmUgcmVhbGx5Lg0KPiA+DQo+IA0KPiBPSywgbGV0cyB1c2UgZGVkaWNhdGVkIGVudW1zIHRvIGNs YXJpZnkgdG8gdGhlIHVzZXJzIHRoZSBzcGVjaWZpYyBmaWVsZHMNCj4gYXZhaWxhYmxlIGZvciB0 aGlzIHNldCBvZiBBUElzLg0KPiANCj4gQnR3LCBpcyBib3VuZGFyeSBjaGVjayBsaWtlIGZvbGxv d2luZyByZXF1aXJlZCBmb3IgdGhlIEFQSXM6DQo+IGBgYA0KPiBpZiAoZGVzdF9maWVsZCA+IFJU RV9GTE9XX0VOQ0FQX0hBU0hfRklFTERfTlZHUkVfRkxPV19JRCkNCj4gCXJldHVybiAtRUlOVkFM Ow0KPiBgYGANCj4gSW4gY2FzZSB1c2VyIHBhc3MgYW4gaW52YWxpZCB2YWx1ZSBhcyAnZGVzdF9m aWxlZCcNCj4gDQo+IChOb3RlOiBJIGludGVudGlvbmFsbHkgbm90IHVzZWQgTUFYIGVudW0gc29t ZXRoaW5nIGxpa2UNCj4gJ1JURV9GTE9XX0VOQ0FQX0hBU0hfRklFTERfTUFYJyB0byBub3QgbmVl ZCB0byBkZWFsIHdpdGggQUJJIGlzc3VlcyBpbg0KPiB0aGUgZnV0dXJlLikNCkdvb2QgaWRlYSB3 aWxsIGFkZA0KQmVzdCwNCk9yaQ0KDQo=