From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10081.outbound.protection.outlook.com [40.107.1.81]) by dpdk.org (Postfix) with ESMTP id D641AFE5 for ; Wed, 6 Sep 2017 13:17:34 +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=O+eQUtWtpfPtrEU0pXWlOy7T07v9DJq46n50Vdc3yHY=; b=upHOXos/DFCXsf+Ho2ROtIJnMFn6r5R3e+cZI3N92P8gWAqYhNdP6cbtbhaQvxNYo+nn5rHQIsEJi4pJ3+JUTMt/5G3if4HCxY/Cz4fDAvVzzM220t7HZJxsJ9eHwKyOQ47gdvjpegaPZWFDvq/Am0houLdqfnvSUtYbHdL9OEo= Received: from AM3PR05MB307.eurprd05.prod.outlook.com (10.242.247.152) by AM3PR05MB0791.eurprd05.prod.outlook.com (10.160.212.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Wed, 6 Sep 2017 11:17:32 +0000 Received: from AM3PR05MB307.eurprd05.prod.outlook.com ([fe80::d563:ce2f:1468:a939]) by AM3PR05MB307.eurprd05.prod.outlook.com ([fe80::d563:ce2f:1468:a939%17]) with mapi id 15.20.0013.018; Wed, 6 Sep 2017 11:17:32 +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+8LenCiQpxYQAD6neAADXVIAAABK9KMAAAd2TQAFQNtLAAAYcosADMAwaAACXOZZAAC76hwAGa1cBQ Date: Wed, 6 Sep 2017 11:17:32 +0000 Message-ID: References: <20170821091347.GA94297@dpdk15.sh.intel.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=wisamm@mellanox.com; x-originating-ip: [195.35.85.130] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM3PR05MB0791; 6:t6nmyQplN58tfwsZI0+qNOc81XTvuiFs48EtIYb0zMfx4I7/saZY/ejSJX8pXeT5MRD04UTjR3IYakrX/eZavB/UfSivD4OB8r/taDDrS3x5CbPPqdU8hpNTPxE6qysMpmVzWVNECfhbs7RwZnopOAybwMtR7AhTjrCUJh8i0wWyUcHxObOHBxiVeUy+nJy86cvTk6bh71AHvHkGQGbEmn/sOxQgeu2oIQIh3npBgPEpawSI6tEoFddazuegGsDcV8nkBvX91JMGKrafyLVO8lszh4Fm5/lZ2kVhWKtMV6NsV8jrD3q9FOA8AzGsPlOW5Q7kUU96r2qOpC1e+ROdaA==; 5:h/Kr9gwWJneqYLuhrwq3duFSbtGzhZao9vY5SaTVL8z8poFcp1CnI59B19fLcQeX35byeA3L7BwI/mjvEfOuV0ha8jNgbhCXFULOP2whIB58uB4ZWcN2WQkBMT3dsrxOn+ppvKUX1csuEZc2rpf06OjGyHxVGnOf02TzKBZsZW0=; 24:7aDi9lSTO6uufjtjVVI1USnCrZB3u7U48NL7BcjLWMHMFmkFlZSxstgrIQA3+2uG7WwPVPfMKitKzRwTQmY1YyTHpIG1jSD8nNJZOLTR2Yw=; 7:/dLPKfeCrw6ejwe6+6y12tHLYj2d/+CbLha9QXC5nY+mreRH8GpC3grViN4Tst5yEtGd2P7ayRARN8Lr92k3p870szkD0cGrXCEpvzP5jIVk4Kt9dbv3VPc0ffxmlTWczj595CiUFFOp9gEB4bo/8DejNCo9GU6rQHMTh6GV7jnyzS0nsAHcxdleae5h1TgBIf5zKvVyR4hqzN+wQdqh7k3RVyjXXlg52uwwrGtneJk= x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 7446aad7-ea29-4679-1ea4-08d4f518de4d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM3PR05MB0791; x-ms-traffictypediagnostic: AM3PR05MB0791: 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)(6040450)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123558100)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM3PR05MB0791; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM3PR05MB0791; x-forefront-prvs: 0422860ED4 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(377454003)(24454002)(189002)(199003)(13464003)(2906002)(229853002)(93886005)(6916009)(189998001)(81156014)(3280700002)(305945005)(66066001)(97736004)(7736002)(8936002)(6506006)(53546010)(8676002)(76176999)(6436002)(54356999)(50986999)(81166006)(74316002)(345774005)(101416001)(106356001)(33656002)(53936002)(5660300001)(6246003)(478600001)(14454004)(68736007)(105586002)(9686003)(107886003)(3846002)(25786009)(86362001)(54906002)(6116002)(55016002)(2900100001)(5250100002)(4326008)(102836003)(110136004)(7696004)(3660700001)(99286003)(5890100001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR05MB0791; H:AM3PR05MB307.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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2017 11:17:32.2448 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR05MB0791 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: Wed, 06 Sep 2017 11:17:35 -0000 SGkgSmlheXUsDQoNCkFueSBjb21tZW50IHJlZ2FyZCB3aGF0IEkgZGVzY3JpYmVkPw0KDQpCUnMs DQpXaXNhbSBKYWRkbw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogV2lzYW0g TW9udGhlciANClNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyOSwgMjAxNyAxMDo0OSBBTQ0KVG86ICdI dSwgSmlheXUnDQpDYzogdXNlcnNAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWg7IFNoYWhhZiBT aHVsZXINClN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVyZ2UgcGFja2V0cyB1c2luZyBHUk8gZmVh dHVyZQ0KDQpIaSBKaWF5dSwNCg0KTGV0IG1lIHJlLWRlc2NyaWJlIG15IHRvcG9sb2d5IGluIGEg YmV0dGVyIHdheSwgc2VlIGF0dGFjaGVkIGltYWdlLg0KQW5kIGl0IGlzIGNvbm5lY3RlZCBwaHlz aWNhbGx5IGFzIGRlc2NyaWJlZCwgYW5kIEknbSB1c2luZyBpdCB3aXRoIE1UVSBzaXplPTE1MDAg aW4gb3JkZXIgdG8gbWFrZSBzdXJlIEV2ZXJ5IHBvcnQgY2FuIGhhbmRsZSBpdC4NCg0KQW5kIHRo aXMgaXMgdGhlIGV4YWN0IGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgaW50ZXJmYWNlcywgc28gSSdt IHN1cmUgdGhlIHBhY2tldHMgcmVjZWl2ZWQgaW4gTklDIEIgbWFjaGluZSBCIGlzIGNvbWluZyBm cm9tIHRoZSB0ZXN0cG1kIHdpdGggR1JPICBlbmFibGVkLg0KDQpCdXQgZXZlbiBzbywgSSBpbnRl bnRpb25hbGx5IG1hZGUgdGhlIHBhY2tldCBzaXplIDE1MDAsIHRvIGJlIGRpdmlkZWQgaW50byAz ICogKCA1MDApIGZyYWdtZW50cyB1c2luZyB0aGUgVFNPLCBhbmQgdGhlbiBtZXJnZWQgaW50byAx NTAwIHBhY2tldCBhZ2FpbiBpbiB0aGUgR1JPLg0KU28gdGhlIGV2ZXJ5IG1hY2hpbmUgY2FuIG1h bmFnZSB0aGlzIG10dSBzaXplLg0KDQpUaGUgdGhpbmcgdGhhdCBJIG5lZWQgdG8gdGVzdCBHUk8g d2l0aCBlYWNoIHNldHVwcyB0eXBlcywgIlZNcyB3aXRoIEJhcmVtZXRhbCB3aXRoIHBhc3MgdGhy b3VnaCB3aXRoIFZGcyBldGMuLi4iLg0KU28gSSBuZWVkIHRvIHNlZSB0aGUgZmVhdHVyZSB3b3Jr cyBvbiBsZWFzdCB3b3JrLCBpdCB3b3VsZCBiZSBuaWNlIHRvIHNlbmQgSVBWNF9UQ1AgZnJhZ21l bnRlZCBwYWNrZXQgdXNpbmcgInNjYXB5LCBJcGVyZiINCkFuZCBjaGVjayB0aGUgZndkIHBhY2tl dCBmcm9tIEdSTyBkaXJlY3RseS4gDQoNCkJScywNCldpc2FtIEphZGRvDQoNCi0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBIdSwgSmlheXUgW21haWx0bzpqaWF5dS5odUBpbnRlbC5j b21dDQpTZW50OiBUdWVzZGF5LCBBdWd1c3QgMjksIDIwMTcgNDo1MSBBTQ0KVG86IFdpc2FtIE1v bnRoZXINCkNjOiB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaDsgU2hhaGFmIFNodWxl cg0KU3ViamVjdDogUkU6IFVuYWJsZSB0byBtZXJnZSBwYWNrZXRzIHVzaW5nIEdSTyBmZWF0dXJl DQoNCkhpIFdpc2FtLA0KDQpJbiB0aGUgcGljdHVyZSBvZiB5b3VyIGV4cGVyaW1lbnQgdG9wb2xv Z3ksIEkgZ3Vlc3MgTklDIEIgaW4gdGhlIG1hY2hpbmUgQiBpcyBjb25uZWN0ZWQgd2l0aCBhbm90 aGVyIGludGVyZmFjZSBwaHlzaWNhbGx5LiBJZiBzbywgdGhlIHBhY2tldHMgdGhhdCB0Y3BkdW1w IGNhcHR1cmVzIGFyZSBmcm9tIHRoZSBwaHlzaWNhbCBsaW5rLiBIb3dldmVyLCBwYWNrZXRzIGFm dGVyIEdST2VkIGFyZSBtdWx0aS1zZWdtZW50IGxhcmdlIHBhY2tldHMsIHdoaWNoIGFyZSBsYXJn ZXIgdGhhbiBNVFUuIEkgYW0gbm90IHN1cmUgaWYgeW91IGhhdmUgbWFrZSBvdGhlciBjb25maWd1 cmF0aW9ucyB0byBlbmFibGUgdGhlc2UgbGFyZ2UgcGFja2V0cyB0byBwYXNzIHRoZSBwaHlzaWNh bCBsaW5rLCBhbmQgdGhlcmUgaXMganVtYm8gZnJhbWUgc2l6ZSBsaW1pdCBmb3IgZGlmZmVyZW50 IE5JQ3MuIFNvIHdvdWxkIHlvdSBwbGVhc2UgdG8gY2hlY2sgdGhpcz8gQlRXLCB5b3UgY2FuIHVz ZSB0aGUgVk0gdG8gdGVzdCB0aGlzIEdSTyBmZWF0dXJlLCBzaW5jZSBsYXJnZSBwYWNrZXRzIGNh biBhbHdheXMgcGFzcyB0byB0aGUgVk0uDQoNClRoYW5rcywNCkppYXl1DQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV2lzYW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBt ZWxsYW5veC5jb21dDQo+IFNlbnQ6IE1vbmRheSwgQXVndXN0IDI4LCAyMDE3IDM6MzcgUE0NCj4g VG86IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPg0KPiBDYzogdXNlcnNAZHBkay5vcmc7 IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbWVsbGFub3guY29tPjsgU2hhaGFmIA0KPiBTaHVs ZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPg0KPiBTdWJqZWN0OiBSRTogVW5hYmxlIHRvIG1lcmdl IHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gDQo+IEhpIEppYXl1LA0KPiANCj4gSSdtIHNv cnJ5IGZvciBib3RoZXJpbmcgeW91LCBidXQgY291bGQgeW91IGNvbmZvcm0gdGhhdCB0aGUgZmVh dHVyZSBpcyANCj4gd29ya2luZyBwcm9iYWJseSBCZWNhdXNlLCB3aGF0IEkgZXZlciAgZGlkLCBJ IGNvdWxkbid0IGdldCB0aGUgbWVyZ2VkIA0KPiBwYWNrZXRzLg0KPiANCj4gQlJzLA0KPiBXaXNh bSBKYWRkbw0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV2lzYW0g TW9udGhlcg0KPiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDk6MTUgQU0NCj4gVG86 ICdIdSwgSmlheXUnDQo+IENjOiB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaDsgU2hh aGFmIFNodWxlcg0KPiBTdWJqZWN0OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcg R1JPIGZlYXR1cmUNCj4gDQo+IEhpLA0KPiANCj4gSSdtIHVzaW5nIE1lbGxhbm94IE5JQ3MsIGFu ZCBpdCBpcyBzdXBwb3J0aW5nIHBhcnNlIHBhY2tldCB0eXBlcy4NCj4gDQo+IEJlc3QgcmVnYXJk cywNCj4gV2lzYW0gSmFkZG8NCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IEh1LCBKaWF5dSBbbWFpbHRvOmppYXl1Lmh1QGludGVsLmNvbV0NCj4gU2VudDogVGh1cnNk YXksIEF1Z3VzdCAyNCwgMjAxNyA4OjQ3IEFNDQo+IFRvOiBXaXNhbSBNb250aGVyDQo+IENjOiB1 c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaDsgU2hhaGFmIFNodWxlcg0KPiBTdWJqZWN0 OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gDQo+IEhp LA0KPiANCj4gQ2FuIHlvdSB0ZWxsIG1lIHdoYXQncyB0aGUgTklDIHR5cGUgb2YgdGhlIEdSTy1l bmFibGVkIHBvcnQ/DQo+IA0KPiBTaW5jZSBHUk8gbGlicmFyeSB1c2VzIG1idWYtPnBhY2tldF90 eXBlIHRvIHBhcnNlIHBhY2tldCBoZWFkZXJzLCANCj4gYXBwbGljYXRpb25zIG5lZWQgdG8gZmls bCB0aGlzIHZhbHVlIGJlZm9yZSBjYWxsaW5nIEdSTyByZWFzc2VtYmx5IEFQSXMuDQo+IE90aGVy d2lzZSwgdGhlIEdSTyBjYW4ndCB3b3JrIGNvcnJlY3RseS4NCj4gDQo+IEluIGNzdW0gZm9yd2Fy ZGluZyBlbmdpbmUgb2YgdGVzdHBtZCwgcGFja2V0X3R5cGUgaXMgZmlsbGVkIGJ5IE5JQyBkcml2 ZXJzLg0KPiBUaGUgY3N1bSBmb3J3YXJkaW5nIGVuZ2luZSB3b24ndCBzZXQgdGhpcyB2YWx1ZS4g U28gaWYgeW91ciBOSUMgDQo+IGRvZXNu4oCZdCBzdXBwb3J0IHRvIHBhcnNlIHBhY2tldCB0eXBl cywgdGhlIHZhbHVlIG9mIHBhY2tldF90eXBlIGlzIDAgDQo+IGFuZCBHUk8gY2FuJ3Qgd29yayBj b3JyZWN0bHkuDQo+IA0KPiBCUnMsDQo+IEppYXl1DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4gRnJvbTogV2lzYW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBtZWxsYW5v eC5jb21dDQo+ID4gU2VudDogVHVlc2RheSwgQXVndXN0IDIyLCAyMDE3IDk6MjUgUE0NCj4gPiBU bzogSHUsIEppYXl1IDxqaWF5dS5odUBpbnRlbC5jb20+DQo+ID4gQ2M6IHVzZXJzQGRwZGsub3Jn OyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG1lbGxhbm94LmNvbT47IFNoYWhhZiANCj4gPiBT aHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8g bWVyZ2UgcGFja2V0cyB1c2luZyBHUk8gZmVhdHVyZQ0KPiA+DQo+ID4gWWVzIGl0IGlzLA0KPiA+ IFRoZSBmcmFnbWVudGVkIHBhY2tldHMgY29tZXMgZnJvbSBwb3J0MSAvIE5JQyBiIGZyb20gbWFj aGluZSBBIHRvIA0KPiA+IHBvcnQNCj4gPiAxIGluIE5JQyBBIGZvciBtYWNoaW5lIGIgU28gaXQn cyByZWNlaXZlZCBvbiB0aGUgcG9ydCAnMScsIHdoaWNoIGlzIA0KPiA+IGNvbmZpZ3VyZWQgZ3Jv IGFjdGl2ZSBvbiB0aGlzIHBvcnQuDQo+ID4NCj4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gV2lzYW0g SmFkZG8NCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogSHUs IEppYXl1IFttYWlsdG86amlheXUuaHVAaW50ZWwuY29tXQ0KPiA+IFNlbnQ6IFR1ZXNkYXksIEF1 Z3VzdCAyMiwgMjAxNyA0OjIxIFBNDQo+ID4gVG86IFdpc2FtIE1vbnRoZXINCj4gPiBDYzogdXNl cnNAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWg7IFNoYWhhZiBTaHVsZXINCj4gPiBTdWJqZWN0 OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gPg0KPiA+ IEhpLA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTog V2lzYW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBtZWxsYW5veC5jb21dDQo+ID4gPiBTZW50OiBU dWVzZGF5LCBBdWd1c3QgMjIsIDIwMTcgNzowNyBQTQ0KPiA+ID4gVG86IEh1LCBKaWF5dSA8amlh eXUuaHVAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IHVzZXJzQGRwZGsub3JnOyBSYXNsYW4gRGFyYXdz aGVoIDxyYXNsYW5kQG1lbGxhbm94LmNvbT47DQo+IFNoYWhhZg0KPiA+ID4gU2h1bGVyIDxzaGFo YWZzQG1lbGxhbm94LmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVyZ2UgcGFj a2V0cyB1c2luZyBHUk8gZmVhdHVyZQ0KPiA+ID4NCj4gPiA+IEhleSBKaWF5dSwNCj4gPiA+DQo+ ID4gPiBUaGFuayB5b3UgZm9yIHlvdXIgcmVwbHkuDQo+ID4gPiBJIHRyaWVkIHdoYXQgeW91IHNh aWQgd2l0aCB0aGUgY3N1bSBhdCBmd2QgbW9kZS4NCj4gPiA+IEV2ZW4gc28gdGhlIEdSTyBkaWRu J3Qgd29ya3MgZmluZS4NCj4gPiA+DQo+ID4gPiBJIGV2ZW4gdGVzdGVkIHdpdGggYSBuZXcgbWV0 aG9kb2xvZ3kuDQo+ID4gPiBUd28gbWFjaGluZXMgd2l0aCB0d28gZGlmZmVyZW50IG5pYyBmb3Ig ZWFjaC4NCj4gPiA+IFRoZSBtZXRob2RvbG9neSB0aGF0IEkgdXNlZCB0byB0ZXN0IGl0IGlzIGRl c2NyaWJlZCBpbiB0aGUgYXR0YWNoZWQgZmlsZS4NCj4gPiA+DQo+ID4gPiBXaGF0IEkgZGlkIGZy b20gZ3JvIHNpZGU6DQo+ID4gPiAiIiINCj4gPiA+IHRlc3RwbWQ+Z3JvIG9uIDENCj4gPg0KPiA+ IERvZXMgdGhlIHBvcnQgbnVtYmVyIG9mIE5JQyBBIGluIG1hY2hpbmUgQiBpcyAnMSc/IFdoZW4g eW91IGVuYWJsZSANCj4gPiBHUk8gZm9yIHBvcnQgJzEnLCBUZXN0cG1kIG9ubHkgdHJpZXMgdG8g bWVyZ2UgcGFja2V0cyByZWNlaXZlZCBmcm9tIHBvcnQgJzEnLg0KPiA+DQo+ID4gQlJzLA0KPiA+ IEppYXl1DQo+ID4NCj4gPiA+IFRlc3RwbWQ+c2V0IGZ3ZCBjc3VtDQo+ID4gPiBUZXN0cG1kPnN0 YXJ0DQo+ID4gPiAiIiINCj4gPiA+IEFuZCB0aGUgcGFja2V0IHdpdGggY29ycmVjdCBkc3QgbWFj Lg0KPiA+ID4NCj4gPiA+IEJlc3QgcmVnYXJkcywNCj4gPiA+IFdpc2FtIEphZGRvDQo+ID4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmlheXUgSHUgW21haWx0bzpq aWF5dS5odUBpbnRlbC5jb21dDQo+ID4gPiBTZW50OiBNb25kYXksIEF1Z3VzdCAyMSwgMjAxNyAx MjoxNCBQTQ0KPiA+ID4gVG86IFdpc2FtIE1vbnRoZXINCj4gPiA+IENjOiBUaG9tYXMgTW9uamFs b247IHVzZXJzQGRwZGsub3JnOyBSYXNsYW4gRGFyYXdzaGVoOyBTaGFoYWYgDQo+ID4gPiBTaHVs ZXINCj4gPiA+IFN1YmplY3Q6IFJlOiBVbmFibGUgdG8gbWVyZ2UgcGFja2V0cyB1c2luZyBHUk8g ZmVhdHVyZQ0KPiA+ID4NCj4gPiA+IEhpLA0KPiA+ID4NCj4gPiA+IE9uIE1vbiwgQXVnIDIxLCAy MDE3IGF0IDA3OjI1OjIzQU0gKzAwMDAsIFdpc2FtIE1vbnRoZXIgd3JvdGU6DQo+ID4gPiA+IEhl bGxvIEd1eXMsDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEkgaG9wZSB0aGlz IGZpbmRzIHlvdSB3ZWxsLCBJ4oCZbSB0cnlpbmcgdG8gdGVzdCB0aGUgR1JPIGZlYXR1cmUuDQo+ ID4gPiA+IEJ1dCBJ4oCZbSBzdHVjayB3aXRoIHRoaXMgc2NlbmFyaW8uDQo+ID4gPiA+DQo+ID4g PiA+IEFzIHlvdSBrbm93LCBHUk8gaXMgb25seSBzdXBwb3J0IFRDUF9JUFY0IHBhY2tldCB1bnRp bCBub3cuDQo+ID4gPiA+DQo+ID4gPiA+IFNvIEnigJltIHRyeWluZyB0byB0ZXN0IHRoZSBiYXNp YyBmdW5jdGlvbmFsaXR5IG9mIHRoZSBmZWF0dXJlLCBhcyBmb2xsb3dpbmc6DQo+ID4gPiA+DQo+ ID4gPiA+IFN0YXJ0IHRlc3RwbWQ6DQo+ID4gPiA+DQo+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4g Pg0KPiA+ID4gPiAuL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2J1aWxkL2FwcC90ZXN0LXBt ZC90ZXN0cG1kIC1uIDQgIC13DQo+ID4gPiA+IDAwOjBhLjAgIC13DQo+ID4gPiA+IDAwOjA5LjAg LS0gIC0tYnVyc3Q9NjQgLS1tYmNhY2hlPTUxMiAtLXBvcnRtYXNrIDB4ZiAtaQ0KPiA+ID4gPiAt LXR4ZD01MTINCj4gPiA+ID4gLS1yeGQ9NTEyDQo+ID4gPiA+IC0tbmItY29yZXM9OSAgLS1yeHE9 MiAtLXR4cT0yIC0tdHhxZmxhZ3M9MA0KPiA+ID4gPg0KPiA+ID4gPiDigJzigJ3igJ0NCj4gPiA+ ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlbiBlbmFibGUgR1JPIGF0IHRoZSB0d28g cG9ydHM6DQo+ID4gPiA+DQo+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4gPg0KPiA+ID4gPiBUZXN0 cG1kPmdybyBvbiAwDQo+ID4gPiA+DQo+ID4gPiA+IFRlc3RwbWQ+Z3JvIG9uIDENCj4gPiA+DQo+ ID4gPiBXaGVuIHVzZSBHUk8gaW4gdGVzdHBtZCwgdGhlcmUgYXJlIGZvbGxvd2luZyB0aGluZ3Mg dG8gbm90aWNlOg0KPiA+ID4NCj4gPiA+IDEuIEluIHRlc3RwbWQsIEdSTyBpcyBzdXBwb3J0ZWQg YnkgY3N1bSBmb3J3YXJkaW5nIGVuZ2luZS4NCj4gPiA+IFRoZXJlZm9yZSwgcGxlYXNlIHVzZSAn c2V0IGZ3ZCBjc3VtJyB0byBzd2l0Y2ggZm9yd2FyZGluZyBlbmdpbmUuDQo+ID4gPg0KPiA+ID4g Mi4gQnkgZGVmYXVsdCwgY3N1bSBmb3J3YXJkaW5nIGVuZ2luZSBjb21wdWxzb3JpbHkgY2hhbmdl cyANCj4gPiA+IGV0aGVybmV0IGFkZHJlc3Nlcy4gU28gcGxlYXNlIG1ha2Ugc3VyZSB0aGF0IE1B QyBhZGRyZXNzZXMgYXJlIGNvcnJlY3QuDQo+ID4gPg0KPiA+ID4gMy4gV2hlbiBlbmFibGUgR1JP IGZvciBwb3J0MCwgY3N1bSBmb3J3YXJkaW5nIGVuZ2luZSB3aWxsIG1lcmdlIA0KPiA+ID4gcGFj a2V0cyByZWNlaXZlZCBmcm9tIHBvcnQwLiBJZiB0aGVyZSBhcmUgbm8gcGFja2V0cyBmcm9tIHBv cnQxIHRvIA0KPiA+ID4gcG9ydDAsIHlvdSBkb24ndCBuZWVkIHRvIGVuYWJsZSBHUk8gZm9yIHBv cnQxLg0KPiA+ID4NCj4gPiA+IDQuIEdSTyBsaWJyYXJ5IGRvZXNuJ3QgcmUtY2FsY3VsYXRlIGNo ZWNrc3VtcyBmb3IgbWVyZ2VkIHBhY2tldHMuIA0KPiA+ID4gSWYgeW91IHdhbnQgbWVyZ2VkIHBh Y2tldHMgaGF2ZSBjb3JyZWN0IGNoZWNrc3VtLCBwbGVhc2Ugc2VsZWN0IEhXIA0KPiA+ID4gSVAg YW5kIEhXIFRDUCBjaGVja3N1bSBjYWxjdWxhdGlvbiBmb3IgdGhlIHBvcnQgd2hpY2ggdGhlIG1l cmdlZCANCj4gPiA+IHBhY2tldHMgYXJlIHRyYW5zbWl0dGVkIHRvIGluIGNzdW0gZm9yd2FyZGlu ZyBlbmdpbmUuDQo+ID4gPiBUaGlzIGlzIGJlY2F1c2UgdGhlIG1lcmdlZCBwYWNrZXRzIGFyZSBt dWx0aS1zZWdtZW50IG1idWZzLCBidXQgDQo+ID4gPiBjc3VtIGZvcndhcmRpbmcgZW5naW5lIGRv ZXNuJ3Qgc3VwcG9ydCB0byBjYWxjdWxhdGUgY2hlY2tzdW1zIGZvciANCj4gPiA+IG11bHRpLXNl Z21lbnQgbWJ1ZnMgaW4gU1cuIFNvIHdlIG5lZWQgdG8gc2VsZWN0IEhXIGNoZWNrc3VtDQo+IG9m ZmxvYWRpbmcuDQo+ID4gPg0KPiA+ID4gZS5nLiBJZiBkYXRhIGZsb3cgaXMgInBhY2tldHMgLT4g cG9ydDAgLT4gcG9ydDEiLCBjb21tYW5kcyB1c2VkIGluDQo+IHRlc3RwbWQ6DQo+ID4gPiAJZ3Jv IG9uIHBvcnQwDQo+ID4gPiAJc2V0IGZ3ZCBjc3VtDQo+ID4gPiAJY3N1bSBzZXQgaXAgaHcgcG9y dDENCj4gPiA+IAljc3VtIHNldCB0Y3AgaHcgcG9ydDENCj4gPiA+DQo+ID4gPg0KPiA+ID4gQmVz aWRlcywgeW91IG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91ciBQTUQgZHJpdmVyIGRvZXNuJ3Qg dXNlIA0KPiA+ID4gdmVjdG9yIFRYIGZ1bmN0aW9uLCBzaW5jZSB2ZWN0b3IgZnVuY3Rpb24gZG9l c24ndCBzdXBwb3J0IGNoZWNrc3VtDQo+IG9mZmxvYWRpbmcuDQo+ID4gPg0KPiA+ID4gPg0KPiA+ ID4gPiDigJzigJ3igJ0NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gQW5kIHRy eWluZyB0byBzZW5kIFRDUF9JUFY0IGZyYWdtZW50ZWQgcGFja2V0IOKAnHBhY2tldCB3aXRoIA0K PiA+ID4gPiBsZW5ndGgNCj4gPiA+ID4gMTUwMCBmcmFnbWVudGVkIHRvIHRocmVlIHBhY2tldHMg b2YgNTAw4oCdDQo+ID4gPiA+DQo+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4gPg0KPiA+ID4gPiBw PUV0aGVyKHNyYz1nZXRfaWZfaHdhZGRyKCdlbnMxMCcpLCBkc3Q9DQo+ID4gPiA+ICcyNDo4QTow Nzo4ODoyNjo2QicpL0lQKCkvVENQKCkNCj4gPiA+ID4NCj4gPiA+ID4gcC5hZGRfcGF5bG9hZCgn RicqKDE1MDAgLSBsZW4ocCkpKQ0KPiA+ID4gPg0KPiA+ID4gPiBmcmFncz1mcmFnbWVudChwLGZy YWdzaXplPTUwMCkNCj4gPiA+ID4NCj4gPiA+ID4gZm9yIGZyYWdtZW50IGluIGZyYWdzOg0KPiA+ ID4gPg0KPiA+ID4gPiAgICAgIHNlbmRwKGZyYWdtZW50LCBpZmFjZT0nZW5zMTAnKQ0KPiA+ID4g Pg0KPiA+ID4gPiDigJzigJ3igJ0NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4g QnV0IHRoZSB0ZXN0cG1kIGZvcndhcmQgdGhlIHBhY2tldHMgYXMgaXQgaXMsIOKAnCBkb2VzbuKA mXQgZG8gYW55IG1lcmdl4oCdDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFRj cGR1bXAgYXQgdGhlIFRHIHNpZGUsDQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBzZW5kaW5nIGZyYWdt ZXRzIHVzaW5nIGVuczEwOg0KPiA+ID4gPg0KPiA+ID4gPiAjdGNwZHVtcCDigJNJIGVuczEwIOKA k3Z2dmVuDQo+ID4gPiA+DQo+ID4gPiA+IDE1OjQ1OjI5LjA4MzUxNCAyNDo4YTowNzo4ODoyNjo1 YiA+IDI0OjhhOjA3Ojg4OjI2OjZiLCBldGhlcnR5cGUNCj4gPiA+ID4gSVB2NCAoMHgwODAwKSwg bGVuZ3RoIDUzODogKHRvcyAweDAsIHR0bCA2NCwgaWQgMSwgb2Zmc2V0IDAsIA0KPiA+ID4gPiBm bGFncyBbK10sIHByb3RvIE9wdGlvbnMgKDApLCBsZW5ndGggNTI0KQ0KPiA+ID4gPg0KPiA+ID4g PiAgICAgMTI3LjAuMC4xID4gMTI3LjAuMC4xOiAgaXAtcHJvdG8tMCA1MDQNCj4gPiA+ID4NCj4g PiA+ID4gMTU6NDU6MjkuMTE1MjY2IDI0OjhhOjA3Ojg4OjI2OjViID4gMjQ6OGE6MDc6ODg6MjY6 NmIsIGV0aGVydHlwZQ0KPiA+ID4gPiBJUHY0ICgweDA4MDApLCBsZW5ndGggNTM4OiAodG9zIDB4 MCwgdHRsIDY0LCBpZCAxLCBvZmZzZXQgNTA0LCANCj4gPiA+ID4gZmxhZ3MgWytdLCBwcm90byBP cHRpb25zICgwKSwgbGVuZ3RoIDUyNCkNCj4gPiA+ID4NCj4gPiA+ID4gICAgIDEyNy4wLjAuMSA+ IDEyNy4wLjAuMTogaXAtcHJvdG8tMA0KPiA+ID4gPg0KPiA+ID4gPiAxNTo0NToyOS4xNDcyNTgg MjQ6OGE6MDc6ODg6MjY6NWIgPiAyNDo4YTowNzo4ODoyNjo2YiwgZXRoZXJ0eXBlDQo+ID4gPiA+ IElQdjQgKDB4MDgwMCksIGxlbmd0aCA0OTI6ICh0b3MgMHgwLCB0dGwgNjQsIGlkIDEsIG9mZnNl dCAxMDA4LCANCj4gPiA+ID4gZmxhZ3MgW25vbmVdLCBwcm90byBPcHRpb25zICgwKSwgbGVuZ3Ro IDQ3OCkNCj4gPiA+ID4NCj4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAuMTogaXAtcHJv dG8tMA0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiAjdGNwZHVtcCAtaSBlbnM5 IOKAk3Z2dmVuICAvLy8gaGVyZSB3aWxsIGJlIHJlY2VpdmVkIHRoZSBmb3J3YXJkZWQgDQo+ID4g PiA+IHBhY2tldHMgZnJvbQ0KPiA+ID4gPiB0ZXN0cG1kOg0KPiA+ID4gPg0KPiA+ID4gPiAxNTo0 NToyOS4wODM5OTYgMjQ6OGE6MDc6ODg6MjY6NWIgPiAyNDo4YTowNzo4ODoyNjo2YiwgZXRoZXJ0 eXBlDQo+ID4gPiA+IElQdjQgKDB4MDgwMCksIGxlbmd0aCA1Mzg6ICh0b3MgMHgwLCB0dGwgNjQs IGlkIDEsIG9mZnNldCAwLCANCj4gPiA+ID4gZmxhZ3MgWytdLCBwcm90byBPcHRpb25zICgwKSwg bGVuZ3RoIDUyNCkNCj4gPiA+ID4NCj4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAuMTog IGlwLXByb3RvLTAgNTA0DQo+ID4gPiA+DQo+ID4gPiA+IDE1OjQ1OjI5LjExNTQyNSAyNDo4YTow Nzo4ODoyNjo1YiA+IDI0OjhhOjA3Ojg4OjI2OjZiLCBldGhlcnR5cGUNCj4gPiA+ID4gSVB2NCAo MHgwODAwKSwgbGVuZ3RoIDUzODogKHRvcyAweDAsIHR0bCA2NCwgaWQgMSwgb2Zmc2V0IDUwNCwg DQo+ID4gPiA+IGZsYWdzIFsrXSwgcHJvdG8gT3B0aW9ucyAoMCksIGxlbmd0aCA1MjQpDQo+ID4g PiA+DQo+ID4gPiA+ICAgICAxMjcuMC4wLjEgPiAxMjcuMC4wLjE6IGlwLXByb3RvLTANCj4gPiA+ ID4NCj4gPiA+ID4gMTU6NDU6MjkuMTQ3NDkyIDI0OjhhOjA3Ojg4OjI2OjViID4gMjQ6OGE6MDc6 ODg6MjY6NmIsIGV0aGVydHlwZQ0KPiA+ID4gPiBJUHY0ICgweDA4MDApLCBsZW5ndGggNDkyOiAo dG9zIDB4MCwgdHRsIDY0LCBpZCAxLCBvZmZzZXQgMTAwOCwgDQo+ID4gPiA+IGZsYWdzIFtub25l XSwgcHJvdG8gT3B0aW9ucyAoMCksIGxlbmd0aCA0NzgpDQo+ID4gPiA+DQo+ID4gPiA+ICAgICAx MjcuMC4wLjEgPiAxMjcuMC4wLjE6IGlwLXByb3RvLTANCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gQW0gSSBkb2luZyBzb21ldGhpbmcgd3Jvbmc/ ISBPciBpdCBpcyBhIGJ1Zy4NCj4gPiA+ID4NCj4gPiA+ID4gw6ggQXMgeW91IHNlZSB0aGUgdGNw ZHVtcCBzaG93cyB0aGUgb2Zmc2V0IG9mIGVhY2ggZnJhZ21lbnQsIGFuZCANCj4gPiA+ID4gdGVz dHBtZCBwcmludHMgTDRfRlJBRywgc28gdGhlIGJvdGggYXJlIHJlY29nbml6aW5nIHRoYXQgdGhp cyBpcyANCj4gPiA+ID4gYQ0KPiA+ID4gZnJhZ21lbnRlZCBwYWNrZXQuDQo+ID4gPg0KPiA+ID4g R1JPIGxpYnJhcnkgbWVyZ2VzIFRTT2VkL0dTT2VkIHBhY2tldHMsIHdob3NlIElQIElEcyBhbmQg VENQDQo+ID4gc2VxdWVuY2VzDQo+ID4gPiBhcmUgYm90aCBjb25zZWN1dGl2ZS4gSWYgaW5wdXQg cGFja2V0cyBoYXZlIHNhbWUgSVAgSURzLCBubyANCj4gPiA+IHBhY2tldHMgd2lsbCBiZSBtZXJn ZWQuDQo+ID4gPg0KPiA+ID4gQlRXLCB5b3UgY2FuIHVzZSBpcGVyZiB0byB0ZXN0IEdSTyBmZWF0 dXJlLg0KPiA+ID4NCj4gPiA+IEJlc3QgUmVnYXJkcywNCj4gPiA+IEppYXl1DQo+ID4gPg0KPiA+ ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gPiA+DQo+ ID4gPiA+IFdpc2FtIEphZGRvDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo=