From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30060.outbound.protection.outlook.com [40.107.3.60]) by dpdk.org (Postfix) with ESMTP id 5618D1DFE2 for ; Mon, 11 Jun 2018 13:00:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dwPzP/iHJs1ItW8odP7hO+IevDLBZWfahIUoJsmGUzI=; b=Yw39BQ1RHMrzNN2Hg466vp7/KEqo6UHhV17F0/oCluKmjD3SzdhxCFfP2wtfWNcZyGzqirrd8cS14ksEhMMz4xhzfhduVjtTbYsGwvaE2QJ54A7rf25uxnfilxkNPAw8briSQtbAQkwK8ohzeplJzcmeYiB3H9V94Tsf8IeqrAg= Received: from DB7PR05MB4426.eurprd05.prod.outlook.com (52.134.109.15) by DB7PR05MB4394.eurprd05.prod.outlook.com (52.134.108.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.14; Mon, 11 Jun 2018 11:00:07 +0000 Received: from DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::6c2f:4969:3e70:3f2a]) by DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::6c2f:4969:3e70:3f2a%2]) with mapi id 15.20.0841.019; Mon, 11 Jun 2018 11:00:07 +0000 From: Shahaf Shuler To: Ferruh Yigit , Andrew Rybchenko , Jerin Jacob , Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic , "Neil Horman" , Remy Horton , Ori Kam , Bruce Richardson , "Pablo de Lara" , Radu Nicolau , Akhil Goyal , Tomasz Kantecki , Harry van Haaren , Jijiang Liu , Ravi Kumar , Konstantin Ananyev , Maxime Coquelin , Tiwei Bie , Yong Wang , Amr Mokhtar , Declan Doherty , Chas Williams , David Hunt , Cristian Dumitrescu , Anatoly Burakov , Reshma Pattan , Byron Marohn , "Thomas Monjalon" CC: "dev@dpdk.org" Thread-Topic: [RFC] ethdev: remove all offload API Thread-Index: AQHT/3GQy8axUzhXJUiPXDqKw2JcOKRXkhIAgAM29YCAAB5hsA== Date: Mon, 11 Jun 2018 11:00:06 +0000 Message-ID: References: <20180608224141.42730-1-ferruh.yigit@intel.com> <553fb3e1-3ae4-d682-17cc-f7b894b0c285@solarflare.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=shahafs@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR05MB4394; 7:Y20smuqd4yPsKhmK4Rt0+JplE60M3reHClAw5sqH3+gUTsLMzXX1m8M/9grMU8eW7gksa8yYWJR6vUhXLwEUQiqTI+I2Tttqx9rKRS5o1/T2kgF8w9/Z5hg3pjHXSej9M/iRl9D85qJAkDnsjl/yfwsxpPMQ1QtrvQRBm1qGwc1tAPxEuAjxgk0aTySsgr6W8so28XXf2FVkt/Pk9drcL1gw1UuY0puT+KtjOCz9cLj1+Rp7A44RwE0o5f0hZGLY x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DB7PR05MB4394; x-ms-traffictypediagnostic: DB7PR05MB4394: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(788757137089)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DB7PR05MB4394; BCL:0; PCL:0; RULEID:; SRVR:DB7PR05MB4394; x-forefront-prvs: 070092A9D3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(39860400002)(396003)(39380400002)(346002)(376002)(51444003)(189003)(199004)(446003)(3660700001)(476003)(11346002)(59450400001)(5250100002)(76176011)(486006)(6506007)(53546011)(66066001)(3846002)(14454004)(25786009)(6116002)(68736007)(478600001)(9686003)(8676002)(81156014)(99286004)(81166006)(2900100001)(6436002)(53936002)(2906002)(8936002)(575784001)(229853002)(110136005)(7696005)(55016002)(33656002)(106356001)(97736004)(305945005)(316002)(4326008)(7736002)(86362001)(7406005)(74316002)(3280700002)(8666007)(7416002)(26005)(6246003)(186003)(5660300001)(105586002)(102836004)(8656006)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR05MB4394; H:DB7PR05MB4426.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 68xTdxMMlz/ar8oWQCcMnGLJAstia92ILTA7XLXocJD7B2/OPvtV6pMLE8j4Q8wY+ah/k/XQPAJ24dFl+W3OjwwmEIkbvdvvilJQ19PmeMS7TsyXSpKh0YGsH/skYz9Y9jdNAGYbBaMZ5uLFry5sTwnffngnK4qcmyw4qQSPm4hgj7408Uv44TjdSKukGEsE spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f2d13f26-45da-4d4a-4bee-08d5cf8a7e24 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f2d13f26-45da-4d4a-4bee-08d5cf8a7e24 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2018 11:00:06.8675 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4394 Subject: Re: [dpdk-dev] [RFC] ethdev: remove all offload API 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, 11 Jun 2018 11:00:09 -0000 SGkgRmVycnVoLA0KDQpUaGFua3MgZm9yIHRoaXMgcGF0Y2guIA0KDQpNb25kYXksIEp1bmUgMTEs IDIwMTggMTI6MTAgUE0sIEZlcnJ1aCBZaWdpdDoNCj4gU3ViamVjdDogUmU6IFtSRkNdIGV0aGRl djogcmVtb3ZlIGFsbCBvZmZsb2FkIEFQSQ0KPiANCj4gT24gNi85LzIwMTggOTowNCBBTSwgQW5k cmV3IFJ5YmNoZW5rbyB3cm90ZToNCj4gPiBPbiAwNi8wOS8yMDE4IDAxOjQxIEFNLCBGZXJydWgg WWlnaXQgd3JvdGU6DQo+ID4+IENjOiBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNv bT4NCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRA aW50ZWwuY29tPg0KPiA+PiAtLS0NCj4gPg0KPiA+IDwuLi4+DQo+ID4NCj4gPj4gZGlmZiAtLWdp dCBhL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9jb21tb24uYw0KPiA+PiBiL2FwcC90ZXN0 LWV2ZW50ZGV2L3Rlc3RfcGVyZl9jb21tb24uYw0KPiA+PiBpbmRleCBkMDBmOTE4MDIuLjlmZTA0 MmZmZSAxMDA2NDQNCj4gPj4gLS0tIGEvYXBwL3Rlc3QtZXZlbnRkZXYvdGVzdF9wZXJmX2NvbW1v bi5jDQo+ID4+ICsrKyBiL2FwcC90ZXN0LWV2ZW50ZGV2L3Rlc3RfcGVyZl9jb21tb24uYw0KPiA+ PiBAQCAtNjgwLDEzICs2ODAsNyBAQCBwZXJmX2V0aGRldl9zZXR1cChzdHJ1Y3QgZXZ0X3Rlc3Qg KnRlc3QsIHN0cnVjdA0KPiBldnRfb3B0aW9ucyAqb3B0KQ0KPiA+PiAgCQkJLm1xX21vZGUgPSBF VEhfTVFfUlhfUlNTLA0KPiA+PiAgCQkJLm1heF9yeF9wa3RfbGVuID0gRVRIRVJfTUFYX0xFTiwN Cj4gPj4gIAkJCS5zcGxpdF9oZHJfc2l6ZSA9IDAsDQo+ID4+IC0JCQkuaGVhZGVyX3NwbGl0ICAg PSAwLA0KPiA+PiAtCQkJLmh3X2lwX2NoZWNrc3VtID0gMCwNCj4gPj4gLQkJCS5od192bGFuX2Zp bHRlciA9IDAsDQo+ID4+IC0JCQkuaHdfdmxhbl9zdHJpcCAgPSAwLA0KPiA+PiAtCQkJLmh3X3Zs YW5fZXh0ZW5kID0gMCwNCj4gPj4gIAkJCS5qdW1ib19mcmFtZSAgICA9IDAsDQo+ID4+IC0JCQku aHdfc3RyaXBfY3JjICAgPSAxLA0KPiA+DQo+IA0KPiBIaSBBbmRyZXcsDQo+IA0KPiA+IEkgaGF2 ZSAyIHF1ZXN0aW9ucyBoZXJlOg0KPiA+IMKgMS4gV2h5IGlzIGp1bWJvX2ZyYW1lIGtlcHQ/IFRo ZXJlIGlzDQo+IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FLg0KPiANCj4gQmVjYXVzZSB0aGVy ZSBhcmUgc3RpbGwgc29tZSB1c2FnZSBvZiB0aGlzIGZsYWcgaW4gUE1EcywgdGhleSBuZWVkIHRv IGJlDQo+IGNsYXJpZmllZCBiZWZvcmUgcmVtb3ZpbmcgdGhlIGZsYWcuIEkgYW0gZm9yIHJlbW92 aW5nIHRoZSBmbGFnIGluIGZpbmFsIHZlcnNpb24sDQo+IGJ1dCBmb3IgdGhpcyBSRkMgSSBhbSBu b3QgYWJsZSB0byBmaW5kIGVub3VnaCB0aW1lIHRvIHdvcmsgb24gUE1EcyBmb3IgaXQuDQoNCkNh biB5b3UgZWxhYm9yYXRlPw0KSXMgdGhpcyBzb21ldGhpbmcgbW9yZSB0aGFuIGp1c3QgYSByZXBs YWNlIG9mIHRoZSBqdW1ib19mcmFtZSBiaXQgd2l0aCBpdHMgY29ycmVzcG9uZGluZyBmbGFnPyAN Cg0KPiANCj4gPiDCoDIuIFdoeSBpcyBod19zdHJpcF9jcmM9MSBkaXNjYXJkZWQ/IFllcywgSSBy ZW1lbWJlciBwbGFucyB0byBtYWtlIGl0DQo+ID4gwqAgwqDCoCBkZWZhdWx0IGJlaGF2aW91ciBh bmQgaW50cm9kdWNlIGZsYWcgdG8ga2VlcCBDUkMsIGJ1dCByaWdodCBub3cNCj4gPiB0aGUNCj4g PiDCoMKgwqDCoCBwYXRjaCBsb29rcyBsaWtlIG1peHR1cmUgb2YgdHdvIGNoYW5nZXMgd2hpY2gg aXMgbm90IGdvb2QuDQo+IA0KPiBZZXMgaXQgaXMgd3JvbmcsIGFwcCBzaG91bGQgcmVwbGFjZSAi Ii5od19zdHJpcF9jcmM9MSB3aXRoIEtFRVBfQ1JDIG9mZmxvYWQuDQo+IFNpbmNlIGJvdGggYXJl IFJGQywga2luZCBvZiBoYXJkIHRvIG1haW50YWluLCBidXQgSSB0aGluayBnb29kIHRvIGNyZWF0 ZSBhDQo+IGRlcGVuZGVuY3kgZnJvbSB0aGlzIHBhdGNoIHRvIEtFRVBfQ1JDIG9uZS4NCj4gDQo+ ID4NCj4gPiBUaGVyZSBhcmUgbW9yZSBjYXNlcyBpbiB0aGUgcGF0Y2ggd2hlcmUgaHdfc3RyaXBf Y3JjPTEgaXMgc2ltcGx5DQo+IGRpc2NhcmRlZC4NCj4gPg0KPiA+IDwuLi4+DQo+ID4NCj4gPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3NmYy9zZmNfZXRoZGV2LmMNCj4gPj4gYi9kcml2ZXJz L25ldC9zZmMvc2ZjX2V0aGRldi5jIGluZGV4IDFiNjQ5OWY4NS4uZWU4YWU1YjlmIDEwMDY0NA0K PiA+PiAtLS0gYS9kcml2ZXJzL25ldC9zZmMvc2ZjX2V0aGRldi5jDQo+ID4+ICsrKyBiL2RyaXZl cnMvbmV0L3NmYy9zZmNfZXRoZGV2LmMNCj4gPj4gQEAgLTEwODksNyArMTA4OSw2IEBAIHNmY190 eF9xdWV1ZV9pbmZvX2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmRldiwNCj4gPj4gdWludDE2 X3QgdHhfcXVldWVfaWQsDQo+ID4+DQo+ID4+ICAJbWVtc2V0KHFpbmZvLCAwLCBzaXplb2YoKnFp bmZvKSk7DQo+ID4+DQo+ID4+IC0JcWluZm8tPmNvbmYudHhxX2ZsYWdzID0gdHhxX2luZm8tPnR4 cS0+ZmxhZ3M7DQo+ID4+ICAJcWluZm8tPmNvbmYub2ZmbG9hZHMgPSB0eHFfaW5mby0+dHhxLT5v ZmZsb2FkczsNCj4gPj4gIAlxaW5mby0+Y29uZi50eF9mcmVlX3RocmVzaCA9IHR4cV9pbmZvLT50 eHEtPmZyZWVfdGhyZXNoOw0KPiA+PiAgCXFpbmZvLT5jb25mLnR4X2RlZmVycmVkX3N0YXJ0ID0g dHhxX2luZm8tPmRlZmVycmVkX3N0YXJ0OyBkaWZmDQo+ID4+IC0tZ2l0IGEvZHJpdmVycy9uZXQv c2ZjL3NmY19yeC5jIGIvZHJpdmVycy9uZXQvc2ZjL3NmY19yeC5jIGluZGV4DQo+ID4+IGNjNzZh NWIxNS4uNThhMGRmNTgzIDEwMDY0NA0KPiA+PiAtLS0gYS9kcml2ZXJzL25ldC9zZmMvc2ZjX3J4 LmMNCj4gPj4gKysrIGIvZHJpdmVycy9uZXQvc2ZjL3NmY19yeC5jDQo+ID4+IEBAIC0xNDQ2LDcg KzE0NDYsNiBAQCBzZmNfcnhfY2hlY2tfbW9kZShzdHJ1Y3Qgc2ZjX2FkYXB0ZXIgKnNhLA0KPiBz dHJ1Y3QgcnRlX2V0aF9yeG1vZGUgKnJ4bW9kZSkNCj4gPj4gIAlpZiAofnJ4bW9kZS0+b2ZmbG9h ZHMgJiBERVZfUlhfT0ZGTE9BRF9DUkNfU1RSSVApIHsNCj4gPj4gIAkJc2ZjX3dhcm4oc2EsICJG Q1Mgc3RyaXBwaW5nIGNhbm5vdCBiZSBkaXNhYmxlZCAtIGFsd2F5cyBvbiIpOw0KPiA+PiAgCQly eG1vZGUtPm9mZmxvYWRzIHw9IERFVl9SWF9PRkZMT0FEX0NSQ19TVFJJUDsNCj4gPj4gLQkJcnht b2RlLT5od19zdHJpcF9jcmMgPSAxOw0KPiA+PiAgCX0NCj4gPj4NCj4gPj4gIAlyZXR1cm4gcmM7 DQo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9zZmMvc2ZjX3R4LmMgYi9kcml2ZXJzL25l dC9zZmMvc2ZjX3R4LmMNCj4gPj4gaW5kZXggMWJjYzJjNjk3Li42ZDQyYTFhNjUgMTAwNjQ0DQo+ ID4+IC0tLSBhL2RyaXZlcnMvbmV0L3NmYy9zZmNfdHguYw0KPiA+PiArKysgYi9kcml2ZXJzL25l dC9zZmMvc2ZjX3R4LmMNCj4gPj4gQEAgLTE3MSw3ICsxNzEsNiBAQCBzZmNfdHhfcWluaXQoc3Ry dWN0IHNmY19hZGFwdGVyICpzYSwgdW5zaWduZWQgaW50DQo+IHN3X2luZGV4LA0KPiA+PiAgCXR4 cS0+ZnJlZV90aHJlc2ggPQ0KPiA+PiAgCQkodHhfY29uZi0+dHhfZnJlZV90aHJlc2gpID8gdHhf Y29uZi0+dHhfZnJlZV90aHJlc2ggOg0KPiA+PiAgCQlTRkNfVFhfREVGQVVMVF9GUkVFX1RIUkVT SDsNCj4gPj4gLQl0eHEtPmZsYWdzID0gdHhfY29uZi0+dHhxX2ZsYWdzOw0KPiA+PiAgCXR4cS0+ b2ZmbG9hZHMgPSBvZmZsb2FkczsNCj4gPj4NCj4gPj4gIAlyYyA9IHNmY19kbWFfYWxsb2Moc2Es ICJ0eHEiLCBzd19pbmRleCwNCj4gPj4gRUZYX1RYUV9TSVpFKHR4cV9pbmZvLT5lbnRyaWVzKSwg QEAgLTE4Miw3ICsxODEsNiBAQA0KPiBzZmNfdHhfcWluaXQoc3RydWN0IHNmY19hZGFwdGVyICpz YSwgdW5zaWduZWQgaW50IHN3X2luZGV4LA0KPiA+PiAgCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9m KGluZm8pKTsNCj4gPj4gIAlpbmZvLm1heF9maWxsX2xldmVsID0gdHhxX21heF9maWxsX2xldmVs Ow0KPiA+PiAgCWluZm8uZnJlZV90aHJlc2ggPSB0eHEtPmZyZWVfdGhyZXNoOw0KPiA+PiAtCWlu Zm8uZmxhZ3MgPSB0eF9jb25mLT50eHFfZmxhZ3M7DQo+ID4+ICAJaW5mby5vZmZsb2FkcyA9IG9m ZmxvYWRzOw0KPiA+PiAgCWluZm8udHhxX2VudHJpZXMgPSB0eHFfaW5mby0+ZW50cmllczsNCj4g Pj4gIAlpbmZvLmRtYV9kZXNjX3NpemVfbWF4ID0gZW5jcC0+ZW5jX3R4X2RtYV9kZXNjX3NpemVf bWF4Ow0KPiBAQCAtNDMxLDE4DQo+ID4+ICs0MjksMTAgQEAgc2ZjX3R4X3FzdGFydChzdHJ1Y3Qg c2ZjX2FkYXB0ZXIgKnNhLCB1bnNpZ25lZCBpbnQgc3dfaW5kZXgpDQo+ID4+ICAJaWYgKHJjICE9 IDApDQo+ID4+ICAJCWdvdG8gZmFpbF9ldl9xc3RhcnQ7DQo+ID4+DQo+ID4+IC0JLyoNCj4gPj4g LQkgKiBUaGUgYWJzZW5jZSBvZiBFVEhfVFhRX0ZMQUdTX0lHTk9SRSBpcyBhc3NvY2lhdGVkIHdp dGggYQ0KPiBsZWdhY3kNCj4gPj4gLQkgKiBhcHBsaWNhdGlvbiB3aGljaCBleHBlY3RzIHRoYXQg SVB2NCBjaGVja3N1bSBvZmZsb2FkIGlzIGVuYWJsZWQNCj4gPj4gLQkgKiBhbGwgdGhlIHRpbWUg YXMgdGhlcmUgaXMgbm8gbGVnYWN5IGZsYWcgdG8gdHVybiBvZmYgdGhlIG9mZmxvYWQuDQo+ID4+ IC0JICovDQo+ID4+IC0JaWYgKCh0eHEtPm9mZmxvYWRzICYgREVWX1RYX09GRkxPQURfSVBWNF9D S1NVTSkgfHwNCj4gPj4gLQkgICAgKH50eHEtPmZsYWdzICYgRVRIX1RYUV9GTEFHU19JR05PUkUp KQ0KPiA+PiArCWlmICh0eHEtPm9mZmxvYWRzICYgREVWX1RYX09GRkxPQURfSVBWNF9DS1NVTSkN Cj4gPj4gIAkJZmxhZ3MgfD0gRUZYX1RYUV9DS1NVTV9JUFY0Ow0KPiA+Pg0KPiA+PiAtCWlmICgo dHhxLT5vZmZsb2FkcyAmIERFVl9UWF9PRkZMT0FEX09VVEVSX0lQVjRfQ0tTVU0pIHx8DQo+ID4+ IC0JICAgICgofnR4cS0+ZmxhZ3MgJiBFVEhfVFhRX0ZMQUdTX0lHTk9SRSkgJiYNCj4gPj4gLQkg ICAgIChvZmZsb2Fkc19zdXBwb3J0ZWQgJg0KPiBERVZfVFhfT0ZGTE9BRF9PVVRFUl9JUFY0X0NL U1VNKSkpDQo+ID4+ICsJaWYgKHR4cS0+b2ZmbG9hZHMgJiBERVZfVFhfT0ZGTE9BRF9PVVRFUl9J UFY0X0NLU1VNKQ0KPiA+PiAgCQlmbGFncyB8PSBFRlhfVFhRX0NLU1VNX0lOTkVSX0lQVjQ7DQo+ ID4+DQo+ID4+ICAJaWYgKCh0eHEtPm9mZmxvYWRzICYgREVWX1RYX09GRkxPQURfVENQX0NLU1VN KSB8fCBAQCAtNDUzLDE2DQo+ICs0NDMsNw0KPiA+PiBAQCBzZmNfdHhfcXN0YXJ0KHN0cnVjdCBz ZmNfYWRhcHRlciAqc2EsIHVuc2lnbmVkIGludCBzd19pbmRleCkNCj4gPj4gIAkJCWZsYWdzIHw9 IEVGWF9UWFFfQ0tTVU1fSU5ORVJfVENQVURQOw0KPiA+PiAgCX0NCj4gPj4NCj4gPj4gLQkvKg0K PiA+PiAtCSAqIFRoZSBhYnNlbmNlIG9mIEVUSF9UWFFfRkxBR1NfSUdOT1JFIGlzIGFzc29jaWF0 ZWQgd2l0aCBhDQo+IGxlZ2FjeQ0KPiA+PiAtCSAqIGFwcGxpY2F0aW9uLiBJbiB0dXJuLCB0aGUg YWJzZW5jZSBvZiBFVEhfVFhRX0ZMQUdTX05PWFNVTVRDUA0KPiBpcw0KPiA+PiAtCSAqIGFzc29j aWF0ZWQgc3BlY2lmaWNhbGx5IHdpdGggYSBsZWdhY3kgYXBwbGljYXRpb24gd2hpY2ggZXhwZWN0 cw0KPiA+PiAtCSAqIGJvdGggVENQIGNoZWNrc3VtIG9mZmxvYWQgYW5kIFRTTyB0byBiZSBlbmFi bGVkIGJlY2F1c2UgdGhlDQo+IGxlZ2FjeQ0KPiA+PiAtCSAqIEFQSSBkb2VzIG5vdCBwcm92aWRl IGEgZGVkaWNhdGVkIG1lY2hhbmlzbSB0byBjb250cm9sIFRTTy4NCj4gPj4gLQkgKi8NCj4gPj4g LQlpZiAoKHR4cS0+b2ZmbG9hZHMgJiBERVZfVFhfT0ZGTE9BRF9UQ1BfVFNPKSB8fA0KPiA+PiAt CSAgICAoKH50eHEtPmZsYWdzICYgRVRIX1RYUV9GTEFHU19JR05PUkUpICYmDQo+ID4+IC0JICAg ICAofnR4cS0+ZmxhZ3MgJiBFVEhfVFhRX0ZMQUdTX05PWFNVTVRDUCkpKQ0KPiA+PiArCWlmICh0 eHEtPm9mZmxvYWRzICYgREVWX1RYX09GRkxPQURfVENQX1RTTykNCj4gPj4gIAkJZmxhZ3MgfD0g RUZYX1RYUV9GQVRTT1YyOw0KPiA+Pg0KPiA+PiAgCXJjID0gZWZ4X3R4X3FjcmVhdGUoc2EtPm5p Yywgc3dfaW5kZXgsIDAsICZ0eHEtPm1lbSwNCj4gPg0KPiA+IG5ldC9zZmMgY2hhbmdlcyBsb29r cyBnb29kLg0KPiA+IFBsdXMgJ3N0cnVjdCBzZmNfdHhxIC0+IGZsYWdzJyAoZHJpdmVycy9uZXQv c2ZjL3NmY190eC5oKSBhbmQgJ3N0cnVjdA0KPiA+IHNmY19kcF90eF9xY3JlYXRlX2luZm8gLT4g ZmxhZ3MnIChkcml2ZXJzL25ldC9zZmMvc2ZjX2RwX3R4LmgpIHNob3VsZA0KPiA+IGJlIHJlbW92 ZWQgc2luY2UgdGhlcmUgYXJlIG5vdCB1c2VkIG5vdy4NCj4gPg0KPiA+IElmIGZpbmFsbHkgcnht b2RlLmp1bWJvX2ZyYW1lIGlzIHJlbW92ZWQsIGl0IHNob3VsZCByZW1vdmVkIGZyb20NCj4gPiBu ZXQvc2ZjIGFzIHdlbGwgKGJ1dCBjb21waWxlciB3aWxsIGhlbHAgdG8gZmluZCBpdCBpbiBhbnkg Y2FzZSkuDQo+ID4NCj4gPiBBZnRlciBhcHBseWluZyB0aGUgcGF0Y2g6DQo+ID4gJCBnaXQgZ3Jl cCBFVEhfVFhRX0ZMQUdTDQo+ID4gZHJpdmVycy9uZXQvZm0xMGsvZm0xMGsuaDojZGVmaW5lIEZN MTBLX1NJTVBMRV9UWF9GTEFHDQo+ID4gKCh1aW50MzJfdClFVEhfVFhRX0ZMQUdTX05PTVVMVFNF R1MgfCBcDQo+ID4gZHJpdmVycy9uZXQvZm0xMGsvZm0xMGsuaDoNCj4gPiBFVEhfVFhRX0ZMQUdT X05PT0ZGTE9BRFMpDQo+IA0KPiBUaGFua3MsIHdpbGwgcmVtb3ZlIHRoaXMgdG9vLg0KPiANCj4g Pg0KPiA+IEluIGdlbmVyYWwgSSB0aGluayB0aGF0IHdlIHNob3VsZCBkbyBpdCBBU0FQLiBBbHNv IGl0IHdpbGwgZ3VhcmFudGVlDQo+ID4gdGhhdCBuZXcgUE1EcyBkbyBub3QgdXNlIGNvcnJlc3Bv bmRpbmcgc3RydWN0dXJlIG1lbWJlcnMgZXRjLg0KPiANCj4gKzEsICsxDQoNCg==