From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0089.outbound.protection.outlook.com [104.47.1.89]) by dpdk.org (Postfix) with ESMTP id 3769D1B767 for ; Wed, 31 Jan 2018 16:20:05 +0100 (CET) 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; bh=cFO6K0oyR/nDRT2pMmRBa8/uuI0FdYZAWvZrojzAkkc=; b=VEnrIkB1H82FaFDCPg9BCre0v4srtyT/D808rrCGbNlMrWLgza1ldComDE/TWTXka5BRpwn0vu4kMW+F6SicDqKLNn/s1B2eTvl9++j7vLrBZPCITPKpzRZNSGLsz7Wutsl/ToEpXoSn05QVcnB3cEJLs5X9Igg7Xo/V04UWFP4= Received: from VI1PR05MB1678.eurprd05.prod.outlook.com (10.165.235.152) by VI1PR05MB1534.eurprd05.prod.outlook.com (10.164.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Wed, 31 Jan 2018 15:20:03 +0000 Received: from VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::405b:2710:4559:10f7]) by VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::405b:2710:4559:10f7%14]) with mapi id 15.20.0464.012; Wed, 31 Jan 2018 15:20:03 +0000 From: "Xueming(Steven) Li" To: Thomas Monjalon CC: "Ananyev, Konstantin" , Olivier MATZ , "dev@dpdk.org" , "Wu, Jingjing" , Shahaf Shuler , Yongseok Koh , "Yigit, Ferruh" Thread-Topic: [dpdk-dev] [PATCH v2 1/5] ethdev: introduce Tx generic tunnel offloads Thread-Index: AQHTmggC4X8sEDOiS0mSuRrevXSLr6OOGWqw Date: Wed, 31 Jan 2018 15:20:03 +0000 Message-ID: References: <20180109141110.146250-2-xuemingl@mellanox.com> <2601191342CEEE43887BDE71AB97725890565D01@IRSMSX103.ger.corp.intel.com> <3030421.JaM4VfFdR3@xps> In-Reply-To: <3030421.JaM4VfFdR3@xps> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-originating-ip: [114.83.161.171] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB1534; 6:K5V7+CPjeqOC5Imt5PsX086zmnhTmvT6fp3NfTo6rvSClltKBMBWNDtIXG9Ycou9g9M2Rqye7q4HIMbiDGlL5ca1LhpDCxoS4odkQaSiWOj9LKTpSCcn3cjvqxdkLJJJ3GuhNFwnMqqO0BbiAAXWesFFNzNef5536DZXpSO+bYg2O0K03WIs6B+Scoci1JHrJlqhQEtYL8XxNTF/HdNW5UgBGUfxE37hSef6u+8jwEuxyVKkU5FtIe8R1ZfLdTBeN5KbQV0iP5TlZIcrv7HGO+FZAnWmXg5xKUWkpStGJUBEdfOL++gY3y5PzilPKnC/iNCdJQByJIB8/0lpD9Roq4lrq3kw+pONVLeQzT+lJdmabUf1iyKeKS8sqgnpkXR9; 5:bUPhVtLKJg4mh8zfwtDnuVIRpa7jv2vI1EGl6BQUxAFaC9n0JWQuHdyeEeAe2eTEm2UgHZUWVnqL5In0s5k2dSsMDFAKX5BFsh1oDIcqIi6uZ1Nuex2G0pb42UeITKTB4phnRb8g01HReD15Hf5vSUJ0ct/TBEDB3FY5pBq8gbQ=; 24:U4MwspVZ0fVGEass/14t+4ySOTq9jBE5uCmxMMZxY69aU2uYwNhTGowNT/Hcx/7H0DBfvs6dg0PW9S44sU0FFWfNPDrFlTMML1MuM5ijRfw=; 7:GNBHGbSBZNYHbHcI/MZdbmWxu54pbjuH6Hbob3lpzMkHDtFbPywq1WeGGJGBsDQHEOWGaeS/WDgOhpIepB3cXCY6YSf98cs7hcYVNOI4JPjkNEv+ctHJR1yZPVY9ly8iCeZQbE2melINOWg42rTnmuPnfdQaOz0DmRJitWC2FGLcKRcEPmkfTIRLy3Ktf13wP0Q51ShFtSOgsWQGLjpTG5jcY4HeBQCpfTg1Ze+665w1ekPDxTWHkouy3unc6ns8 x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 7aa7207d-da7a-46bc-fcf3-08d568be1a36 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:VI1PR05MB1534; x-ms-traffictypediagnostic: VI1PR05MB1534: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231101)(2400082)(944501161)(3002001)(10201501046)(6055026)(6041288)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(6072148)(201708071742011); SRVR:VI1PR05MB1534; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1534; x-forefront-prvs: 056929CBB8 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(396003)(366004)(346002)(376002)(129404003)(57704003)(189003)(13464003)(199004)(26005)(305945005)(229853002)(186003)(68736007)(53936002)(9686003)(2900100001)(81166006)(81156014)(8676002)(316002)(6436002)(105586002)(5250100002)(59450400001)(33656002)(76176011)(6246003)(2950100002)(6916009)(54906003)(74316002)(106356001)(7736002)(93886005)(97736004)(14454004)(5660300001)(25786009)(4326008)(3846002)(8936002)(478600001)(66066001)(55016002)(6506007)(6116002)(7696005)(3280700002)(102836004)(86362001)(2906002)(3660700001)(53546011)(99286004)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1534; H:VI1PR05MB1678.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: b/efjBPolPlnPmxlIum9Q1FOexpY5SF8O5TiDpGM5cdocmawF02NbD7b3T0tFOlfhb0bzUaWvJj4AU5TXKuAyQ== 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: 7aa7207d-da7a-46bc-fcf3-08d568be1a36 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2018 15:20:03.4273 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1534 Subject: Re: [dpdk-dev] [PATCH v2 1/5] ethdev: introduce Tx generic tunnel offloads 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: Wed, 31 Jan 2018 15:20:05 -0000 SGkgVGhvbWFzLA0KDQpZZXMsIHdvdWxkIHVwZGF0ZSBpbiBuZXh0IHZlcnNpb24sIHRoYW5rcyBm b3IgcmVtaW5kaW5nLg0KDQpSZWdhcmRzLA0KWHVlbWluZw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IFRob21hcyBNb25qYWxvbiBbbWFpbHRvOnRob21hc0Btb25qYWxv bi5uZXRdDQo+IFNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAzMSwgMjAxOCA0OjIxIEFNDQo+IFRv OiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNvbT4NCj4gQ2M6IEFuYW55 ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBPbGl2aWVyIE1B VFoNCj4gPG9saXZpZXIubWF0ekA2d2luZC5jb20+OyBkZXZAZHBkay5vcmc7IFd1LCBKaW5namlu Zw0KPiA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxs YW5veC5jb20+OyBZb25nc2Vvaw0KPiBLb2ggPHlza29oQG1lbGxhbm94LmNvbT47IFlpZ2l0LCBG ZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZd IFtQQVRDSCB2MiAxLzVdIGV0aGRldjogaW50cm9kdWNlIFR4IGdlbmVyaWMgdHVubmVsDQo+IG9m ZmxvYWRzDQo+IA0KPiBYdWVtaW5nLA0KPiANCj4gV2UgYWxyZWFkeSBkaXNjdXNzZWQgcHJpdmF0 ZWx5IHNvbWUgdGltZSBhZ28gYWJvdXQgdGhpcyBBUEkuDQo+IFlvdSBnb3Qgc29tZSBxdWVzdGlv bnMgZnJvbSBtZSwgZnJvbSBPbGl2aWVyIGFuZCBmcm9tIEtvbnN0YW50aW4uDQo+IFRoZSBuZXh0 IHZlcnNpb24gc2hvdWxkIGFuc3dlciB0aGUgcXVlc3Rpb25zIGFza2VkLg0KPiANCj4gV2hlbiBk ZWZpbmluZyBhbiBBUEksIHRoZSBkb3h5Z2VuIGRvY3VtZW50YXRpb24gbXVzdCBleHBsYWluIHBy ZWNpc2VseQ0KPiB3aGF0IG11c3QgYmUgc2V0LCB3aGVuIGFuZCB3aHkuDQo+IFRoZSBkb2N1bWVu dGF0aW9uIG11c3QgYmUgc3VmZmljaWVudCB0byBhbGxvdyB1c2VycyB1c2luZyBpdCwgYW5kIHRv IGFsbG93DQo+IFBNRCB3cml0ZXJzIHRvIGltcGxlbWVudCBpdC4NCj4gDQo+IEkgdGhpbmsgaXQg Y2Fubm90IGJlIHByb3Blcmx5IHJldmlld2VkIHVudGlsIHdlIGNsZWFybHkgdW5kZXJzdGFuZCB0 aGUgQVBJDQo+IGFuZCB0aGUgSFcgcmVxdWlyZW1lbnRzL2V4cGVjdGF0aW9ucy4NCj4gDQo+IEhv cGUgdGhpcyBoZWxwcyB0byB1bmRlcnN0YW5kIHdoYXQgaXMgZXhwZWN0ZWQgZm9yIGludGVncmF0 aW5nIHN1Y2ggQVBJLg0KPiANCj4gDQo+IDMwLzAxLzIwMTggMTg6NTQsIFh1ZW1pbmcoU3RldmVu KSBMaToNCj4gDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGlzIHBhdGNoIGludHJvZHVjZSBu ZXcgVFggb2ZmbG9hZHMgZmxhZyBmb3INCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGRldmljZXMg dGhhdCBzdXBwb3J0IHR1bm5lbCBhZ25vc3RpYyBjaGVja3N1bSBhbmQNCj4gVFNPIG9mZmxvYWRz Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFRoZSBz dXBwb3J0IGZyb20gdGhlIGRldmljZSBpcyBmb3IgaW5uZXIgYW5kIG91dGVyDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4gPiBjaGVja3N1bXMgb24gSVBWNC9UQ1AvVURQIGFuZCBUU08gZm9yICphbnkg cGFja2V0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiB3aXRoIHRoZSBmb2xsb3dpbmcNCj4gPiA+ ID4gPiA+ID4gZm9ybWF0KjoNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPiA8IHNvbWUgaGVhZGVycyA+IC8gW29wdGlvbmFsIElQdjQvSVB2Nl0gLw0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gW29wdGlvbmFsIFRDUC9VRFBdIC8gPHNvbWUNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiA+IGhlYWRlcnM+IC8gW29wdGlvbmFsIGlubmVyIElQdjQvSVB2Nl0gLyBb b3B0aW9uYWwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGhlYWRlcnM+IFRDUC9VRFBdDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gRm9yIGV4YW1wbGUg dGhlIGZvbGxvd2luZyBwYWNrZXRzIGNhbiB1c2UgdGhpcw0KPiBmZWF0dXJlOg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IDEuIGV0aCAvIGlwdjQgLyB1 ZHAgLyBWWExBTiAvIGlwIC8gdGNwIDIuIGV0aCAvDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBp cHY0IC8gR1JFIC8gTVBMUyAvDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBpcHY0IC8gdWRwDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBTbyBpbiB0ZXJtcyBv ZiB1c2FnZSAtIHdoYXQgaXMgdGhlIGRpZmZlcmVuY2Ugd2l0aA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+IGN1cnJlbnQgVFNPDQo+ID4gPiA+ID4gPiA+IHR5cGVzPw0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+IEtvbnN0YW50aW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUcmFkaXRpb25hbGx5LCBIVyBvbmx5IHJlY29nbml6ZSAi a25vd24iIHR1bm5lbCB0eXBlLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBkbyBUU08gY2FsY3VsYXRp b24gYmFzZWQgb24gTDMvTDQgaGVhZGVycyBrbm93biB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0 dW5uZWwgdHlwZS4gRm9yIGV4YW1wbGUsIGl0IG11c3QgYmUNCj4gPiA+ID4gPiA+ID4gPiA+ID4g TDIgaGVhZGVyIGFmdGVyIFZYTEFOLCB0aGVuIEwzLiBXaGlsZSB0aGlzIEdlbmVyaWMNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gb2ZmbG9hZGluZyBwcm92aWRlcyBpbm5lci9vdXRlciBMMy9MNCBoZWFk ZXIgaW5mbyhsZW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gYW5kDQo+ID4gPiA+ID4gPiA+ID4gPiA+ IG9mZnNldCkgdG8gSFcsIGFuZCB0aHVzIHR1bm5lbCBpbmZvIGJlY29tZSBsZXNzDQo+IGltcG9y dGFudC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gUGxlYXNlIG5vdGUgdGhlIE1QTFMgb3ZlciBHUkUg dHVubmVsIGluIGxhc3QgZXhhbXBsZQ0KPiBhYm92ZS4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPiBPaywgYnV0IEkgd29uZGVyIHdoZW4gdGhlIHVzZXIgd291bGQgbGlrZSB0 byBkbyBUU08gb24NCj4gPiA+ID4gPiA+ID4gPiA+IHR1bm5lbCBwYWNrZXQsIGZvciB0aGlzIG9m ZmxvYWQgLSB3b3VsZCBoZSBuZWVkIHRvIGRvDQo+ID4gPiA+ID4gPiA+ID4gPiBzb21ldGhpbmcg ZGlmZmVyZW50bHkgZnJvbSB3aGF0IGhlIGhhcyB0byBkbyBub3c6DQo+ID4gPiA+ID4gPiA+ID4g PiByYWlzZSBQS1RfVFhfVENQX1NFRyBhbmQgcmVsYXRlZCBmbGFncywgcmFpc2UNCj4gPiA+ID4g PiA+ID4gPiA+IGFwcHJvcHJpYXRlDQo+ID4gPiA+ID4gPiA+ID4gPiBQS1RfVFhfVFVOTkVMXyog ZmxhZywgZmlsbCBsMl9sZW4sIGwzX2xlbiwNCj4gPiA+ID4gPiA+ID4gbDRfbGVuLHRzb19zZWdz eixvdXRlcl9sMl9sZW4sb3V0ZXJfbDNfbGVuPw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFllcywgdGhlc2UgZmllbGRzIGFyZSBzdWZmaWNpZW50 IGV4Y2VwdCBQS1RfVFhfVFVOTkVMXyosDQo+ID4gPiA+ID4gPiA+ID4gbWFqb3IgdGFyZ2V0IG9m IHRoaXMgbmV3IGZlYXR1cmUgaXMgdG8gc3VwcG9ydCAidW5rbm93biINCj4gPiA+ID4gPiA+ID4g PiB0dW5uZWwgb2ZmbG9hZGluZywgaXQNCj4gPiA+ID4gPiA+ID4gc3VwcG9ydHMgImtub3duIg0K PiA+ID4gPiA+ID4gPiA+IHR1bm5lbCB0eXBlIGFzIHdlbGwuDQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+IE9rLCBidXQgdXNlciB3b3VsZCBzdGlsbCBuZWVkIHRvIHNldCBzb21lIGZsYWcg dG8gaW5kaWNhdGUNCj4gPiA+ID4gPiA+ID4gdGhhdCB0aGlzIGlzIGEgdHVubmVsIHBhY2tldCwg YW5kIGhlIHdhbnRzIFRTTyBvdmVyIGl0LCByaWdodD8NCj4gPiA+ID4gPiA+ID4gRm9yIHByZS1k ZWZpbmVkIHR1bm5lbCB0eXBlcyBpdCBjYW4gYmUgb25lIG9mDQo+ID4gPiA+ID4gPiA+IFBLVF9U WF9UVU5ORUxfKiAod2hpY2ggYWN0dWFsbHkgbWVhbnMgdGhhdCB1c2VyIHN0aWxsIGhhdmUNCj4g PiA+ID4gPiA+ID4gdG8ga25vdyB0dW5uZWwgdHlwZQ0KPiA+ID4gPiA+ID4gPiBhbnl3YXk/KSBC dXQgZm9yIHNvbWUgbm90IGRlZmluZWQgdHVubmVsIHR5cGUgLSB3aGF0IGl0IHdvdWxkDQo+IGJl Pw0KPiA+ID4gPiA+ID4gPiBLb25zdGFudGluDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gQXMgdGhpcyBmZWF0dXJlIHRhcmdldCB0byBUWCBwYXRoLCBPdXRlciBsZW5n dGggYXMgdHVubmVsDQo+ID4gPiA+ID4gPiBpbmRpY2F0aW9uLCBsZWF2ZSBpdCBlbXB0eSBpZiB0 dW5uZWwgbm90IGRlZmluZWQuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBTb3JyeSwgSSBkaWRuJ3Qg Z2V0IGl0Lg0KPiA+ID4gPiA+IFdlIG5lZWQgdG8gbGV0IFBNRCBrbm93IHRoYXQgaXQgaXMgYSB0 dW5uZWwgcGFja2V0LCByaWdodD8NCj4gPiA+ID4gPiBTbyB3ZSBkbyBuZWVkIHRvIHJhaXNlIFBL VF9UWF9UVU5ORUxfKiBmbGFnLg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEluIG15IGN1 cnJlbnQgY29kZSwgbWJ1Zi5vdXRlcl9sMl9sZW4gaXMgdXNlZCB0byB0ZXN0IHR1bm5lbCBwYWNr ZXQuDQo+ID4gPiA+IEFncmVlIGEgbmV3IHR1bm5lbCBmbGFnIHdvdWxkIGJlIGJldHRlci4NCj4g PiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBCdXQgSSB0aGluayBpdCBnb29kIHRvIGRl ZmluZSBzb21ldGhpbmcgbGlrZToNCj4gPiA+ID4gPiA+ICAJUEtUX1RYX1RVTk5FTF9HRU5FUklD ID0gUEtUX1RYX1RVTk5FTF9NQVNLDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBZZXMsIHRoYXQncyBh biBvcHRpb24sIEkgd291bGQgcHJvYmFibHkgbmFtZSBpdA0KPiBQS1RfVFhfVFVOTkVMX1VOS05P V04uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEFuZCBhIG5ldyBmbGFnIFBLVF9UWF9PVVRFUl9V RFAsIGhvdyBkbyB5b3UgdGhpbms/DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBOb3Qgc3VyZSB3aHkg ZG8gd2UgbmVlZCBpdD8NCj4gPiA+ID4gPiBIVyBzdGlsbCBuZWVkcyB0byBrbm93IG91dGVyX2w0 X3R5cGUgdG8gYmUgYWJsZSB0byB3b3JrIGNvcnJlY3RseT8NCj4gPiA+ID4NCj4gPiA+ID4gRm9y IHR1bm5lbCB0eXBlIGxpa2UgdnhsYW4sIGlmIG91dGVyIFVEUCBwcmVzZW50LCBodyBoYXMgdG8g dXBkYXRlDQo+ID4gPiA+IFVEUCBsZW5ndGggZmllbGQgZm9yIGVhY2ggVFNPIHBhY2tldCBzZWdt ZW50Lg0KPiA+ID4NCj4gPiA+IEkgdW5kZXJzdGFuZCB0aGF0LCBidXQgSSB0aG91Z2h0IHRoYXQg SFcgaXMgc21hcnQgZW5vdWdoIHRvIHBhcnNlDQo+ID4gPiB0aGUgaGVhZGVyIGFuZCByZWNvZ25p emUgb3V0ZXIgTDMvTDQgdHlwZSAgLSBhcyBpdCBpcyBhICdnZW5lcmljJw0KPiA+ID4gdHVubmVs aW5nIChzb3JyeSBJIGFtIG5vdCBmYW1pbGlhciB3aXRoIE1MWCBIVyBhdCBhbGwpLg0KPiA+DQo+ ID4gSXQgbWlnaHQgYmUgdXNlZnVsIGlmIHRoZSBvdXRlciBlbmNhcHN1bGF0aW9uIG5vdCByZWd1 bGFyLCBmb3IgZXhhbXBsZQ0KPiBNUExTLg0KPiA+DQo+ID4gPiBGcm9tIHdoYXQgeW91IHNheWlu ZyAtIHRoYXQgYXNzdW1wdGlvbiB3YXMgd3JvbmcgYW5kIHVzZXIgc3RpbGwNCj4gPiA+IG5lZWQg dG8gcHJvdmlkZSBzb21lIHBhY2tldC10eXBlIGluZm8gYXQgIGxlYXN0IGFib3V0IG91dGVyIGhl YWRlcnMsDQo+IHJpZ2h0Pw0KPiA+ID4gU28gd2hhdCBlbHNlIG5lZWQgdG8gYmUgc2V0Pw0KPiA+ ID4gUHJvYmFibHkgUEtUX1RYX09VVEVSX0lQViosIG1pZ2h0IGJlIHNvbWV0aGluZyBlbHNlPw0K PiA+DQo+ID4gU29ycnkgZm9yIHRoZSBjb25mdXNpb24sIGJlc2lkZXMgb3B0aW9uYWwgb3V0ZXIg VURQIHR5cGUsIHN0aWxsIG5lZWQNCj4gPiBQS1RfVFhfSVBWNC82IGFuZCBQS1RfVFhfT1VURVJf SVBWNC82DQoNCg==