From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 40C4F1B714 for ; Fri, 14 Dec 2018 09:20:08 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Dec 2018 00:20:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,352,1539673200"; d="scan'208";a="110330879" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga003.jf.intel.com with ESMTP; 14 Dec 2018 00:20:07 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 14 Dec 2018 00:20:07 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.182]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.201]) with mapi id 14.03.0415.000; Fri, 14 Dec 2018 16:20:05 +0800 From: "Lu, Wenzhuo" To: "Varghese, Vipin" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v3 00/34] A new net PMD - ice Thread-Index: AQHUkeeuic9BPYHSeU6L81CTTYgG5aV7qNkAgACTvcD//+OugIABSvMQ//+kboCAANVh4A== Date: Fri, 14 Dec 2018 08:20:04 +0000 Message-ID: <6A0DE07E22DDAD4C9103DF62FEBC09093FE1419C@shsmsx102.ccr.corp.intel.com> References: <1542956179-80951-1-git-send-email-wenzhuo.lu@intel.com> <1544598004-27099-1-git-send-email-wenzhuo.lu@intel.com> <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2DA548@BGSMSX101.gar.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09093FE13B2D@shsmsx102.ccr.corp.intel.com> <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2DA789@BGSMSX101.gar.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09093FE13E73@shsmsx102.ccr.corp.intel.com> <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2DAAB7@BGSMSX101.gar.corp.intel.com> In-Reply-To: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2DAAB7@BGSMSX101.gar.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v3 00/34] A new net PMD - ice 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: Fri, 14 Dec 2018 08:20:10 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWYXJnaGVzZSwgVmlwaW4NCj4g U2VudDogRnJpZGF5LCBEZWNlbWJlciAxNCwgMjAxOCAxMToyNiBBTQ0KPiBUbzogTHUsIFdlbnpo dW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJFOiBb ZHBkay1kZXZdIFtQQVRDSCB2MyAwMC8zNF0gQSBuZXcgbmV0IFBNRCAtIGljZQ0KPiANCj4gSGkg V2Vuemh1bywNCj4gDQo+IHNuaXBwZWQNCj4gPiA+DQo+ID4gPiBUaGFua3MgZm9yIHRoZSB1cGRh dGUsIGNvdXBsZSBvZiBzdWdnZXN0aW9uIGluIG15IG9waW5pb24gc2hhcmVkDQo+ID4gPiBiZWxv dw0KPiA+ID4NCj4gPiA+IFNuaXBwZWQNCj4gPiA+ID4gPiBbUEFUQ0ggdjIgMDIvMjBdIG5ldC9p Y2U6IHN1cHBvcnQgZGV2aWNlIGluaXRpYWxpemF0aW9uDQo+ID4gPiA+ID4gPiArIyBDb21waWxl IGJ1cnN0LW9yaWVudGVkIElDRSBQTUQgZHJpdmVyICMNCj4gPiA+ID4gPiBDT05GSUdfUlRFX0xJ QlJURV9JQ0VfUE1EPXkNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEJhc2VkIG9uICcgaHR0cHM6Ly9w YXRjaGVzLmRwZGsub3JnL3BhdGNoLzQ4NDg4LycgaXQgaXMNCj4gPiA+ID4gPiBzdWdnZXN0ZWQg dG8gY29uZmlndXJlLiBCdXQgaGVyZSBpcyBpdCBhbHJlYWR5IHNldCB0byAneScuIElzIHRoaXMg Y29ycmVjdD8NCj4gPiA+ID4gPiBJZiB5ZXMgY2FuIHlvdSB1cGRhdGUgJyBodHRwczovL3BhdGNo ZXMuZHBkay5vcmcvcGF0Y2gvNDg0ODgvJw0KPiA+ID4gPiBXZSd2ZSBkaXNjdXNzZWQgdGhlIHNl dHRpbmcuIEkgZG9u4oCZdCBrbm93IGFueXRoaW5nIGxlZnQuIElmDQo+ID4gPiA+IHRoZXJlJ3Ms IHBsZWFzZSBsZXQgbWUga25vdy4NCj4gPiA+IEkgdGhpbmsgSSBwb29ybHkgY29tbXVuaWNhdGVk LCBzbyBsZXQgbWUgdHJ5IGFnYWluLiBJbiBkb2N1bWVudCBpdA0KPiA+ID4gaXMgc3RhdGVkIHRv IGNvbmZpZ3VyZSBhcyAneScuIEJ1dCBpbiB5b3VyIGRlZmF1bHQgY29uZmlnIGlzICd5Jy4gU28N Cj4gPiA+IGVpdGhlciBtYWtlIHRoZSBkZWZhdWx0IGFzICduJyBzbyB1c2VyIGNhbiBjb25maWd1 cmUgb3IgcmV3b3JkIGluDQo+ID4gPiBkb2N1bWVudCBhcyAnRW5zdXJlIHRoZSBjb25maWcgaXMg c2V0IHRvIHkgZm9yIGJlZm9yZSBidWlsZGluZycNCj4gPiBJbiB0aGUgcGF0Y2gsIEkgb25seSBz ZWUgImBgQ09ORklHX1JURV9MSUJSVEVfSUNFX1BNRGBgIChkZWZhdWx0DQo+ID4gYGB5YGApICIu IE5vIGNvbmZsaWN0IHdpdGggdGhlIGNvbmZpZ3VyZSBmaWxlLg0KPiBJIHRoaW5rIEkgYW0gZmFp bGluZyB5b3UgdG8gY29udmV5IGV2ZW4gYWZ0ZXIgbXVsdGlwbGUgYXR0ZW1wdHMuIEhlbmNlIEkN Cj4gaHVtYmx5IGxlYXZlIHRoaXMgdG8gb3RoZXIgZnJvbSBtYWlsaW5nIGxpc3QgdG8gZ2V0IGl0 IHNvcnRlZC4NCkkgYWxzbyBmZWVsIGNvbmZ1c2VkLiBBcyB0aGUgY29tcGlsZSBjb25maWcgaXMg c2V0IHRvICd5JyBhbmQgdGhlIGRvY3VtZW50IHNheXMgdGhlIGRlZmF1bHQgdmFsdWUgaXMgJ3kn LiBJIGp1c3QgZG9u4oCZdCBmaW5kIHRoZSBwcm9ibGVtLg0KDQo+IA0KPiA+DQo+ID4gPg0KPiA+ ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIFtQQVRDSCB2MiAyMC8yMF0gbmV0L2ljZTogc3Vw cG9ydCBtZXNvbiBidWlsZA0KPiA+ID4gPiA+ID4gPiA+ID4gU2hvdWxkIG5vdCBtZXNvbiBidWls ZCBvcHRpb24gYmUgYWRkIHN0YXJ0LiBUaGF0IGlzIGluDQo+ID4gPiA+ID4gPiA+ID4gPiBwYXRj aA0KPiA+ID4gPiA+ID4gPiA+ID4gMS8yMCBzbyBjb21waWxlIG9wdGlvbnMgZG9lcyBub3QgZmFp bD8NCj4gPiA+ID4gPiA+ID4gPiBJdCB3aWxsIG5vdCBmYWlsLiBFbmFibGluZyB0aGUgY29tcGls ZSBlYXJsaWVyIG9ubHkgbWVhbnMNCj4gPiA+ID4gPiA+ID4gPiB0aGUgY29kZSBjYW4gYmUNCj4g PiA+ID4gPiA+ID4gY29tcGlsZWQuDQo+ID4gPiA+ID4gPiA+ID4gQnV0LCB0byB1c2UgdGhpcyBk ZXZpY2Ugd2UgZG8gbmVlZCB0aGUgd2hvbGUgcGF0Y2ggc2V0Lg0KPiA+ID4gPiA+ID4gPiA+IEZy b20gdGhpcyBwb2ludCBvZiB2aWV3LCBjb21waWxpbmcgaXQgYXQgdGhlIGVuZCBtYXliZSBiZXR0 ZXIuDQo+ID4gPiA+ID4gPiA+IFRoYW5rcyBmb3IgdXBkYXRlLCBzbyB3aWxsICdtZXNvbi1idWls ZCcgc3VjY2VzcyBpZiBhcHBseSAzIHBhdGNoZXM/DQo+ID4gPiA+ID4gPiBTdXJlLCBtZXNvbiBi dWlsZCB3aWxsIG5vdCBiZSBicm9rZW4gYnkgYW55IG9uZSBvZiB0aGVzZSBwYXRjaGVzLg0KPiA+ ID4gPiA+ID4gT25seSB1bnRpbCB0aGlzIHBhdGNoLCB3aGF0IGJ1aWx0IGJ5IG1lc29uIGNhbiBz dXBwb3J0IGljZS4NCj4gPiA+ID4gPiBUaGFua3MgZm9yIGNvbmZpcm1hdGlvbiB0aGF0IHlvdSBo YXZlIHRyaWVkDQo+ID4gPiA+ID4gJy4vZGV2dG9vbHMvdGVzdC1tZXNvbi0gYnVpbGRzLnNoJyBh bmQgdGhlIGludGVybWVkaWF0ZSBidWlsZA0KPiA+ID4gPiA+IGZvciBJQ0VfRFNJDQo+ID4gUE1E IGRvZXMgbm90IGZhaWwuDQo+ID4gPiA+IEkgc2FpZCBtZXNvbiBidWlsZCBpcyB3b3JraW5nLiBC dXQgZG9uJ3Qga25vdyB3aGF0J3MgSUNFX0RTSSBQTUQuDQo+ID4gPg0KPiA+ID4gT25jZSBhZ2Fp biBhcG9sb2dpZXMgaWYgSSBwb29ybHkgY29tbXVuaWNhdGVkIElDRV9QTUQsIG15IHF1ZXN0aW9u DQo+ID4gPiBpcyAnaWYgSSB0YWtlIHBhdGNoIDEvMjAgaW4gdjIgY2FuIEkgYnVpbGQgZm9yIGxp YnJ0ZV9wbWRfaWNlJz8gaXMNCj4gPiA+IG5vdCB3ZSBhcmUgZXhwZWN0aW5nIGVhY2ggYWRkaXRp b25hbCBsYXllcmluZyBmb3IgZnVuY3Rpb25hbGl0eSBsaWtlDQo+ID4gPiBtdHUgc2V0LCBzd2l0 Y2ggc2V0IHNob3VsZCBiZSBjb21waWxpbmcgYW5kIG5vdCBqdXN0IHRoZSBsYXN0IGJ1aWxkPw0K PiA+IE8sIHlvdSB3YW50IHRvIHN1cHBvcnQgbWVzb24gYnVpbGQgZnJvbSB0aGUgYmVnaW5uaW5n LiBJIGNhbiBtb3ZlIGl0DQo+ID4gZm9yd2FyZCwgYWx0aG91Z2ggSSByZWNvbW1lbmQgdG8gdXNl IGl0IGFmdGVyIGFsbCB0aGUgcGF0Y2hlcy4NCj4gVGhhbmsgeW91IGZvciBjb25zaWRlcmF0aW9u LCBJIHRoaW5rIHRoaXMgYXBwcm9hY2ggaGVscHMgYSBsb3Qgc2luY2Ugd2UgYXJlDQo+IHN5c3Rl bWF0aWNhbGx5IGFkZGluZyBjb2RlIHRvIElDRV9QTUQNCj4gDQo+ID4NCj4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgW1BBVENIIHYyIDE2LzIwXSBuZXQvaWNlOiBzdXBwb3J0 IGJhc2ljIFJYL1RYDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgW1BBVENIIHYyIDE0LzIwXSBuZXQv aWNlOiBzdXBwb3J0IHN0YXRpc3RpY3MNCj4gPiA+ID4gPiAgPiA+ID4gKwlucy0+ZXRoLnR4X2J5 dGVzIC09IChucy0+ZXRoLnR4X3VuaWNhc3QgKyBucy0NCj4gPiA+ID5ldGgudHhfbXVsdGljYXN0 DQo+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gPiArCQkJICAgICBucy0+ZXRoLnR4X2Jyb2FkY2Fz dCkgKiBFVEhFUl9DUkNfTEVOOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBJbiBlYXJs aWVyIHBhdGNoIGZvciAnbXR1IHNldCBjaGVjaycgd2UgYWRkZWQgVlNJIFNXSVRDSCBWTEFOLg0K PiA+ID4gPiA+ID4gPiBTaG91bGQgd2UgYWRkIFZTSSBWTEFOIGhlcmU/DQo+ID4gPiA+ID4gPiBE b24ndCBuZWVkLiBUaGV5J3JlIGRpZmZlcmVudCBmdW5jdGlvbnMuIFdlIGFkZCBjcmMgbGVuZ3Ro DQo+ID4gPiA+ID4gPiBoZXJlIGJlY2F1c2Ugb2YgSFcgY291bnRzIHRoZSBwYWNrZXQgbGVuZ3Ro IGJlZm9yZSBjcmMgaXMgYWRkZWQuDQo+ID4gPiA+ID4gU28geW91IGFyZSBub3QgZmV0Y2hpbmcg c3RhdHMgZnJvbSBIVyByZWdpc3RlcnMgZnJvbSBzd2l0Y2ggaXMNCj4gPiA+ID4gPiB0aGlzDQo+ ID4gPiBjb3JyZWN0Pw0KPiA+ID4gPiA+IEhvdyB3aWxsIHlvdSBnZXQgc3RhdHMgZm9yIGFjdHVh bGx5IHRyYW5zbWl0dGVkIGluIHhzdGF0cz8gQXMgSQ0KPiA+ID4gPiA+IHVuZGVyc3RhbmQgeHN0 YXRzIGlzIGZvciBzd2l0Y2ggSFcgc3RhdHMgcmlnaHQ/DQo+ID4gPiA+IE5vLiBUaGUgc3RhdHMg aXMgZ290IGZyb20gSFcuIFdlIGp1c3QgY29ycmVjdCBpdCBhcyBIVyBkb2VzbuKAmXQNCj4gPiA+ ID4gaGF2ZSB0aGUgY2hhbmNlIHRvIGFkZCBDUkMgbGVuZ3RoLiBCdXQgSSBkb24ndCB1bmRlcnN0 YW5kIHdoeQ0KPiA+ID4gPiBzd2l0Y2ggaXMNCj4gPiA+IG1lbnRpb25lZCBoZXJlLg0KPiA+ID4g V2lsbCBpY2UgcG1kICBmb3IgQ1ZMIGV4cG9zZSBhbGwgdGhlIHN3aXRjaCBzdGF0cyBhcyAneHN0 YXRzJz8gSWYNCj4gPiA+IHllcywgY2FuIHlvdSBzaGFyZSBpbiBwYXRjaCBjb21tZW50cyB3aGF0 IGFyZSBzd2l0Y2ggbGV2ZWwgc3RhdHM/DQo+ID4gTm8uIHhzdGF0cyBtZWFucyB0aGUgZXh0ZW5k IHN0YXRzIHdoaWNoIGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBiYXNpYw0KPiA+IHN0YXRzLiBJdCBj YW4gYmUgYW55dGhpbmcgd2hpY2ggaXMgbm90IGluIGJhc2ljIHN0YXRzLg0KPiBUaGFua3MgZm9y IGNvbmZpcm1pbmcsIGhlbmNlIGlzIHhzdGF0cyBjb3ZlcmluZyBmb3IgSUNFIFN3aXRjaCBzdGF0 cyB3aGljaCBpcw0KPiBub3QgY292ZXJlZCBpbiBQTUQgc3RhdHM/IElmIHllcywgY2FuIHlvdSBt ZW50aW9uIHRoZSBsaXN0IG9mIHN0YXRzIGNvdmVyZWQNCj4gdW5kZXIgeHN0YXRzIHRoYXQgaXMg ZmV0Y2hlZCBzcGVjaWZpY2FsbHkgZnJvbSBJQ0Ugc3dpdGNoPw0KU29ycnkuIEkgY2Fubm90IGRv IHRoYXQuIFRoZSBIVyBpcyBzb21laG93IGJsYWNrIGJveCB0byB1cy4gSSBjYW5ub3QgdGVsbCB5 b3Ugc29tZXRoaW5nIEknbSBub3Qgc3VyZSBhYm91dC4NCg0KPiANCj4gPg0KPiA+ID4NCj4gPiA+ ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICBbUEFUQ0ggdjIgMDQvMjBdIG5ldC9pY2U6IHN1cHBv cnQgZ2V0dGluZwlkZXZpY2UJaW5mb3JtYXRpb24NCj4gPiA+ID4gPiAgPiA+IERvZXMgdGhpcyBt ZWFuIHBlciBxdWV1ZSBvZmZsb2FkIGNhcGFiaWxpdHkgaXMgbm90IHN1cHBvcnRlZD8NCj4gPiA+ ID4gPiBJZg0KPiA+ID4gPiA+ID4gPiB5ZXMsIGNhbiB5b3UgbWVudGlvbiB0aGlzIGluIHJlbGVh c2Ugbm90ZXMgdW5kZXIgJ3N1cHBvcnQgb3INCj4gPiA+IGxpbWl0YXRpb24nDQo+ID4gPiA+ID4g PiBObywgaXQncyBub3Qgc3VwcG9ydGVkLiBXZSBoYXZlIGEgZG9jdW1lbnQsIGljZS5pbmksIHRv IGxpc3QNCj4gPiA+ID4gPiA+IGFsbCB0aGUgZmVhdHVyZXMgc3VwcG9ydGVkLiBBbGwgdGhlIG90 aGVycyBhcmUgbm90IHN1cHBvcnRlZC4NCj4gPiA+ID4gPiA+IEJUVywgSSBkb24ndCB0aGluayBh bnl0aGluZyBub3Qgc3VwcG9ydGVkIGlzIGxpbWl0YXRpb24uDQo+ID4gPiA+ID4gSWYgSSB1bmRl cnN0YW5kIGNvcnJlY3RseSwgIElDRV9EU0lfUE1EIGlzIGFkdmVydGlzaW5nIGl0IGhhcw0KPiA+ ID4gPiA+IG5vdCBvZmZsb2FkIGZvciBSWCBhbmQgVFguIEJ1dCB5b3UgYXJlIHN0YXRpbmcgaW4g aWNlLmluaSB5b3UNCj4gPiA+ID4gPiBhcmUgbGlzdGluZyBvZmZsb2FkIHN1cHBvcnRzLiBTbyBs ZXQgbWUgcmVwaHJhc2UgdGhlIHF1ZXN0aW9uDQo+ID4gPiA+ID4gJ2lmIHlvdSBzdXBwb3J0IHBv cnQgbGV2ZWwgb2ZmbG9hZCBjYXBhYmlsaXR5LCBpdCB3aWxsIHJlZmxlY3QgZm9yIGFsbA0KPiBx dWV1ZXMgcnggYW5kIHR4Lg0KPiA+ID4gPiA+IEJ1dCBpZiB5b3UgcmVmbGVjdCBxdWV1ZSBsZXZl bCBvZmZsb2FkIGFzIDAgZm9yIHJ4IGFuZCB0eCwgdGhlbg0KPiA+ID4gPiA+IEFQSXMgcnRlX2V0 aF9yeF9xdWV1ZV9zZXR1cCBhbmQgcnRlX2V0aF90eF9xdWV1ZV9zZXR1cCBpZiBxdWV1ZQ0KPiA+ ID4gPiA+IG9mZmxvYWQgZW5hYmxlZCBzaG91bGQgZmFpbC4gSXMgdGhpcyBjb3JyZWN0IHVuZGVy c3RhbmRpbmc/Jw0KPiA+ID4gPiBTb3JyeSwgSSBkb27igJl0IGtub3cgd2hhdCdzIElDRV9EU0lf UE1ELg0KPiA+ID4gSUNFX1BNRA0KPiA+IE5vIGV4YWN0bHkuIFdlIGZvbGxvdyB0aGUgcnVsZSBv ZiBxdWV1ZSBhbmQgcG9ydCBvZmZsb2FkIHNldHRpbmcuIElmDQo+ID4gdGhlIGZlYXR1cmUgaXMg ZW5hYmxlZCBpbiBwb3J0IGxldmVsLCB3ZSBjYW4gaWdub3JlIHRoZSBxdWV1ZSBzZXR0aW5nLg0K PiA+IElmIHRoZSBmZWF0dXJlIGlzIG5vdCBlbmFibGVkIGluIHBvcnQgbGV2ZWwsIHdlIHN0aWxs IGNhbiBlbmFibGUgaXQgcGVyIHF1ZXVlLg0KPiBUaGFua3MgZm9yIGNvbmZpcm1pbmcsIHNvIHdo YXQgd2lsbCBiZSByZXN1bHQgZm9yIG5vbi1jb25maWd1cmVkIElDRSBwb3J0IGZvcg0KPiBvZmZs b2FkIGZvciBwb3J0IGFuZCBxdWV1ZSB1c2luZyBydGVfZXRoX2Rldl9nZXRfaW5mbz8NClRoZSBn ZXRfaW5mbyBhbHNvIHNob3cgdGhlIGRlZmF1bHQgdmFsdWUuIFRoZSBvZmZsb2FkIGlzIHNldCB0 byAwIGJ5IGRlZmF1bHQuDQoNCj4gDQo+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IElmIGRldmljZSBzd2l0Y2ggaXMgbm90IGNvbmZpZ3VyZWQgKGRl ZmF1bHQgdmFsdWUgZnJvbSBOVk0pDQo+ID4gPiA+ID4gPiA+IHNob3VsZCB3ZSBoaWdobGlnaHQg dGhlIHN3aXRjaCBjYW4gc3VwcG9ydCBzcGVlZCAxMCwgMTAwLA0KPiA+ID4gPiA+ID4gPiAxMDAw LA0KPiA+ID4gPiA+ID4gPiAxMDAwIGFuZCBzb24NCj4gPiA+ID4gPiBvbj8NCj4gPiA+ID4gPiA+ IE5vLCB0aGlzJ3MgdGhlIGNhcGFiaWxpdHkgZ2V0dGluZyBmcm9tIEhXLg0KPiA+ID4gPiA+IElm IEhXIGlzIHN1cHBvcnRlZCBvciBjb25maWd1cmVkIGZvciAxMCwgMTAwLCAyNUcgdGhlbiB0aG9z ZQ0KPiA+ID4gPiA+IHNob3VsZCBiZSByZXR1cm5lZCBjb3JyZWN0bHkgdGhpcyBJIGFncmVlLiBC dXQgd2hlbiB0aGUgZGV2aWNlDQo+ID4gPiA+ID4gaXMgcXVlcmllZCBmb3IgY2FwYWJpbGl0eSBp dCBzaG91bGQgaGlnaGxpZ2h0IGFsbCBzdXBwb3J0ZWQNCj4gPiA+ID4gPiBzcGVlZHMgb2Ygc3dp dGNoLiBBbSBJDQo+ID4gcmlnaHQ/DQo+ID4gPiA+IE5vLiBIZXJlIHNob3dzIHRoZSByZXN1bHQg bm90IGFsbCB0aGUgc3BlZWRzIHN1cHBvcnRlZC4gTGlrZSB0aGUNCj4gPiA+ID4gc3BlZWQgYWZ0 ZXIgYXV0byBuZWdvdGlhdGlvbi4NCj4gPiA+IEFzIHBlciB5b3VyIGN1cnJlbnQgc3RhdGVtZW50 ICJJZiB1c2VyIHVzZXMgQVBJIHJ0ZV9ldGhfZGV2X2luZm9fZ2V0DQo+ID4gPiB0byBnZXQgc3Bl ZWRfY2FwYSwgY3VycmVudCBzcGVlZCB3aWxsIGJlIHJldHVybmVkIGFzIGF1dG8gbmVnb3RpYXRl ZA0KPiA+ID4gdmFsdWUgYW5kIG5vdCAnIEVUSF9MSU5LX1NQRUVEXzEwTXwgRVRIX0xJTktfU1BF RURfMTAwTXwNCj4gPiA+IEVUSF9MSU5LX1NQRUVEXzFHfCBFVEhfTElOS19TUEVFRF8xMEd8IEVU SF9MSU5LX1NQRUVEXzI1RyciLiBJDQo+IHdpbGwNCj4gPiA+IGxlYXZlIHRoaXMgdG8gb3RoZXJz IHRvIGNvbW1lbnQgc2luY2UgaW4gbXkgaHVtYmxlIG9waW5pb24gdGhpcyBpcw0KPiA+ID4gbm90 IGV4cGVjdGVkLg0KPiA+IE9LLiBJJ2xsIGNoYW5nZSBpdCB0byB0aGUgYml0bWFwLg0KPiBUaGFu a3MsIGFwcHJlY2lhdGUgdGhlIHVuZGVyc3RhbmRpbmcNCj4gDQo+ID4NCj4gPiA+DQo+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gSWYgc3BlZWQgaXMgbm90IHRydWUgYXMgc3RhdGVk IGFib3ZlLCBjYW4geW91IHBsZWFzZSBhZGQNCj4gPiA+ID4gPiA+ID4gdGhpcyB0byByZWxlYXNl IG5vdGVzIGFuZCBkb2N1bWVudGF0aW9uLg0KPiA+ID4gPiA+ID4gSGVyZSBsaXN0ZWQgYWxsIHRo ZSBjYXNlIHdlIGNhbiBnZXQgZnJvbSBIVy4NCj4gPiA+ID4gPiBQbGVhc2UgYWRkIHRvIGljZV9k c2kgZG9jdW1lbnRhdGlvbiBhbHNvLg0KPiA+ID4gPiBTb3JyeSwgbm8gaWRlYSBhYm91dCBpY2Vf ZHNpLg0KPiA+ID4gTXkgbWlzdGFrZSBJQ0VfUE1EIGlzIHdoYXQgSSBhbSByZWZlcnJpbmcgdG8u DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gc25pcHBlZA0KDQo=