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 881E5A0352; Sun, 3 Nov 2019 11:22:52 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DF0D71D43F; Sun, 3 Nov 2019 11:22:51 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00040.outbound.protection.outlook.com [40.107.0.40]) by dpdk.org (Postfix) with ESMTP id 104F01D426 for ; Sun, 3 Nov 2019 11:22:51 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hIZ0YIFis0JbPJO6/vVumqD1BqewZN83dkO5pNiCvsC4XXXErMu9uCZ8V8KqBd46ecZSObLJxSmAp/+hN+Xy20IN/by4n8ibKIF+Dsw4DTzHIRAlXjD1c+c2OciHtkz7jgDv+XIL45TUMuc0fxqnMsNuwATNcVc7cnAJwAiipuqFYwS2HPVXIgngt0AWW1MdkYo/ObjqQ1cprY3Cpked56yxAOrcgxLN8NFJS8MNK+euX20g7ISZvG4+6R5KpCFg44EuJiwe6sXKcVFZMnukztTu3WEI55Vpxge5pDa8/o/hmZYQIjLbHe9PpTqfeUlsn3sxDHmPZ5MWIl9UWFBmww== 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=Y9YxNZzmDxvSsMfHv2dcYG4RS6XRjl2YG0e4Mk3jm/k=; b=TtBupbLlAWvuLmkrdp5wlfQ5bQpZ731C0n1BgP2Xk0uKqNGPhuUGHgg6BytwN5Il+UoOX0j6rwD2Jh433l9mUIVjJ05CQNQinoZgITQs85/wJK+4KwcHcat5Ja+G2HETQRx7N7k/XfV2+GZzT3hohArbbxi5lgP5oWPd85azSLUqTQXmQWAXSzeHXRZntqp5KB2rJntkIojHIIIp4QHrgSQQNTD+v60I0ALxO4w8O0ylsBTKSHOS668JUwOLXcSyHznkoiQSAAdcGHa2BG5c0GKDAE9Ijouew7lWILAEhv5Bg7QyPJWS7LLbGpgZy8oMX1bBNzSNaTuIYc0i7I22yQ== 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=Y9YxNZzmDxvSsMfHv2dcYG4RS6XRjl2YG0e4Mk3jm/k=; b=M2ir49sJXC5ZX8QcDopgU2RjLzLLszPDCWy2tBq6M/s7zSEPJPcE7SLkzgSsFXf+OXgtxxrFxk3wK3U/MD2UKObnTQ2ez16iTCF1wsq+OcHCeLqeCnyY/zQMOpFJqyAt68B5GQWy0ppKbTDXQNTHJDzNwf4P3rKqlLKVXRJq7yQ= Received: from AM4PR05MB3425.eurprd05.prod.outlook.com (10.171.190.15) by AM4PR05MB3476.eurprd05.prod.outlook.com (10.171.187.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Sun, 3 Nov 2019 10:22:50 +0000 Received: from AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::70a7:a312:cbc6:d178]) by AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::70a7:a312:cbc6:d178%7]) with mapi id 15.20.2387.028; Sun, 3 Nov 2019 10:22:50 +0000 From: Ori Kam To: Andrew Rybchenko , Thomas Monjalon CC: "dev@dpdk.org" , "pbhagavatula@marvell.com" , "ferruh.yigit@intel.com" , "jerinj@marvell.com" , John McNamara , Marko Kovacevic , Adrien Mazarguil , "david.marchand@redhat.com" , "ktraynor@redhat.com" Thread-Topic: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload Thread-Index: AQHVjYZl8q5FcpyIsESPczhozmhwdadwBcuggASAAICAAFQEgIABW/IAgAMH4uA= Date: Sun, 3 Nov 2019 10:22:49 +0000 Message-ID: References: <20191025152142.12887-1-pbhagavatula@marvell.com> <3078181.9TjvbByyqQ@xps> 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=orika@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: 837f9321-f8ac-4bdf-6f15-08d76047c774 x-ms-traffictypediagnostic: AM4PR05MB3476: x-ms-exchange-purlcount: 1 x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0210479ED8 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(136003)(366004)(396003)(39850400004)(376002)(51914003)(51444003)(189003)(199004)(13464003)(14454004)(66946007)(4326008)(71190400001)(71200400001)(45080400002)(8676002)(5660300002)(3846002)(81156014)(81166006)(86362001)(15650500001)(6246003)(76176011)(99286004)(478600001)(7696005)(6116002)(76116006)(14444005)(305945005)(66476007)(66556008)(64756008)(66446008)(74316002)(8936002)(256004)(486006)(102836004)(186003)(53546011)(966005)(7416002)(66066001)(229853002)(26005)(2906002)(316002)(7736002)(55016002)(6436002)(9686003)(52536014)(6506007)(476003)(6306002)(446003)(110136005)(11346002)(25786009)(54906003)(33656002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB3476; H:AM4PR05MB3425.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R+GqNWHivvgMYoKtqwObosSr2aRSkfIfhrVEuiPrpA873T3d+AdJjReIKCLDC/xG/Lz2BYF61gjLwLDQraUyVEjM8bimWmHVcfL2QvT8gGOQIsizV+p/Y3MPuhWgeMqcgDz7JwPoA/sxfw5kEAXJuYj1gZPVdtGAmX8af5mGCtuHRY038PQSZ2ctJ5hw9JK3IYA+gOCQOg6TR4bbjxAYy/wJODDeVryCKmTyTB0uDZqL6w9UAnw++D5wRs4wMuGbxJc2uQhhWnm/SV4mkzkANoNjDYDEahlFXAFUG2KsCbJowbSHNSyLwDCYlfmNtLBgRH6P29GMKDu065f0I7At4N0kqIsGKI4c97zfd9uogENYIYs9W4TK3FXXbAJBynoEKOc7nvkJFL828JI7kZASOwhwxFoBl7f3DjmTDDDjwGtY8ZZvydk4lYXbnklahm769JMHWf1TIXLtzJ9djMT0CUBG+WCNK4N4m4NfkyJcTzI= 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: 837f9321-f8ac-4bdf-6f15-08d76047c774 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2019 10:22:49.9726 (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: /Ym83kwmg9kxscJfvKjVNAXMGGus1AP58Axu6rmHkr9nqNbHGEe5exitpv2Z7wWX10ss7UO6a7bC5rzTlUL8KA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB3476 Subject: Re: [dpdk-dev] [PATCH 1/2] ethdev: add flow action type update as an offload 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" SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxkZXYtYm91 bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIEFuZHJldyBSeWJjaGVua28NCj4gU2VudDogRnJp ZGF5LCBOb3ZlbWJlciAxLCAyMDE5IDE6MzUgUE0NCj4gVG86IFRob21hcyBNb25qYWxvbiA8dGhv bWFzQG1vbmphbG9uLm5ldD4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgT3JpIEthbSA8b3Jpa2FAbWVs bGFub3guY29tPjsNCj4gcGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tOyBmZXJydWgueWlnaXRAaW50 ZWwuY29tOyBqZXJpbmpAbWFydmVsbC5jb207IEpvaG4NCj4gTWNOYW1hcmEgPGpvaG4ubWNuYW1h cmFAaW50ZWwuY29tPjsgTWFya28gS292YWNldmljDQo+IDxtYXJrby5rb3ZhY2V2aWNAaW50ZWwu Y29tPjsgQWRyaWVuIE1hemFyZ3VpbA0KPiA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+OyBk YXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOw0KPiBrdHJheW5vckByZWRoYXQuY29tDQo+IFN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAxLzJdIGV0aGRldjogYWRkIGZsb3cgYWN0aW9uIHR5 cGUgdXBkYXRlIGFzIGFuDQo+IG9mZmxvYWQNCj4gDQo+IE9uIDEwLzMxLzE5IDU6NDkgUE0sIFRo b21hcyBNb25qYWxvbiB3cm90ZToNCj4gPiAzMS8xMC8yMDE5IDEwOjQ5LCBBbmRyZXcgUnliY2hl bmtvOg0KPiA+PiBPbiAxMC8yOC8xOSA1OjAwIFBNLCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxh cnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiA+Pj4+IE9uIDEwLzI4LzE5IDE6NTAgUE0sIE9y aSBLYW0gd3JvdGU6DQo+ID4+Pj4+IEhpIFBhdmFuLA0KPiA+Pj4+Pg0KPiA+Pj4+PiBTb3JyeSBm b3IganVtcGluZyBpbiBsYXRlLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBJIGRvbid0IHVuZGVyc3RhbmQg d2h5IHdlIG5lZWQgdGhpcyBmZWF0dXJlLiBJZiB0aGUgdXNlciBkaWRuJ3Qgc2V0IGFueQ0KPiBm bG93DQo+ID4+Pj4gd2l0aCBNQVJLDQo+ID4+Pj4+IHRoZW4gdGhlIHVzZXIgZG9lc24ndCBuZWVk IHRvIGNoZWNrIGl0Lg0KPiA+Pj4+IFRoZXJlIGlzIHByZXR0eSBsb25nIGRpc2N1c3Npb24gb24g dGhlIHRvcGljIGFscmVhZHksIHBsZWFzZSwgcmVhZCBbMV0uDQo+ID4+Pj4NCj4gPj4+PiBbMV0N Cj4gPj4+Pg0KPiBodHRwczovL2V1cjAzLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29t Lz91cmw9aHR0cCUzQSUyRiUyRmluYm94LmRwZGsNCj4gPj4+PiAub3JnJTJGZGV2JTJGMzI1MWZj MDAtNzU5OC0xYzRmLWZjMmEtDQo+ID4+Pj4NCj4gMzgwMDY1ZjBhNDM1JTQwc29sYXJmbGFyZS5j b20lMkYmYW1wO2RhdGE9MDIlN0MwMSU3Q29yaWthJTQwbWVsbGFuDQo+ID4+Pj4NCj4gb3guY29t JTdDZTNmNzc5ZDRiN2M0NGI2ODJkNjUwOGQ3NWI5ZDg2ODglN0NhNjUyOTcxYzdkMmU0ZDliYTZh NA0KPiA+Pj4+DQo+IGQxNDkyNTZmNDYxYiU3QzAlN0MwJTdDNjM3MDc4NjA0NDM5MDE5MTE0JmFt cDtzZGF0YT1zWW9vYyUyRlEzQw0KPiA+Pj4+IGtVWkczZ1JGUGxacm04eE1mTUI5Z09XV2V4NVlJ a1doTWMlM0QmYW1wO3Jlc2VydmVkPTANCj4gPj4+Pg0KPiA+Pj4gVGhhbmtzIGZvciB0aGUgbGlu aywgaXQgd2FzIGFuIGludGVyZXN0aW5nIHJlYWRpbmcuDQo+ID4+Pg0KPiA+Pj4+PiBBbHNvIGl0 IGJyZWFrcyBjb21wYXRpYmlsaXR5Lg0KPiA+Pj4+IFllcywgdGhlcmUgaXMgYSBkZXByZWNhdGlv biBub3RpY2UgZm9yIGl0Lg0KPiA+Pj4+DQo+ID4+Pj4+IElmIG15IHVuZGVyc3RhbmRpbmcgaXMg Y29ycmVjdCB0aGUgTUFSSyBmaWVsZCBpcyBnb2luZyB0byBiZSBtb3ZlZCB0bw0KPiA+Pj4+IGR5 bmFtaWMgZmllbGQsIGFuZCB0aGlzDQo+ID4+Pj4+IHdpbGwgYmUgd2F5IHRvIGNvbnRyb2wgdGhl IHVzZSBvZiBNQVJLLg0KPiA+Pj4+IFllcyBhbmQgSSB0aGluayB0aGUgb2ZmbG9hZCBzaG91bGQg dXNlZCB0byByZXF1ZXN0IGR5bmFtaWMNCj4gPj4+PiBmaWVsZCByZWdpc3Rlci4gU2ltaWxhciB0 byB0aW1lc3RhbXAgaW4gZHluYW1pYyBtYnVmIGV4YW1wbGVzLg0KPiA+Pj4+IEFwcGxpY2F0aW9u IHJlcXVlc3RzIFJ4IHRpbWVzdGFtcCBvZmZsb2FkLCBQTUQgcmVnaXN0ZXJzIGR5bmFtaWMNCj4g Pj4+PiBmaWxlZC4NCj4gPj4+Pg0KPiA+Pj4gSW4gZ2VuZXJhbCBpdCB3YXMgZGVjaWRlZCB0aGF0 IHRoZXJlIHdpbGwgYmUgbm8gY2FwYWJpbGl0eSBmb3IgcnRlX2Zsb3cgQVBJLA0KPiBkdWUgdG8g dGhlIGZhY3QgdGhhdA0KPiA+Pj4gaXQgaXMgaW1wb3NzaWJsZSB0byBzdXBwb3J0IGFsbCBwb3Nz aWJsZSBjb21iaW5hdGlvbnMuIEZvciBleGFtcGxlIGEgUE1EDQo+IGNhbiBhbGxvdyBtYXJrIG9u IFJ4DQo+ID4+PiB3aGlsZSBub3Qgc3VwcG9ydGluZyBpdCBvbiBlLXN3aXRjaCAodHJhbnNmZXIp IG9yIG9uIFR4Lg0KPiA+Pj4gVGhlIG9ubHkgd2F5IHRvIHZhbGlkYXRlIGl0IGlzIHZhbGlkYXRp bmcgYSBmbG93LiBJZiB0aGUgZmxvdyBpcyB2YWxpZGF0ZWQgdGhlbg0KPiB0aGUgYWN0aW9uIGlz IHN1cHBvcnRlZC4NCj4gPj4+IFRoaXMgaXMgdGhlIGV4YWN0IGFwcHJvYWNoIHdlIGFyZSBpbXBs ZW1lbnRpbmcgd2l0aCB0aGUgTWV0YSBmZWF0dXJlLg0KPiA+Pj4gU28gYXMgSSBzZWUgaXQsIHRo ZSBsb2dpYyBzaG91bGQgYmUgc29tZXRoaW5nIGxpa2UgdGhpczoNCj4gPj4+IDEuIHJ1biBkZXZj b25maWd1cmUuDQo+ID4+PiAyLiBhbGxvY2F0ZSBtZW1wb29sDQo+ID4+PiAzLiBzZXR1cCBxdWV1 ZXMuDQo+ID4+PiA0LiBydW4gcnRlX2Zsb3dfdmFsaWRhdGUgd2l0aCBtYXJrIGFjdGlvbi4NCj4g Pj4+IElmIGZsb3cgdmFsaWRhdGVkIHJlZ2lzdGVyIG1hcmsgaW4gbWJ1ZiBlbHNlIGRvbid0IHJl Z2lzdGVyLg0KPiA+Pj4gSWYgdGhlIFBNRCBuZWVkcyBzb21lIHNwZWNpYWwgc2V0dGluZyBmb3Ig bWFyayBoZSBjYW4gdXBkYXRlIHRoZSBxdWV1ZQ0KPiB3aGVuIGhlIGdldHMgdGhlIGZsb3cgdG8g dmFsaWRhdGUuDQo+ID4+PiBBdCB0aGlzIHN0YWdlIHRoZSBkZXZpY2UgaXMgbm90IHN0YXJ0ZWQg c28gYW55IGNoYW5nZSBpcyBhbGxvd2VkLg0KPiA+PiBJIHVuZGVyc3RhbmQgd2h5IHRoZXJlIGlz IGNhcGFiaWxpdHkgcmVwb3J0aW5nIGluIHJ0ZV9mbG93IEFQSSB3aGVuDQo+ID4+IGl0IGlzIGFi b3V0IHJ0ZV9mbG93IEFQSSBpdHNlbGYuIFRoZSBwcm9ibGVtIGFwcGVhcnMgd2hlbiBydGVfZmxv dw0KPiA+PiBBUEkgc3RhcnRzIHRvIGludGVyYWN0IHdpdGggb3RoZXIgZnVuY3Rpb25hbGl0eS4N Cj4gPj4gV2hpY2ggcGF0dGVybi9hY3Rpb25zIHNob3VsZCBhcHBsaWNhdGlvbiB0cnkgaW4gb3Jk ZXIgdG8gZGVjaWRlDQo+ID4+IGlmIE1BUksgaXMgc3VwcG9ydGVkIG9yIG5vdC4NCj4gPiBXaHkg YXBwbGljYXRpb24gc2hvdWxkIGRlY2lkZSB3aGV0aGVyIE1BUksgaXMgc3VwcG9ydGVkIG9yIG5v dD8NCj4gPiBJbiBteSB1bmRlcnN0YW5kaW5nIGl0IGNhbiBiZSBlbmFibGVkIGR5bmFtaWNhbGx5 IHBlciBmbG93Lg0KPiANCj4gWWVzLCBpdCBpcyBwZXIgZmxvdyByaWdodCBub3csIGJ1dCBpdCBp cyByZXNvdXJjZSBjb25zdW1pbmcgdG8NCj4gbWFrZSBhIGZsb3cgcnVsZSBqdXN0IHRvIGRpc2Nh cmQgaXQgYW5kIHdvcmsgd2l0aG91dCBvZmZsb2FkLg0KPiBUaGUgYXBwbGljYXRpb24gYWxyZWFk eSBzdWZmZXJzIGFuZCBhdHRlbXB0IHRvIHVzZSBoYXJkd2FyZQ0KPiBvZmZsb2FkIG1ha2VzIGl0 IHN1ZmZlciBldmVuIG1vcmUuIE9mIGNvdXJzZSwgaGFyZHdhcmUgb2ZmbG9hZA0KPiBpbiBhcHBs aWNhdGlvbiBtYXkgYmUgc2ltcGx5IGdsb2JhbGwgZGlzYWJsZWQsIGJ1dCBwcmVzZW5jZSBvZg0K PiBNQVJLIG9mZmxvYWQgYWxsb3dzIHRvIGRvIGl0IGR5bmFtaWNhbGx5IGJhc2VkIG9uIG9mZmxv YWQNCj4gcmVwb3J0ZWQgYnkgUE1ELg0KPiANCj4gQWxzbyBJIHRoaW5rIHRoYXQgUWkgaGFzIGEg Z29vZCBleGFtcGxlIGZvciB2UE1EIHdoeQ0KPiBNQVJLIG9mZmxvYWQgd291bGQgYmUgdXNlZnVs Lg0KPiANCg0KSSBkb24ndCB0aGluayB0aGF0IGNyZWF0aW5nIGEgc2ltcGxlIGZsb3cgZHVyaW5n IHN0YXJ0dXAgaXMgcmVzb3VyY2UgY29uc3VtaW5nLg0KSSB0aGluayBhcyB3ZSBtb3ZlIG1vcmUg YW5kIG1vcmUgdG8gcnRlX2Zsb3cgd2UgY2FuJ3QgY29udGludWUgdXNpbmcgb2ZmbG9hZHMuDQpU aGUgZmFjdCB0aGF0IG9uZSBQTUQgZG9lc24ndCBzdXBwb3J0IG1hcmsgZmlyc3Qgc2hvdWxkIGJl IGxpc3RlZCBpbiBhIHJlbGVhc2Ugbm90ZXMsDQpJbiBRaSBleGFtcGxlIHRoZSBhcHBsaWNhdGlv biBjYW4gc3RhcnQgd2l0aCBpdCdzIHByZWZlcnJlZCBQTUQgYW5kIHRlc3QgaWYgaXRzIHN1cHBv cnQgdGhlIG1hcmsgYWN0aW9uLA0KaWYgbm90IHRyeSBvdGhlciBQTUQgb3IgdXNlIHNvbWUgZmFs bGJhY2suIFRoaW5rIGFib3V0IGl0IGxpa2UgdGhpcywgYXNzdW1lIHRoYXQgb25lIFBNRCBzdXBw b3J0IHNvbWUgb3RoZXINCnJ0ZV9mbG93IHdoaWxlIHRoZSBzZWNvbmQgUE1EIGRvZXNuJ3Qgc3Vw cG9ydCBpdC4gc28gdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBkZWNpZGUgd2hpY2ggaXMgbW9yZSBp bXBvcnRhbnQNCnRvIGl0IGFuZCBlbmFibGUgdGhlIGJlc3QgUE1ELg0KDQo+ID4+IFRoZSByaWdo dCBhbnN3ZXIgaXMgYSBwYXR0ZXJuL2FjdGlvbg0KPiA+PiB3aGljaCB3aWxsIGJlIHJlYWxseSB1 c2VkLCBidXQgd2hhdCB0byBkbyBpZiB0aGVyZSBhcmUgbWFueQ0KPiA+PiBjb21iaW5hdGlvbnMg b3IgaWYgdGhlc2UgY29tYmluYXRpb25zIGFyZSBub3Qga25vdyBpbiBhZHZhbmNlLg0KPiA+PiBN aW5pbWFsPyBCdXQgSSBlYXNpbHkgaW1hZ2luZSBjYXNlcyB3aGVuIG1pbmltYWwgaXMgbm90IHN1 cHBvcnRlZCwNCj4gPj4gYnV0IG1vcmUgY29tcGxleCByZWFsIGxpZmUgcGF0dGVybnMgYXJlIHN1 cHBvcnRlZC4NCj4gPj4NCj4gPj4gVGhlIG1haW4gaWRlYSBiZWhpbmQgdGhlIG9mZmxvYWQgaXMg YXMgbXVjaCBhcyB5b3Uga25vdyBpbiBhZHZhbmNlDQo+ID4+IGFzIG11Y2ggeW91IGNhbiBvcHRp bWl6ZSB3aXRob3V0IG92ZXJjb21wbGljYXRpbmcgZHJpdmVycyBhbmQgSFcuDQo+ID4+DQo+ID4+ IEluIHRoZSBjYXNlIG9mIE9WUywgYWJzZW5jZSBNQVJLIG9mZmxvYWQgd291bGQgbWVhbiB0aGF0 IE9WUw0KPiA+PiBzaG91bGQgbm90IGV2ZW4gdHJ5IHRvIHVzZSBwYXJ0aWFsIG9mZmxvYWQgZXZl biBpZiBpdCBpcyBlbmFibGVkLg0KPiA+PiBTbywgbm8gZWZmb3J0cyBhcmUgcmVxdWlyZWQgdG8g dHJ5IHRvIGNvbnZlcnQgZmxvdyBpbnRvIHBhdHRlcm4gYW5kDQo+ID4+IHZhbGlkYXRlIHRoZSBm bG93IHJ1bGUuDQo+ID4gVGhhdCdzIGFuIGludGVyZXN0aW5nIGZlZWRiYWNrLg0KPiA+IEkgd291 bGQgbGlrZSB0byB1bmRlcnN0YW5kIHdoeSBPVlMgY2Fubm90IGFkYXB0IGl0cyBkYXRhcGF0aCBv biBkZW1hbmQNCj4gPiBwZXIgcG9ydCwgcGVyIHF1ZXVlIGFuZCBwZXIgZmxvdz8NCj4gDQo+IEkg Z3Vlc3MgdGhlcmUgaXMgYSBtaXN1bmRlcnN0YW5kaW5nIGhlcmUuIFdoYXQgSSdtIHRyeWluZyB0 byBzYXkNCj4gaXMgdGhhdCBpbnRyb2R1Y3Rpb24gb2YgTUFSSyBvZmZsb2FkIHdvdWxkIG1ha2Ug Y29kZSBhIGJpdCBtb3JlDQo+IHNpbXBsZSBhbmQgZWZmaWNpZW50LiBCYXNpY2FsbHkgaXQgd291 bGQgYmUgcG9zc2libGUgdG8gZW5hYmxlDQo+IHNvLWNhbGxlZCBoYXJkd2FyZSBvZmZsb2FkIGlu IE9WUyBieSBkZWZhdWx0LCBidXQgZmluYWxseSBtYWtlDQo+IGEgZGVjaXNpb24gcGVyIHBvcnQg YmFzZWQgb24gTUFSSyBvZmZsb2FkIGF2YWlsYWJpbGl0eQ0KPiAoc2hvdWxkIGl0IHRyeSB0byBt YWtlIHJ0ZV9mbG93IHJ1bGUgYnkgZmxvdyBhbmQgaW5zZXJ0IGl0PykNCg0KTGlrZSBJIHNhaWQg dGhlIFBNRCBjYW4gY2hlY2sgaWYgaXQgbWFyayBpcyBhdmFpbCBpbiB0aGUgYnVmZi4gU28gaGUg Y2FuIHNlbGVjdGVkIHRoZQ0KYmVzdCBmdW5jdGlvbi4NCg0KQmVzdCwNCk9yaQ0K