From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0139.outbound.protection.outlook.com [104.47.0.139]) by dpdk.org (Postfix) with ESMTP id 955EB293B for ; Mon, 18 Jun 2018 11:49:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cgstowernetworks.onmicrosoft.com; s=selector1-cgstowernetworks-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PElQNQnXbOOIQwN3wBN5Js/GZpducVpdff29tb6XL74=; b=LHAYbfO0FnvFE6vrc1vjYeQV/T89AX6Bec3+3C3Xqhh2Y7dcjHO/9XSw0eFL1xH94laqoyXuIrvXOy5i4LuEmXnYPIaBAJX3NNVozJC9Z0+C9ZEZgi4SQEfeMsBxoM2QUKLZkWzXUygKGu9WPtS5HdaGe9kxhMKNz/Utb+35BJA= Received: from AM5PR0901MB1427.eurprd09.prod.outlook.com (10.168.159.16) by AM5PR0901MB1571.eurprd09.prod.outlook.com (10.168.160.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.14; Mon, 18 Jun 2018 09:49:14 +0000 Received: from AM5PR0901MB1427.eurprd09.prod.outlook.com ([fe80::557c:cb26:faf0:6b0c]) by AM5PR0901MB1427.eurprd09.prod.outlook.com ([fe80::557c:cb26:faf0:6b0c%5]) with mapi id 15.20.0863.016; Mon, 18 Jun 2018 09:49:14 +0000 From: Ido Goshen To: Ferruh Yigit CC: "dev@dpdk.org" Thread-Topic: [PATCH v2] net/pcap: rx_iface_in stream type support Thread-Index: AQHT/LEsRgeyh+yrR0ywL/eEpUJHw6RRqFmAgAA9uzCADCsrgIAByjmAgABA0oCAAB51IIABG4sAgAC9YNCAA6tdgIAAFSBA Date: Mon, 18 Jun 2018 09:49:13 +0000 Message-ID: References: <1528191584-46149-1-git-send-email-ido@cgstowernetworks.com> <7f089b9b-c5da-5358-08c7-38079f5e38b3@intel.com> <47bb9ab0-eee9-00cc-5e57-3cc79efcd417@intel.com> <4c6b45cf-f8e2-436c-c06c-58d9ff2cd0db@intel.com> In-Reply-To: <4c6b45cf-f8e2-436c-c06c-58d9ff2cd0db@intel.com> 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=Ido@cgstowernetworks.com; x-originating-ip: [5.144.48.231] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM5PR0901MB1571; 7:cFh2ZMicg6h/Ryjae5mNWtiaC3sVcqWQLSQvZYSEj//SgdQKHC0ooCpv5czjuOy8x0lkfgTBA+Hbgj6T4OKIISNETAT6Kcj+01f0bYZI1N+eNQ6l0gIR6V7+rtovI+HjpCwtT/EPLQzXaQIdr0kQZDQYr14DHDTEbSQUX/kEx+1EpuQlHc02Ul2fII+ifU0/S821rYJuvyBOsVUpCGL8YxSn+bapP5HXt+Rf1vxjJJQN+Sm9PuzvqGQknH+V6oMz x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 7c1254c9-8521-438e-c254-08d5d500bfff x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:AM5PR0901MB1571; x-ms-traffictypediagnostic: AM5PR0901MB1571: 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:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM5PR0901MB1571; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0901MB1571; x-forefront-prvs: 0707248B64 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(396003)(376002)(39380400002)(366004)(39830400003)(13464003)(199004)(189003)(4326008)(53936002)(76176011)(6246003)(99286004)(5250100002)(7696005)(476003)(9686003)(25786009)(26005)(102836004)(53546011)(486006)(68736007)(93886005)(186003)(81166006)(74316002)(106356001)(446003)(8936002)(11346002)(478600001)(81156014)(8676002)(72206003)(105586002)(33656002)(71446004)(966005)(3846002)(6116002)(3660700001)(3280700002)(305945005)(316002)(6436002)(229853002)(6916009)(97736004)(2906002)(7736002)(86362001)(80792005)(6306002)(5660300001)(6506007)(59450400001)(55016002)(2900100001)(66066001)(14454004)(21314002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0901MB1571; H:AM5PR0901MB1427.eurprd09.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: cgstowernetworks.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: IxNIluZgRdEBpr3fe/XaY10FyF0QrZjEMNdAQyUg3UV5qYvMuuAiXKUt9wduDSal5umPVJC/9K1F4gqZbh1zZq9gh5gx3VT1byiayWaRgS06+J3kJ3rPJ9hEdfeXbgXLoWmRNWBL6zDNqY3+SPdzJw/7jl0lRWstG1Ukgz0iZPAWJDfHNi1fIUo0jUjACVZyjOvr1SRj46b8X1LgLPyVXcGswEhp7QLteGumfvCa4O1eMOUUvV3L4taOGlixyA9/WIsfPcAwh21Qn+4nKlisp/qFkaHV32zGELWenU0hqRNDd17P+ji1kVfnhszvWQ/Aw/0byQqEUAB/gXVTaz3nHA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: cgstowernetworks.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c1254c9-8521-438e-c254-08d5d500bfff X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2018 09:49:13.9207 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fc9e9498-07e8-4b82-b4cf-365bba23cbbf X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0901MB1571 X-Mailman-Approved-At: Tue, 19 Jun 2018 10:04:11 +0200 Subject: Re: [dpdk-dev] [PATCH v2] net/pcap: rx_iface_in stream type support 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, 18 Jun 2018 09:49:16 -0000 SSdtIHJlYWxseSBub3Qgc3VyZSB0aGF0IGp1c3Qgc2V0dGluZyB0aGUgcGNhcHMvZHVtcGVycy5u dW1fb2ZfcXVldWUgdy9vIGFjdHVhbGx5IGNyZWF0aW5nIG11bHRpcGxlIHF1ZXVlcyBpcyBnb29k IGVub3VnaC4NCklmIG9uZSB1c2VzIE4gcXVldWVzIHRoZXJlIGFyZSBnb29kIGNoYW5nZXMgaGUg aXMgdXNpbmcgTiBjb3Jlcy4NClRvIGJlIGNvbnNpc3RlbnQgd2l0aCBEUERLIGJlaGF2aW9yIGl0 IHNob3VsZCBiZSBzYWZlIHRvIGNvbmN1cnJlbnRseSB0eCB0byBkaWZmZXJlbnQgcXVldWVzLg0K SWYgcGNhcF9zZW5kcGFja2V0IHRvIHRoZSBzYW1lIHBjYXBfdCBoYW5kbGUgaXMgbm90IHRocmVh ZCBzYWZlIHRoZW4gaXQgd2lsbCByZXF1aXJlIHRvIHBjYXBfb3Blbl9saXZlKCkgZm9yIGVhY2gg cXVldWUNCklmIHVzaW5nIG11bHRpcGxlIHBjYXBfb3Blbl9saXZlKCkgIHRoZW4gaXQgd2lsbCBj YXVzZSB0aGUgcnggb3V0IGRpcmVjdGlvbiBwcm9ibGVtIGFnYWluDQoNCg0KLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCkZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT4gDQpTZW50OiBNb25kYXksIEp1bmUgMTgsIDIwMTggMTE6MTMgQU0NClRvOiBJZG8gR29zaGVu IDxJZG9AY2dzdG93ZXJuZXR3b3Jrcy5jb20+DQpDYzogZGV2QGRwZGsub3JnDQpTdWJqZWN0OiBS ZTogW1BBVENIIHYyXSBuZXQvcGNhcDogcnhfaWZhY2VfaW4gc3RyZWFtIHR5cGUgc3VwcG9ydA0K DQpPbiA2LzE2LzIwMTggMTA6MjcgQU0sIElkbyBHb3NoZW4gd3JvdGU6DQo+IElzIHBjYXBfc2Vu ZHBhY2tldCgpIHRvIHRoZSBzYW1lIHBjYXBfdCBoYW5kbGUgdGhyZWFkLXNhZmU/IEkgY291bGRu J3QgZmluZCBjbGVhciBhbnN3ZXIgc28gSSdkIHJhdGhlciBhc3N1bWUgbm90Lg0KPiBJZiBpdCdz IG5vdCB0aHJlYWQtc2FmZSB0aGVuIHN1cHBvcnRpbmcgbXVsdGlwbGUgImlmYWNlIidzIHdpbGwg cmVxdWlyZSBtdWx0aXBsZSBwY2FwX29wZW5fbGl2ZSgpJ3MgYW5kIHdlIGFyZSBiYWNrIGluIHRo ZSBzYW1lIHBsYWNlLg0KDQpJIGFtIG5vdCBzdWdnZXN0aW5nIGV4dHJhIG11bHRpIHRocmVhZCBz YWZldHkuDQoNCkN1cnJlbnRseSBpbiAiaWZhY2UiIHBhdGgsIGZvbGxvd2luZyBpcyBoYXJkY29k ZWQ6DQoJcGNhcHMubnVtX29mX3F1ZXVlID0gMTsNCglkdW1wZXJzLm51bV9vZl9xdWV1ZSA9IDE7 DQoNCkl0IGNhbiBiZSBwb3NzaWJsZSB0byB1cGRhdGUgdGhhdCBwYXRoIHRvIHN1cHBvcnQgbXVs dGlwbGUgcXVldWUgd2hpbGUgdXNpbmcgImlmYWNlIiBkZXZhcmdzLg0KDQo+IA0KPj4+IEkgYW0g bm90IHN1cmUgZXhpdGluZyBiZWhhdmlvciBpcyBpbnRlbnRpb25hbCwgd2hpY2ggaXMgY2FwdHVy aW5nIHNlbnQgcGFja2FnZXMgaW4gUnggcGNhcCBoYW5kbGVyIHRvIHNhbWUgaW50ZXJmYWNlLg0K Pj4+IEFyZSB5b3UgYXdhcmUgb2YgYW55IHVzZSBjYXNlIG9mIGV4aXN0aW5nIGJlaGF2aW9yPyBQ ZXJoYXBzIGl0IGNhbiBiZSBvcHRpb24gdG8gc2V0IFBDQVBfRF9JTiBieSBkZWZhdWx0IGZvciBy eF9pZmFjZSBhcmd1bWVudC4NCj4gRXZlbiBpZiB1bmludGVudGlvbmFsIEkgZmluZCBpdCB2ZXJ5 IHVzZWZ1bCBmb3IgdGVzdGluZywgYXMgdGhpcyB3YXkgaXQncyB2ZXJ5IGVhc3kgdG8gc2VuZCB0 cmFmZmljIHRvIHRoZSBhcHAgYnkgdGNwcmVwbGF5IG9uIHRoZSBzYW1lIGhvc3QgdGhlIGFwcCBp cyBydW5uaW5nIG9uLiANCj4gVXNpbmcgdGNwcmVwbGF5IGlzIGluIHRoZSBvdXQgZGlyZWN0aW9u IHRoYXQgd2lsbCBub3QgYmUgY2FwdHVyZWQgaWYgUENBUF9EX0lOIGlzIHNldC4gDQo+IElmIFBD QVBfRF9JTiBpcyB0aGUgb25seSBvcHRpb24gdGhlbiBpdCB3aWxsIHJlcXVpcmUgZXh0ZXJuYWwg ZGV2aWNlIChvciBzb21lIG5ldHdvcmtpbmcgdHJpY2spIHRvIHNlbmQgcGFja2V0cyB0byB0aGUg YXBwLg0KPiBTbywgSSdkIHNheSBpdCBpcyBnb29kIGZvciB0ZXN0aW5nIGJ1dCBsZXNzIGdvb2Qg Zm9yIHJlYWwgDQo+IGZ1bmN0aW9uYWxpdHkNCg0KT0sgdG8ga2VlcCBpdCBpZiB0aGVyZSBpcyBh IHVzZWNhc2UuDQoNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZl cnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKdW5l IDE1LCAyMDE4IDM6NTMgUE0NCj4gVG86IElkbyBHb3NoZW4gPElkb0BjZ3N0b3dlcm5ldHdvcmtz LmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBuZXQv cGNhcDogcnhfaWZhY2VfaW4gc3RyZWFtIHR5cGUgc3VwcG9ydA0KPiANCj4gT24gNi8xNC8yMDE4 IDk6NDQgUE0sIElkbyBHb3NoZW4gd3JvdGU6DQo+PiBJIHRoaW5rIHdlIGFyZSBzdGFydGluZyB0 byBtaXggdHdvIHRoaW5ncyBPbmUgaXMgaG93IHRvIGNvbmZpZ3VyZSANCj4+IHBjYXAgZXRoIGRl diB3aXRoIG11bHRpcGxlIHF1ZXVlcyBhbmQgSSB0b3RhbGx5IGFncmVlIGl0IHdvdWxkIGhhdmUg YmVlbiBuaWNlciB0byBqdXN0IHNheSBzb21ldGhpbmcgbGlrZSAibWF4X3R4X3F1ZXVlcyA9TiIg aW5zdGVhZCBvZiBuZWVkaW5nIHRvIHdyaXRlICJ0eF9pZmFjZSIgTiB0aW1lcywgYnV0IGFzIGl0 IHdhcyBhbHJlYWR5IHN1cHBvcnRlZCBpbiB0aGF0IHdheSAoZm9yIGFueSByZWFzb24/KSBJIHdh c24ndCB0cnlpbmcgdG8gZW5oYW5jZSBvciBjaGFuZ2UgaXQuDQo+PiBUaGUgb3RoZXIgaXNzdWUg aXMgcGNhcCBkaXJlY3Rpb24gQVBJLCB3aGljaCBJIHdhcyB0cnlpbmcgdG8gZXhwb3NlIHRvIHVz ZXJzIG9mIGRwZGsgcGNhcCBkZXZpY2UuDQo+IA0KPiBIaSBJZG8sDQo+IA0KPiBBc3N1bWluZyAi aWZhY2UiIGFyZ3VtZW50IHNvbHZlcyB0aGUgZGlyZWN0aW9uIGlzc3VlLCBJIGFtIHN1Z2dlc3Rp b24gYWRkaW5nIG11bHRpcXVldWUgc3VwcG9ydCB0byAiaWZhY2UiIGFyZ3VtZW50IGFzIGEgc29s dXRpb24gdG8geW91ciBwcm9ibGVtLg0KPiANCj4gSSBhbSBub3Qgc3VnZ2VzdGluZyB1c2luZyBu ZXcgYXJndW1lbnRzIGxpa2UgIm1heF90eF9xdWV1ZXMgPU4iLCAiaWZhY2UiIGNhbiBiZSB1c2Vk IHNhbWUgYXMgaG93IHJ4L3R4X2lmY2FzZSB1c2VkIG5vdywgcHJvdmlkZSBpdCBtdWx0aXBsZSB0 aW1lcy4NCj4gDQo+PiBSZWZlciB0byBodHRwczovL3d3dy50Y3BkdW1wLm9yZy9tYW5wYWdlcy9w Y2FwX3NldGRpcmVjdGlvbi4zcGNhcC50eHQNCj4+IG9yIG1hbiB0Y3BkdW1wIGZvciAtUC8tLWRp cmVjdGlvbiBpbnxvdXR8aW5vdXQgb3B0aW9uLCBBY3R1YWxseSBJIA0KPj4gdGhpbmsgYSBtb3Jl IHJlYWxpc3RpYyBlbXVsYXRpb24gb2YgYSBwaHlzaWNhbCBkZXZpY2UgKG5vbi12aXJ0dWFsKSAN Cj4+IHdvdWxkIGJlIHRvIGNhcHR1cmUgb25seSB0aGUgaW5jb21pbmcgZGlyZWN0aW9uIChzZXQg UENBUF9EX0lOKSwgDQo+PiBhZ2FpbiB0aGUgZXhpc3RpbmcgYmVoYXZpb3IgaXMgdmVyeSB1c2Vm dWwgdG9vIGFuZCBJIGRpZG4ndCB0cnkgdG8gDQo+PiBjaGFuZ2Ugb3IgZWxpbWluYXRlIGl0IGJ1 dCBqdXN0IGFkZCBhZGRpdGlvbmFsIHN0cmVhbSB0eXBlIG9wdGlvbg0KPiANCj4gSSBhbSBub3Qg c3VyZSBleGl0aW5nIGJlaGF2aW9yIGlzIGludGVudGlvbmFsLCB3aGljaCBpcyBjYXB0dXJpbmcg c2VudCBwYWNrYWdlcyBpbiBSeCBwY2FwIGhhbmRsZXIgdG8gc2FtZSBpbnRlcmZhY2UuDQo+IEFy ZSB5b3UgYXdhcmUgb2YgYW55IHVzZSBjYXNlIG9mIGV4aXN0aW5nIGJlaGF2aW9yPyBQZXJoYXBz IGl0IGNhbiBiZSBvcHRpb24gdG8gc2V0IFBDQVBfRF9JTiBieSBkZWZhdWx0IGZvciByeF9pZmFj ZSBhcmd1bWVudC4NCj4gDQo+Pg0KPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+IEZy b206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4+IFNlbnQ6IFRodXJz ZGF5LCBKdW5lIDE0LCAyMDE4IDk6MDkgUE0NCj4+IFRvOiBJZG8gR29zaGVuIDxJZG9AY2dzdG93 ZXJuZXR3b3Jrcy5jb20+DQo+PiBDYzogZGV2QGRwZGsub3JnDQo+PiBTdWJqZWN0OiBSZTogW1BB VENIIHYyXSBuZXQvcGNhcDogcnhfaWZhY2VfaW4gc3RyZWFtIHR5cGUgc3VwcG9ydA0KPj4NCj4+ IE9uIDYvMTQvMjAxOCA2OjE0IFBNLCBJZG8gR29zaGVuIHdyb3RlOg0KPj4+IEkgdXNlICJyeF9p ZmFjZSIsInR4X2lmYWNlIiAoYW5kIG5vdCBqdXN0ICJpZmFjZSIpIGluIG9yZGVyIHRvIGhhdmUg DQo+Pj4gbXVsdGlwbGUgVFggcXVldWVzIEkganVzdCBnYXZlIGEgc2ltcGxpZmllZCBzZXR0aW5n IHdpdGggMSBxdWV1ZSBNeSANCj4+PiBhcHAgIGRvZXMgYSBmdWxsIG1lc2ggYmV0d2VlbiB0aGUg cG9ydHMgKG5vdCBmaXhlZCBwYWlycyBsaWtlIGwyZndkKSANCj4+PiBzbyBhbGwgdGhlIGZvcndh cmRpbmcgbGNvcmVzIGNhbiB0eCB0byB0aGUgc2FtZSBwb3J0IHNpbXVsdGFuZW91c2x5IGFuZCBh cyBEUERLIGRvY3Mgc2F5Og0KPj4+ICJNdWx0aXBsZSBsb2dpY2FsIGNvcmVzIHNob3VsZCBuZXZl ciBzaGFyZSByZWNlaXZlIG9yIHRyYW5zbWl0IHF1ZXVlcyBmb3IgaW50ZXJmYWNlcyBzaW5jZSB0 aGlzIHdvdWxkIHJlcXVpcmUgZ2xvYmFsIGxvY2tzIGFuZCBoaW5kZXIgcGVyZm9ybWFuY2UuIg0K Pj4+IEZvciBleGFtcGxlIGlmIEkgaGF2ZSAzIHBvcnRzIGhhbmRsZWQgYnkgMyBjb3JlcyBpdCds bCBiZSANCj4+PiAJbXlhcHAgLWMgNyAtbjEgLS1uby1odWdlIFwNCj4+PiAJLS12ZGV2PWV0aF9w Y2FwMCxyeF9pZmFjZT1ldGgwLHR4X2lmYWNlPWV0aDAsdHhfaWZhY2U9ZXRoMCx0eF9pZmFjZT1l dGgwIFwNCj4+PiAJLS12ZGV2PWV0aF9wY2FwMCxyeF9pZmFjZT1ldGgxLHR4X2lmYWNlPWV0aDEs dHhfaWZhY2U9ZXRoMSx0eF9pZmFjZT1ldGgxIFwNCj4+PiAJLS12ZGV2PWV0aF9wY2FwMCxyeF9p ZmFjZT1ldGgyLHR4X2lmYWNlPWV0aDIsdHhfaWZhY2U9ZXRoMix0eF9pZmFjZT1ldGgyIFwNCj4+ PiAJLS0gLXAgNw0KPj4+IElzIHRoZXJlIGFub3RoZXIgd2F5IHRvIGFjaGlldmUgbXVsdGlwbGUg cXVldWVzIGluIHBjYXAgdmRldj8NCj4+DQo+PiBJZiB5b3Ugd2FudCB0byB1c2UgbXVsdGlwbGUg Y29yZSB5b3UgbmVlZCBtdWx0aXBsZSBxdWV1ZXMsIGFzIHlvdSBzYWlkLCBhbmQgYWJvdmUgaXMg dGhlIHdheSB0byBjcmVhdGUgbXVsdGlwbGUgcXVldWVzIGZvciBwY2FwLg0KPj4NCj4+IEN1cnJl bnRseSAiaWZhY2UiIGFyZ3VtZW50IG9ubHkgc3VwcG9ydHMgc2luZ2xlIGludGVyZmFjZSBpbiBh IGhhcmRjb2RlZCB3YXksIGJ1dCB0ZWNobmljYWxseSBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8g dXBkYXRlIGl0IHRvIHN1cHBvcnQgbXVsdGlwbGUgcXVldWUuDQo+Pg0KPj4gU28gaWYgImlmYWNl IiBhcmd1bWVudHMgd29ya3MgZm9yIHlvdSwgaXQgY2FuIGJlIGJldHRlciB0byBhZGQgbXVsdGkg cXVldWUgc3VwcG9ydCB0byAiaWZhY2UiIGluc3RlYWQgb2YgaW50cm9kdWNpbmcgYSBuZXcgZGV2 aWNlIGFyZ3VtZW50Lg0KPj4NCj4+Pg0KPj4+IEkgZG8gc2VlIHRoYXQgdXNpbmcgImlmYWNlIiBi ZWhhdmVzIGRpZmZlcmVudGx5IC0gSSdsbCB0cnkgdG8gDQo+Pj4gaW52ZXN0aWdhdGUgd2h5DQo+ Pg0KPj4gcGNhcF9vcGVuX2xpdmUoKSBpcyBjYWxsZWQgZm9yIGJvdGggYXJndW1lbnRzLCBmb3Ig InJ4X2lmYWNlL3R4X2lmYWNlIiBwYWlyIGl0IGhhcyBiZWVuIGNhbGxlZCB0d2ljZSBvbmUgZm9y IGVhY2guIE5vdCBzdXJlIGlmIHBjYXAgbGlicmFyeSByZXR1cm5zIHNhbWUgaGFuZGxlciBvciB0 d28gZGlmZmVyZW50IGhhbmRsZXJzIGZvciB0aGlzIGNhc2Ugc2luY2UgaWZhY2UgbmFtZSBpcyBz YW1lLg0KPj4gRm9yICJpZmFjZSIgYXJndW1lbnQgcGNhcF9vcGVuX2xpdmUoKSBjYWxsZWQgb25j ZSwgc28gd2UgaGF2ZSBzaW5nbGUgaGFuZGxlciBmb3IgYm90aCBSeCAmIFR4LiBUaGlzIG1heSBi ZSBkaWZmZXJlbmNlLg0KPj4NCj4+PiBBbmQgc3RpbGwgZXZlbiB3aGVuIHVzaW5nICJpZmFjZSIg SSBhbHNvIHNlZSBwYWNrZXRzIHRoYXQgYXJlIA0KPj4+IHRyYW5zbWl0dGVkIG91dCBvZiBldGgx IChlLmcuIHRjcHJlcGxheSAtaSBldGgxIHBhY2tldHMucGNhcCkgYW5kIA0KPj4+IG5vdCBvbmx5 IHBhY2tldHMgdGhhdCBhcmUgcmVjZWl2ZWQgKGUuZy4gcGluZyBmcm9tIGZhciBlbmQgdG8gZXRo MCANCj4+PiBpcCkNCj4+DQo+PiBUaGlzIGlzIGludGVyZXN0aW5nLCBJIGhhdmUgdHJpZWQgd2l0 aCBleHRlcm5hbCBwYWNrZXQgZ2VuZXJhdG9yLCAiaWZhY2UiIHdhcyB3b3JraW5nIGFzIGV4cGVj dGVkIGZvciBtZS4NCj4+DQo+Pj4NCj4+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+Pj4gRnJvbTogRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPj4+IFNl bnQ6IFdlZG5lc2RheSwgSnVuZSAxMywgMjAxOCAxOjU3IFBNDQo+Pj4gVG86IElkbyBHb3NoZW4g PElkb0BjZ3N0b3dlcm5ldHdvcmtzLmNvbT4NCj4+PiBDYzogZGV2QGRwZGsub3JnDQo+Pj4gU3Vi amVjdDogUmU6IFtQQVRDSCB2Ml0gbmV0L3BjYXA6IHJ4X2lmYWNlX2luIHN0cmVhbSB0eXBlIHN1 cHBvcnQNCj4+Pg0KPj4+IE9uIDYvNS8yMDE4IDY6MTAgUE0sIElkbyBHb3NoZW4gd3JvdGU6DQo+ Pj4+IFRoZSBwcm9ibGVtIGlzIGlmIGEgZHBkayBhcHAgdXNlcyB0aGUgc2FtZSBpZmFjZShzKSBi b3RoIGFzIHJ4X2lmYWNlIGFuZCB0eF9pZmFjZSB0aGVuIGl0IHdpbGwgcmVjZWl2ZSBiYWNrIHRo ZSBwYWNrZXRzIGl0IHNlbmRzLg0KPj4+PiBJZiBteSBhcHAgc2VuZHMgYSBwYWNrZXQgdG8gcG9y dGlkPVggd2l0aCBydGVfZXRoX3R4X2J1cnN0KCkgdGhlbiBJIA0KPj4+PiB3b3VsZG4ndCBleHBl Y3QgdG8gcmVjZWl2ZSBpdCBiYWNrIGJ5IHJ0ZV9ldGhfcnhfYnVyc3QoKSBmb3IgdGhhdCBzYW1l IHBvcnRpZD1YICAoYXNzdW1pbmcgb2YgY291cnNlIHRoZXJlJ3Mgbm8gZXh0ZXJuYWwgbG9vcGJh Y2spIFRoaXMgaXMgY29taW5nIGZyb20gdGhlIGRlZmF1bHQgbmF0dXJlIG9mIHBjYXAgdGhhdCBs aWtlIGEgc25pZmZlciBjYXB0dXJlcyBib3RoIGluY29taW5nIGFuZCBvdXRnb2luZyBkaXJlY3Rp b24uDQo+Pj4+IFRoZSBwYXRjaCBwcm92aWRlcyBhbiBvcHRpb24gdG8gbGltaXQgcGNhcCByeF9p ZmFjZSB0byBnZXQgb25seSBpbmNvbWluZyB0cmFmZmljIHdoaWNoIGlzIG1vcmUgbGlrZSBhIHJl YWwgKG5vbi1wY2FwKSBkcGRrIGRldmljZS4NCj4+Pj4NCj4+Pj4gZm9yIGV4YW1wbGU6DQo+Pj4+ IHdoZW4gdXNpbmcgZXhpc3RpbmcgKnJ4X2lmYWNlKg0KPj4+PiAJbDJmd2QgLWMgMyAtbjEgLS1u by1odWdlDQo+Pj4+IC0tdmRldj1ldGhfcGNhcDAscnhfaWZhY2U9ZXRoMSx0eF9pZmFjZT1ldGgx DQo+Pj4+IC0tdmRldj1ldGhfcGNhcDEscnhfaWZhY2U9ZHVtbXkwLHR4X2lmYWNlPWR1bW15MCAg LS0gLXAgMyAtVCAxIA0KPj4+PiBzZW5kaW5nIG9ubHkgMSBzaW5nbGUgcGFja2V0IGludG8gZXRo MSB3aWxsIGVuZCBpbiBhbiBpbmZpbml0ZSBsb29wDQo+Pj4+IC0NCj4+Pg0KPj4+IElmIHlvdSBh cmUgdXNpbmcgc2FtZSBpbnRlcmZhY2UgZm9yIGJvdGggUnggJiBUeCwgd2h5IG5vdCB1c2luZyAi aWZhY2U9eHh4Ig0KPj4+IGFyZ3VtZW50LCBjYW4geW91IHBsZWFzZSB0ZXN0IHdpdGggZm9sbG93 aW5nOg0KPj4+DQo+Pj4gbDJmd2QgLWMgMyAtbjEgLS1uby1odWdlIC0tdmRldj1ldGhfcGNhcDAs aWZhY2U9ZXRoMQ0KPj4+IC0tdmRldj1ldGhfcGNhcDEsaWZhY2U9ZHVtbXkwIC0tIC1wIDMgLVQg MQ0KPj4+DQo+Pj4NCj4+PiBJIGNhbid0IHJlcHJvZHVjZSB0aGUgaXNzdWUgd2l0aCBhYm92ZSBj b21tYW5kLg0KPj4+DQo+Pj4gVGhhbmtzLA0KPj4+IGZlcnJ1aA0KPj4+DQo+Pg0KPiANCg0K