From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 22EBCA034E; Thu, 7 Nov 2019 07:56:55 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 743051E8CE; Thu, 7 Nov 2019 07:56:54 +0100 (CET) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30057.outbound.protection.outlook.com [40.107.3.57]) by dpdk.org (Postfix) with ESMTP id EF94D1E8A4 for ; Thu, 7 Nov 2019 07:56:52 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ccjtwfiUVVfofg9T9XDdly9Cy/k6yyT8XvVV0GkQDWdlz9H3GeE3ZHHiMS0UGDQZByeel+FGu4JlxL/ubLSYgpbH6N567DWUqJ0/n/h/6MHN3J+rVgTtiaipHr0T2FVH1UbGzuedwUEfZP7b6kid/s74D9Dnn+7fAT95bz8a+tCy7kuqOfvFxBQXnFNl9T2aGANxDf9pDL62WW6iAfQOcLxXwJ+lYgJge+XudmvekIVW5sZ6iqJQdawvoifMX+wZgp8KjZQT2ZTx29mjQ1IWaHLAOZC04y5hdQJ1X3QDfgUwoS8iClEaG83OQcAzBKHKEaTdh4FOnQ48nLmqC9A4gA== 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-SenderADCheck; bh=gu0BzZuA61E7vWo5nbDUO8LFTzRe7oJqIIm0LksK8J4=; b=XqBnKlQvPPpk0IG6wIev1non834tiLFlFGz02FY63iUoN361G8fdeLwfFSDxP4XZjlSraeLHoOVK85qIiSu17bfirDrpXQQYscTwC+GrTXKLORknAdc30mqPVLFAYoBGJkeMD0a58ZsOSsr1X0H1ysPekC0ydB9TVuI+97UGGJQ7VrNphXAeIQkfKPdL6fWmMMtwyLHY0PKPYY6Awpw4Ov5lkw7Jx01/YxcIJV/kZZYLOX33MrzJ0o9qgeKQCwH32/KHVY1DqC4CBjEfjHd/ilz89rmA+5oNwxDEdB9TMfqvaZQoxX7lwNuyWS0naeNqzFF/TDKJLVEa/Zm0g4cIfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gu0BzZuA61E7vWo5nbDUO8LFTzRe7oJqIIm0LksK8J4=; b=ivBaY0WPU8jYZDRDuZ7h0pAp6ztQgHWKeb7hU0JV+taBzvmelLIxnyILF1z1YmRO3q4FhT1Tx0l9PVdGfqqLlTggqqTk3Xb8RFDMrLfy7DENcqPo0ScqqAXKrmuVwA5aTGuya9Id6O/VndUEH0RLPO3ayHg6FFnhdtM+fuzrCsw= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.39.139) by AM0PR0502MB3634.eurprd05.prod.outlook.com (52.133.44.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.22; Thu, 7 Nov 2019 06:56:51 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::fd7a:e5a8:deec:c1b0]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::fd7a:e5a8:deec:c1b0%7]) with mapi id 15.20.2430.023; Thu, 7 Nov 2019 06:56:51 +0000 From: Matan Azrad To: Andrew Rybchenko , Pavan Nikhilesh Bhagavatula , "ferruh.yigit@intel.com" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD Thread-Index: AQHVkKQy9cRH0wytkUuPwqxEr75O2Kd5AfEwgABcroCAAAJbkIADLIIAgAAOhFCAAA/fgIABC80AgAAaygCAAXr+oA== Date: Thu, 7 Nov 2019 06:56:51 +0000 Message-ID: References: <20191029050312.2715-1-pbhagavatula@marvell.com> <0547e0a0-1ccd-84ee-46f1-5b35e1d25680@solarflare.com> <2564228e-e5c5-35f6-0c0a-c0608551083f@solarflare.com> In-Reply-To: <2564228e-e5c5-35f6-0c0a-c0608551083f@solarflare.com> Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=matan@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: e367ccd3-9c8e-45c5-bf01-08d7634faadd x-ms-traffictypediagnostic: AM0PR0502MB3634: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0214EB3F68 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(346002)(396003)(136003)(39850400004)(366004)(52314003)(199004)(189003)(8676002)(486006)(7696005)(6116002)(66066001)(6506007)(3846002)(55016002)(76176011)(53546011)(4326008)(6246003)(81166006)(52536014)(14444005)(81156014)(2906002)(7736002)(74316002)(305945005)(8936002)(14454004)(256004)(446003)(71190400001)(76116006)(66556008)(5660300002)(25786009)(66446008)(229853002)(6436002)(64756008)(33656002)(316002)(2501003)(9686003)(11346002)(86362001)(478600001)(476003)(66946007)(66476007)(110136005)(26005)(186003)(102836004)(99286004)(71200400001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3634; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6zENjllE8G/fEh6jkxsVdU1O9LwoYlDq0raGePK+2BPWRGiBjcrAZjv36XzXzBxlbR6ixBH5hI8Oggr7H8z2TAxmBqX/9O9bxJl5h7NnUsUr2LNskon3wsPfeSdsI5rCeWZaRHenGOgAIvHlshJh7UDsVvnCS8u+NNwYhJBhBmxenW6SPue6jngoKHYwHck0bB4m3jkTGTIvSevD2tOLsZVGDtA1xBvRQSNs+5azUxH0ondXs7sMXxYNWyotaIAMWPVL8rvWk0oGzJoTdhOJVslslXsbYj+arr+NJdyqtIiHIjTcYDYTUa1XHW29XZ57Xf2IDiLQd34tzWKI2nNTmB+jzbnxLXpzWwGNwLPQC4YFjVKez8MzY3yVM7kXLqAFM9as1SZpx1n4KcZNlEh4VfiLN5fSfQgCD/PKM8Vl0wJOBWvt6+0pyOd33n72ognb x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: e367ccd3-9c8e-45c5-bf01-08d7634faadd X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2019 06:56:51.5370 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Lw0hDxs9CLN9W3+/LgjZCOW8Hyp6iDfC1m2//6mCj+Kz3o67hJpoi2xqgXZIUYF5NZZ4jsikd3QIjNa2JpZSfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3634 Subject: Re: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkNCg0KRnJvbTogQW5kcmV3IFJ5YmNoZW5rbw0KPiBPbiAxMS82LzE5IDk6NTggQU0sIE1hdGFu IEF6cmFkIHdyb3RlOg0KPiA+DQo+ID4NCj4gPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvDQo+ID4+ IE9uIDExLzUvMTkgNTowNSBQTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4+PiBGcm9tOiBBbmRy ZXcgUnliY2hlbmtvDQo+ID4+Pj4gT24gMTEvMy8xOSA2OjE2IFBNLCBNYXRhbiBBenJhZCB3cm90 ZQ0KPiA+Pj4+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvDQo+ID4+Pj4+PiBPbiAxMS8zLzE5IDk6 NTcgQU0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4+Pj4+IEhpDQo+ID4+Pj4+Pj4NCj4gPj4+ Pj4+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvDQo+ID4+Pj4+Pj4+IE9uIDEwLzMxLzE5IDc6MzMg UE0sIFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYQ0KPiA+Pj4+Pj4+PiB3cm90ZToNCj4gPj4+ Pj4+Pj4+PiBGcm9tOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGENCj4gPj4+Pj4+Pj4+Pj4g SGkgTWF0YW4sDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBIaSBQYXZhbg0KPiA+Pj4+ Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IEZyb206IFBhdmFuIE5pa2hpbGVzaA0KPiA+Pj4+Pj4+ Pj4+Pj4gPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT4NCj4gPj4+Pj4+Pj4+Pj4+PiBTb21lIFBN RHMgY2Fubm90IHdvcmsgd2hlbiBjZXJ0YWluIG9mZmxvYWRzIGFyZQ0KPiA+Pj4+Pj4+Pj4+Pj4+ IGVuYWJsZS9kaXNhYmxlZCwgYXMgYSB3b3JrYXJvdW5kIFBNRHMgYXV0bw0KPiBlbmFibGUvZGlz YWJsZQ0KPiA+Pj4+Pj4+Pj4+Pj4+IG9mZmxvYWRzIGludGVybmFsbHkgYW5kIGV4cG9zZSBpdCB0 aHJvdWdoDQo+ID4+Pj4+Pj4+Pj4+Pj4gZGV2LT5kYXRhLWRldl9jb25mLnJ4bW9kZS5vZmZsb2Fk cy4NCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IEFmdGVyIGRldmljZSBzcGVjaWZp YyBkZXZfY29uZmlndXJlIGlzIGNhbGxlZCBjb21wYXJlIHRoZQ0KPiA+Pj4+Pj4+Pj4+Pj4+IHJl cXVlc3RlZCBvZmZsb2FkcyB0byB0aGUgb2ZmbG9hZHMgZXhwb3NlZCBieSB0aGUgUE1EDQo+IGFu ZCwNCj4gPj4+Pj4+Pj4+Pj4+PiBpZiB0aGUgUE1EIGZhaWxlZCB0byBlbmFibGUgYSBnaXZlbiBv ZmZsb2FkIHRoZW4gbG9nIGl0DQo+ID4+Pj4+Pj4+Pj4+Pj4gYW5kIHJldHVybiAtRUlOVkFMIGZy b20gcnRlX2V0aF9kZXZfY29uZmlndXJlLCBlbHNlIGlmDQo+IHRoZQ0KPiA+Pj4+Pj4+Pj4+Pj4+ IFBNRCBmYWlsZWQgdG8gZGlzYWJsZSBhIGdpdmVuIG9mZmxvYWQgbG9nIGFuZCBjb250aW51ZQ0K PiA+Pj4+Pj4+Pj4+Pj4+IHdpdGggcnRlX2V0aF9kZXZfY29uZmlndXJlLg0KPiA+Pj4+Pj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBydGVfZXRoX2Rldl9jb25maWd1cmUgY2FuIGJlIGNhbGxlZCBt b3JlIHRoYW4gMSB0aW1lIGluIHRoZQ0KPiA+Pj4+Pj4+Pj4+Pj4gZGV2aWNlIGxpZmUgdGltZSwg SG93IGNhbiB5b3Uga25vdyB3aGF0IGlzIHRoZSBtaW5pbXVtDQo+ID4+Pj4+Pj4+Pj4+PiBvZmZs b2FkIGNvbmZpZ3VyYXRpb25zIHJlcXVpcmVkIGJ5IHRoZSBwb3J0IGFmdGVyIHRoZSBmaXJzdA0K PiA+Pj4+Pj4+Pj4+Pj4gY2FsbD8NCj4gPj4+Pj4+Pj4+Pj4+IE1heWJlIHB1dHRpbmcgaXQgaW4g ZGV2IGluZm8gaXMgYmV0dGVyLCB3aGF0IGRvIHlvdSB0aGluaz8NCj4gPj4+Pj4+Pj4+Pj4+DQo+ ID4+Pj4+Pj4+Pj4+IFdlIG9ubHkgcmV0dXJuIC1FSU5WQUwgaW4gdGhlIGNhc2Ugd2hlcmUgd2Ug ZW5hYmxlIGFuDQo+ID4+Pj4+Pj4+Pj4+IG9mZmxvYWQgYWR2ZXJ0aXNlZCBieSBkZXZfaW5mbyBh bmQgdGhlIHBvcnQgc3RpbGwgZmFpbHMgdG8NCj4gPj4+Pj4+Pj4+Pj4gZW5hYmxlIGl0Lg0KPiA+ Pj4+Pj4+Pj4+IEFyZSB5b3Ugc3VyZSBpdCBpcyBvayB0aGF0IGRldmljZXMgbWF5IGRpc2FibGVc ZW5hYmxlDQo+ID4+Pj4+Pj4+Pj4gb2ZmbG9hZHMgdW5kZXIgdGhlIGhvb2Qgd2l0aG91dCB1c2Vy IG5vdGlmaWNhdGlvbj8NCj4gPj4+Pj4+Pj4+IFNvbWUgZGV2aWNlcyBhbHJlYWR5IGRvIGl0LiBU aGUgYWJvdmUgY2hlY2sgYWRkcyB2YWxpZGF0aW9uDQo+ID4+Pj4+Pj4+PiBmb3IgdGhlIHNhbWUu DQo+ID4+Pj4+Pj4+IFRoZSBwcm9ibGVtIGlzIHRoYXQgc29tZSBvZmZsb2FkcyBjYW5ub3QgYmUg ZGlzYWJsZWQuDQo+ID4+Pj4+Pj4gWWVzLCBJIHVuZGVyc3RhbmQgaXQuDQo+ID4+Pj4+Pj4NCj4g Pj4+Pj4+Pj4gSWYgYXBwbGljYXRpb24gZG9lcyBub3QgcmVxdWVzdCBSeCBjaGVja3N1bSBvZmZs b2FkIHNpbmNlIGl0DQo+ID4+Pj4+Pj4+IGRvZXMgdXNlIGl0LCBpdCBpcyBub3QgYSBwcm9ibGVt IHRvIHJlcG9ydCBpdC4NCj4gPj4+Pj4+PiBZZXMsIGZvciBSWCBjaGVja3N1bSBJIHRlbmQgdG8g YWdyZWUgdGhhdCBhcHBsaWNhdGlvbiBkb2Vzbid0DQo+ID4+Pj4+Pj4gY2FyZSBpZiB0aGUNCj4g Pj4+Pj4+IFBNRCB3aWxsIGNhbGN1bGF0ZSB0aGUgY2hlY2tzdW0gaW4gc3BpdGUgb2YgdGhlIG9m ZmxvYWQgaXMNCj4gPj4+Pj4+IGRpc2FibGVkLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gQnV0IHdo YXQncyBhYm91dCBvdGhlciBvZmZsb2FkczogRm9yIGV4YW1wbGUgaW4gUlg6IExSTywNCj4gPj4+ Pj4+PiBDUkNfS0VFUCwgVkxBTl9TVFJJUCwgSlVNQk8gSWYgdGhlIFBNRCB3aWxsIHN0YXkgdGhl bSBvbiB3aGlsZQ0KPiA+Pj4+Pj4+IHRoZSBhcHAgaXMgZGlzYWJsaW5nIGl0LCBJdCBjYW4gY2F1 c2UgYSBwcm9ibGVtcyB0byB0aGUNCj4gPj4+Pj4+IGFwcGxpY2F0aW9uIChhZmZlY3RzIHRoZSBw YWNrZXQgbGVuZ3RoKS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBZZXMsIEkgYWdyZWUgdGhhdCBzb21l IG9mZmxvYWRzIGFyZSBjcml0aWNhbCB0byBiZSBkaXNhYmxlZCwgYnV0DQo+ID4+Pj4+PiBSU1Nf SEFTSCBkaXNjdXNzZWQgaW4gdGhlIGNoYW5nZXNldCBpcyBub3QgY3JpdGljYWwuDQo+ID4+Pj4+ DQo+ID4+Pj4+IFNvLCBhcmUgeW91IGFncmVlIEl0IHNob3VsZCBub3QgYmUgY2hlY2tlZCBnbG9i YWxseSBmb3IgYWxsIHRoZQ0KPiA+Pj4+PiBvZmZsb2FkcyBpbg0KPiA+Pj4+IGV0aGRldiBsYXll cj8NCj4gPj4+Pg0KPiA+Pj4+IElmIG9mZmxvYWQgaXMgbm90IHJlcXVlc3RlZCwgYnV0IGVuYWJs ZWQgKHNpbmNlIFBNRCBjYW5ub3QgZGlzYWJsZQ0KPiA+Pj4+IGl0KSwgcmlnaHQgbm90IGl0IHdp bGwgbm90IGZhaWwgY29uZmlndXJlLCBidXQgd2FybiBhYm91dCBpdCBpbg0KPiA+Pj4+IGxvZ3Mu DQo+ID4+Pj4NCj4gPj4+DQo+ID4+PiBJbiB0aGlzIGNhc2Ugd2FybmluZyBwcmludCBpcyBub3Qg ZW5vdWdoIHNpbmNlIGl0IGNhbiBiZSBjcml0aWNhbA0KPiA+Pj4gZm9yIHRoZQ0KPiA+PiBhcHBs aWNhdGlvbiBmb3Igc29tZSBvZmZsb2Fkcy4NCj4gPj4+IEl0IGNhbiBiZSB2ZXJ5IHdlaXJkIGZv ciB0aGUgYXBwbGljYXRpb24gdG8gc2VlIHRoYXQgc29tZSBvZmZsb2FkDQo+ID4+PiBhcmUgb24N Cj4gPj4gd2hpbGUgdGhlIGFwcGxpY2F0aW9uIGRvZXNuJ3QgZXhwZWN0IHRoZW0gdG8gYmUgb24u DQo+ID4+PiBpdCBldmVuIGNhbiBjYXVzZSBhcHAgY3Jhc2goYXQgbGVhc3QgZm9yIHRoZSBSWCBv ZmZsb2FkIEkgd3JvdGUNCj4gPj4+IGFib3ZlKS4NCj4gPj4NCj4gPj4gVGhlIHBhdGNoIGltcHJv dmVzIHRoZSBzaXR1YXRpb24uIEVhcmxpZXIgaXQgd2FzIHNpbGVudCwgbm93IGl0IHdpbGwNCj4g Pj4gYmUgYXQgbGVhc3QgdmlzaWJsZS4NCj4gPg0KPiA+IFdlIGNhbiBkbyBpdCB2aXNpYmxlIGlu c2lkZSB0aGUgbGltaXRlZCBQTURzLg0KPiANCj4gV2h5Pw0KDQpCZWNhdXNlIHRoaXMgaXMgbm90 IGFjY29yZGluZyB0byB3aGF0IGFwcGxpY2F0aW9uIHNob3VsZCB1bmRlcnN0YW5kIGZyb20gdGhl IGV0aGRldiBBUEkuIA0KDQo+ID4+IEknbSBhZnJhaWQgdGhhdCBpbiAxOS4xMSByZWxlYXNlIGN5 Y2xlIHdlIGNhbm5vdCBjaGFuZ2UgaXQgdG8gZmFpbA0KPiA+PiBkZXZfY29uZmlndXJlLiBJIHRo aW5rIGl0IHdpbGwgYmUgdG9vIGRlc3RydWN0aXZlLiBGdXR1cmUgaW1wcm92ZW1lbnQNCj4gPj4g c2hvdWxkIGJlIGRpc2N1c3NlZCBzZXBhcmF0ZWx5Lg0KPiA+DQo+ID4gU28gd2UgY2FuIHJlbW92 ZSB0aGlzIGV0aGRldiBwYXRjaCBub3cgYW5kIGxldCB0aGUgUE1EIHRvIGRvIGl0IHVudGlsDQo+ ID4gd2Ugd2lsbCBmaW5kIGJldHRlciBzb2x1dGlvbiBsYXRlci4NCj4gDQo+IFNvcnJ5LCBidXQg SSBkb24ndCB0aGluayBzby4NCj4gDQo+ID4+Pj4+IEl0IGV2ZW4gYmUgbW9yZSBwcm9ibGVtYXRp YyBpZiB0aGUgZHluYW1pYyBvZmZsb2FkIGZpZWxkIGluIG1idWYNCj4gPj4+Pj4gaXMgbm90IGV4 aXN0IGF0IGFsbC4NCj4gPj4+DQo+ID4+PiBBbnkgYW5zd2VyIGhlcmU/DQo+ID4NCj4gPiBBIFJ4 IG9mZmxvYWQgcmVxdWlyZXMgZHluYW1pYyBtYnVmIGZpZWxkIGNhbm5vdCBzdGF5IHZpc2libGUg d2hpbGUgdGhlDQo+ID4gYXBwIGRpc2FibGluZyBpdC4gQmVjYXVzZSB0aGUgZHluYW1pYyBtYnVm IGZpZWxkIHByb2JhYmx5IGlzIG5vdCBzZXQNCj4gPiBpbiB0aGUgbWJ1Zi4gTWF5IGNhdXNlIHBy b2JsZW1zLg0KPiA+DQo+ID4+IFBsZWFzZSwgY2xhcmlmeSB0aGUgcXVlc3Rpb24uDQo+ID4+DQoN Ck5vIGFuc3dlciBoZXJlLg0KDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4+IEZvciBleGFtcGxlIGluIFRY OiBUU08sIFZMQU4sIE1VTFRJX1NFRy4uLi4uDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVHggaXMgbm90 IHRoYXQgY3JpdGljYWwgc2luY2UgYXBwbGljYXRpb24gc2hvdWxkIG5vdCByZXF1ZXN0DQo+ID4+ Pj4+PiB0aGVzZSBvZmZsb2FkcyBwZXItIHBhY2tldC4gVHggb2ZmbG9hZHMgYXJlIG1haW5seSBy ZXF1aXJlZCB0bw0KPiA+Pj4+Pj4gZW5zdXJlIHRoYXQgYXBwbGljYXRpb24gbWF5IHJlcXVlc3Qg dGhlIG9mZmxvYWQgcGVyIHBhY2tldCBhbmQgaXQNCj4gPj4+Pj4+IHdpbGwgYmUgZG9uZS4NCj4g Pj4+Pj4NCj4gPj4+Pj4geWVzLCB5b3UgcmlnaHQsIEluIFRYIGl0IGxvb2tzIGxlc3MgY3JpdGlj YWwgKGZvciBub3cpLg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+Pj4gT2YgY291cnNlLCBp dCBjb3VsZCBiZSBhIHByb2JsZW0gaWYgdGhlIG9mZmxvYWQgaXMgdXNlZCwgYnV0DQo+ID4+Pj4+ Pj4+IGFwcGxpY2F0aW9uIHdhbnRzIHRvIGRpc2FibGUgaXQsIGZvciBleGFtcGxlLCBmb3IgZGVi dWdnaW5nDQo+ID4+Pj4+Pj4+IHB1cnBvc2VzLiBJbiB0aGlzIGNhc2UsIHRoZSBzb2x1dGlvbiBp cyB0byBtYXNrIG9mZmxvYWRzIG9uDQo+ID4+Pj4+Pj4+IGFwcGxpY2F0aW9uIGxldmVsLCB3aGlj aCBpcyBub3QgaWRlYWwgYXMgd2VsbC4NCj4gPj4+Pj4+PiBXaHkgbm90IGlkZWFsPw0KPiA+Pj4+ Pj4NCj4gPj4+Pj4+IEl0IGVhdHMgQ1BVIGN5Y2xlcy4NCj4gPj4+Pj4NCj4gPj4+Pj4gU29ycnks IEkgZG9uJ3QgdW5kZXJzdGFuZCB5b3VyIHVzZSBjYXNlIGhlcmUuDQo+ID4+Pj4NCj4gPj4+PiBJ ZiBhcHBsaWNhdGlvbiB3YW50cyB0byB0cnkgY29kZSBwYXRoIHdpdGhvdXQsIGZvciBleGFtcGxl LCBSeA0KPiA+Pj4+IGNoZWNrc3VtIG9mZmxvYWQsIGl0IGNvdWxkIGJlIGluc3VmZmljaWVudCB0 byBkaXNhYmxlIHRoZSBvZmZsb2FkDQo+ID4+Pj4gcmlnaHQgbm93LCBidXQgYWxzbyByZXF1aXJl ZCB0byBjbGVhbnVwIG9mZmxvYWQgcmVzdWx0cyBmbGFncyBpbg0KPiA+Pj4+IGVhY2ggbWJ1ZiAo aWYgUE1EIGRvZXMgbm90IHN1cHBvcnQgdGhlIG9mZmxvYWQgZGlzYWJsaW5nKS4NCj4gPj4+DQo+ ID4+PiBXaGF0IGlzICJyaWdodCBub3ciPyBDb25maWd1cmF0aW9uIHRpbWU/DQo+ID4+DQo+ID4+ IFJpZ2h0IG5vdyBpcyB0aGUgY3VycmVudCBzdGF0ZSBvZiBzb21lIGRyaXZlcnMgaW4gRFBESyB0 cmVlLg0KPiA+Pg0KPiA+DQo+ID4gT0suIEkgdGhpbmsgdGhlIG9mZmxvYWQgY29uZmlndXJhdGlv biBpcyBpbiBjb25maWd1cmF0aW9uIHRpbWUuIE5vDQo+ID4gZGF0YS1wYXRoLg0KPiA+DQo+ID4+ PiBJZiBhcHBsaWNhdGlvbiB3aWxsIGtub3cgdGhhdCBQTUQgY2Fubm90IGRpc2FibGUgdGhlIHJ4 LWNoZWNrc3VtIGluDQo+ID4+PiBjb25maWd1cmF0aW9uIHRpbWUsIEl0IGNhbiBwbGFuIHRvIG5v dCBjbGVhbiB0aGlzIGZsYWcgaW4gbWJ1ZiBmb3INCj4gPj4+IGVhY2ggcngNCj4gPj4gbWJ1Zi4N Cj4gPj4NCj4gPj4gWWVzIGFuZCBhcHBsaWNhdGlvbiBoYXMgYSB3YXkgdG8ga25vdyBpdCAtIHRh a2UgYSBsb29rIGF0DQo+ID4+IGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzLg0K PiA+DQo+ID4gQXMgSSB1bmRlcnN0YW5kLCBiZWZvcmUgdGhpcyBwYXRjaCwgdGhpcyBmaWVsZCB1 c2VkIGZvciBldGhkZXYgbGF5ZXINCj4gPiBrbm93bGVkZ2UgdG8gdHJhY2sgb24gdGhlIGFwcGxp Y2F0aW9uIFJ4IG9mZmxvYWQgY29uZmlndXJhdGlvbi4gQW0gSQ0KPiA+IHdyb25nPw0KPiANCj4g SSB0aGluayBpdCBpcyBqdXN0IFJ4IG9mZmxvYWRzIGNvbmZpZ3VyYXRpb24uDQo+IEl0IGlzIGJl dHRlciB0byBoYXZlIHJlYWwgb2ZmbG9hZHMgaGVyZSBzaW5jZSBpdCBpcyB1c2VkIG9uIFJ4IHF1 ZXVlIHNldHVwIHRvDQo+IG1hc2sgYWxyZWFkeSBlbmFibGVkIG9mZmxvYWRzLg0KDQpBbmQgaW4g RFBESyBvciBhbnkgU1cgbWFuYWdlbWVudCBjb250cm9scyBhIGRldmljZSwgdGhlIGNvbmZpZ3Vy YXRpb24gbXVzdCBiZSBzZXQgYnkgdGhlIHVzZXIuDQpTbywgaXQgc2hvdWxkIHJlZmxlY3QgdGhl IHVzZXIgY29uZmlndXJhdGlvbiBhcyBpcy4NCg0KIA0KPiA+IEFuZCBJZiB0aGUgbWVhbmluZyBp cyB0aGUgUE1EIGNvbmZpZ3VyYXRpb24gc2V0ICh3aGljaCB3ZWlyZGx5IGNhbiBiZQ0KPiA+IGRp ZmZlcmVudCBmcm9tIHdoYXQgYXBwbGljYXRpb24gd2FudCkgSSB0aGluayBpdCBzaG91bGQgYmUg YW4gZXJyb3IgLQ0KPiA+IGJlY2F1c2UgYXBwIGRvZXNuJ3QgZm9sbG93IHRoZSBBUEkuDQo+IA0K PiBXaGljaCBhcHA/IFdoaWNoIEFQST8NCg0KQXBwIC0gdGhlIGRwZGsgYXBwbGljYXRpb24gd2hp Y2ggY29uZmlndXJlcyBhbiBvZmZsb2FkIHRoYXQgY2Fubm90IGJlIG1hc2tlZC4NCkFQSSAtIFRo ZSBSeCBvZmZsb2FkIGZpZWxkIGluIHRoZSBldGhkZXYgZGF0YSAod2hpY2ggd2VpcmRseSBtZWFu cyB3aGF0IHdhcyBjb25maWd1cmVkIGJ5IHRoZSBQTUQpLg0KDQo+IA0KPiA+Pj4gSXQgbG9va3Mg bWUgbGlrZSBQTUQgbGltaXRhdGlvbiB3aGljaCBjYW4gYmUgc29sdmVkIGJ5IDINCj4gPj4+IG9w dGlvbnM6IDEuIENhcGFiaWxpdHkgaW5mb3JtYXRpb24gd2hpY2ggc2F5IHRvIHRoZSBhcHAgd2hh dCBvZmZsb2FkDQo+ID4+PiBtYXkgbm90IGJlIGRpc2FibGVkLg0KPiA+Pj4gMi4gQWRkIGxpbWl0 YXRpb24gaW4gdGhlIFBNRCBkb2N1bWVudGF0aW9uIGFuZCBwcmludCB3YXJuaW5nXGVycm9yDQo+ ID4+PiBtYXNzYWdlIGZyb20gdGhlIFBNRC4NCj4gPj4NCj4gPj4gWWVzLCByaWdodCBub3cgd2Ug YXJlIGdvaW5nIHdheSAoMikuDQo+ID4+DQo+ID4+Pj4+Pj4gSWYgYXBwbGljYXRpb24gY2FuIGtu b3cgdGhlIGxpbWl0YXRpb24gb2Ygb2ZmbG9hZHMgZGlzYWJsaW5nDQo+ID4+Pj4+Pj4gKGZvciBl eGFtcGxlIHRvDQo+ID4+Pj4+PiByZWFkIGNhcGFiaWxpdHkgb24gaXQpDQo+ID4+Pj4+Pj4gVGhl IGFwcGxpY2F0aW9uIGhhcyBhbGwgaW5mb3JtYXRpb24gdG8gdGFrZSBkZWNpc2lvbnMuDQo+ID4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4gQW55d2F5LCB0aGUgcGF0Y2gganVzdCB0cmllcyB0byBoaWdobGln aHQgZGlmZmVyZW5jZSBvZiBhcHBsaWVkDQo+ID4+Pj4+Pj4+IGZyb20gcmVxdWVzdGVkLiBTbywg aXQgaXMgYSBzdGVwIGZvcndhcmQuIEFsc28sIHRoZSBwYXRjaCB3aWxsDQo+ID4+Pj4+Pj4+IGZh aWwgY29uZmlndXJlIGlmIGFuIG9mZmxvYWQgaXMgcmVxdWVzdGVkLCBidXQgbm90DQo+ID4+Pj4+ PiBlbmFibGVkLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IENhbid0IGl0IGJyZWFrIGFwcGxp Y2F0aW9ucz8gV2h5IGRvZXMgdGhlIGRldmljZSBleHBvc2UNCj4gPj4+Pj4+Pj4+PiB1bnN1cHBv cnRlZCBvZmZsb2FkcyBpbiBkZXYgaW5mbz8gRG9lcyBpdCB1cGRhdGUgdGhlIHJ1bm5pbmcNCj4g Pj4+Pj4+Pj4+PiBvZmZsb2FkIHVzeW5jaHJvbmljYWxseT8gUmFjZT8NCj4gPj4+Pj4+Pj4+PiBD YW4geW91IGV4cGxhaW4gYWxzbyB5b3VyIHNwZWNpZmljIHVzZSBjYXNlPw0KPiA+Pj4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IE1hdGFuDQo+ID4+Pj4+DQo+ID4+Pg0KPiA+ DQoNCg==