From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0048.outbound.protection.outlook.com [104.47.36.48]) by dpdk.org (Postfix) with ESMTP id 6E4165398 for ; Mon, 9 Jul 2018 07:50:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hzARemOohiX5u8VVrZDr1oxvh123MeWGqq27nSFT0cY=; b=i6pgDbDDoU7iu4ynW1/u6leoyiSGq6UX8OETKIXIzZmz12z59hQ8C1CWCmTB3nYxnQzz2WtCgR0F9y00G0c51LDxRCF0fENm1fDia5u5gp1gBR9O7pJL2O0P2xdKy1AtJb7UwLCW1BxPUqp4NwqSzrPrG0smJorOZHQzrdW4DVA= Received: from CY4PR0701MB3634.namprd07.prod.outlook.com (52.132.101.164) by CY4PR0701MB3715.namprd07.prod.outlook.com (52.132.102.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.20; Mon, 9 Jul 2018 05:45:23 +0000 Received: from CY4PR0701MB3634.namprd07.prod.outlook.com ([fe80::f0d4:1828:37f5:5927]) by CY4PR0701MB3634.namprd07.prod.outlook.com ([fe80::f0d4:1828:37f5:5927%2]) with mapi id 15.20.0930.022; Mon, 9 Jul 2018 05:45:23 +0000 From: "Verma, Shally" To: "Doherty, Declan" , "pablo.de.lara.guarch@intel.com" CC: "dev@dpdk.org" , "Athreya, Narayana Prasad" , "Murthy, Nidadavolu" , "Sahu, Sunila" , "Gupta, Ashish" , "Kartha, Umesh" Thread-Topic: [dpdk-dev] [PATCH v4 1/4] lib/cryptodev: add asymmetric algos in cryptodev Thread-Index: AQHUFHAX8g9R6E3wfkO5OPi8+keMSqSB2GkAgASPHnA= Date: Mon, 9 Jul 2018 05:45:23 +0000 Message-ID: References: <1530631466-26427-1-git-send-email-shally.verma@caviumnetworks.com> <1530631466-26427-2-git-send-email-shally.verma@caviumnetworks.com> <9905afc5-3571-d6c8-c2b0-7c9804f0dbd6@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR0701MB3715; 7:eez2pYPnXBzflR+ZX2mULA5lPyh/k9+FflRzGJF/SqzSF/5sKKD1X75rrCMpCiyoaCgB3oSy8AdO3U390FMFNsNOlV3sYdZQs8dfG5OgLh2Mutqqvs/669/tNBwhEyG4IOKmV+vjG00DEpRO5y8B0xHVrP7qL1dryxg5/qMFTv9u3D7087sgSD+VRvCMj1UVn6UOE4/hX7NTsrqjKHe5dZY3hwAFBeQiQjXOPxzEOVT2X9/ogpWOJImxxaBMwcuP x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(366004)(396003)(39850400004)(136003)(376002)(346002)(189003)(199004)(51444003)(13464003)(72206003)(66066001)(14454004)(5660300001)(53936002)(97736004)(2900100001)(93886005)(229853002)(107886003)(55016002)(9686003)(6436002)(2501003)(4326008)(6246003)(3846002)(478600001)(6116002)(106356001)(105586002)(25786009)(5250100002)(26005)(54906003)(102836004)(110136005)(6506007)(55236004)(561944003)(68736007)(11346002)(99286004)(486006)(33656002)(446003)(2906002)(305945005)(86362001)(7736002)(74316002)(256004)(316002)(186003)(8936002)(7696005)(76176011)(14444005)(476003)(8676002)(81156014)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR0701MB3715; H:CY4PR0701MB3634.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-office365-filtering-correlation-id: 846681c1-18f0-497b-9822-08d5e55f2a08 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600053)(711020)(2017052603328)(7153060)(7193020); SRVR:CY4PR0701MB3715; x-ms-traffictypediagnostic: CY4PR0701MB3715: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231311)(944501410)(52105095)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:CY4PR0701MB3715; BCL:0; PCL:0; RULEID:; SRVR:CY4PR0701MB3715; x-forefront-prvs: 07283408BE received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: LBV+Zaru2YULkEV6st3dppRULcxyC8/U6Mxfj3rdWitTfblNc0qZ7IWy1hGRmE5XWEdqu3rF+CjfIzk7uUhjQNwkEZFga6ZGGzhGoQoZqcp6kETIkFfGXiOk+6CxgUgM2eQtnvk8akcKl3+UsY+5shVlbvwKT2Q176gpYAj95u51f/Me5QogOyMdXdD/Qjf+Q7nlv3sC7dmQwsCKPuvOCp3et8MG30hIp0sspaSnpi82EmZh0lqD3/BGwifcQAa3MypsQTdYJ+mKjm4LywmExzcXwaKsROR32huQ0IqpHwr1bmJkBhiB9Lp0MzDuPbmmizC6O0DsN2zEmif/D9gnmBj0bj7J9YKJDZ1nT4Vg19Y= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-Network-Message-Id: 846681c1-18f0-497b-9822-08d5e55f2a08 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2018 05:45:23.1872 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR0701MB3715 Subject: Re: [dpdk-dev] [PATCH v4 1/4] lib/cryptodev: add asymmetric algos in cryptodev X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jul 2018 05:50:31 -0000 SEkgRGVjbGFuLCBQYWJsbw0KDQpDb3VsZCB3ZSBwbGVhc2UgY2xvc2Ugb24gdGhpcyBhc2FwPw0K DQpUaGFua3MNClNoYWxseQ0KDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBW ZXJtYSwgU2hhbGx5DQo+U2VudDogMDYgSnVseSAyMDE4IDE5OjU5DQo+VG86ICdEb2hlcnR5LCBE ZWNsYW4nIDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBwYWJsby5kZS5sYXJhLmd1YXJjaEBp bnRlbC5jb20NCj5DYzogZGV2QGRwZGsub3JnOyBBdGhyZXlhLCBOYXJheWFuYSBQcmFzYWQgPE5h cmF5YW5hUHJhc2FkLkF0aHJleWFAY2F2aXVtLmNvbT47IE11cnRoeSwgTmlkYWRhdm9sdQ0KPjxO aWRhZGF2b2x1Lk11cnRoeUBjYXZpdW0uY29tPjsgU2FodSwgU3VuaWxhIDxTdW5pbGEuU2FodUBj YXZpdW0uY29tPjsgR3VwdGEsIEFzaGlzaCA8QXNoaXNoLkd1cHRhQGNhdml1bS5jb20+OyBLYXJ0 aGEsDQo+VW1lc2ggPFVtZXNoLkthcnRoYUBjYXZpdW0uY29tPg0KPlN1YmplY3Q6IFJFOiBbZHBk ay1kZXZdIFtQQVRDSCB2NCAxLzRdIGxpYi9jcnlwdG9kZXY6IGFkZCBhc3ltbWV0cmljIGFsZ29z IGluIGNyeXB0b2Rldg0KPg0KPkhpIERlY2xhbg0KPg0KPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPj5Gcm9tOiBEb2hlcnR5LCBEZWNsYW4gW21haWx0bzpkZWNsYW4uZG9oZXJ0eUBpbnRl bC5jb21dDQo+PlNlbnQ6IDA1IEp1bHkgMjAxOCAyMDoyNA0KPj5UbzogVmVybWEsIFNoYWxseSA8 U2hhbGx5LlZlcm1hQGNhdml1bS5jb20+OyBwYWJsby5kZS5sYXJhLmd1YXJjaEBpbnRlbC5jb20N Cj4+Q2M6IGRldkBkcGRrLm9yZzsgQXRocmV5YSwgTmFyYXlhbmEgUHJhc2FkIDxOYXJheWFuYVBy YXNhZC5BdGhyZXlhQGNhdml1bS5jb20+OyBNdXJ0aHksIE5pZGFkYXZvbHUNCj4+PE5pZGFkYXZv bHUuTXVydGh5QGNhdml1bS5jb20+OyBTYWh1LCBTdW5pbGEgPFN1bmlsYS5TYWh1QGNhdml1bS5j b20+OyBHdXB0YSwgQXNoaXNoIDxBc2hpc2guR3VwdGFAY2F2aXVtLmNvbT47IEthcnRoYSwNCj4+ VW1lc2ggPFVtZXNoLkthcnRoYUBjYXZpdW0uY29tPg0KPj5TdWJqZWN0OiBSZTogW2RwZGstZGV2 XSBbUEFUQ0ggdjQgMS80XSBsaWIvY3J5cHRvZGV2OiBhZGQgYXN5bW1ldHJpYyBhbGdvcyBpbiBj cnlwdG9kZXYNCj4+DQo+PkV4dGVybmFsIEVtYWlsDQo+Pg0KPj5IZXkgU2hhbGx5LA0KPj4NCj4+ anVzdCBhIGZldyB0aGluZ3MgaW5saW5lIGJlbG93IG1haW5seSBjb25jZXJuZWQgd2l0aCB0aGUg bmVlZCB0byBiZSBhYmxlDQo+PnRvIHN1cHBvcnQgc2Vzc2lvbi1sZXNzIG9wZXJhdGlvbnMgaW4g ZnV0dXJlIFBNRHMuIEkgdGhpbmsgd2l0aCBhIGZldw0KPj5taW5vciBjaGFuZ2VzIHRvIHRoZSBB UEkgbm93IGl0IHNob3VsZCBhbGxvdyBzZXNzaW9uLWxlc3MgdG8gYmUNCj4+c3VwcG9ydGVkIGxh dGVyIHdpdGhvdXQgdGhlIG5lZWQgZm9yIGEgbWFqb3IgcmV3b3JrIG9mIHRoZSBBUElzLCBJIGRv bid0DQo+PnRoaW5rIHRoaXMgc2hvdWxkIGNhdXNlIGFueSBtYWpvciByZXdvcmsgdG8geW91ciBQ TUQganVzdCB0aGUgYWRvcHRpb24NCj4+b2Ygc29tZSBuZXcgbW9yZSBleHBsaWNpdCBvcCB0eXBl cy4NCj4+DQo+PlRoYW5rcw0KPj5EZWNsYW4NCj4+DQo+Pk9uIDAzLzA3LzIwMTggNDoyNCBQTSwg U2hhbGx5IFZlcm1hIHdyb3RlOg0KPj4+IEFkZCBydGVfY3J5cHRvX2FzeW0uaCB3aXRoIHN1cHBv cnRlZCB4ZnJtcw0KPj4+IGFuZCBhc3NvY2lhdGVkIG9wIHN0cnVjdHVyZXMgYW5kIEFQSXMNCj4+ Pg0KPj4+IEFQSSBjdXJyZW50bHkgc3VwcG9ydHM6DQo+Pj4gLSBSU0EgRW5jcnlwdCwgRGVjcnlw dCwgU2lnbiBhbmQgVmVyaWZ5DQo+Pj4gLSBNb2R1bGFyIEV4cG9uZW50aWF0aW9uIGFuZCBJbnZl cnNpb24NCj4+PiAtIERTQSBTaWduIGFuZCBWZXJpZnkNCj4+PiAtIERlZmZpZS1oZWxsbWFuIHBy aXZhdGUga2V5IGV4Y2hhbmdlDQo+Pj4gLSBEZWZmaWUtaGVsbG1hbiBwdWJsaWMga2V5IGV4Y2hh bmdlDQo+Pj4gLSBEZWZmaWUtaGVsbG1hbiBzaGFyZWQgc2VjcmV0IGNvbXB1dGUNCj4+PiAtIERl ZmZpZS1oZWxsbWFuIHB1YmxpYy9wcml2YXRlIGtleSBwYWlyIGdlbmVyYXRpb24NCj4+PiB1c2lu ZyB4Zm9ybSBjaGFpbg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogU2hhbGx5IFZlcm1hIDxzaGFs bHkudmVybWFAY2F2aXVtbmV0d29ya3MuY29tPg0KPj4+IFNpZ25lZC1vZmYtYnk6IFN1bmlsYSBT YWh1IDxzdW5pbGEuc2FodUBjYXZpdW1uZXR3b3Jrcy5jb20+DQo+Pj4gU2lnbmVkLW9mZi1ieTog QXNoaXNoIEd1cHRhIDxhc2hpc2guZ3VwdGFAY2F2aXVtbmV0d29ya3MuY29tPg0KPj4+IFNpZ25l ZC1vZmYtYnk6IFVtZXNoIEthcnRoYSA8dW1lc2gua2FydGhhQGNhdml1bW5ldHdvcmtzLmNvbT4N Cj4+PiAtLS0NCj4+PiAgIGxpYi9saWJydGVfY3J5cHRvZGV2L01ha2VmaWxlICAgICAgICAgIHwg ICAxICsNCj4+PiAgIGxpYi9saWJydGVfY3J5cHRvZGV2L21lc29uLmJ1aWxkICAgICAgIHwgICAz ICstDQo+Pj4gICBsaWIvbGlicnRlX2NyeXB0b2Rldi9ydGVfY3J5cHRvX2FzeW0uaCB8IDQ5NiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+PiAgIDMgZmlsZXMgY2hhbmdlZCwg NDk5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9s aWIvbGlicnRlX2NyeXB0b2Rldi9NYWtlZmlsZSBiL2xpYi9saWJydGVfY3INCj4+DQo+Pi4uLg0K Pj4NCj4+PiArdHlwZWRlZiBzdHJ1Y3QgcnRlX2NyeXB0b19wYXJhbV90IHsNCj4+PiArICAgICB1 aW50OF90ICpkYXRhOw0KPj4+ICsgICAgIC8qKjwgcG9pbnRlciB0byBidWZmZXIgaG9sZGluZyBk YXRhICovDQo+Pj4gKyAgICAgcnRlX2lvdmFfdCBpb3ZhOw0KPj4+ICsgICAgIC8qKjwgSU8gYWRk cmVzcyBvZiBkYXRhIGJ1ZmZlciAqLw0KPj4+ICsgICAgIHNpemVfdCBsZW5ndGg7DQo+Pj4gKyAg ICAgLyoqPCBsZW5ndGggb2YgZGF0YSBpbiBieXRlcyAqLw0KPj4+ICt9IHJ0ZV9jcnlwdG9fcGFy YW07DQo+Pg0KPj5XaGF0IGlzIHRoZSBpbnRlbmRlZCB3YXkgZm9yIHRoaXMgbWVtb3J5IHRvIGJl IGFsbG9jYXRlZCwNCj4NCj5bU2hhbGx5XSBJdCBzaG91bGQgYmUgcG9pbnRlciB0byBmbGF0IGJ1 ZmZlcnMgYW5kIGFkZGVkIG9ubHkgdG8gaW5wdXQvb3V0cHV0IGRhdGEgdG8vZnJvbQ0KPmFzeW1t ZXRyaWMgY3J5cHRvIGVuZ2luZS4NCj4NCj4+IGl0IHNlZW1zIGxpa2UNCj4+dGhlcmUgbWlnaHQg YmUgYSBtb3JlIGdlbmVyYWwgcmVxdWlyZW1lbnQgaW4gRFBESyBmb3IgSU8gYWRkcmVzc2FibGUN Cj4+bWVtb3J5IChjb21wcmVzc2lvbj8gb3RoZXIgaGFyZHdhcmUgYWNjZWxlYXRvcnMgaW1wbGVt ZW50ZWQgb24gRlBHQXMpDQo+PnRoYW4ganVzdCBhc3ltbWV0cmljIGNyeXB0bywgd2lsbCB3ZSBl bmQgdXAgbmVlZGluZyB0byBzdXBwb3J0IGZlYXR1cmVzDQo+Pmxpa2Ugc2NhdHRlciBnYXRoZXIg bGlzdHMgaW4gdGhpcyBzdHJ1Y3R1cmU/DQo+DQo+W1NoYWxseV0gSSBkb27igJl0IGFudGljaXBh dGUgdGhhdCB3ZSB3b3VsZCBuZWVkIHRvIHN1cHBvcnQgc2NhdHRlci1nYXRoZXIgZGF0YSBidWZm ZXJzIGFzIGZhciBhcyBpdCBpcyB1c2VkIGZvciBhc3ltbWV0cmljLg0KPkFuZCBJJ20gbm90IGF3 YXJlIGlmIHdlIGhhdmUgcmVxdWlyZW1lbnQgdG8gc3VwcG9ydCBpdCBmb3IgYXN5bW1ldHJpYyBw cm9jZXNzaW5nIHNpbmNlIGRhdGEgc2l6ZSBpcyB1c3VhbGx5IHNtYWxsIGZvcg0KPnN1Y2ggb3Bl cmF0aW9ucy4gVGh1cywgYXBwIGlzIGV4cGVjdGVkIHRvIHNlbmQgbGluZWFyIGJ1ZmZlcnMgZm9y IGlucHV0L291dHB1dC4NCj4NCj5Eb2VzIHRoYXQgYW5zd2VyIHlvdXIgcXVlc3Rpb24/IE9yIGRp ZCBJIG1pc3MgYW55dGhpbmc/DQo+DQo+DQo+PmJ0dyBJIHRoaW5rIHRoaXMgaXMNCj4+cHJvYmFi bHkgZmluZSBmb3IgdGhlIG1vbWVudCBhcyBpdCB3aWxsIGJlIGV4cGVybWVudGlhbCBidXQgSSB0 aGluayBpdA0KPj53aWxsIG5lZWQgdG8gYmUgYWRkcmVzc2VkIGJlZm9yZSB0aGUgcmVtb3ZhbCBv ZiB0aGUgZXhwZXJtZW50aWFsIHRhZy4NCj4+DQo+DQo+Li4uDQo+DQo+Pj4gKyAgICAgUlRFX0NS WVBUT19BU1lNX1hGT1JNX01PRElOViwNCj4+DQo+PldvdWxkIHByZWZlciBpZiB0aGlzIHdhcyBf TU9EX0lOViA6KQ0KPj4NCj4+PiArICAgICAvKio8IE1vZHVsYXIgSW52ZXJzZQ0KPj4+ICsgICAg ICAqIFBlcmZvcm0gTW9kdWx1cyBpbnZlcnNlIGJeKC0xKSBtb2Qgbg0KPj4+ICsgICAgICAqLw0K Pj4+ICsgICAgIFJURV9DUllQVE9fQVNZTV9YRk9STV9NT0RFWCwNCj4+DQo+PmFueSB0aGlzIHdh cyBfTU9EX0VYIDopDQo+DQo+W1NoYWxseV0gZmluZSB3aWxsIGRvIG5hbWUgY2hhbmdlLg0KPg0K Pj4NCj4+PiArICAgICAvKio8IE1vZHVsYXIgRXhwb25lbnRpYXRpb24NCj4+PiArICAgICAgKiBQ ZXJmb3JtIE1vZHVsYXIgRXhwb25lbnRpYXRpb24gYl5lIG1vZCBuDQo+Pj4gKyAgICAgICovDQo+ Pj4gKyAgICAgUlRFX0NSWVBUT19BU1lNX1hGT1JNX1RZUEVfTElTVF9FTkQNCj4+PiArICAgICAv Kio8IEVuZCBvZiBsaXN0ICovDQo+Pj4gK307DQo+Pj4gKw0KPj4+ICsvKioNCj4+PiArICogQXN5 bW1ldHJpYyBjcnlwdG8gb3BlcmF0aW9uIHR5cGUgdmFyaWFudHMNCj4+PiArICovDQo+Pj4gK2Vu dW0gcnRlX2NyeXB0b19hc3ltX29wX3R5cGUgew0KPj4+ICsgICAgIFJURV9DUllQVE9fQVNZTV9P UF9FTkNSWVBULA0KPj4+ICsgICAgIC8qKjwgQXN5bW1ldHJpYyBFbmNyeXB0IG9wZXJhdGlvbiAq Lw0KPj4+ICsgICAgIFJURV9DUllQVE9fQVNZTV9PUF9ERUNSWVBULA0KPj4+ICsgICAgIC8qKjwg QXN5bW1ldHJpYyBEZWNyeXB0IG9wZXJhdGlvbiAqLw0KPj4+ICsgICAgIFJURV9DUllQVE9fQVNZ TV9PUF9TSUdOLA0KPj4+ICsgICAgIC8qKjwgU2lnbmF0dXJlIEdlbmVyYXRpb24gb3BlcmF0aW9u ICovDQo+Pj4gKyAgICAgUlRFX0NSWVBUT19BU1lNX09QX1ZFUklGWSwNCj4+PiArICAgICAvKio8 IFNpZ25hdHVyZSBWZXJpZmljYXRpb24gb3BlcmF0aW9uICovDQo+Pj4gKyAgICAgUlRFX0NSWVBU T19BU1lNX09QX1BSSVZBVEVfS0VZX0dFTkVSQVRFLA0KPj4+ICsgICAgIC8qKjwgREggUHJpdmF0 ZSBLZXkgZ2VuZXJhdGlvbiBvcGVyYXRpb24gKi8NCj4+PiArICAgICBSVEVfQ1JZUFRPX0FTWU1f T1BfUFVCTElDX0tFWV9HRU5FUkFURSwNCj4+PiArICAgICAvKio8IERIIFB1YmxpYyBLZXkgZ2Vu ZXJhdGlvbiBvcGVyYXRpb24gKi8NCj4+PiArICAgICBSVEVfQ1JZUFRPX0FTWU1fT1BfU0hBUkVE X1NFQ1JFVF9DT01QVVRFLA0KPj4+ICsgICAgIC8qKjwgREggU2hhcmVkIFNlY3JldCBjb21wdXRl IG9wZXJhdGlvbiAqLw0KPj4+ICsgICAgIFJURV9DUllQVE9fQVNZTV9PUF9MSVNUX0VORA0KPj4+ ICt9Ow0KPj4+ICsNCj4+DQo+PkkgdGhpbmsgdGhhdCBoYXZpbmcgZ2VuZXJpYyBvcGVyYXRpb24g dHlwZXMgd2hpY2ggbWF5IG9yIG1heSBub3QgYXBwbHkNCj4+dG8gYWxsIG9mIHRoZSBkZWZpbmVk IHhmb3JtcyBpcyBjb25mdXNpbmcgZnJvbSBhIHVzZXIgcGVyc3BlY3RpdmUgYW5kIGluDQo+PnRo ZSBsb25nZXIgdGVybSB3aWxsIG1ha2UgaXQgaW1wb3NzaWJsZSB0byBzdXBwb3J0IHNlc3Npb24t bGVzcw0KPj5hc3ltbWV0cmljIG9wZXJhdGlvbnMuIElmIHdlIGluc3RlYWQgZG8gc29tZXRoaW5n IGxpa2UNCj4+DQo+PiAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX1JTQV9FTkNSWVBULA0KPj4g ICAgICAgIFJURV9DUllQVE9fQVNZTV9PUF9SU0FfREVDUllQVCwNCj4+ICAgICAgICBSVEVfQ1JZ UFRPX0FTWU1fT1BfUlNBX1NJR04sDQo+PiAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX1JTQV9W RVJJRlksDQo+PiAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX0RIX0tFWV9HRU5FUkFURSwNCj4+ ICAgICAgICBSVEVfQ1JZUFRPX0FTWU1fT1BfREhfU0hBUkVEX1NFQ1JFVF9DT01QVVRFLA0KPj4g ICAgICAgIGV0Yy4uLg0KPj4NCj4+VGhlbiB0aGUgb3AgdHlwZSBiZWNvbWVzIHZlcnkgZXhwbGlj aXQgYW5kIHdpbGwgYWxsb3cgc2Vzc2lvbi1sZXNzDQo+Pm9wZXJhdGlvbnMgdG8gYmUgc3VwcG9y dGVkIGJ5IFBNRHMuIFRoaXMgc2hvdWxkbid0IGhhdmUgYW55IGltcGFjdCBvbg0KPj55b3VyIGN1 cnJlbnQgaW1wbGVtZW50YXRpb24gb3RoZXIgdGhhbiB1cGRhdGluZyB0aGUgb3AgdHlwZS4NCj4+ DQo+DQo+W1NoYWxseV0gT2ssIHNvIHlvdSBzdWdnZXN0IHRvIG1lcmdlIHhmb3JtIGFuZCBvcF90 eXBlIChpbmNsdWRpbmcga2VlcGluZyBvcF90eXBlIGluIG9uZSBwbGFjZSkgIGZvciBzaW1wbGlj aXR5IHNha2UuDQo+DQo+SWYgd2UgdGFrZSB0aGlzIGNoYW5nZSwgdGhlbiBJIHdpbGwgcHJlZmVy IHRvIGtlZXAgaXQgYXMgeGZvcm1zIHJhdGhlciB0aGFuIG9wX3R5cGVzLCBzdWNoIGFzLA0KPg0K PmVudW0gcnRlX2NyeXB0b19hc3ltX3hmb3JtX3R5cGVzIHsNCj5SVEVfQ1JZUFRPX0FTWU1fWEZP Uk1fUlNBX0VOQ1JZUFQsDQo+UlRFX0NSWVBUT19BU1lNX1hGT1JNX1JTQV9TSUdOLA0KPlJURV9D UllQVE9fQVNZTV9YRk9STV9EU0FfU0lHTiwNCj5SVEVfQ1JZUFRPX0FTWU1fWEZPUk1fRFNBX1ZF UklGWSwNCj5SVEVfQ1JZUFRPX0FTWU1fWEZPUk1fREhfUFJJVl9LRVlfR0VORVJBVEUsDQo+UlRF X0NSWVBUT19BU1lNX1hGT1JNX0RIX1BVQl9LRVlfR0VORVJBVEUsDQo+UlRFX0NSWVBUT19BU1lN X1hGT1JNX0RIX1NIQVJFRF9TRUNSRVRfQ09NUFVURSwgLi4uLiBhbmQgc28gb24uLg0KPn0NCj4N Cj5UaGVzZSwgd2hlbiBzZXQgb24gYSBydGVfY3J5cHRvX2FzeW1feGZvcm0gLCB3aWxsIHdvcmsg c2VhbWxlc3NseSBmb3IgYm90aCBzZXNzaW9uIGFuZCBzZXNzaW9uLWxlc3MuDQo+SSBhbHNvIHNl ZSBhZHZhbnRhZ2UgaGVyZSB0byBzdXBwb3J0IHhmb3JtIGNoYWluaW5nLiBJbiB0aGlzIGNhc2Us IG9wX3R5cGUgaW4gcnRlX2NyeXB0b19hc3ltX3h4X29wX3BhcmFtcyBpc24ndCBuZWVkZWQgYW5k IHdpbGwgYmUNCj5yZW1vdmVkLg0KPkl0IHdpbGwgYWRkIGJpdCBvZiByZXBldGl0aW9uIHRob3Vn aCwgbGlrZSBSU0FfU0lHTiAvIERTQV9TSUdOLCBidXQgdGhhdCB3b3VsZCBvY2N1ciBpbiBhbnkg Y2FzZSwgaWYgd2UgYXJlIG1lcmdpbmcgdHdvIHR5cGVzLg0KPkRvZXMgdGhhdCBzb3VuZCBva2F5 Pw0KPg0KPldlIHdlcmUgYWJvdXQgdG8gc3VibWl0IE9wZW5zc2wgUE1EIHdpdGggYXN5bSBzdXBw b3J0IHRvZGF5LiBCdXQgSSB3b3VsZCBob2xkIGJhY2sgdGlsbCB3ZSBhbGlnbiBvbiB0aGlzLg0K Pi4uLg0KPg0KPj4uLi4uDQo+Pg0KPj4NCj4+PiArICovDQo+Pj4gK3N0cnVjdCBydGVfY3J5cHRv X2RoX3hmb3JtIHsNCj4+PiArICAgICBlbnVtIHJ0ZV9jcnlwdG9fYXN5bV9vcF90eXBlIHR5cGU7 DQo+Pj4gKyAgICAgLyoqPCBTZXR1cCB4Zm9ybSBmb3Iga2V5IGdlbmVyYXRlIG9yIHNoYXJlZCBz ZWNyZXQgY29tcHV0ZSAqLw0KPj4+ICsNCj4+DQo+PnRoZXJlIGlzIGFuIGluY29uc2lzdGVuY3kg aGVyZSBpbiB0ZXJtcyBvZiB3ZXJlIHRoZSBvcF90eXBlIGlzIGRlZmluZWQsDQo+PmluIHRoaXMg Y2FzZSBpdCBpcyBpbiB0aGUgeGZvcm0gYnV0IGl0IG90aGVyIGNhc2VzIFJTQSwgRFNBIGl0IGlz DQo+PmRlZmluZWQgaW4gdGhlIG9wZXJhdGlvbiBpbmZvcm1hdGlvbiBpdHNlbGYuIEkgZG9uJ3Qg a25vdyBvZiBhbnkgcmVhc29uDQo+PndoeSBpdCBpcyBuZWVkZWQgaW4gdGhlIHhmb3JtIGJ1dCBJ IHRoaW5rIGl0IG11c3QgYmUgY29uc2lzdGVudCBhY3Jvc3MNCj4+YWxsIG9wZXJhdGlvbnMveGZv cm1zLiBJZGVhbGx5IGZyb20gbXkgcGVyc3BlY3RpdmUgaXQgd291bGQgYmUgaW4gdGhlDQo+PnJ0 ZV9jcnlwdG9fYXN5bV9vcCBzdHJ1Y3R1cmUsIHNlZSBiZWxvdywgYXMgdGhpcyB3b3VsZCBhbGxv dw0KPj5zZXNzaW9uL3Nlc3Npb24tbGVzcyBvcGVyYXRpb25zIHRvIGJlIHN1cHBvcnRlZCBzZWFt bGVzc2x5Lg0KPj4NCj4NCj5bU2hhbGx5XSBSZWFzb24gd2FzIHhmb3JtIGNoYWluaW5nLiBBcyBw ZXIgRmlvbmEgZmVlZGJhY2ssIHdlIGlkZW50aWZpZWQgcmVxdWlyZW1lbnQgdG8gYnJlYWsgREgg S2V5IHBhaXINCj5nZW5lcmF0aW9uIGluIHRvIHR3byAgOiBQUklWX0tFWV9HRU5FUkFUSU9OIGFu ZCBQVUJfS0VZX0dFTkVSQVRJT04sIHNvIEkgaGFkIHRvIG1vdmUgdGhpcyBwYXJhbSBhcm91bmQu DQo+QnV0IHRoaXMgd2lsbCBiZSBhZGRyZXNzZWQgb25jZSB3ZSBjaGFuZ2UgeGZvcm1fdHlwZXMg YXMgcGVyIHN1Z2dlc3Rpb24gYWJvdmUuDQo+DQo+Li4uDQo+DQo+Pg0KPj4uLi4NCj4+DQo+Pj4g Ky8qKg0KPj4+ICsgKiBBc3ltbWV0cmljIENyeXB0b2dyYXBoaWMgT3BlcmF0aW9uLg0KPj4+ICsg Kg0KPj4+ICsgKiBTdHJ1Y3R1cmUgZGVzY3JpYmluZyBhc3ltbWV0cmljIGNyeXB0byBvcGVyYXRp b24gcGFyYW1zLg0KPj4+ICsgKg0KPj4+ICsgKi8NCj4+PiArc3RydWN0IHJ0ZV9jcnlwdG9fYXN5 bV9vcCB7DQo+Pj4gKyAgICAgc3RydWN0IHJ0ZV9jcnlwdG9kZXZfYXN5bV9zZXNzaW9uICpzZXNz aW9uOw0KPj4+ICsgICAgIC8qKjwgSGFuZGxlIGZvciB0aGUgaW5pdGlhbGlzZWQgc2Vzc2lvbiBj b250ZXh0ICovDQo+Pj4gKw0KPj4+ICsgICAgIF9fZXh0ZW5zaW9uX18NCj4+PiArICAgICB1bmlv biB7DQo+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2NyeXB0b19yc2Ffb3BfcGFyYW0gcnNh Ow0KPj4+ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9jcnlwdG9fbW9kX29wX3BhcmFtIG1vZGV4 Ow0KPj4+ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9jcnlwdG9fbW9kX29wX3BhcmFtIG1vZGlu djsNCj4+PiArICAgICAgICAgICAgIHN0cnVjdCBydGVfY3J5cHRvX2RoX29wX3BhcmFtIGRoOw0K Pj4+ICsgICAgICAgICAgICAgc3RydWN0IHJ0ZV9jcnlwdG9fZHNhX29wX3BhcmFtIGRzYTsNCj4+ PiArICAgICB9Ow0KPj4+ICt9IF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+Pj4gKw0KPj5SZWxhdGlu ZyB0byBteSBjb21tZW50IG9uIHBvc2l0aW9uIG9mIHRoZSBvcF90eXBlIGFuZCB0aGUgbWlub3Ig Y2hhbmdlDQo+Pm9mIGhhdmluZyBhbiB1bmlvbiBvZiBzZXNzaW9uL3hmb3JtIGluIHRoZSBydGVf Y3J5cHRvX2FzeW1fb3Agc3RydWN0dXJlDQo+PndvdWxkIHRoZW4gZW5hYmxlIHNlc3Npb25sZXNz IHN1cHBvcnQgdG8gYmUgYWRkZWQgc2VhbWxlc3MgaW4gdGhlIGZ1dHVyZQ0KPj53aXRoIG1pbmlt YWwgZWZmZWN0IHRvIHRoZSBjdXJyZW50IHByb3Bvc2FsLg0KPg0KPltTaGFsbHldIEFnYWluLCB0 aGlzIHdpbGwgYWxzbyBiZSByZXNvbHZlZCB3aXRoIGNoYW5nZSB0byB4Zm9ybV90eXBlcw0KPg0K Pj4NCj4+c3RydWN0IHJ0ZV9jcnlwdG9fYXN5bV9vcCB7DQo+Pi0gICAgICAgc3RydWN0IHJ0ZV9j cnlwdG9kZXZfYXN5bV9zZXNzaW9uICpzZXNzaW9uOw0KPj4tICAgICAgIC8qKjwgSGFuZGxlIGZv ciB0aGUgaW5pdGlhbGlzZWQgc2Vzc2lvbiBjb250ZXh0ICovDQo+PisgICAgICAgZW51bSBydGVf Y3J5cHRvX2FzeW1fb3BfdHlwZSBvcF90eXBlOw0KPj4rDQo+PisgICAgICAgdW5pb24gew0KPj4r ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9jcnlwdG9kZXZfYXN5bV9zZXNzaW9uICpzZXNzaW9u Ow0KPj4rICAgICAgICAgICAgICAgLyoqPCBIYW5kbGUgZm9yIHRoZSBpbml0aWFsaXNlZCBzZXNz aW9uIGNvbnRleHQgKi8NCj4+KyAgICAgICAgICAgICAgIHN0cnVjdCBydGVfY3J5cHRvX2FzeW1f eGZvcm0gKnhmb3JtOw0KPj4rICAgICAgIH07DQo+Pg0KPltTaGFsbHldIE9rLiBXaWxsIGFkZCB0 aGlzIGNoYW5nZS4gQnV0IHRoZW4gSSdsbCBoYXZlIHRvIGNoZWNrIGlmIGNyeXB0byBQTUQgaGFz IHN1cHBvcnQgdG8gcmVmbGVjdCB3aGljaCB0eXBlIG9mIG1vZGUgaXQgc3VwcG9ydHM/DQo+DQo+ VGhhbmtzIGZvciByZXZpZXcuDQo+U2hhbGx5DQo+DQo+PiAgICAgICAgIF9fZXh0ZW5zaW9uX18N Cj4+DQo+Pg0KPj4+ICsjaWZkZWYgX19jcGx1c3BsdXMNCj4+PiArfQ0KPj4+ICsjZW5kaWYNCj4+ PiArDQo+Pj4gKyNlbmRpZiAvKiBfUlRFX0NSWVBUT19BU1lNX0hfICovDQo+Pj4NCg0K