From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50066.outbound.protection.outlook.com [40.107.5.66]) by dpdk.org (Postfix) with ESMTP id D2D555689 for ; Mon, 22 Oct 2018 15:32:04 +0200 (CEST) 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=imE5pPH2/SJEVQQKnLZfVuetcZssmfucZVae9gHY9lY=; b=qidqoAeKKNNEFgN3NFZZbxRLqj/YuG3n1qCERg1lGUKvWJbrngOUqhWGJLJbpIomnBekV1Lv1fExeSKygpPhfpz5aVtDGKu1mb0gq5LES8DacHOxP8gnzTm0pGRRqaNeyxC/Wvnk5h489gGICyT1y2dwTp1uIy7eKDlBhzWChgE= Received: from AM4PR05MB3425.eurprd05.prod.outlook.com (10.171.187.142) by AM4PR05MB3443.eurprd05.prod.outlook.com (10.171.187.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.20; Mon, 22 Oct 2018 13:32:02 +0000 Received: from AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::fdeb:3890:f0f0:2202]) by AM4PR05MB3425.eurprd05.prod.outlook.com ([fe80::fdeb:3890:f0f0:2202%4]) with mapi id 15.20.1228.035; Mon, 22 Oct 2018 13:32:02 +0000 From: Ori Kam To: Andrew Rybchenko , "wenzhuo.lu@intel.com" , "jingjing.wu@intel.com" , "bernard.iremonger@intel.com" , "ferruh.yigit@intel.com" , "stephen@networkplumber.org" , Adrien Mazarguil CC: "dev@dpdk.org" , Dekel Peled , Thomas Monjalon , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , Yongseok Koh , Shahaf Shuler Thread-Topic: [dpdk-dev] [PATCH v4 1/3] ethdev: add raw encapsulation action Thread-Index: AQHUZZjuGbhz0sxGW0u24YtB5wPlIKUjEp0AgAALlXCACCaUgIAAAVIwgAAEzgCAAAC/8A== Date: Mon, 22 Oct 2018 13:32:02 +0000 Message-ID: References: <1538917054-68283-1-git-send-email-orika@mellanox.com> <1539726023-14402-1-git-send-email-orika@mellanox.com> <1539726023-14402-2-git-send-email-orika@mellanox.com> <222de065-60c9-1bee-0359-a3f7100515c4@solarflare.com> <4c172bc9-2213-089e-0061-34028f888613@solarflare.com> In-Reply-To: <4c172bc9-2213-089e-0061-34028f888613@solarflare.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=orika@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM4PR05MB3443; 6:tmWEr5H8KQHoXGVerSVM7j9xgkD/JP8q1/Y0SQoaWpveYUHeTQnl6paj8IjQqcooW4V41AwjeUYT+GM1EfMkKooPUe6YcIT2q5J4PQR/G9BomgKA4oC32farZQSOfDRg1KJb9FpzzmgtoPULBWCdnaGxhvAzz/raVbcvK6EpHiABNfAu3KROQf6pcECigrZ6Uyd4WtseGyu3ztp0/x+7mIZR6uY08awvgQPYTcd2E9dgaGyFqGGeiEfCK94VEWzNdAxwTjRpTR2bQU1b1Msxxa/rbLasypCSJHxxkb74WXyT7EMJOHc73QaHDYooR1S1jw/A4kk7mKpoovbFBgOObBsamsbhPVsc+mUaVPT2lXpCCpxHwiJSCJqpviEau6REHCVDjFe3O8PpC8TCxH7JaUMNrx3HJhsBKMIQLsScPu9Cl7irDLmsGFuV99LgZ3I62BfeHiVPRXQOFnosqPk04w==; 5:lXiu31QStOG/uYf5gcfN65+JJfy5yeN7wRSbzgO8JVorn6aUi6UGPbWKe99IcIDGpZJq11PluJVd74LltGWa8ZSWqR7dSANWMLBKZ3aRx7XoToAvD4SfjTdUIVIrCrBKKMIMo5ZLvkr/iWxyOSXBA6KvLmhmnwgkofcW6WRE+ek=; 7:yv3m44EGBH33nYBhbqeIXMXi5Yx9h+7LiW3DKOrsLNQ+n8u2n6OajQkOtk/rT2HvVfsJsJ2A/o6k5CDsgqr0JAqmQVnc/Jykwb4DGl+xFVKYk+aqW0SyzT39qHKp2CHVwGJIY+zEFdUS4u0GuBywSMDyZAOsRZIHRICYs6TRuWJcgX4ygaZPF5bKLYG5L513vGwR+0h6T4PIENjSyVA0KQKpZQAqwylcD3o+QzvGsos/caV4lt2GjWupWhLwYQkF x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: df81e5ca-acac-404a-ebd3-08d63822c078 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:AM4PR05MB3443; x-ms-traffictypediagnostic: AM4PR05MB3443: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr 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:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231355)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:AM4PR05MB3443; BCL:0; PCL:0; RULEID:; SRVR:AM4PR05MB3443; x-forefront-prvs: 08331F819E x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(366004)(346002)(396003)(376002)(136003)(199004)(189003)(13464003)(99286004)(14454004)(93886005)(305945005)(97736004)(7736002)(3846002)(107886003)(316002)(74316002)(110136005)(68736007)(33656002)(54906003)(9686003)(71190400001)(55016002)(66066001)(5660300001)(229853002)(6436002)(105586002)(106356001)(8936002)(478600001)(81156014)(81166006)(486006)(53936002)(102836004)(6506007)(7696005)(8676002)(76176011)(2900100001)(66574009)(25786009)(2501003)(7416002)(86362001)(2906002)(4326008)(256004)(11346002)(14444005)(446003)(6246003)(53546011)(71200400001)(6116002)(26005)(5250100002)(476003)(2201001)(186003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR05MB3443; H:AM4PR05MB3425.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-microsoft-antispam-message-info: B8Nd9IZDckZ2OHPdEngbiIJPK4/sUI2Q1lhQvRSb0Bkd4b/F9ZNGZy+d7m8dD9Yfj/XwtJ98XVsEZt1ZKaWZOJ+ihVbODuQwsVJJmY9CGxL+ZtoX6Y9/YpVeCXLTtp9C+6PpfK9OreA07pM+bjxBEsgrJhI77RtPXUqlqsAaIF7Gw7gNrkTfTmOpVoFpZOB5mEF/4wdQGKoaC/6Xr5IRzRtRpWUUj+sfAQc4lN6B1TvuAqTKm8XhsLifz9yO4Vg7hMgc1IiuxrPK0AB0yt027jbOExpKZ+2PlensCuulH6pX61X4wNFSfx7kRRcPhhjQ7I7RD2TPnKknZwwI57XZ4TWtj5q4JtK+LgtRJOP2KQQ= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM 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: df81e5ca-acac-404a-ebd3-08d63822c078 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2018 13:32:02.7076 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR05MB3443 Subject: Re: [dpdk-dev] [PATCH v4 1/3] ethdev: add raw encapsulation action 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, 22 Oct 2018 13:32:05 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r byA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDIy LCAyMDE4IDQ6MjggUE0NCj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IHdlbnpo dW8ubHVAaW50ZWwuY29tOw0KPiBqaW5namluZy53dUBpbnRlbC5jb207IGJlcm5hcmQuaXJlbW9u Z2VyQGludGVsLmNvbTsgZmVycnVoLnlpZ2l0QGludGVsLmNvbTsNCj4gc3RlcGhlbkBuZXR3b3Jr cGx1bWJlci5vcmc7IEFkcmllbiBNYXphcmd1aWwNCj4gPGFkcmllbi5tYXphcmd1aWxANndpbmQu Y29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBEZWtlbCBQZWxlZCA8ZGVrZWxwQG1lbGxhbm94LmNv bT47IFRob21hcyBNb25qYWxvbg0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IE7DqWxpbyBMYXJh bmplaXJvIDxuZWxpby5sYXJhbmplaXJvQDZ3aW5kLmNvbT47DQo+IFlvbmdzZW9rIEtvaCA8eXNr b2hAbWVsbGFub3guY29tPjsgU2hhaGFmIFNodWxlcg0KPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+ DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2NCAxLzNdIGV0aGRldjogYWRkIHJh dyBlbmNhcHN1bGF0aW9uIGFjdGlvbg0KPiANCj4gT24gMTAvMjIvMTggNDoxOSBQTSwgT3JpIEth bSB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQW5k cmV3IFJ5YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gPj4gU2VudDogTW9u ZGF5LCBPY3RvYmVyIDIyLCAyMDE4IDQ6MDYgUE0NCj4gPj4gVG86IE9yaSBLYW0gPG9yaWthQG1l bGxhbm94LmNvbT47IHdlbnpodW8ubHVAaW50ZWwuY29tOw0KPiA+PiBqaW5namluZy53dUBpbnRl bC5jb207IGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbTsNCj4gZmVycnVoLnlpZ2l0QGludGVs LmNvbTsNCj4gPj4gc3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IEFkcmllbiBNYXphcmd1aWwN Cj4gPj4gPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPg0KPiA+PiBDYzogZGV2QGRwZGsub3Jn OyBEZWtlbCBQZWxlZCA8ZGVrZWxwQG1lbGxhbm94LmNvbT47IFRob21hcyBNb25qYWxvbg0KPiA+ PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IE7DqWxpbyBMYXJhbmplaXJvIDxuZWxpby5sYXJhbmpl aXJvQDZ3aW5kLmNvbT47DQo+ID4+IFlvbmdzZW9rIEtvaCA8eXNrb2hAbWVsbGFub3guY29tPjsg U2hhaGFmIFNodWxlcg0KPiA+PiA8c2hhaGFmc0BtZWxsYW5veC5jb20+DQo+ID4+IFN1YmplY3Q6 IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2NCAxLzNdIGV0aGRldjogYWRkIHJhdyBlbmNhcHN1bGF0 aW9uIGFjdGlvbg0KPiA+Pg0KPiA+PiBPbiAxMC8xNy8xOCAxMTo0MyBBTSwgT3JpIEthbSB3cm90 ZToNCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+DQo+ID4+Pj4gU2VudDogV2Vk bmVzZGF5LCBPY3RvYmVyIDE3LCAyMDE4IDEwOjU2IEFNDQo+ID4+Pj4gVG86IE9yaSBLYW0gPG9y aWthQG1lbGxhbm94LmNvbT47IHdlbnpodW8ubHVAaW50ZWwuY29tOw0KPiA+Pj4+IGppbmdqaW5n Lnd1QGludGVsLmNvbTsgYmVybmFyZC5pcmVtb25nZXJAaW50ZWwuY29tOw0KPiA+PiBmZXJydWgu eWlnaXRAaW50ZWwuY29tOw0KPiA+Pj4+IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBBZHJp ZW4gTWF6YXJndWlsDQo+ID4+Pj4gPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPg0KPiA+Pj4+ IENjOiBkZXZAZHBkay5vcmc7IERla2VsIFBlbGVkIDxkZWtlbHBAbWVsbGFub3guY29tPjsgVGhv bWFzDQo+IE1vbmphbG9uDQo+ID4+Pj4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBOw6lsaW8gTGFy YW5qZWlybw0KPiA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+Ow0KPiA+Pj4+IFlvbmdzZW9r IEtvaCA8eXNrb2hAbWVsbGFub3guY29tPjsgU2hhaGFmIFNodWxlcg0KPiA+Pj4+IDxzaGFoYWZz QG1lbGxhbm94LmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjQg MS8zXSBldGhkZXY6IGFkZCByYXcgZW5jYXBzdWxhdGlvbg0KPiBhY3Rpb24NCj4gPj4+Pg0KPiA+ Pj4+IE9uIDEwLzE3LzE4IDEyOjQxIEFNLCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4+IEN1cnJlbmx0 eSB0aGUgZW5jYXAvZGVjYXAgYWN0aW9ucyBvbmx5IHN1cHBvcnQgZW5jYXBzdWxhdGlvbg0KPiA+ Pj4+IG9mIFZYTEFOIGFuZCBOVkdSRSBMMiBwYWNrZXRzIChMMiBlbmNhcHN1bGF0aW9uIGlzIHdo ZXJlDQo+ID4+Pj4gdGhlIGlubmVyIHBhY2tldCBoYXMgYSB2YWxpZCBFdGhlcm5ldCBoZWFkZXIs IHdoaWxlIEwzIGVuY2Fwc3VsYXRpb24NCj4gPj4+PiBpcyB3aGVyZSB0aGUgaW5uZXIgcGFja2V0 IGRvZXNuJ3QgaGF2ZSB0aGUgRXRoZXJuZXQgaGVhZGVyKS4NCj4gPj4+PiBJbiBhZGR0aW9uIHRo ZSBwYXJhbWV0ZXIgdG8gdG8gdGhlIGVuY2FwIGFjdGlvbiBpcyBhIGxpc3Qgb2YgcnRlIGl0ZW1z LA0KPiA+Pj4+IHRoaXMgcmVzdWx0cyBpbiAyIGV4dHJhIHRyYW5zbGF0aW9uLCBiZXR3ZWVuIHRo ZSBhcHBsaWNhdGlvbiB0byB0aGUNCj4gPj4+PiBhY3Rpb25pIGFuZCBmcm9tIHRoZSBhY3Rpb24g dG8gdGhlIE5JQy4gVGhpcyByZXN1bHRzIGluIG5lZ2V0aXZlIGltcGFjdA0KPiA+Pj4+IG9uIHRo ZSBpbnNlcnRpb24gcGVyZm9ybWFuY2UuDQo+ID4+Pj4NCj4gPj4+PiBMb29raW5nIGZvcndhcmQg dGhlcmUgYXJlIGdvaW5nIHRvIGJlIGEgbmVlZCB0byBzdXBwb3J0IG1hbnkgbW9yZQ0KPiB0dW5u ZWwNCj4gPj4+PiBlbmNhcHN1bGF0aW9ucy4gRm9yIGV4YW1wbGUgTVBMU29HUkUsIE1QTFNvVURQ Lg0KPiA+Pj4+IEFkZGluZyB0aGUgbmV3IGVuY2Fwc3VsYXRpb24gd2lsbCByZXN1bHQgaW4gZHVw bGljYXRpb24gb2YgY29kZS4NCj4gPj4+PiBGb3IgZXhhbXBsZSB0aGUgY29kZSBmb3IgaGFuZGxp bmcgTlZHUkUgYW5kIFZYTEFOIGFyZSBleGFjdGx5IHRoZQ0KPiBzYW1lLA0KPiA+Pj4+IGFuZCBl YWNoIG5ldyB0dW5uZWwgd2lsbCBoYXZlIHRoZSBzYW1lIGV4YWN0IHN0cnVjdHVyZS4NCj4gPj4+ Pg0KPiA+Pj4+IFRoaXMgcGF0Y2ggaW50cm9kdWNlIGEgcmF3IGVuY2Fwc3VsYXRpb24gdGhhdCBj YW4gc3VwcG9ydCBMMiB0dW5uZWwgdHlwZXMNCj4gPj4+PiBhbmQgTDMgdHVubmVsIHR5cGVzLiBJ biBhZGR0aW9uIHRoZSBuZXcNCj4gPj4+PiBlbmNhcHN1bGF0aW9ucyBjb21tYW5kcyBhcmUgdXNp bmcgcmF3IGJ1ZmZlciBpbm9yZGVyIHRvIHNhdmUgdGhlDQo+ID4+Pj4gY29udmVyc3Rpb24gdGlt ZSwgYm90aCBmb3IgdGhlIGFwcGxpY2F0aW9uIGFuZCB0aGUgUE1ELg0KPiA+Pj4+DQo+ID4+Pj4g SW4gb3JkZXIgdG8gZW5jYXBzdWxhdGUgTDMgdHVubmVsIHR5cGUgdGhlcmUgaXMgYSBuZWVkIHRv IHVzZSBib3RoDQo+ID4+Pj4gYWN0aW9ucyBpbiB0aGUgc2FtZSBydWxlOiBUaGUgZGVjYXAgdG8g cmVtb3ZlIHRoZSBMMiBvZiB0aGUgb3JpZ2luYWwNCj4gPj4+PiBwYWNrZXQsIGFuZCB0aGVuIGVu Y2FwIGNvbW1hbmQgdG8gZW5jYXBzdWxhdGUgdGhlIHBhY2tldCB3aXRoIHRoZQ0KPiA+Pj4+IHR1 bm5lbC4NCj4gPj4+PiBGb3IgZGVjYXAgTDMgdGhlcmUgaXMgYWxzbyBhIG5lZWQgdG8gdXNlIGJv dGggY29tbWFuZHMgaW4gdGhlIHNhbWUgZmxvdw0KPiA+Pj4+IGZpcnN0IHRoZSBkZWNhcCBjb21t YW5kIHRvIHJlbW92ZSB0aGUgb3V0ZXIgdHVubmVsIGhlYWRlciBhbmQgdGhlbg0KPiBlbmNhcA0K PiA+Pj4+IHRvIGFkZCB0aGUgTDIgaGVhZGVyLg0KPiA+Pj4+DQo+ID4+Pj4gU2lnbmVkLW9mZi1i eTogT3JpIEthbSBtYWlsdG86b3Jpa2FAbWVsbGFub3guY29tDQo+ID4+IFsuLi5dDQo+ID4+DQo+ ID4+Pj4gKw0KPiA+Pj4+ICtUaGlzIGFjdGlvbiBtb2RpZmllcyB0aGUgcGF5bG9hZCBvZiBtYXRj aGVkIGZsb3dzLiBUaGUgZGF0YSBzdXBwbGllZA0KPiBtdXN0DQo+ID4+Pj4gK2JlIGEgdmFsaWQg aGVhZGVyLCBlaXRoZXIgaG9sZGluZyBsYXllciAyIGRhdGEgaW4gY2FzZSBvZiByZW1vdmluZyBs YXllciAyDQo+ID4+Pj4gK2JlZm9yZSBpbmNhcHN1bGF0aW9uIG9mIGxheWVyIDMgdHVubmVsIChm b3IgZXhhbXBsZSBNUExTb0dSRSkgb3INCj4gPj4gY29tcGxldGUNCj4gPj4+PiArdHVubmVsIGRl ZmluaXRpb24gc3RhcnRpbmcgZnJvbSBsYXllciAyIGFuZCBtb3ZpbmcgdG8gdGhlIHR1bmVsIGl0 ZW0NCj4gaXRzZWxmLg0KPiA+Pj4+ICtXaGVuIGFwcGxpZWQgdG8gdGhlIG9yaWdpbmFsIHBhY2tl dCB0aGUgcmVzdWx0aW5nIHBhY2tldCBtdXN0IGJlIGENCj4gPj4+PiArdmFsaWQgcGFja2V0Lg0K PiA+Pj4+ICsNCj4gPj4+PiArLi4gX3RhYmxlX3J0ZV9mbG93X2FjdGlvbl9yYXdfZGVjYXA6DQo+ ID4+Pj4gKw0KPiA+Pj4+ICsuLiB0YWJsZTo6IFJBV19ERUNBUA0KPiA+Pj4+ICsNCj4gPj4+PiAr ICAgKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsNCj4gPj4+PiArICAgfCBGaWVsZCAgICAgICAgICB8IFZhbHVlICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwNCj4gPj4+PiArDQo+ICs9PT09PT09PT09PT09PT09Kz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rDQo+ID4+Pj4gKyAgIHwgYGBkYXRh YGAgICAgICAgfCBEZWNhcHN1bGF0aW9uIGRhdGEgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+ Pj4NCj4gPj4+PiBTb3JyeSwgSSd2ZSBtaXNzZWQgdGhlIHBvaW50IHdoeSBpdCBpcyBoZXJlLiBJ cyBpdCB1c2VkIGZvciBtYXRjaGluZz8NCj4gPj4+PiBXaHkgaXMgdGhlIHNpemUgaW5zdWZmaWNp ZW50Pw0KPiA+Pj4+DQo+ID4+PiBObyBpdCBpcyBub3QgdXNlZCBmb3IgbWF0Y2hpbmcgdGhpcyBp cyBvbmx5IGZvciB0aGUgZW5jYXBzdWxhdGlvbiBkYXRhLg0KPiA+Pj4gVGhlIGRhdGEgaXMgZm9y IFBNRCB0aGF0IG5lZWRzIHRvIHZhbGlkYXRlIHRoYXQgdGhleSBjYW4gZGVjYXBzdWxhdGUNCj4g Pj4+IFRoZSBwYWNrZXQsIGFuZCBvbiBzb21lIFBNRCB0aGVyZSBtaWdodCBuZWVkIHRoZSBzcGVj aWZ5IHdoaWNoIGhlYWRlcnMNCj4gPj4+IHRvIHJlbW92ZSBhbmQgbm90IGp1c3QgbnVtYmVyIG9m IGJ5dGVzLg0KPiA+PiBTb3JyeSwgYnV0IEkgc3RpbGwgZG9uJ3QgdW5kZXJzdGFuZC4gSG93IHNo b3VsZCBQTUQgb3IgSFcgdXNlIGl0Pw0KPiA+PiBJIGd1ZXNzIHRoZSBtYWluIHByb2JsZW0gaGVy ZSBpcyB0aGF0IGl0IGlzIGEgZ2VuZXJpYyBhY3Rpb24uDQo+ID4+IElmIGl0IGlzIFZYTEFOX0RF Q0FQLCBpdCB3b3VsZCBub3QgYmUgYSBwcm9ibGVtIGFuZCBuZWl0aGVyDQo+ID4+IHNpemUgbm9y IGRhdGEgd291bGQgYmUgcmVxdWlyZWQuDQo+ID4+DQo+ID4gVGhlIGRhdGEgaXMgYnVmZmVyIG9m IHRoZSBlbmNhcC9kZWNhcCBoZWFkZXJzLCBzbyB0aGUgUE1EIGNhbiBwYXJzZSB0aGUgdGhpcw0K PiBkYXRhDQo+ID4gYW5kIGNoZWNrIHRoZSB2YWxpZGl0eSBhbmQgaWYgdGhlIEhXIHN1cHBvcnRz IGl0Lg0KPiA+IFNvbWUgTklDcyB3aWxsIG5vdCB1c2UgdGhpcyBvdGhlcnMgY2FuIGNoZWNrIGlm IHRoZSB0dW5uZWwgcmVxdWVzdCBpcyB2YWxpZC4NCj4gPiBGb3IgZXhhbXBsZSBsZXQncyBhc3N1 bWUgdGhhdCBzb21lIHR1bm5lbCBlbmNhcHN1bGF0aW9uIGlzIHN1cHBvcnRlZCBvbg0KPiBzb21l IEZXIHZlcnNpb24NCj4gPiBhbmQgbm90IHN1cHBvcnRlZCBpbiBvdGhlciB2ZXJzaW9uIHNvIHRo ZSBQTUQgY2FuIGNoZWNrIHRoZSBlbmNhcHN1bGF0aW9uDQo+IGRhdGEgdG8gc2VlDQo+ID4gd2hh dCBpcyB0aGUgcmVxdWVzdGVkIHR1bm5lbCB0eXBlIGFuZCB0aGUgRlcgY2FwYWJpbGl0aWVzIHRv IHJldHVybiBzdWNjZXNzIG9yDQo+IGZhaWwuDQo+IA0KPiBPSywgSSBzZWUuIENvdWxkIHlvdSBp bXByb3ZlIHRoZSBhY3Rpb24gZGVzY3JpcHRpb24gdG8gbWFrZSBpdCBjbGVhci4NCj4gUmlnaHQg bm93IHRoZSBkZXNjcmlwdGlvbiBzYXlzIG5vdGhpbmcgYWJvdXQgaXQuDQo+IA0KDQpTdXJlIEkg d2lsbCB1cGRhdGUgaXQuDQoNCk9yaQ0KDQo=