From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0069.outbound.protection.outlook.com [104.47.0.69]) by dpdk.org (Postfix) with ESMTP id 8DCC4AACD for ; Mon, 16 Apr 2018 17:27:39 +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=9r3bR3vOYlhWfATlmy20vX3jUGXo9IocBR5nQEde8qU=; b=hC4mc9O0YywhSuUluw58FFgA+tF4NjI1DAsIGdx5htg25ebjXkgPaHtXJYHe+fQLwayFKDScpDl2AJKIY0GD3PxMyD1PjX/ljm0kqixaEhAo6o4keSe4dW7Q2l+yPbRNeSI/9NwAlvxOoZk89jrX8kMmo8u+gCWyOp8ifbTvwqk= Received: from VI1PR05MB1678.eurprd05.prod.outlook.com (10.165.235.152) by VI1PR05MB1663.eurprd05.prod.outlook.com (10.165.235.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.675.11; Mon, 16 Apr 2018 15:27:36 +0000 Received: from VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::6da4:14c3:f5d8:3f4a]) by VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::6da4:14c3:f5d8:3f4a%14]) with mapi id 15.20.0675.015; Mon, 16 Apr 2018 15:27:37 +0000 From: "Xueming(Steven) Li" To: Adrien Mazarguil CC: =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , "Shahaf Shuler" , "dev@dpdk.org" , Olivier Matz Thread-Topic: [PATCH v3 04/14] net/mlx5: support Rx tunnel type identification Thread-Index: AQHT0xl1U3f1oL+VtkOBCFxPn+4eYqP+qTGAgAGN8oCAAsvTgIAACEDQgAAZIYCAAEKcgIAABc+AgAAbEeA= Date: Mon, 16 Apr 2018 15:27:37 +0000 Message-ID: References: <20180410133415.189905-1-xuemingl%40mellanox.com> <20180413112023.106420-5-xuemingl@mellanox.com> <20180413130237.kb4dkx7o6lamrjoq@laranjeiro-vm.dev.6wind.com> <20180416072857.gyfcvfqoxu3gfepf@laranjeiro-vm.dev.6wind.com> <20180416092825.GW4957@6wind.com> <20180416134737.GZ4957@6wind.com> In-Reply-To: <20180416134737.GZ4957@6wind.com> 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.166.179] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB1663; 7:tc6ZQtdOrDo6iSeNFUvdZCGClJf/0JY7nZ6Xoeau73XJaTmSJJIuj5/fj2ZYUY3MCgImOrGQb6oEnRpiTL2Q0v6w4L0MvUzsktmEkiRpnP9DNb5w9EB3VfYOhJ/YsK5zYo9zSfWIdrxRw8WWN2aAMek1dgH4K4mWUW0l2HpZ3CckQaY06BRhl/QGe+L8LNkUAOjoNYVx0ICQxA6LOOMUI2dq2msn8L0AYhkxkN0g4+BaVRVUICdoCevAAcIIekhS x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB1663; x-ms-traffictypediagnostic: VI1PR05MB1663: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397)(211171220733660); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231232)(944501327)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:VI1PR05MB1663; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1663; x-forefront-prvs: 0644578634 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39380400002)(376002)(346002)(366004)(39860400002)(199004)(189003)(13464003)(3280700002)(3660700001)(6246003)(33656002)(53936002)(478600001)(6506007)(4326008)(53546011)(97736004)(76176011)(6436002)(25786009)(7696005)(105586002)(99286004)(68736007)(9686003)(7736002)(229853002)(8676002)(74316002)(93886005)(305945005)(55016002)(106356001)(66066001)(6916009)(86362001)(476003)(102836004)(11346002)(446003)(81156014)(2906002)(26005)(8936002)(81166006)(5250100002)(2900100001)(54906003)(5660300001)(486006)(3846002)(14454004)(316002)(186003)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1663; H:VI1PR05MB1678.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: X/K2cK313EBxSG7Gy+wTPhXStxU8GIAqo9aWaZgakVJ5iEwwRAreqzCy4AGJEqLQ4yJtAz6bhkX/nqo6YExjv0H+AoMswm2wISAQ6YKUqLlDzzp0yXFa12z6o0LE/KmORHaPG3gwEBFBCKV+0sURIh1U+dQzXzjhDnXCE8ctMOh01cEP4luPneso/uZquhI4 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 7c834d77-3c45-474e-1623-08d5a3ae958d X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c834d77-3c45-474e-1623-08d5a3ae958d X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2018 15:27:37.0856 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1663 Subject: Re: [dpdk-dev] [PATCH v3 04/14] net/mlx5: support Rx tunnel type identification 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, 16 Apr 2018 15:27:39 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWRyaWVuIE1hemFyZ3Vp bCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgQXByaWwgMTYs IDIwMTggOTo0OCBQTQ0KPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBtZWxsYW5v eC5jb20+DQo+IENjOiBOw6lsaW8gTGFyYW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5j b20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47IGRldkBkcGRrLm9yZzsN Cj4gT2xpdmllciBNYXR6IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiBTdWJqZWN0OiBSZTog W1BBVENIIHYzIDA0LzE0XSBuZXQvbWx4NTogc3VwcG9ydCBSeCB0dW5uZWwgdHlwZSBpZGVudGlm aWNhdGlvbg0KPiANCj4gT24gTW9uLCBBcHIgMTYsIDIwMTggYXQgMDE6MzI6NDlQTSArMDAwMCwg WHVlbWluZyhTdGV2ZW4pIExpIHdyb3RlOg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gRnJvbTogQWRyaWVuIE1hemFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2 d2luZC5jb20+DQo+ID4gPiBTZW50OiBNb25kYXksIEFwcmlsIDE2LCAyMDE4IDU6MjggUE0NCj4g PiA+IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNvbT4NCj4gPiA+ IENjOiBOw6lsaW8gTGFyYW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+OyBTaGFo YWYgU2h1bGVyDQo+ID4gPiA8c2hhaGFmc0BtZWxsYW5veC5jb20+OyBkZXZAZHBkay5vcmc7IE9s aXZpZXIgTWF0eg0KPiA+ID4gPG9saXZpZXIubWF0ekA2d2luZC5jb20+DQo+ID4gPiBTdWJqZWN0 OiBSZTogW1BBVENIIHYzIDA0LzE0XSBuZXQvbWx4NTogc3VwcG9ydCBSeCB0dW5uZWwgdHlwZQ0K PiA+ID4gaWRlbnRpZmljYXRpb24NCj4gPiA+DQo+ID4gPiBPbiBNb24sIEFwciAxNiwgMjAxOCBh dCAwODowNToxM0FNICswMDAwLCBYdWVtaW5nKFN0ZXZlbikgTGkgd3JvdGU6DQo+ID4gPiA+DQo+ ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBG cm9tOiBOw6lsaW8gTGFyYW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+DQo+ID4g PiA+ID4gU2VudDogTW9uZGF5LCBBcHJpbCAxNiwgMjAxOCAzOjI5IFBNDQo+ID4gPiA+ID4gVG86 IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbWVsbGFub3guY29tPg0KPiA+ID4gPiA+IENj OiBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT47IGRldkBkcGRrLm9yZzsgT2xp dmllcg0KPiA+ID4gPiA+IE1hdHogPG9saXZpZXIubWF0ekA2d2luZC5jb20+OyBBZHJpZW4gTWF6 YXJndWlsDQo+ID4gPiA+ID4gPGFkcmllbi5tYXphcmd1aWxANndpbmQuY29tPg0KPiA+ID4gPiA+ IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMDQvMTRdIG5ldC9tbHg1OiBzdXBwb3J0IFJ4IHR1bm5l bCB0eXBlDQo+ID4gPiA+ID4gaWRlbnRpZmljYXRpb24NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9u IFNhdCwgQXByIDE0LCAyMDE4IGF0IDEyOjU3OjU4UE0gKzAwMDAsIFh1ZW1pbmcoU3RldmVuKSBM aSB3cm90ZToNCj4gPiA+ID4gPiA+ICtBZHJpZW4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+IEZyb206IE7DqWxpbyBM YXJhbmplaXJvIDxuZWxpby5sYXJhbmplaXJvQDZ3aW5kLmNvbT4NCj4gPiA+ID4gPiA+ID4gU2Vu dDogRnJpZGF5LCBBcHJpbCAxMywgMjAxOCA5OjAzIFBNDQo+ID4gPiA+ID4gPiA+IFRvOiBYdWVt aW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6 IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsgZGV2QGRwZGsub3JnOw0KPiA+ ID4gPiA+ID4gPiBPbGl2aWVyIE1hdHogPG9saXZpZXIubWF0ekA2d2luZC5jb20+DQo+ID4gPiA+ ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMDQvMTRdIG5ldC9tbHg1OiBzdXBwb3J0IFJ4 IHR1bm5lbA0KPiA+ID4gPiA+ID4gPiB0eXBlIGlkZW50aWZpY2F0aW9uDQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ICtPbGl2aWVyLA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBP biBGcmksIEFwciAxMywgMjAxOCBhdCAwNzoyMDoxM1BNICswODAwLCBYdWVtaW5nIExpIHdyb3Rl Og0KPiA+ID4gPiA+ID4gPiA+IFRoaXMgcGF0Y2ggaW50cm9kdWNlZCB0dW5uZWwgdHlwZSBpZGVu dGlmaWNhdGlvbiBiYXNlZCBvbiBmbG93IHJ1bGVzLg0KPiA+ID4gPiA+ID4gPiA+IElmIGZsb3dz IG9mIG11bHRpcGxlIHR1bm5lbCB0eXBlcyBidWlsdCBvbiBzYW1lIHF1ZXVlLA0KPiA+ID4gPiA+ ID4gPiA+IFJURV9QVFlQRV9UVU5ORUxfTUFTSyB3aWxsIGJlIHJldHVybmVkLCB1c2VyIGFwcGxp Y2F0aW9uDQo+ID4gPiA+ID4gPiA+ID4gY291bGQgdXNlIGJpdHMgaW4gZmxvdyBtYXJrIGFzIHR1 bm5lbCB0eXBlIGlkZW50aWZpZXIuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEZvciBh biBhcHBsaWNhdGlvbiBpdCB3aWxsIG1lYW4gdGhlIHBhY2tldCBlbWJlZCBhbGwgdHVubmVsDQo+ ID4gPiA+ID4gPiA+IHR5cGVzIGRlZmluZWQgaW4gRFBESywgdG8gbWFrZSBzdWNoIHRoaW5nIHlv dSBuZWVkIGENCj4gPiA+ID4gPiA+ID4gUlRFX1BUWVBFX1RVTk5FTF9VTktOT1dOIHdoaWNoIGRv ZXMgbm90IGV4aXN0cyBjdXJyZW50bHkuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhlcmUg d2FzIGEgUlRFX1BUWVBFX1RVTk5FTF9VTktOT1dOIGRlZmluaXRpb24sIGJ1dCByZW1vdmVkDQo+ ID4gPiA+ID4gPiBkdWUgdG8NCj4gPiA+ID4gPiBkaXNjdXNzaW9uLg0KPiA+ID4gPiA+ID4gU28g SSB0aGluayBpdCBnb29kIHRvIGFkZCBpdCBpbiB0aGUgcGF0Y2hzZXQgb2YgcmV2aWV3ZWQgYnkg QWRyaWVuLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQWdyZWVkLA0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiBFdmVuIHdpdGggaXQsIHRoZSBhcHBsaWNhdGlvbiBzdGlsbCBu ZWVkcyB0byBwYXJzZSB0aGUNCj4gPiA+ID4gPiA+ID4gcGFja2V0IHRvIGRpc2NvdmVyIHdoaWNo IHR1bm5lbCB0aGUgcGFja2V0IGVtYmVkLCBpcyB0aGVyZQ0KPiA+ID4gPiA+ID4gPiBhbnkgYmVu ZWZpdCBoYXZpbmcgc3VjaCBiaXQ/ICBOb3Qgc28gc3VyZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBXaXRoIGEgdHVubmVsIGZsYWcsIGNoZWNrc3VtIHN0YXR1cyByZXByZXNlbnQgaW5uZXIg Y2hlY2tzdW0uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBOb3Qgc3VyZSB0aGlzIGlzIGdlbmVyaWMg ZW5vdWdoLCBNTFg1IGJlaGF2ZXMgYXMgdGhpcywgYnV0IGhvdw0KPiA+ID4gPiA+IGJlaGF2ZXMg b3RoZXIgTklDcz8gIEl0IHNob3VsZCBoYXZlIHNwZWNpZmljIGJpdHMgZm9yIGlubmVyDQo+ID4g PiA+ID4gY2hlY2tzdW0gaWYgYWxsIE5JQyBkb24ndCBoYXZlIHRoZSBzYW1lIGJlaGF2aW9yLg0K PiA+ID4gPg0KPiA+ID4gPiBGcm9tIG15IHVuZGVyc3RhbmRpbmcsIGlmIG91dGVyIGNoZWNrc3Vt IGludmFsaWQsIHRoZSBwYWNrZXQgY2FuJ3QNCj4gPiA+ID4gYmUgcmVjZWl2ZWQgYXMgYSB0dW5u ZWxlZCBwYWNrZXQsIGJ1dCBhIG5vcm1hbCBwYWNrZXQsIHRodXMNCj4gPiA+ID4gY2hlY2tzdW0g ZmxhZ3MgYWx3YXlzIHJlc3VsdCBvZiBpbm5lciBmb3IgYSB2YWxpZCB0dW5uZWxlZCBwYWNrZXQu DQo+ID4gPg0KPiA+ID4gWWVzLCBzaW5jZSBjaGVja3N1bSB2YWxpZGF0aW9uIGluZm9ybWF0aW9u IGNvdmVycyBhbGwgbGF5ZXJzIGF0IG9uY2UNCj4gPiA+IChvdXRlcm1vc3QgdG8gdGhlIGlubmVy bW9zdCByZWNvZ25pemVkKSwgdGhlIHByZXNlbmNlIG9mIGFuICJ1bmtub3duIHR1bm5lbCINCj4g PiA+IGJpdCBpbXBsaWNpdGx5IG1lYW5zIG91dGVyIGhlYWRlcnMgYXJlIE9LLg0KPiA+ID4NCj4g PiA+IE5vdyByZWdhcmRpbmcgdGhlIGFkZGl0aW9uIG9mIFJURV9QVFlQRV9UVU5ORUxfVU5LTk9X TiwgdGhlIG1haW4NCj4gPiA+IGlzc3VlIEkgc2VlIGlzIHRoYXQgaXQncyBpbXBsaWNpdCwgYXMg aW4gZ2V0dGluZyAwIGFmdGVyIGFuZCdpbmcNCj4gPiA+IHBhY2tldCB0eXBlcyB3aXRoIFJURV9Q VFlQRV9UVU5ORUxfTUFTSyBtZWFucyBlaXRoZXIgbm90IHByZXNlbnQgb3IgdW5rbm93biB0eXBl Lg0KPiA+DQo+ID4gSG93IGFib3V0IGRlZmluZSBSVEVfUFRZUEVfVFVOTkVMX1VOS05PV04gc2Ft ZSBhc2sNCj4gPiBSVEVfUFRZUEVfVFVOTkVMX01BU0s/IEFuZCdkaW5nIHBhY2tldCB0eXBlcyBh bHdheXMgcmV0dXJuIGEgbm9uLXplcm8gdmFsdWUuDQo+IA0KPiBJIG1lYW4gdGhlIHZhbHVlIGFs cmVhZHkgZXhpc3RzLCBpdCdzIGltcGxpY2l0bHkgMC4gQWRkaW5nIG9uZSB3aXRoIHRoZSBzYW1l IHZhbHVlIGFzDQo+IFJURV9QVFlQRV9UVU5ORUxfTUFTSyBjb3VsZCBiZSBzZWVuIGFzIGEgd2Fz dGUgb2YgYSB2YWx1ZSBvdGhlcndpc2UgdXNhYmxlIGZvciBhbiBhY3R1YWwgdHVubmVsIHR5cGUN Cj4gKHRoZXJlIGFyZSBvbmx5IDQgYml0cykuDQo+IA0KPiA+ID4gSG93IGFib3V0IG5vdCBzZXR0 aW5nIGFueSB0dW5uZWwgYml0IGFuZCBsZXQgYXBwbGljYXRpb25zIHJlbHkgb24NCj4gPiA+IHRo ZSBwcmVzZW5jZSBvZiBSVEVfUFRZUEVfSU5ORVJfKiB0byBkZXRlcm1pbmUgdGhhdCB0aGVyZSBp cyBhDQo+ID4gPiB0dW5uZWwgb2YgdW5rbm93biB0eXBlPyBUaGUgcmF0aW9uYWxlIGJlaW5nIHRo YXQgYSB0dW5uZWxlZCBwYWNrZXQgd2l0aG91dCBhbiBpbm5lciBwYXlsb2FkIGlzDQo+IGtpbmQg b2YgcG9pbnRsZXNzIGFueXdheS4NCj4gPg0KPiA+IEFuIHVua25vd24gdHlwZSBkb2Vzbid0IGJy ZWFrIGFueXRoaW5nLCBuZWl0aGVyIGVudW0gYml0cywgc3RyYWlnaHRmb3J3YXJkIElNSE8uDQo+ IA0KPiBLZWVwIGluIG1pbmQgdGhhdCBtYnVmIHBhY2tldCB0eXBlcyByZXBvcnQgd2hhdCBpcyBp ZGVudGlmaWVkLiBBbGwgdGhlIGRlZmluaXRpb25zIGluIHRoaXMgZmlsZSBuYW1lIGENCj4gc3Bl Y2lmaWMgcHJvdG9jb2wuIEZvciBpbnN0YW5jZSB0aGVyZSBpcyBubyBzdWNoIGRlZmluaXRpb24g YXMgIkwzIHByZXNlbnQiIG9yICJMNCBwcmVzZW50Ii4gIlR1bm5lbA0KPiBwcmVzZW50IiBkb2Vz bid0IG1ha2UgYSBsb3Qgb2Ygc2Vuc2Ugb24gaXRzIG93biBlaXRoZXIuDQo+IA0KPiBEb24ndCB5 b3UgYWdyZWUgdGhhdCByZXBvcnRpbmcgYXQgbGVhc3Qgb25lIGlubmVyIHB0eXBlIHdoaWxlIGxl YXZpbmcgdHVubmVsIHB0eXBlIHRvIDAgYXV0b21hdGljYWxseQ0KPiBhZGRyZXNzZXMgdGhpcyBp c3N1ZT8NCg0KQ3VycmVudGx5LCBubyBpbm5lciBMMiBwdHlwZSwgc28gZm9yIHBhY2tldCB3aXRo IG9ubHkgTDIsIGl0IHdpbGwgYmUgcmVjb2duaXplZCBhcyBub24tdHVubmVsIHBhY2tldC4NCg0K PiANCj4gPiA+ID4gPiA+IFNldHRpbmcgZmxvdyBtYXJrIGZvciBkaWZmZXJlbnQgZmxvdyB0eXBl IGNvdWxkIHNhdmUgdGltZSBvZg0KPiA+ID4gPiA+ID4gcGFyc2luZw0KPiA+ID4gPiA+IHR1bm5l bC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0t DQo+ID4gPiA+ID4gTsOpbGlvIExhcmFuamVpcm8NCj4gPiA+ID4gPiA2V0lORA0KPiA+ID4NCj4g PiA+IC0tDQo+ID4gPiBBZHJpZW4gTWF6YXJndWlsDQo+ID4gPiA2V0lORA0KPiANCj4gLS0NCj4g QWRyaWVuIE1hemFyZ3VpbA0KPiA2V0lORA0K