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 08DE8A04B3; Fri, 8 Nov 2019 11:29:13 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CD39B1C01B; Fri, 8 Nov 2019 11:29:12 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80045.outbound.protection.outlook.com [40.107.8.45]) by dpdk.org (Postfix) with ESMTP id DB1EA137D for ; Fri, 8 Nov 2019 11:29:11 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FL5OD3T0dTnS8SjbODWRvypcIHJGu8hKWBeyWbS2N/W33Cr4QS7IhCZhooKUuv+emEoWpP8Jwq6fP6Jb1f0+uR3K3LidnXZS8hFQFwHFn1mMdDeqiuA6muGEhwkogEVE+EaDhKG7mePag400Z0+zGFeMdMThbS2qMoX5Z72PmOASFqCNeuDAhiZoeOfPGJah8DCwj75Zt9UR06Tcu2YkqG7aK4aLTritaQT2hkeHeTTWFo047HilPQWTNMsH7aNq9/pEyXpMf2b4S2i3WcOAcTZtYWZQc0Vzhily5Z8AcYNCnhPFtruY8QgGOVuYdbEZXuhaIbgnu+jkPWm426ftNg== 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=bsorMnJmq2B69BXaIsiGLrEYz00YpvFtJ/3UuNb0/gw=; b=SymFRoue2VXKWPMUPoPLDzxKLROW7ItUq99aNB6VEH7STI+X+0WMfLjiEq1IJvuCmidB34GEaC+9Vf7ss1FI9vKVeoaFqydpxPwjr/xM9uQeepacuJ29cI/vtp3H4EbuiQQCLVhCQmTVWWsdsDsVpjPGwufBQ7qH/cs7f10XE1J17Xr812cyEHZu/vYKxeGxOJhgtIeVst8/7gwiTG/VoAcvmvOkEpKHgzqvShxVSh3WXWOH8esZ+5GcFLbrfWeQJ4gcGr61mGiGmtsP988YO5q23IDL2wpV/kxactQOI0AqK8NG09xeIuLh7wnbZdvjvG0NE9Gs5Jkqw71X5oAIXw== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bsorMnJmq2B69BXaIsiGLrEYz00YpvFtJ/3UuNb0/gw=; b=TVjXQ2JtUmoRCCxTRwCic7RidFiWPQ0x2zztN3RuB1ggxOp/yyScp092ODLVafGtfx4hY//Ep3/H8rnIx6L9R5fLMM3kifrniv0iPHn1u/B6W/r+NIl/6mUMLjIYAOsZd6rCDPqvmrUiLNPWUIJVn+oA5aFjLtLUgbQNydk1O1k= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.39.139) by AM0PR0502MB3681.eurprd05.prod.outlook.com (52.133.43.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2430.24; Fri, 8 Nov 2019 10:29:10 +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; Fri, 8 Nov 2019 10:29:10 +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+oIAByz6AgAAAy7A= Date: Fri, 8 Nov 2019 10:29:10 +0000 Message-ID: References: <20191029050312.2715-1-pbhagavatula@marvell.com> <0547e0a0-1ccd-84ee-46f1-5b35e1d25680@solarflare.com> <2564228e-e5c5-35f6-0c0a-c0608551083f@solarflare.com> <0eea9d34-4201-2035-b266-d9b9e60e5dc5@solarflare.com> In-Reply-To: <0eea9d34-4201-2035-b266-d9b9e60e5dc5@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: [77.127.71.76] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: bef709f5-dd2e-4632-1fa4-08d764367e4a x-ms-traffictypediagnostic: AM0PR0502MB3681: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0215D7173F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(376002)(346002)(366004)(39860400002)(52314003)(199004)(189003)(5660300002)(186003)(66066001)(52536014)(478600001)(26005)(6116002)(3846002)(2501003)(74316002)(316002)(53546011)(305945005)(6506007)(110136005)(9686003)(55016002)(6436002)(66476007)(66556008)(64756008)(66446008)(14444005)(229853002)(256004)(30864003)(102836004)(66946007)(76176011)(76116006)(6246003)(7736002)(14454004)(7696005)(4326008)(86362001)(71190400001)(71200400001)(11346002)(446003)(8936002)(25786009)(2906002)(33656002)(8676002)(476003)(81156014)(81166006)(486006)(99286004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3681; 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: 2PsmUx514LIclFX1F2F/0pv0OCWMMB7C5qL7Mvf4Y+wXJKSr0Z9bUv8pUeeHT0TzeLNP6THyDFfEQyWrJ17ov5ORkA8ycTG4xukpoG1vZtyRQYDgUznFp9THCKm60ypV4thrR40kzCPBZJ1FJuI4Zagys3fa0YB3y+4gbYMS9HcHA/ZhNSAOqnHedRe+9gmSItdJlu+jSscjtmKubMHFxHCdFswHFVr/SezTKPCL8xGU6A+W7sOGhiFjxqOP+9PIqDmH3EWofgaN8lGPoVv68OBvqy7K9BS7Hzyblz9R7tidf00m94q7R5aYXUAft+TfFEoIiNhfRX17C3euyC0lIN4lbFm1tRSF+GILonhxivWZ8iqMRDpv87k5MjglJpxTw8hF0whuq7qClm90TXRZysXWpY6+bKqXeONwTYLuBaS/snT4iFivWwdWR01Grhuf 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: bef709f5-dd2e-4632-1fa4-08d764367e4a X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2019 10:29:10.4463 (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: ICCvdZvlxmjFpL1Z9Djs/z35PUg0X2IDb7w4xu6w/Pv0e7n2vOLafDMrDnb6QELPYvICpeKB90XxkLVu/jNq+Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3681 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" DQoNCkZyb206IEFuZHJldyBSeWJjaGVua28NCj4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciA4LCAy MDE5IDEyOjEyIFBNDQo+IFRvOiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPjsgUGF2 YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhDQo+IDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+OyBm ZXJydWgueWlnaXRAaW50ZWwuY29tOyBKZXJpbiBKYWNvYg0KPiBLb2xsYW51a2thcmFuIDxqZXJp bmpAbWFydmVsbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25qYWxvbi5uZXQ+ DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYx NSAzLzddIGV0aGRldjogYWRkIHZhbGlkYXRpb24gdG8gb2ZmbG9hZHMNCj4gc2V0IGJ5IFBNRA0K PiANCj4gT24gMTEvNy8xOSA5OjU2IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPiBIaQ0KPiA+ DQo+ID4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbw0KPiA+PiBPbiAxMS82LzE5IDk6NTggQU0sIE1h dGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBGcm9tOiBBbmRyZXcgUnliY2hl bmtvDQo+ID4+Pj4gT24gMTEvNS8xOSA1OjA1IFBNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+ Pj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbw0KPiA+Pj4+Pj4gT24gMTEvMy8xOSA2OjE2IFBNLCBN YXRhbiBBenJhZCB3cm90ZQ0KPiA+Pj4+Pj4+IEZyb206IEFuZHJldyBSeWJjaGVua28NCj4gPj4+ Pj4+Pj4gT24gMTEvMy8xOSA5OjU3IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+Pj4+Pj4+ IEhpDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbw0KPiA+ Pj4+Pj4+Pj4+IE9uIDEwLzMxLzE5IDc6MzMgUE0sIFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVs YQ0KPiA+Pj4+Pj4+Pj4+IHdyb3RlOg0KPiA+Pj4+Pj4+Pj4+Pj4gRnJvbTogUGF2YW4gTmlraGls ZXNoIEJoYWdhdmF0dWxhDQo+ID4+Pj4+Pj4+Pj4+Pj4gSGkgTWF0YW4sDQo+ID4+Pj4+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gSGkgUGF2YW4NCj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+ Pj4+Pj4+Pj4gRnJvbTogUGF2YW4gTmlraGlsZXNoDQo+ID4+Pj4+Pj4+Pj4+Pj4+IDxwYmhhZ2F2 YXR1bGFAbWFydmVsbC5jb20+DQo+ID4+Pj4+Pj4+Pj4+Pj4+PiBTb21lIFBNRHMgY2Fubm90IHdv cmsgd2hlbiBjZXJ0YWluIG9mZmxvYWRzIGFyZQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4gZW5hYmxlL2Rp c2FibGVkLCBhcyBhIHdvcmthcm91bmQgUE1EcyBhdXRvDQo+ID4+Pj4+Pj4+Pj4+Pj4+PiBlbmFi bGUvZGlzYWJsZSBvZmZsb2FkcyBpbnRlcm5hbGx5IGFuZCBleHBvc2UgaXQgdGhyb3VnaA0KPiA+ Pj4+Pj4+Pj4+Pj4+Pj4gZGV2LT5kYXRhLWRldl9jb25mLnJ4bW9kZS5vZmZsb2Fkcy4NCj4gPj4+ Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+PiBBZnRlciBkZXZpY2Ugc3BlY2lmaWMgZGV2 X2NvbmZpZ3VyZSBpcyBjYWxsZWQgY29tcGFyZQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4gdGhlIHJlcXVl c3RlZCBvZmZsb2FkcyB0byB0aGUgb2ZmbG9hZHMgZXhwb3NlZCBieSB0aGUNCj4gPj4+Pj4+Pj4+ Pj4+Pj4+IFBNRCBhbmQsIGlmIHRoZSBQTUQgZmFpbGVkIHRvIGVuYWJsZSBhIGdpdmVuIG9mZmxv YWQNCj4gPj4+Pj4+Pj4+Pj4+Pj4+IHRoZW4gbG9nIGl0IGFuZCByZXR1cm4gLUVJTlZBTCBmcm9t DQo+ID4+Pj4+Pj4+Pj4+Pj4+PiBydGVfZXRoX2Rldl9jb25maWd1cmUsIGVsc2UgaWYgdGhlIFBN RCBmYWlsZWQgdG8gZGlzYWJsZQ0KPiA+Pj4+Pj4+Pj4+Pj4+Pj4gYSBnaXZlbiBvZmZsb2FkIGxv ZyBhbmQgY29udGludWUgd2l0aA0KPiBydGVfZXRoX2Rldl9jb25maWd1cmUuDQo+ID4+Pj4+Pj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+PiBydGVfZXRoX2Rldl9jb25maWd1cmUgY2FuIGJlIGNh bGxlZCBtb3JlIHRoYW4gMSB0aW1lIGluDQo+ID4+Pj4+Pj4+Pj4+Pj4+IHRoZSBkZXZpY2UgbGlm ZSB0aW1lLCBIb3cgY2FuIHlvdSBrbm93IHdoYXQgaXMgdGhlDQo+ID4+Pj4+Pj4+Pj4+Pj4+IG1p bmltdW0gb2ZmbG9hZCBjb25maWd1cmF0aW9ucyByZXF1aXJlZCBieSB0aGUgcG9ydCBhZnRlcg0K PiA+Pj4+Pj4+Pj4+Pj4+PiB0aGUgZmlyc3QgY2FsbD8NCj4gPj4+Pj4+Pj4+Pj4+Pj4gTWF5YmUg cHV0dGluZyBpdCBpbiBkZXYgaW5mbyBpcyBiZXR0ZXIsIHdoYXQgZG8geW91IHRoaW5rPw0KPiA+ Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IFdlIG9ubHkgcmV0dXJuIC1FSU5WQUwgaW4g dGhlIGNhc2Ugd2hlcmUgd2UgZW5hYmxlIGFuDQo+ID4+Pj4+Pj4+Pj4+Pj4gb2ZmbG9hZCBhZHZl cnRpc2VkIGJ5IGRldl9pbmZvIGFuZCB0aGUgcG9ydCBzdGlsbCBmYWlscyB0bw0KPiA+Pj4+Pj4+ Pj4+Pj4+IGVuYWJsZSBpdC4NCj4gPj4+Pj4+Pj4+Pj4+IEFyZSB5b3Ugc3VyZSBpdCBpcyBvayB0 aGF0IGRldmljZXMgbWF5IGRpc2FibGVcZW5hYmxlDQo+ID4+Pj4+Pj4+Pj4+PiBvZmZsb2FkcyB1 bmRlciB0aGUgaG9vZCB3aXRob3V0IHVzZXIgbm90aWZpY2F0aW9uPw0KPiA+Pj4+Pj4+Pj4+PiBT b21lIGRldmljZXMgYWxyZWFkeSBkbyBpdC4gVGhlIGFib3ZlIGNoZWNrIGFkZHMgdmFsaWRhdGlv bg0KPiA+Pj4+Pj4+Pj4+PiBmb3IgdGhlIHNhbWUuDQo+ID4+Pj4+Pj4+Pj4gVGhlIHByb2JsZW0g aXMgdGhhdCBzb21lIG9mZmxvYWRzIGNhbm5vdCBiZSBkaXNhYmxlZC4NCj4gPj4+Pj4+Pj4+IFll cywgSSB1bmRlcnN0YW5kIGl0Lg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBJZiBhcHBsaWNh dGlvbiBkb2VzIG5vdCByZXF1ZXN0IFJ4IGNoZWNrc3VtIG9mZmxvYWQgc2luY2UgaXQNCj4gPj4+ Pj4+Pj4+PiBkb2VzIHVzZSBpdCwgaXQgaXMgbm90IGEgcHJvYmxlbSB0byByZXBvcnQgaXQuDQo+ ID4+Pj4+Pj4+PiBZZXMsIGZvciBSWCBjaGVja3N1bSBJIHRlbmQgdG8gYWdyZWUgdGhhdCBhcHBs aWNhdGlvbiBkb2Vzbid0DQo+ID4+Pj4+Pj4+PiBjYXJlIGlmIHRoZQ0KPiA+Pj4+Pj4+PiBQTUQg d2lsbCBjYWxjdWxhdGUgdGhlIGNoZWNrc3VtIGluIHNwaXRlIG9mIHRoZSBvZmZsb2FkIGlzDQo+ ID4+Pj4+Pj4+IGRpc2FibGVkLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IEJ1dCB3aGF0J3Mg YWJvdXQgb3RoZXIgb2ZmbG9hZHM6IEZvciBleGFtcGxlIGluIFJYOiBMUk8sDQo+ID4+Pj4+Pj4+ PiBDUkNfS0VFUCwgVkxBTl9TVFJJUCwgSlVNQk8gSWYgdGhlIFBNRCB3aWxsIHN0YXkgdGhlbSBv bg0KPiB3aGlsZQ0KPiA+Pj4+Pj4+Pj4gdGhlIGFwcCBpcyBkaXNhYmxpbmcgaXQsIEl0IGNhbiBj YXVzZSBhIHByb2JsZW1zIHRvIHRoZQ0KPiA+Pj4+Pj4+PiBhcHBsaWNhdGlvbiAoYWZmZWN0cyB0 aGUgcGFja2V0IGxlbmd0aCkuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IFllcywgSSBhZ3JlZSB0 aGF0IHNvbWUgb2ZmbG9hZHMgYXJlIGNyaXRpY2FsIHRvIGJlIGRpc2FibGVkLA0KPiA+Pj4+Pj4+ PiBidXQgUlNTX0hBU0ggZGlzY3Vzc2VkIGluIHRoZSBjaGFuZ2VzZXQgaXMgbm90IGNyaXRpY2Fs Lg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gU28sIGFyZSB5b3UgYWdyZWUgSXQgc2hvdWxkIG5vdCBi ZSBjaGVja2VkIGdsb2JhbGx5IGZvciBhbGwgdGhlDQo+ID4+Pj4+Pj4gb2ZmbG9hZHMgaW4NCj4g Pj4+Pj4+IGV0aGRldiBsYXllcj8NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJZiBvZmZsb2FkIGlzIG5v dCByZXF1ZXN0ZWQsIGJ1dCBlbmFibGVkIChzaW5jZSBQTUQgY2Fubm90DQo+ID4+Pj4+PiBkaXNh YmxlIGl0KSwgcmlnaHQgbm90IGl0IHdpbGwgbm90IGZhaWwgY29uZmlndXJlLCBidXQgd2FybiBh Ym91dA0KPiA+Pj4+Pj4gaXQgaW4gbG9ncy4NCj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IElu IHRoaXMgY2FzZSB3YXJuaW5nIHByaW50IGlzIG5vdCBlbm91Z2ggc2luY2UgaXQgY2FuIGJlIGNy aXRpY2FsDQo+ID4+Pj4+IGZvciB0aGUNCj4gPj4+PiBhcHBsaWNhdGlvbiBmb3Igc29tZSBvZmZs b2Fkcy4NCj4gPj4+Pj4gSXQgY2FuIGJlIHZlcnkgd2VpcmQgZm9yIHRoZSBhcHBsaWNhdGlvbiB0 byBzZWUgdGhhdCBzb21lIG9mZmxvYWQNCj4gPj4+Pj4gYXJlIG9uDQo+ID4+Pj4gd2hpbGUgdGhl IGFwcGxpY2F0aW9uIGRvZXNuJ3QgZXhwZWN0IHRoZW0gdG8gYmUgb24uDQo+ID4+Pj4+IGl0IGV2 ZW4gY2FuIGNhdXNlIGFwcCBjcmFzaChhdCBsZWFzdCBmb3IgdGhlIFJYIG9mZmxvYWQgSSB3cm90 ZQ0KPiA+Pj4+PiBhYm92ZSkuDQo+ID4+Pj4NCj4gPj4+PiBUaGUgcGF0Y2ggaW1wcm92ZXMgdGhl IHNpdHVhdGlvbi4gRWFybGllciBpdCB3YXMgc2lsZW50LCBub3cgaXQNCj4gPj4+PiB3aWxsIGJl IGF0IGxlYXN0IHZpc2libGUuDQo+ID4+Pg0KPiA+Pj4gV2UgY2FuIGRvIGl0IHZpc2libGUgaW5z aWRlIHRoZSBsaW1pdGVkIFBNRHMuDQo+ID4+DQo+ID4+IFdoeT8NCj4gPg0KPiA+IEJlY2F1c2Ug dGhpcyBpcyBub3QgYWNjb3JkaW5nIHRvIHdoYXQgYXBwbGljYXRpb24gc2hvdWxkIHVuZGVyc3Rh bmQgZnJvbQ0KPiB0aGUgZXRoZGV2IEFQSS4NCj4gDQo+IEl0IGRvZXMgbm90IGFuc3dlciB3aHkg aXQgc2hvdWxkIGJlIGluc2lkZSB0aGUgbGltaXRlZCBQTURzIGluc3RlYWQgb2YNCj4gZXRoZGV2 IGxheWVyLg0KDQpXaHkgbm90Pw0KQXBwbGljYXRpb24gZG9lc24ndCBleHBlY3QgdG8gaXQgYW5k IGl0IG1heSBhZmZlY3QgaXQuDQoNCj4gPj4+PiBJJ20gYWZyYWlkIHRoYXQgaW4gMTkuMTEgcmVs ZWFzZSBjeWNsZSB3ZSBjYW5ub3QgY2hhbmdlIGl0IHRvIGZhaWwNCj4gPj4+PiBkZXZfY29uZmln dXJlLiBJIHRoaW5rIGl0IHdpbGwgYmUgdG9vIGRlc3RydWN0aXZlLiBGdXR1cmUNCj4gPj4+PiBp bXByb3ZlbWVudCBzaG91bGQgYmUgZGlzY3Vzc2VkIHNlcGFyYXRlbHkuDQo+ID4+Pg0KPiA+Pj4g U28gd2UgY2FuIHJlbW92ZSB0aGlzIGV0aGRldiBwYXRjaCBub3cgYW5kIGxldCB0aGUgUE1EIHRv IGRvIGl0DQo+ID4+PiB1bnRpbCB3ZSB3aWxsIGZpbmQgYmV0dGVyIHNvbHV0aW9uIGxhdGVyLg0K PiA+Pg0KPiA+PiBTb3JyeSwgYnV0IEkgZG9uJ3QgdGhpbmsgc28uDQo+ID4+DQo+ID4+Pj4+Pj4g SXQgZXZlbiBiZSBtb3JlIHByb2JsZW1hdGljIGlmIHRoZSBkeW5hbWljIG9mZmxvYWQgZmllbGQg aW4gbWJ1Zg0KPiA+Pj4+Pj4+IGlzIG5vdCBleGlzdCBhdCBhbGwuDQo+ID4+Pj4+DQo+ID4+Pj4+ IEFueSBhbnN3ZXIgaGVyZT8NCj4gPj4+DQo+ID4+PiBBIFJ4IG9mZmxvYWQgcmVxdWlyZXMgZHlu YW1pYyBtYnVmIGZpZWxkIGNhbm5vdCBzdGF5IHZpc2libGUgd2hpbGUNCj4gPj4+IHRoZSBhcHAg ZGlzYWJsaW5nIGl0LiBCZWNhdXNlIHRoZSBkeW5hbWljIG1idWYgZmllbGQgcHJvYmFibHkgaXMg bm90DQo+ID4+PiBzZXQgaW4gdGhlIG1idWYuIE1heSBjYXVzZSBwcm9ibGVtcy4NCj4gPj4+DQo+ ID4+Pj4gUGxlYXNlLCBjbGFyaWZ5IHRoZSBxdWVzdGlvbi4NCj4gPj4+Pg0KPiA+DQo+ID4gTm8g YW5zd2VyIGhlcmUuDQo+IA0KPiBTb3JyeSwgYnV0IEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgcHJv YmxlbS4NCj4gSWYgdGhlcmUgaXMgbm8gZHluYW1pYyBmaWVsZCwgaXQgd2lsbCBub3QgYmUgc2V0 Lg0KV2h5IG5vdD8gVGhlIG9mZmxvYWQgaXMgZW5hYmxlZCBmb3IgdGhlIFBNRCBwZXJzcGVjdGl2 ZS4NCg0KPiBJZiB0aGVyZSBpcyBkeW5hbWljIGZpZWxkLCBpdCBpcyB0aGUgc2FtZSBhcyByZWd1 bGFyIGZpZWxkcy4NCj4gDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBGb3IgZXhhbXBsZSBpbiBU WDogVFNPLCBWTEFOLCBNVUxUSV9TRUcuLi4uLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBUeCBp cyBub3QgdGhhdCBjcml0aWNhbCBzaW5jZSBhcHBsaWNhdGlvbiBzaG91bGQgbm90IHJlcXVlc3QN Cj4gPj4+Pj4+Pj4gdGhlc2Ugb2ZmbG9hZHMgcGVyLSBwYWNrZXQuIFR4IG9mZmxvYWRzIGFyZSBt YWlubHkgcmVxdWlyZWQgdG8NCj4gPj4+Pj4+Pj4gZW5zdXJlIHRoYXQgYXBwbGljYXRpb24gbWF5 IHJlcXVlc3QgdGhlIG9mZmxvYWQgcGVyIHBhY2tldCBhbmQNCj4gPj4+Pj4+Pj4gaXQgd2lsbCBi ZSBkb25lLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4geWVzLCB5b3UgcmlnaHQsIEluIFRYIGl0IGxv b2tzIGxlc3MgY3JpdGljYWwgKGZvciBub3cpLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pj4gT2YgY291cnNlLCBpdCBjb3VsZCBiZSBhIHByb2JsZW0gaWYgdGhlIG9mZmxvYWQg aXMgdXNlZCwgYnV0DQo+ID4+Pj4+Pj4+Pj4gYXBwbGljYXRpb24gd2FudHMgdG8gZGlzYWJsZSBp dCwgZm9yIGV4YW1wbGUsIGZvciBkZWJ1Z2dpbmcNCj4gPj4+Pj4+Pj4+PiBwdXJwb3Nlcy4gSW4g dGhpcyBjYXNlLCB0aGUgc29sdXRpb24gaXMgdG8gbWFzayBvZmZsb2FkcyBvbg0KPiA+Pj4+Pj4+ Pj4+IGFwcGxpY2F0aW9uIGxldmVsLCB3aGljaCBpcyBub3QgaWRlYWwgYXMgd2VsbC4NCj4gPj4+ Pj4+Pj4+IFdoeSBub3QgaWRlYWw/DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEl0IGVhdHMgQ1BV IGN5Y2xlcy4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFNvcnJ5LCBJIGRvbid0IHVuZGVyc3RhbmQg eW91ciB1c2UgY2FzZSBoZXJlLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IElmIGFwcGxpY2F0aW9uIHdh bnRzIHRvIHRyeSBjb2RlIHBhdGggd2l0aG91dCwgZm9yIGV4YW1wbGUsIFJ4DQo+ID4+Pj4+PiBj aGVja3N1bSBvZmZsb2FkLCBpdCBjb3VsZCBiZSBpbnN1ZmZpY2llbnQgdG8gZGlzYWJsZSB0aGUg b2ZmbG9hZA0KPiA+Pj4+Pj4gcmlnaHQgbm93LCBidXQgYWxzbyByZXF1aXJlZCB0byBjbGVhbnVw IG9mZmxvYWQgcmVzdWx0cyBmbGFncyBpbg0KPiA+Pj4+Pj4gZWFjaCBtYnVmIChpZiBQTUQgZG9l cyBub3Qgc3VwcG9ydCB0aGUgb2ZmbG9hZCBkaXNhYmxpbmcpLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBX aGF0IGlzICJyaWdodCBub3ciPyBDb25maWd1cmF0aW9uIHRpbWU/DQo+ID4+Pj4NCj4gPj4+PiBS aWdodCBub3cgaXMgdGhlIGN1cnJlbnQgc3RhdGUgb2Ygc29tZSBkcml2ZXJzIGluIERQREsgdHJl ZS4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IE9LLiBJIHRoaW5rIHRoZSBvZmZsb2FkIGNvbmZpZ3Vy YXRpb24gaXMgaW4gY29uZmlndXJhdGlvbiB0aW1lLiBObw0KPiA+Pj4gZGF0YS1wYXRoLg0KPiA+ Pj4NCj4gPj4+Pj4gSWYgYXBwbGljYXRpb24gd2lsbCBrbm93IHRoYXQgUE1EIGNhbm5vdCBkaXNh YmxlIHRoZSByeC1jaGVja3N1bQ0KPiA+Pj4+PiBpbiBjb25maWd1cmF0aW9uIHRpbWUsIEl0IGNh biBwbGFuIHRvIG5vdCBjbGVhbiB0aGlzIGZsYWcgaW4gbWJ1Zg0KPiA+Pj4+PiBmb3IgZWFjaCBy eA0KPiA+Pj4+IG1idWYuDQo+ID4+Pj4NCj4gPj4+PiBZZXMgYW5kIGFwcGxpY2F0aW9uIGhhcyBh IHdheSB0byBrbm93IGl0IC0gdGFrZSBhIGxvb2sgYXQNCj4gPj4+PiBkZXYtPmRhdGEtPmRldl9j b25mLnJ4bW9kZS5vZmZsb2Fkcy4NCj4gPj4+DQo+ID4+PiBBcyBJIHVuZGVyc3RhbmQsIGJlZm9y ZSB0aGlzIHBhdGNoLCB0aGlzIGZpZWxkIHVzZWQgZm9yIGV0aGRldiBsYXllcg0KPiA+Pj4ga25v d2xlZGdlIHRvIHRyYWNrIG9uIHRoZSBhcHBsaWNhdGlvbiBSeCBvZmZsb2FkIGNvbmZpZ3VyYXRp b24uIEFtIEkNCj4gPj4+IHdyb25nPw0KPiA+Pg0KPiA+PiBJIHRoaW5rIGl0IGlzIGp1c3QgUngg b2ZmbG9hZHMgY29uZmlndXJhdGlvbi4NCj4gPj4gSXQgaXMgYmV0dGVyIHRvIGhhdmUgcmVhbCBv ZmZsb2FkcyBoZXJlIHNpbmNlIGl0IGlzIHVzZWQgb24gUnggcXVldWUNCj4gPj4gc2V0dXAgdG8g bWFzayBhbHJlYWR5IGVuYWJsZWQgb2ZmbG9hZHMuDQo+ID4NCj4gPiBBbmQgaW4gRFBESyBvciBh bnkgU1cgbWFuYWdlbWVudCBjb250cm9scyBhIGRldmljZSwgdGhlIGNvbmZpZ3VyYXRpb24NCj4g bXVzdCBiZSBzZXQgYnkgdGhlIHVzZXIuDQo+ID4gU28sIGl0IHNob3VsZCByZWZsZWN0IHRoZSB1 c2VyIGNvbmZpZ3VyYXRpb24gYXMgaXMuDQo+IA0KPiBJdCBpcyBpZGVhbCB3b3JsZCB3aGljaCBp cyB1bmZvcnR1bmF0ZWx5IHRvbyBmYXIgZnJvbSByZWFsIGxpZmUuDQo+IFRoZXJlIGlzIGFsd2F5 cyBhIHRyYWRlIG9mZi4gSXQgaXMgcG9zc2libGUgdG8gZGVmaW5lIHRvbyByZXN0cmljdGl2ZSBp bnRlcmZhY2UNCj4gd2hpY2ggd2lsbCBlbmZvcmNlIGNvbXBsaWNhdGVkIGltcGxlbWVudGF0aW9u IHdpdGggYmFkIHBlcmZvcm1hbmNlDQo+IGNoYXJhY3RlcmlzdGljcyBmb3Igbm8gcmVhbCB2YWx1 ZS4NCj4gDQo+IEluIGFueSBjYXNlLCB0aGUgcGF0Y2ggc2ltcGx5IG1ha2VzIHRoZSBkaWZmZXJl bmNlIHZpc2libGUuDQo+IEl0IGRvZXMgbm90IGVuZm9yY2UgYW55IHJ1bGVzIGV4Y2VwdCB0byBm YWlsIGNvbmZpZ3VyZSBpZiByZXF1ZXN0ZWQgb2ZmbG9hZCBpcw0KPiBub3QgZW5hYmxlZCB3aGlj aCBpcyBhIHN0cm9uZyB2aW9sYXRpb24gb2YgdGhlIGludGVyZmFjZS4gSWYgeW91IGRvbid0IGxp a2UgaXQsIHdlDQo+IGNhbiBkaXNjdXNzIHRoZSBwb2ludC4gSW4gdGhlIGFyZWEgb2Ygbm90IHJl cXVlc3RlZCBidXQgZW5hYmxlZCBvZmZsb2FkcywgaXQNCj4ganVzdCBhZGRzIGxvZ3MuIE5vIGNo YW5nZXMgaW4gYmVoYXZpb3VyLiBJJ20gc3Ryb25nbHkgYWdhaW5zdCBtYWtpbmcgaXQgaGFyZA0K PiBmYWlsdXJlIGluIDE5LjExIHNpbmNlIGl0IGlzIHRvbyBsYXRlIGZvciB0aGUgZGVjaXNpb24u IFdlIGNhbiBkaXNjdXNzIGl0IGxhdGVyDQo+IHNlcGFyYXRlbHkgZnJvbSB0aGUgcGF0Y2guDQo+ IA0KV2hpbGUgSSBkb24ndCBhZ3JlZSB3aXRoIHRoZSBwYXRjaCBhbmQgdGhlIGlkZWEgaGVyZSwg IHdlIGNhbiBjb250aW51ZSBkaXNjdXNzIGxhdGVyLg0KSSB0aGluayB3ZSB1bmRlcnN0YW5kIHRo ZSBpZGVhcyBvZiBib3RoIG9mIHVzIGFuZCB3ZSBjYW4gZGlnIHRvIGl0IGxhdGVyLiANCg0KDQo+ ID4+PiBBbmQgSWYgdGhlIG1lYW5pbmcgaXMgdGhlIFBNRCBjb25maWd1cmF0aW9uIHNldCAod2hp Y2ggd2VpcmRseSBjYW4NCj4gPj4+IGJlIGRpZmZlcmVudCBmcm9tIHdoYXQgYXBwbGljYXRpb24g d2FudCkgSSB0aGluayBpdCBzaG91bGQgYmUgYW4NCj4gPj4+IGVycm9yIC0gYmVjYXVzZSBhcHAg ZG9lc24ndCBmb2xsb3cgdGhlIEFQSS4NCj4gPj4NCj4gPj4gV2hpY2ggYXBwPyBXaGljaCBBUEk/ DQo+ID4NCj4gPiBBcHAgLSB0aGUgZHBkayBhcHBsaWNhdGlvbiB3aGljaCBjb25maWd1cmVzIGFu IG9mZmxvYWQgdGhhdCBjYW5ub3QgYmUNCj4gbWFza2VkLg0KPiA+IEFQSSAtIFRoZSBSeCBvZmZs b2FkIGZpZWxkIGluIHRoZSBldGhkZXYgZGF0YSAod2hpY2ggd2VpcmRseSBtZWFucyB3aGF0DQo+ IHdhcyBjb25maWd1cmVkIGJ5IHRoZSBQTUQpLg0KPiANCj4gU2VlIGFib3ZlLg0KPiANCj4gPj4+ Pj4gSXQgbG9va3MgbWUgbGlrZSBQTUQgbGltaXRhdGlvbiB3aGljaCBjYW4gYmUgc29sdmVkIGJ5 IDINCj4gPj4+Pj4gb3B0aW9uczogMS4gQ2FwYWJpbGl0eSBpbmZvcm1hdGlvbiB3aGljaCBzYXkg dG8gdGhlIGFwcCB3aGF0DQo+ID4+Pj4+IG9mZmxvYWQgbWF5IG5vdCBiZSBkaXNhYmxlZC4NCj4g Pj4+Pj4gMi4gQWRkIGxpbWl0YXRpb24gaW4gdGhlIFBNRCBkb2N1bWVudGF0aW9uIGFuZCBwcmlu dCB3YXJuaW5nXGVycm9yDQo+ID4+Pj4+IG1hc3NhZ2UgZnJvbSB0aGUgUE1ELg0KPiA+Pj4+DQo+ ID4+Pj4gWWVzLCByaWdodCBub3cgd2UgYXJlIGdvaW5nIHdheSAoMikuDQo+ID4+Pj4NCj4gPj4+ Pj4+Pj4+IElmIGFwcGxpY2F0aW9uIGNhbiBrbm93IHRoZSBsaW1pdGF0aW9uIG9mIG9mZmxvYWRz IGRpc2FibGluZw0KPiA+Pj4+Pj4+Pj4gKGZvciBleGFtcGxlIHRvDQo+ID4+Pj4+Pj4+IHJlYWQg Y2FwYWJpbGl0eSBvbiBpdCkNCj4gPj4+Pj4+Pj4+IFRoZSBhcHBsaWNhdGlvbiBoYXMgYWxsIGlu Zm9ybWF0aW9uIHRvIHRha2UgZGVjaXNpb25zLg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBB bnl3YXksIHRoZSBwYXRjaCBqdXN0IHRyaWVzIHRvIGhpZ2hsaWdodCBkaWZmZXJlbmNlIG9mDQo+ ID4+Pj4+Pj4+Pj4gYXBwbGllZCBmcm9tIHJlcXVlc3RlZC4gU28sIGl0IGlzIGEgc3RlcCBmb3J3 YXJkLiBBbHNvLCB0aGUNCj4gPj4+Pj4+Pj4+PiBwYXRjaCB3aWxsIGZhaWwgY29uZmlndXJlIGlm IGFuIG9mZmxvYWQgaXMgcmVxdWVzdGVkLCBidXQgbm90DQo+ID4+Pj4+Pj4+IGVuYWJsZWQuDQo+ ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IENhbid0IGl0IGJyZWFrIGFwcGxpY2F0aW9ucz8g V2h5IGRvZXMgdGhlIGRldmljZSBleHBvc2UNCj4gPj4+Pj4+Pj4+Pj4+IHVuc3VwcG9ydGVkIG9m ZmxvYWRzIGluIGRldiBpbmZvPyBEb2VzIGl0IHVwZGF0ZSB0aGUNCj4gPj4+Pj4+Pj4+Pj4+IHJ1 bm5pbmcgb2ZmbG9hZCB1c3luY2hyb25pY2FsbHk/IFJhY2U/DQo+ID4+Pj4+Pj4+Pj4+PiBDYW4g eW91IGV4cGxhaW4gYWxzbyB5b3VyIHNwZWNpZmljIHVzZSBjYXNlPw0KPiA+Pj4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+IE1hdGFuDQo+ID4+Pj4+Pj4NCj4gPj4+ Pj4NCj4gPj4+DQo+ID4NCg0K