From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0061.outbound.protection.outlook.com [104.47.1.61]) by dpdk.org (Postfix) with ESMTP id EE37A137C for ; Tue, 29 Aug 2017 09:49:03 +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; bh=BZR35UFQT9+P2uOBJZN0ttIfTQ6fBmjSVWCXp+hclzM=; b=sjOf6r5oCNmDMyibLCRDCpiFaEvTPuDaz++j5osnST58lVbR1KJJKZQvlEsRUyXStGFk8e+Pv7hhgN5jLYsPhGGiwtWDOHyzM+0pnTS9qct0ZWBvBvpRrc3Av3h9uDWcsJ/rLGt+rGhooL1WlyS5aRJRtNWcc8f5vMe9s+LCrC4= Received: from DB4PR05MB318.eurprd05.prod.outlook.com (10.242.192.13) by DB4PR05MB0880.eurprd05.prod.outlook.com (10.161.248.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1385.9; Tue, 29 Aug 2017 07:49:01 +0000 Received: from DB4PR05MB318.eurprd05.prod.outlook.com ([fe80::21dc:f809:fdf0:e297]) by DB4PR05MB318.eurprd05.prod.outlook.com ([fe80::21dc:f809:fdf0:e297%14]) with mapi id 15.01.1385.013; Tue, 29 Aug 2017 07:49:00 +0000 From: Wisam Monther To: "Hu, Jiayu" CC: "users@dpdk.org" , Raslan Darawsheh , Shahaf Shuler Thread-Topic: Unable to merge packets using GRO feature Thread-Index: AdMaTiF+8CYSsq4aQZ+8LenCiQpxYQAD6neAADXVIAAABK9KMAAAd2TQAFQNtLAAAYcosADMAwaAACXOZZAAC76hwA== Date: Tue, 29 Aug 2017 07:49:00 +0000 Message-ID: References: <20170821091347.GA94297@dpdk15.sh.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=wisamm@mellanox.com; x-originating-ip: [195.35.85.130] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB4PR05MB0880; 6:wruTZR4QW8HvOhEa9Llx/wVT8QJy6GaTDrYYCgvV7pNsSqBPKJo7fihumr1MFPxIqQQQlax88pIuGhsziz4fMamJOC6FakVQoiA/e5Ixyv5dyxUFaAOlUpThS5YB5yZex9fDBNVfuweFO4IL0wY74K3+YDixVfP1HeroRjLKexwkwpxzowe0bG/eu9KXh2kuoTjep/F8Ny3ckPueQXsTLz2Z2y8xe986vCnAwJK58CwREVhVMxQm007Wd4RNpV8qS2a6SISevH4LpMHrGRlNe8LK02VHIPPDvRBmt5zkFiQzFAhqB/Fhqf02RHLV80Fwp2s8A/dIrfXDZxb0VLGtTQ==; 5:XT8uxhxvoeEIyeb/JRkYDqTR9klnQB8mpUfAbVhaQTU+mU2f0wBuk6qCHEgD+sbV2oUmyIuP/qBhh6GQjQ4SpSa60YSdoQKYo1TnoWIsjo0KdMLO/H9nfbZE0I6b0+XY7mLf5il3CjbY9N+3yB+0xg==; 24:O8mHAmwlBbwqR/okWTEq+haEIkS05yswC4VlgrW9fcNuRfFNOVem22opReiHIfKgKV0PE47BqSWYWYhAloVWs88yctcyQkfWy9NXeQfWKlY=; 7:wx/HoKpIC06WJQSsX01ClrEQ29yEf8I9DgvOlYiz7Vy2LMWFsPOE2YN37pH9+0HWKSKqm44mzKao1j3us7nFbGRq87sZhCxDprKjC0VH90h5CTc+rWhE2WMA0iM4JlMnEtEXzhsNo41I1Q7upfS38B4GvjWoAr/2qlvFcqMc7TqdD3yHLx56e34jCR9Ad1ak7RAWONMv4w439PMDGwwfIwaKw0cvu8HIoVeTHhQRBn8= x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 21e3724b-4805-4836-a35a-08d4eeb2695e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(2017052603199)(49563074)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DB4PR05MB0880; x-ms-traffictypediagnostic: DB4PR05MB0880: x-exchange-antispam-report-test: UriScan:(278428928389397)(228905959029699); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB4PR05MB0880; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB4PR05MB0880; x-forefront-prvs: 0414DF926F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(377454003)(189002)(13464003)(24454002)(199003)(2900100001)(53546010)(106356001)(101416001)(105586002)(478600001)(189998001)(25786009)(5250100002)(5890100001)(2950100002)(6916009)(33656002)(6246003)(229853002)(110136004)(107886003)(53936002)(7696004)(97736004)(66066001)(14454004)(3280700002)(3660700001)(2906002)(6436002)(6506006)(68736007)(76176999)(54906002)(5660300001)(54356999)(345774005)(81156014)(81166006)(8676002)(50986999)(102836003)(3846002)(6116002)(93886005)(9686003)(86362001)(305945005)(4326008)(74316002)(99936001)(7736002)(8936002)(55016002)(99286003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR05MB0880; H:DB4PR05MB318.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) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2017 07:49:00.3750 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR05MB0880 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Subject: Re: [dpdk-users] Unable to merge packets using GRO feature X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Aug 2017 07:49:04 -0000 SGkgSmlheXUsDQoNCkxldCBtZSByZS1kZXNjcmliZSBteSB0b3BvbG9neSBpbiBhIGJldHRlciB3 YXksIHNlZSBhdHRhY2hlZCBpbWFnZS4NCkFuZCBpdCBpcyBjb25uZWN0ZWQgcGh5c2ljYWxseSBh cyBkZXNjcmliZWQsIGFuZCBJJ20gdXNpbmcgaXQgd2l0aCBNVFUgc2l6ZT0xNTAwIGluIG9yZGVy IHRvIG1ha2Ugc3VyZSANCkV2ZXJ5IHBvcnQgY2FuIGhhbmRsZSBpdC4NCg0KQW5kIHRoaXMgaXMg dGhlIGV4YWN0IGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgaW50ZXJmYWNlcywgc28gSSdtIHN1cmUg dGhlIHBhY2tldHMgcmVjZWl2ZWQgaW4gTklDIEIgbWFjaGluZSBCIA0KaXMgY29taW5nIGZyb20g dGhlIHRlc3RwbWQgd2l0aCBHUk8gIGVuYWJsZWQuDQoNCkJ1dCBldmVuIHNvLCBJIGludGVudGlv bmFsbHkgbWFkZSB0aGUgcGFja2V0IHNpemUgMTUwMCwgdG8gYmUgZGl2aWRlZCBpbnRvIDMgKiAo IDUwMCkgZnJhZ21lbnRzIHVzaW5nIHRoZSBUU08sIGFuZCB0aGVuIG1lcmdlZCBpbnRvIDE1MDAg cGFja2V0IGFnYWluIGluIHRoZSBHUk8uDQpTbyB0aGUgZXZlcnkgbWFjaGluZSBjYW4gbWFuYWdl IHRoaXMgbXR1IHNpemUuDQoNClRoZSB0aGluZyB0aGF0IEkgbmVlZCB0byB0ZXN0IEdSTyB3aXRo IGVhY2ggc2V0dXBzIHR5cGVzLCAiVk1zIHdpdGggQmFyZW1ldGFsIHdpdGggcGFzcyB0aHJvdWdo IHdpdGggVkZzIGV0Yy4uLiIuDQpTbyBJIG5lZWQgdG8gc2VlIHRoZSBmZWF0dXJlIHdvcmtzIG9u IGxlYXN0IHdvcmssIGl0IHdvdWxkIGJlIG5pY2UgdG8gc2VuZCBJUFY0X1RDUCBmcmFnbWVudGVk IHBhY2tldCB1c2luZyAic2NhcHksIElwZXJmIg0KQW5kIGNoZWNrIHRoZSBmd2QgcGFja2V0IGZy b20gR1JPIGRpcmVjdGx5LiANCg0KQlJzLA0KV2lzYW0gSmFkZG8NCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IEh1LCBKaWF5dSBbbWFpbHRvOmppYXl1Lmh1QGludGVsLmNvbV0g DQpTZW50OiBUdWVzZGF5LCBBdWd1c3QgMjksIDIwMTcgNDo1MSBBTQ0KVG86IFdpc2FtIE1vbnRo ZXINCkNjOiB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaDsgU2hhaGFmIFNodWxlcg0K U3ViamVjdDogUkU6IFVuYWJsZSB0byBtZXJnZSBwYWNrZXRzIHVzaW5nIEdSTyBmZWF0dXJlDQoN CkhpIFdpc2FtLA0KDQpJbiB0aGUgcGljdHVyZSBvZiB5b3VyIGV4cGVyaW1lbnQgdG9wb2xvZ3ks IEkgZ3Vlc3MgTklDIEIgaW4gdGhlIG1hY2hpbmUgQiBpcyBjb25uZWN0ZWQgd2l0aCBhbm90aGVy IGludGVyZmFjZSBwaHlzaWNhbGx5LiBJZiBzbywgdGhlIHBhY2tldHMgdGhhdCB0Y3BkdW1wIGNh cHR1cmVzIGFyZSBmcm9tIHRoZSBwaHlzaWNhbCBsaW5rLiBIb3dldmVyLCBwYWNrZXRzIGFmdGVy IEdST2VkIGFyZSBtdWx0aS1zZWdtZW50IGxhcmdlIHBhY2tldHMsIHdoaWNoIGFyZSBsYXJnZXIg dGhhbiBNVFUuIEkgYW0gbm90IHN1cmUgaWYgeW91IGhhdmUgbWFrZSBvdGhlciBjb25maWd1cmF0 aW9ucyB0byBlbmFibGUgdGhlc2UgbGFyZ2UgcGFja2V0cyB0byBwYXNzIHRoZSBwaHlzaWNhbCBs aW5rLCBhbmQgdGhlcmUgaXMganVtYm8gZnJhbWUgc2l6ZSBsaW1pdCBmb3IgZGlmZmVyZW50IE5J Q3MuIFNvIHdvdWxkIHlvdSBwbGVhc2UgdG8gY2hlY2sgdGhpcz8gQlRXLCB5b3UgY2FuIHVzZSB0 aGUgVk0gdG8gdGVzdCB0aGlzIEdSTyBmZWF0dXJlLCBzaW5jZSBsYXJnZSBwYWNrZXRzIGNhbiBh bHdheXMgcGFzcyB0byB0aGUgVk0uDQoNClRoYW5rcywNCkppYXl1DQoNCj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV2lzYW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBtZWxs YW5veC5jb21dDQo+IFNlbnQ6IE1vbmRheSwgQXVndXN0IDI4LCAyMDE3IDM6MzcgUE0NCj4gVG86 IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPg0KPiBDYzogdXNlcnNAZHBkay5vcmc7IFJh c2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbWVsbGFub3guY29tPjsgU2hhaGFmIA0KPiBTaHVsZXIg PHNoYWhhZnNAbWVsbGFub3guY29tPg0KPiBTdWJqZWN0OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBh Y2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gDQo+IEhpIEppYXl1LA0KPiANCj4gSSdtIHNvcnJ5 IGZvciBib3RoZXJpbmcgeW91LCBidXQgY291bGQgeW91IGNvbmZvcm0gdGhhdCB0aGUgZmVhdHVy ZSBpcyANCj4gd29ya2luZyBwcm9iYWJseSBCZWNhdXNlLCB3aGF0IEkgZXZlciAgZGlkLCBJIGNv dWxkbid0IGdldCB0aGUgbWVyZ2VkIA0KPiBwYWNrZXRzLg0KPiANCj4gQlJzLA0KPiBXaXNhbSBK YWRkbw0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV2lzYW0gTW9u dGhlcg0KPiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDk6MTUgQU0NCj4gVG86ICdI dSwgSmlheXUnDQo+IENjOiB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaDsgU2hhaGFm IFNodWxlcg0KPiBTdWJqZWN0OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JP IGZlYXR1cmUNCj4gDQo+IEhpLA0KPiANCj4gSSdtIHVzaW5nIE1lbGxhbm94IE5JQ3MsIGFuZCBp dCBpcyBzdXBwb3J0aW5nIHBhcnNlIHBhY2tldCB0eXBlcy4NCj4gDQo+IEJlc3QgcmVnYXJkcywN Cj4gV2lzYW0gSmFkZG8NCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IEh1LCBKaWF5dSBbbWFpbHRvOmppYXl1Lmh1QGludGVsLmNvbV0NCj4gU2VudDogVGh1cnNkYXks IEF1Z3VzdCAyNCwgMjAxNyA4OjQ3IEFNDQo+IFRvOiBXaXNhbSBNb250aGVyDQo+IENjOiB1c2Vy c0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaDsgU2hhaGFmIFNodWxlcg0KPiBTdWJqZWN0OiBS RTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gDQo+IEhpLA0K PiANCj4gQ2FuIHlvdSB0ZWxsIG1lIHdoYXQncyB0aGUgTklDIHR5cGUgb2YgdGhlIEdSTy1lbmFi bGVkIHBvcnQ/DQo+IA0KPiBTaW5jZSBHUk8gbGlicmFyeSB1c2VzIG1idWYtPnBhY2tldF90eXBl IHRvIHBhcnNlIHBhY2tldCBoZWFkZXJzLCANCj4gYXBwbGljYXRpb25zIG5lZWQgdG8gZmlsbCB0 aGlzIHZhbHVlIGJlZm9yZSBjYWxsaW5nIEdSTyByZWFzc2VtYmx5IEFQSXMuDQo+IE90aGVyd2lz ZSwgdGhlIEdSTyBjYW4ndCB3b3JrIGNvcnJlY3RseS4NCj4gDQo+IEluIGNzdW0gZm9yd2FyZGlu ZyBlbmdpbmUgb2YgdGVzdHBtZCwgcGFja2V0X3R5cGUgaXMgZmlsbGVkIGJ5IE5JQyBkcml2ZXJz Lg0KPiBUaGUgY3N1bSBmb3J3YXJkaW5nIGVuZ2luZSB3b24ndCBzZXQgdGhpcyB2YWx1ZS4gU28g aWYgeW91ciBOSUMgDQo+IGRvZXNu4oCZdCBzdXBwb3J0IHRvIHBhcnNlIHBhY2tldCB0eXBlcywg dGhlIHZhbHVlIG9mIHBhY2tldF90eXBlIGlzIDAgDQo+IGFuZCBHUk8gY2FuJ3Qgd29yayBjb3Jy ZWN0bHkuDQo+IA0KPiBCUnMsDQo+IEppYXl1DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gRnJvbTogV2lzYW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBtZWxsYW5veC5j b21dDQo+ID4gU2VudDogVHVlc2RheSwgQXVndXN0IDIyLCAyMDE3IDk6MjUgUE0NCj4gPiBUbzog SHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+DQo+ID4gQ2M6IHVzZXJzQGRwZGsub3JnOyBS YXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG1lbGxhbm94LmNvbT47IFNoYWhhZiANCj4gPiBTaHVs ZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVy Z2UgcGFja2V0cyB1c2luZyBHUk8gZmVhdHVyZQ0KPiA+DQo+ID4gWWVzIGl0IGlzLA0KPiA+IFRo ZSBmcmFnbWVudGVkIHBhY2tldHMgY29tZXMgZnJvbSBwb3J0MSAvIE5JQyBiIGZyb20gbWFjaGlu ZSBBIHRvIA0KPiA+IHBvcnQNCj4gPiAxIGluIE5JQyBBIGZvciBtYWNoaW5lIGIgU28gaXQncyBy ZWNlaXZlZCBvbiB0aGUgcG9ydCAnMScsIHdoaWNoIGlzIA0KPiA+IGNvbmZpZ3VyZWQgZ3JvIGFj dGl2ZSBvbiB0aGlzIHBvcnQuDQo+ID4NCj4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gV2lzYW0gSmFk ZG8NCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogSHUsIEpp YXl1IFttYWlsdG86amlheXUuaHVAaW50ZWwuY29tXQ0KPiA+IFNlbnQ6IFR1ZXNkYXksIEF1Z3Vz dCAyMiwgMjAxNyA0OjIxIFBNDQo+ID4gVG86IFdpc2FtIE1vbnRoZXINCj4gPiBDYzogdXNlcnNA ZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWg7IFNoYWhhZiBTaHVsZXINCj4gPiBTdWJqZWN0OiBS RTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gPg0KPiA+IEhp LA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogV2lz YW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBtZWxsYW5veC5jb21dDQo+ID4gPiBTZW50OiBUdWVz ZGF5LCBBdWd1c3QgMjIsIDIwMTcgNzowNyBQTQ0KPiA+ID4gVG86IEh1LCBKaWF5dSA8amlheXUu aHVAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IHVzZXJzQGRwZGsub3JnOyBSYXNsYW4gRGFyYXdzaGVo IDxyYXNsYW5kQG1lbGxhbm94LmNvbT47DQo+IFNoYWhhZg0KPiA+ID4gU2h1bGVyIDxzaGFoYWZz QG1lbGxhbm94LmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVyZ2UgcGFja2V0 cyB1c2luZyBHUk8gZmVhdHVyZQ0KPiA+ID4NCj4gPiA+IEhleSBKaWF5dSwNCj4gPiA+DQo+ID4g PiBUaGFuayB5b3UgZm9yIHlvdXIgcmVwbHkuDQo+ID4gPiBJIHRyaWVkIHdoYXQgeW91IHNhaWQg d2l0aCB0aGUgY3N1bSBhdCBmd2QgbW9kZS4NCj4gPiA+IEV2ZW4gc28gdGhlIEdSTyBkaWRuJ3Qg d29ya3MgZmluZS4NCj4gPiA+DQo+ID4gPiBJIGV2ZW4gdGVzdGVkIHdpdGggYSBuZXcgbWV0aG9k b2xvZ3kuDQo+ID4gPiBUd28gbWFjaGluZXMgd2l0aCB0d28gZGlmZmVyZW50IG5pYyBmb3IgZWFj aC4NCj4gPiA+IFRoZSBtZXRob2RvbG9neSB0aGF0IEkgdXNlZCB0byB0ZXN0IGl0IGlzIGRlc2Ny aWJlZCBpbiB0aGUgYXR0YWNoZWQgZmlsZS4NCj4gPiA+DQo+ID4gPiBXaGF0IEkgZGlkIGZyb20g Z3JvIHNpZGU6DQo+ID4gPiAiIiINCj4gPiA+IHRlc3RwbWQ+Z3JvIG9uIDENCj4gPg0KPiA+IERv ZXMgdGhlIHBvcnQgbnVtYmVyIG9mIE5JQyBBIGluIG1hY2hpbmUgQiBpcyAnMSc/IFdoZW4geW91 IGVuYWJsZSANCj4gPiBHUk8gZm9yIHBvcnQgJzEnLCBUZXN0cG1kIG9ubHkgdHJpZXMgdG8gbWVy Z2UgcGFja2V0cyByZWNlaXZlZCBmcm9tIHBvcnQgJzEnLg0KPiA+DQo+ID4gQlJzLA0KPiA+IEpp YXl1DQo+ID4NCj4gPiA+IFRlc3RwbWQ+c2V0IGZ3ZCBjc3VtDQo+ID4gPiBUZXN0cG1kPnN0YXJ0 DQo+ID4gPiAiIiINCj4gPiA+IEFuZCB0aGUgcGFja2V0IHdpdGggY29ycmVjdCBkc3QgbWFjLg0K PiA+ID4NCj4gPiA+IEJlc3QgcmVnYXJkcywNCj4gPiA+IFdpc2FtIEphZGRvDQo+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmlheXUgSHUgW21haWx0bzpqaWF5 dS5odUBpbnRlbC5jb21dDQo+ID4gPiBTZW50OiBNb25kYXksIEF1Z3VzdCAyMSwgMjAxNyAxMjox NCBQTQ0KPiA+ID4gVG86IFdpc2FtIE1vbnRoZXINCj4gPiA+IENjOiBUaG9tYXMgTW9uamFsb247 IHVzZXJzQGRwZGsub3JnOyBSYXNsYW4gRGFyYXdzaGVoOyBTaGFoYWYgDQo+ID4gPiBTaHVsZXIN Cj4gPiA+IFN1YmplY3Q6IFJlOiBVbmFibGUgdG8gbWVyZ2UgcGFja2V0cyB1c2luZyBHUk8gZmVh dHVyZQ0KPiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+IE9uIE1vbiwgQXVnIDIxLCAyMDE3 IGF0IDA3OjI1OjIzQU0gKzAwMDAsIFdpc2FtIE1vbnRoZXIgd3JvdGU6DQo+ID4gPiA+IEhlbGxv IEd1eXMsDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEkgaG9wZSB0aGlzIGZp bmRzIHlvdSB3ZWxsLCBJ4oCZbSB0cnlpbmcgdG8gdGVzdCB0aGUgR1JPIGZlYXR1cmUuDQo+ID4g PiA+IEJ1dCBJ4oCZbSBzdHVjayB3aXRoIHRoaXMgc2NlbmFyaW8uDQo+ID4gPiA+DQo+ID4gPiA+ IEFzIHlvdSBrbm93LCBHUk8gaXMgb25seSBzdXBwb3J0IFRDUF9JUFY0IHBhY2tldCB1bnRpbCBu b3cuDQo+ID4gPiA+DQo+ID4gPiA+IFNvIEnigJltIHRyeWluZyB0byB0ZXN0IHRoZSBiYXNpYyBm dW5jdGlvbmFsaXR5IG9mIHRoZSBmZWF0dXJlLCBhcyBmb2xsb3dpbmc6DQo+ID4gPiA+DQo+ID4g PiA+IFN0YXJ0IHRlc3RwbWQ6DQo+ID4gPiA+DQo+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4gPg0K PiA+ID4gPiAuL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2J1aWxkL2FwcC90ZXN0LXBtZC90 ZXN0cG1kIC1uIDQgIC13DQo+ID4gPiA+IDAwOjBhLjAgIC13DQo+ID4gPiA+IDAwOjA5LjAgLS0g IC0tYnVyc3Q9NjQgLS1tYmNhY2hlPTUxMiAtLXBvcnRtYXNrIDB4ZiAtaSAgDQo+ID4gPiA+IC0t dHhkPTUxMg0KPiA+ID4gPiAtLXJ4ZD01MTINCj4gPiA+ID4gLS1uYi1jb3Jlcz05ICAtLXJ4cT0y IC0tdHhxPTIgLS10eHFmbGFncz0wDQo+ID4gPiA+DQo+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4g Pg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBUaGVuIGVuYWJsZSBHUk8gYXQgdGhlIHR3byBw b3J0czoNCj4gPiA+ID4NCj4gPiA+ID4g4oCc4oCd4oCdDQo+ID4gPiA+DQo+ID4gPiA+IFRlc3Rw bWQ+Z3JvIG9uIDANCj4gPiA+ID4NCj4gPiA+ID4gVGVzdHBtZD5ncm8gb24gMQ0KPiA+ID4NCj4g PiA+IFdoZW4gdXNlIEdSTyBpbiB0ZXN0cG1kLCB0aGVyZSBhcmUgZm9sbG93aW5nIHRoaW5ncyB0 byBub3RpY2U6DQo+ID4gPg0KPiA+ID4gMS4gSW4gdGVzdHBtZCwgR1JPIGlzIHN1cHBvcnRlZCBi eSBjc3VtIGZvcndhcmRpbmcgZW5naW5lLg0KPiA+ID4gVGhlcmVmb3JlLCBwbGVhc2UgdXNlICdz ZXQgZndkIGNzdW0nIHRvIHN3aXRjaCBmb3J3YXJkaW5nIGVuZ2luZS4NCj4gPiA+DQo+ID4gPiAy LiBCeSBkZWZhdWx0LCBjc3VtIGZvcndhcmRpbmcgZW5naW5lIGNvbXB1bHNvcmlseSBjaGFuZ2Vz IA0KPiA+ID4gZXRoZXJuZXQgYWRkcmVzc2VzLiBTbyBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgTUFD IGFkZHJlc3NlcyBhcmUgY29ycmVjdC4NCj4gPiA+DQo+ID4gPiAzLiBXaGVuIGVuYWJsZSBHUk8g Zm9yIHBvcnQwLCBjc3VtIGZvcndhcmRpbmcgZW5naW5lIHdpbGwgbWVyZ2UgDQo+ID4gPiBwYWNr ZXRzIHJlY2VpdmVkIGZyb20gcG9ydDAuIElmIHRoZXJlIGFyZSBubyBwYWNrZXRzIGZyb20gcG9y dDEgdG8gDQo+ID4gPiBwb3J0MCwgeW91IGRvbid0IG5lZWQgdG8gZW5hYmxlIEdSTyBmb3IgcG9y dDEuDQo+ID4gPg0KPiA+ID4gNC4gR1JPIGxpYnJhcnkgZG9lc24ndCByZS1jYWxjdWxhdGUgY2hl Y2tzdW1zIGZvciBtZXJnZWQgcGFja2V0cy4gDQo+ID4gPiBJZiB5b3Ugd2FudCBtZXJnZWQgcGFj a2V0cyBoYXZlIGNvcnJlY3QgY2hlY2tzdW0sIHBsZWFzZSBzZWxlY3QgSFcgDQo+ID4gPiBJUCBh bmQgSFcgVENQIGNoZWNrc3VtIGNhbGN1bGF0aW9uIGZvciB0aGUgcG9ydCB3aGljaCB0aGUgbWVy Z2VkIA0KPiA+ID4gcGFja2V0cyBhcmUgdHJhbnNtaXR0ZWQgdG8gaW4gY3N1bSBmb3J3YXJkaW5n IGVuZ2luZS4NCj4gPiA+IFRoaXMgaXMgYmVjYXVzZSB0aGUgbWVyZ2VkIHBhY2tldHMgYXJlIG11 bHRpLXNlZ21lbnQgbWJ1ZnMsIGJ1dCANCj4gPiA+IGNzdW0gZm9yd2FyZGluZyBlbmdpbmUgZG9l c24ndCBzdXBwb3J0IHRvIGNhbGN1bGF0ZSBjaGVja3N1bXMgZm9yIA0KPiA+ID4gbXVsdGktc2Vn bWVudCBtYnVmcyBpbiBTVy4gU28gd2UgbmVlZCB0byBzZWxlY3QgSFcgY2hlY2tzdW0NCj4gb2Zm bG9hZGluZy4NCj4gPiA+DQo+ID4gPiBlLmcuIElmIGRhdGEgZmxvdyBpcyAicGFja2V0cyAtPiBw b3J0MCAtPiBwb3J0MSIsIGNvbW1hbmRzIHVzZWQgaW4NCj4gdGVzdHBtZDoNCj4gPiA+IAlncm8g b24gcG9ydDANCj4gPiA+IAlzZXQgZndkIGNzdW0NCj4gPiA+IAljc3VtIHNldCBpcCBodyBwb3J0 MQ0KPiA+ID4gCWNzdW0gc2V0IHRjcCBodyBwb3J0MQ0KPiA+ID4NCj4gPiA+DQo+ID4gPiBCZXNp ZGVzLCB5b3UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB5b3VyIFBNRCBkcml2ZXIgZG9lc24ndCB1 c2UgDQo+ID4gPiB2ZWN0b3IgVFggZnVuY3Rpb24sIHNpbmNlIHZlY3RvciBmdW5jdGlvbiBkb2Vz bid0IHN1cHBvcnQgY2hlY2tzdW0NCj4gb2ZmbG9hZGluZy4NCj4gPiA+DQo+ID4gPiA+DQo+ID4g PiA+IOKAnOKAneKAnQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBBbmQgdHJ5 aW5nIHRvIHNlbmQgVENQX0lQVjQgZnJhZ21lbnRlZCBwYWNrZXQg4oCccGFja2V0IHdpdGggDQo+ ID4gPiA+IGxlbmd0aA0KPiA+ID4gPiAxNTAwIGZyYWdtZW50ZWQgdG8gdGhyZWUgcGFja2V0cyBv ZiA1MDDigJ0NCj4gPiA+ID4NCj4gPiA+ID4g4oCc4oCd4oCdDQo+ID4gPiA+DQo+ID4gPiA+IHA9 RXRoZXIoc3JjPWdldF9pZl9od2FkZHIoJ2VuczEwJyksIGRzdD0NCj4gPiA+ID4gJzI0OjhBOjA3 Ojg4OjI2OjZCJykvSVAoKS9UQ1AoKQ0KPiA+ID4gPg0KPiA+ID4gPiBwLmFkZF9wYXlsb2FkKCdG JyooMTUwMCAtIGxlbihwKSkpDQo+ID4gPiA+DQo+ID4gPiA+IGZyYWdzPWZyYWdtZW50KHAsZnJh Z3NpemU9NTAwKQ0KPiA+ID4gPg0KPiA+ID4gPiBmb3IgZnJhZ21lbnQgaW4gZnJhZ3M6DQo+ID4g PiA+DQo+ID4gPiA+ICAgICAgc2VuZHAoZnJhZ21lbnQsIGlmYWNlPSdlbnMxMCcpDQo+ID4gPiA+ DQo+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBC dXQgdGhlIHRlc3RwbWQgZm9yd2FyZCB0aGUgcGFja2V0cyBhcyBpdCBpcywg4oCcIGRvZXNu4oCZ dCBkbyBhbnkgbWVyZ2XigJ0NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gVGNw ZHVtcCBhdCB0aGUgVEcgc2lkZSwNCj4gPiA+ID4NCj4gPiA+ID4gVGhlIHNlbmRpbmcgZnJhZ21l dHMgdXNpbmcgZW5zMTA6DQo+ID4gPiA+DQo+ID4gPiA+ICN0Y3BkdW1wIOKAk0kgZW5zMTAg4oCT dnZ2ZW4NCj4gPiA+ID4NCj4gPiA+ID4gMTU6NDU6MjkuMDgzNTE0IDI0OjhhOjA3Ojg4OjI2OjVi ID4gMjQ6OGE6MDc6ODg6MjY6NmIsIGV0aGVydHlwZQ0KPiA+ID4gPiBJUHY0ICgweDA4MDApLCBs ZW5ndGggNTM4OiAodG9zIDB4MCwgdHRsIDY0LCBpZCAxLCBvZmZzZXQgMCwgDQo+ID4gPiA+IGZs YWdzIFsrXSwgcHJvdG8gT3B0aW9ucyAoMCksIGxlbmd0aCA1MjQpDQo+ID4gPiA+DQo+ID4gPiA+ ICAgICAxMjcuMC4wLjEgPiAxMjcuMC4wLjE6ICBpcC1wcm90by0wIDUwNA0KPiA+ID4gPg0KPiA+ ID4gPiAxNTo0NToyOS4xMTUyNjYgMjQ6OGE6MDc6ODg6MjY6NWIgPiAyNDo4YTowNzo4ODoyNjo2 YiwgZXRoZXJ0eXBlDQo+ID4gPiA+IElQdjQgKDB4MDgwMCksIGxlbmd0aCA1Mzg6ICh0b3MgMHgw LCB0dGwgNjQsIGlkIDEsIG9mZnNldCA1MDQsIA0KPiA+ID4gPiBmbGFncyBbK10sIHByb3RvIE9w dGlvbnMgKDApLCBsZW5ndGggNTI0KQ0KPiA+ID4gPg0KPiA+ID4gPiAgICAgMTI3LjAuMC4xID4g MTI3LjAuMC4xOiBpcC1wcm90by0wDQo+ID4gPiA+DQo+ID4gPiA+IDE1OjQ1OjI5LjE0NzI1OCAy NDo4YTowNzo4ODoyNjo1YiA+IDI0OjhhOjA3Ojg4OjI2OjZiLCBldGhlcnR5cGUNCj4gPiA+ID4g SVB2NCAoMHgwODAwKSwgbGVuZ3RoIDQ5MjogKHRvcyAweDAsIHR0bCA2NCwgaWQgMSwgb2Zmc2V0 IDEwMDgsIA0KPiA+ID4gPiBmbGFncyBbbm9uZV0sIHByb3RvIE9wdGlvbnMgKDApLCBsZW5ndGgg NDc4KQ0KPiA+ID4gPg0KPiA+ID4gPiAgICAgMTI3LjAuMC4xID4gMTI3LjAuMC4xOiBpcC1wcm90 by0wDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ICN0Y3BkdW1wIC1pIGVuczkg 4oCTdnZ2ZW4gIC8vLyBoZXJlIHdpbGwgYmUgcmVjZWl2ZWQgdGhlIGZvcndhcmRlZCANCj4gPiA+ ID4gcGFja2V0cyBmcm9tDQo+ID4gPiA+IHRlc3RwbWQ6DQo+ID4gPiA+DQo+ID4gPiA+IDE1OjQ1 OjI5LjA4Mzk5NiAyNDo4YTowNzo4ODoyNjo1YiA+IDI0OjhhOjA3Ojg4OjI2OjZiLCBldGhlcnR5 cGUNCj4gPiA+ID4gSVB2NCAoMHgwODAwKSwgbGVuZ3RoIDUzODogKHRvcyAweDAsIHR0bCA2NCwg aWQgMSwgb2Zmc2V0IDAsIA0KPiA+ID4gPiBmbGFncyBbK10sIHByb3RvIE9wdGlvbnMgKDApLCBs ZW5ndGggNTI0KQ0KPiA+ID4gPg0KPiA+ID4gPiAgICAgMTI3LjAuMC4xID4gMTI3LjAuMC4xOiAg aXAtcHJvdG8tMCA1MDQNCj4gPiA+ID4NCj4gPiA+ID4gMTU6NDU6MjkuMTE1NDI1IDI0OjhhOjA3 Ojg4OjI2OjViID4gMjQ6OGE6MDc6ODg6MjY6NmIsIGV0aGVydHlwZQ0KPiA+ID4gPiBJUHY0ICgw eDA4MDApLCBsZW5ndGggNTM4OiAodG9zIDB4MCwgdHRsIDY0LCBpZCAxLCBvZmZzZXQgNTA0LCAN Cj4gPiA+ID4gZmxhZ3MgWytdLCBwcm90byBPcHRpb25zICgwKSwgbGVuZ3RoIDUyNCkNCj4gPiA+ ID4NCj4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAuMTogaXAtcHJvdG8tMA0KPiA+ID4g Pg0KPiA+ID4gPiAxNTo0NToyOS4xNDc0OTIgMjQ6OGE6MDc6ODg6MjY6NWIgPiAyNDo4YTowNzo4 ODoyNjo2YiwgZXRoZXJ0eXBlDQo+ID4gPiA+IElQdjQgKDB4MDgwMCksIGxlbmd0aCA0OTI6ICh0 b3MgMHgwLCB0dGwgNjQsIGlkIDEsIG9mZnNldCAxMDA4LCANCj4gPiA+ID4gZmxhZ3MgW25vbmVd LCBwcm90byBPcHRpb25zICgwKSwgbGVuZ3RoIDQ3OCkNCj4gPiA+ID4NCj4gPiA+ID4gICAgIDEy Ny4wLjAuMSA+IDEyNy4wLjAuMTogaXAtcHJvdG8tMA0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g Pg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBBbSBJIGRvaW5nIHNvbWV0aGluZyB3cm9uZz8h IE9yIGl0IGlzIGEgYnVnLg0KPiA+ID4gPg0KPiA+ID4gPiDDqCBBcyB5b3Ugc2VlIHRoZSB0Y3Bk dW1wIHNob3dzIHRoZSBvZmZzZXQgb2YgZWFjaCBmcmFnbWVudCwgYW5kIA0KPiA+ID4gPiB0ZXN0 cG1kIHByaW50cyBMNF9GUkFHLCBzbyB0aGUgYm90aCBhcmUgcmVjb2duaXppbmcgdGhhdCB0aGlz IGlzIA0KPiA+ID4gPiBhDQo+ID4gPiBmcmFnbWVudGVkIHBhY2tldC4NCj4gPiA+DQo+ID4gPiBH Uk8gbGlicmFyeSBtZXJnZXMgVFNPZWQvR1NPZWQgcGFja2V0cywgd2hvc2UgSVAgSURzIGFuZCBU Q1ANCj4gPiBzZXF1ZW5jZXMNCj4gPiA+IGFyZSBib3RoIGNvbnNlY3V0aXZlLiBJZiBpbnB1dCBw YWNrZXRzIGhhdmUgc2FtZSBJUCBJRHMsIG5vIA0KPiA+ID4gcGFja2V0cyB3aWxsIGJlIG1lcmdl ZC4NCj4gPiA+DQo+ID4gPiBCVFcsIHlvdSBjYW4gdXNlIGlwZXJmIHRvIHRlc3QgR1JPIGZlYXR1 cmUuDQo+ID4gPg0KPiA+ID4gQmVzdCBSZWdhcmRzLA0KPiA+ID4gSmlheXUNCj4gPiA+DQo+ID4g PiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEJlc3QgcmVnYXJkcywNCj4gPiA+ID4NCj4g PiA+ID4gV2lzYW0gSmFkZG8NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCi0tLS0tLS0tLS0t LS0tIG5leHQgcGFydCAtLS0tLS0tLS0tLS0tLQpBIG5vbi10ZXh0IGF0dGFjaG1lbnQgd2FzIHNj cnViYmVkLi4uCk5hbWU6IGdybzIucG5nClR5cGU6IGltYWdlL3BuZwpTaXplOiA0MDA5NiBieXRl cwpEZXNjOiBncm8yLnBuZwpVUkw6IDxodHRwOi8vZHBkay5vcmcvbWwvYXJjaGl2ZXMvdXNlcnMv YXR0YWNobWVudHMvMjAxNzA4MjkvY2M1N2Q5MDMvYXR0YWNobWVudC5wbmc+Cg==