From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 65413A04B5; Fri, 6 Nov 2020 15:20:24 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BF07D7CC8; Fri, 6 Nov 2020 15:20:21 +0100 (CET) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 3524E6CAB; Fri, 6 Nov 2020 15:20:19 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Fri, 06 Nov 2020 06:20:19 -0800 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 6 Nov 2020 14:20:14 +0000 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 6 Nov 2020 14:20:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZqSJRd2KvilePen4nCp9/7pdADHTwI92lLZB3V1AjRiOAVX3zbx2RzVkrW/tefL1JMMr6NvczZB8Ytf9mqysTZXAUPYSK6SsifdNZVy3gXVEZZzIFkRQeyopmbQs1KzBLU4gwzyTvBcha7SMV1LftglDt8Whd5tFKTxWgs3N2ga06IriyNz7ihvNZlxQA3COx820mZjMpUzII6TLMNJ8dAao1oFtlC4cOi4iXtFK653JpP2/BpZlBLOSyWekQ0jO2NQ0LRmBYbVHqYpCH17vkZ6p+JtI/C3Ak6fThXm4G4Dh35ysk/MZeH+gfLAosFvXH97ZTdjtcIwyb+kCfnwOlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PhNA+DLdJkrrfazDjEnT4ZAROUX38OhLBuXcEh5MNBY=; b=fOPDwbbOUJXxFpgc9V+efNX6PIX2fYadaNUMBTuHNjJLyPbUm6yA3dVHqIq9lvbWkLyADB+aG2kq5UCAq6wKCNWjwKUyv4brMc/6MmUGKG31fNO29cENRo6Or0gErilT3npunUDV1Cbn7YWYunXJvrqvvWk4lBYANPzO5q1u6CnAy3D3XIaurMT8DqArIbROsyz0pEELI9qJYngDybRfbM3DJ1uS47ZhLtgKNy88xxoD4h45V6KXxmpkliOJSB+ZnfyJIzKsDJehwKwN75dxOxjGM6ETDQ4FX+iqJW9iBJv0FqGzt6t4SsBEOyaZKqyzie9XQBAQCEQy/G6PxmpfpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from CY4PR1201MB0072.namprd12.prod.outlook.com (2603:10b6:910:1b::19) by CY4PR12MB1479.namprd12.prod.outlook.com (2603:10b6:910:d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.29; Fri, 6 Nov 2020 14:20:12 +0000 Received: from CY4PR1201MB0072.namprd12.prod.outlook.com ([fe80::ade4:b300:381d:fe5c]) by CY4PR1201MB0072.namprd12.prod.outlook.com ([fe80::ade4:b300:381d:fe5c%10]) with mapi id 15.20.3541.021; Fri, 6 Nov 2020 14:20:12 +0000 From: Bing Zhao To: Ferruh Yigit , Slava Ovsiienko , Matan Azrad CC: "dev@dpdk.org" , Ori Kam , "Raslan Darawsheh" , "stable@dpdk.org" Thread-Topic: [dpdk-stable] [PATCH] net/mlx5: fix eCPRI previous layer checking Thread-Index: AQHWtDD6ImC7hcRSfkqd/B1EGDOWvKm7JLMw Date: Fri, 6 Nov 2020 14:20:12 +0000 Message-ID: References: <1604382154-336373-1-git-send-email-bingz@nvidia.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-Mentions: viacheslavo@nvidia.com X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [115.205.242.149] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5ff964f7-5d5f-443b-af90-08d8825f131e x-ms-traffictypediagnostic: CY4PR12MB1479: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: v05QH2rfxD5DEKLpFfEE9egNq18rOCFIMeSbbluCdaSeYEjrrnvlPDfwLz6dCkI6hgbC8kRUloyhM0pqLgBJ+EKzN4KRWCkW+HntIUUJklF6kN13UKX8SEuJISiXw87uEE4H1O/AK65Iv57rCpHNEvKFmpfv6FeK1j7i18cLDveqgIKOTnEs5w+NxorzVggtGma3LsVjr9ngscjZcCH4A+85b0s004fefnvGE6qoVmaYvyt91M/krY0yRSnCcmqQ0dxmp8AoqB+HZSCfYv7gxzsHmxx1pP+PuAStO8c80MCuha7WC55Ul83z7kRcavqFkze2AeI5+lrQIAEkgHFsBA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR1201MB0072.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(366004)(136003)(39860400002)(6636002)(5660300002)(478600001)(55016002)(8936002)(52536014)(66556008)(4326008)(8676002)(66446008)(54906003)(71200400001)(86362001)(33656002)(66946007)(64756008)(66476007)(76116006)(186003)(6506007)(53546011)(7696005)(2906002)(83380400001)(110136005)(316002)(26005)(9686003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: ylJihNhgeTDHdCGxkO6DaXjN2VnhYBCbB8BQcdF6hAorXp8aFJX5ooFv+SWX5Ndwb+E5iCgkq63N3SLDAejHOz8Ll9UNrIvRN5mnw4wBZB8EAaTH0YnLxky/Wv5EmHAFay9rCBX5VBXnmyzC7QMISQvCxhsBeeAIys8XK6Y/PUyO3F8hlImvE6PONJftLPiTYaYdUji1CWot2qAaoxXD7THuLcae/QY9ke6sDF7EWxF6FTeVAzFl9hg3eNaxaRTxwv51CqktWw0VWZK2wweqIvCjIGmmX+g90571eJUqEzX8wi0uqbR+Uk2iMMxLPSjncs/SENLctF96URQ2a05tRkoiQihNcd+i9g1Y/tsMOe8kbUS7chTONx4+yKUm0fgS/azSqVjDh5gj/zRP7aKuWYgzAbxQVsJJXAqZN0wm8cjzpsV68elWGXX+srVdwA/teNP9c/wuOvre5bTOiEiwWMieRKMVt5Uccr7Z23GhHMLukwnYBJur2fZE88PT6eaznpiC3+/I/34akftABewL69ButGVSI9eUxLU++mIrUxDcG6QGJ2YrFWFzTakC0Adjcc1fj8OOL0zjA/LjlEY5wXo1nGGS/jZqjJ4eUlpJpquHkbQ4DgJ+xuAXEYyxjXCCKtxZjnI6ZkViZR7vkk7gwg== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR1201MB0072.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ff964f7-5d5f-443b-af90-08d8825f131e X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2020 14:20:12.5328 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0VndI8tf0dPc8yo+1hIQwavU7sL8b/2nmDuMsCmjJ97MXaz7KNSp8vsZbvNv+ozG5/tHJcq9Eh4V+PAuh5uIQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1479 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1604672419; bh=PhNA+DLdJkrrfazDjEnT4ZAROUX38OhLBuXcEh5MNBY=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-Mentions: X-MS-Has-Attach:X-MS-TNEF-Correlator:authentication-results: x-originating-ip:x-ms-publictraffictype: x-ms-office365-filtering-correlation-id:x-ms-traffictypediagnostic: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=pOdAjMJ7T4ZUzXNdUW2UpcygJz7mTxwLluDH08SYdPvfcVW0QCTcyU0IUHY6gDW1l Z5NGZlE2LiTpQE3A4+APmw0HcRG5I9z6UOPjcBELvDwFO1sG+se87jiw2zlJFDUT08 XyCOJTrMxpPGI2OkXwnomKUurk5saDAXClfvKI0ypyPt3jNi/19mMFFAAVPA2+bAuQ ESWgvCql7dow/y0PAGxts08J6gjpY014bO4m+AS7mVOHdFnghtayOJ1Q84yw7Ecyni ES2iWhzgCT91V3b+xbYw0fbVDZt2HJ+RCyfJfDMbpZ+AQwbeQVuuvRUHVnE0cYgW12 IrTmDAYTnZsOQ== Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] net/mlx5: fix eCPRI previous layer checking 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgRmVycnVoLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEZlcnJ1 aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBOb3ZlbWJl ciA2LCAyMDIwIDc6MzUgUE0NCj4gVG86IEJpbmcgWmhhbyA8YmluZ3pAbnZpZGlhLmNvbT47IFNs YXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47IE1hdGFuIEF6cmFkIDxt YXRhbkBudmlkaWEuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBPcmkgS2FtIDxvcmlrYUBudmlk aWEuY29tPjsgUmFzbGFuIERhcmF3c2hlaA0KPiA8cmFzbGFuZEBudmlkaWEuY29tPjsgc3RhYmxl QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbZHBkay1zdGFibGVdIFtQQVRDSF0gbmV0L21seDU6 IGZpeCBlQ1BSSSBwcmV2aW91cw0KPiBsYXllciBjaGVja2luZw0KPiANCj4gRXh0ZXJuYWwgZW1h aWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gDQo+IA0KPiBP biAxMS8zLzIwMjAgNTo0MiBBTSwgQmluZyBaaGFvIHdyb3RlOg0KPiA+IEJhc2VkIG9uIHRoZSBz cGVjaWZpY2F0aW9uLCBlQ1BSSSBjYW4gb25seSBmb2xsb3cgRVRIIChWTEFOKSBsYXllcg0KPiBv cg0KPiA+IFVEUCBsYXllci4gV2hlbiBjcmVhdGluZyBhIGZsb3cgd2l0aCBlQ1BSSSBpdGVtLCB0 aGlzIHNob3VsZCBiZQ0KPiA+IGNoZWNrZWQgYW5kIGludmFsaWQgbGF5b3V0IG9mIHRoZSBsYXll cnMgc2hvdWxkIGJlIHJlamVjdGVkLg0KPiA+DQo+ID4gRml4ZXM6IGM3ZWNhMjM2NTdiNyAoIm5l dC9tbHg1OiBhZGQgZmxvdyB2YWxpZGF0aW9uIG9mIGVDUFJJDQo+IGhlYWRlciIpDQo+ID4NCj4g PiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBCaW5nIFpoYW8g PGJpbmd6QG52aWRpYS5jb20+DQo+ID4gQWNrZWQtYnk6IFZpYWNoZXNsYXYgT3ZzaWllbmtvIDx2 aWFjaGVzbGF2b0BudmlkaWEuY29tPg0KPiA+IC0tLQ0KPiA+ICAgZHJpdmVycy9uZXQvbWx4NS9t bHg1X2Zsb3cuYyB8IDI5ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tDQo+ID4gICAxIGZp bGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3cuYw0KPiA+IGIvZHJpdmVycy9u ZXQvbWx4NS9tbHg1X2Zsb3cuYyBpbmRleCBhNmU2MGFmLi4xMWRiYTNiIDEwMDY0NA0KPiA+IC0t LSBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93LmMNCj4gPiArKysgYi9kcml2ZXJzL25ldC9t bHg1L21seDVfZmxvdy5jDQo+ID4gQEAgLTI4OTYsMTcgKzI4OTYsMjMgQEAgc3RydWN0IG1seDVf Zmxvd190dW5uZWxfaW5mbyB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNTFg1X0ZMT1dfTEFZRVJfT1VURVJfVkxBTik7DQo+ID4gICAgICAgc3RydWN0IHJ0ZV9m bG93X2l0ZW1fZWNwcmkgbWFza19sbzsNCj4gPg0KPiA+ICsgICAgIGlmICghKGxhc3RfaXRlbSAm IG91dGVyX2wyX3ZsYW4pICYmDQo+ID4gKyAgICAgICAgIGxhc3RfaXRlbSAhPSBNTFg1X0ZMT1df TEFZRVJfT1VURVJfTDRfVURQKQ0KPiA+ICsgICAgICAgICAgICAgcmV0dXJuIHJ0ZV9mbG93X2Vy cm9yX3NldChlcnJvciwgRUlOVkFMLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSVEVfRkxPV19FUlJPUl9UWVBFX0lURU0sDQo+IGl0ZW0sDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlQ1BSSSBjYW4gb25seSBmb2xsb3cN Cj4gTDIvVkxBTiBsYXllciINCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIiBvciBVRFAgbGF5ZXIuIik7DQo+ID4gICAgICAgaWYgKChsYXN0X2l0ZW0gJiBvdXRl cl9sMl92bGFuKSAmJiBldGhlcl90eXBlICYmDQo+ID4gICAgICAgICAgIGV0aGVyX3R5cGUgIT0g UlRFX0VUSEVSX1RZUEVfRUNQUkkpDQo+ID4gICAgICAgICAgICAgICByZXR1cm4gcnRlX2Zsb3df ZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUwsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9GTE9XX0VSUk9SX1RZUEVfSVRFTSwNCj4gaXRlbSwNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVDUFJJIGNhbm5vdCBmb2xsb3cN Cj4gTDIvVkxBTiBsYXllciAiDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ3aGljaCBldGhlciB0eXBlIGlzIG5vdA0KPiAweEFFRkUuIik7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlQ1BSSSBjYW5ub3QgZm9sbG93DQo+ IEwyL1ZMQU4gbGF5ZXIiDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICIgd2hpY2ggZXRoZXIgdHlwZSBpcyBub3QNCj4gPiArIDB4QUVGRS4iKTsNCj4gPiAgICAg ICBpZiAoaXRlbV9mbGFncyAmIE1MWDVfRkxPV19MQVlFUl9UVU5ORUwpDQo+ID4gICAgICAgICAg ICAgICByZXR1cm4gcnRlX2Zsb3dfZXJyb3Jfc2V0KGVycm9yLCBFSU5WQUwsDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9GTE9XX0VSUk9SX1RZUEVfSVRF TSwNCj4gaXRlbSwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImVDUFJJIHdpdGggdHVubmVsIGlzIG5vdA0KPiBzdXBwb3J0ZWQgIg0KPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmlnaHQgbm93LiIpOw0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZUNQUkkgd2l0aCB0dW5uZWwgaXMgbm90 DQo+IHN1cHBvcnRlZCINCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiByaWdodCBub3cuIik7DQo+IA0KPiBXaHkgdGhlc2UgY2hhbmdlcyBkb25lLCBpdCBvbmx5 IG1vdmVzIHNwYWNlIGZyb20gZW5kIG9mIGZpcnN0IGxpbmUNCj4gdG8gYmVnaW5uaW5nIG9mIHRo ZSBzZWNvbmQgbGluZT8NCg0KWWVzLCBiZWNhdXNlIHdoZW4gSSBhbSBkb2luZyB0aGUgZml4LiBJ IGZvdW5kIHRoaXMgbG9nIHBhcnQgaXMgZGlmZmVyZW50IGZyb20gb3RoZXJzIGluIHRoZSBzYW1l IGZpbGUgYW5kIGp1c3Qgd2FudCB0byBiZSBjb25zaXN0ZW50Lg0KDQo+IA0KPiBPdmVyYWxsIEkg dGhpbmsgbm8gbmVlZCB0byBicmVhayB0aGUgbG9nIHN0cmluZ3MsIGtlZXBpbmcgdGhlbQ0KPiBp bnRhY3QgaGVscHMgdXNlcnMgc2VhcmNoIHRoZSBlcnJvciBtZXNzYWdlIGluIHRoZSBjb2RlLg0K PiBJIGFzc3VtZSB0aGUgYnJlYWsgaXMgYmVjYXVzZSBvZiB0aGUgODAgY2hhcnMgbGltaXQgYnV0 IGZvciBsb2cNCj4gc3RyaW5ncyB3ZSBkb24ndCBoYXZlIHRoYXQgbGltaXQsIHVubGVzcyBpdCBp cyB0b28gbG9uZyAobGV0cyBzYXkNCj4gMTIwIGNoYXJzIGFzIHRodW1iIG9mIHJ1bGUsIHRoZXJl IGlzIG5vIG9mZmljaWFsIGNvbnZlbnRpb24pIEkgdGhpbmsNCj4gYmV0dGVyIHRvIG5vdCBicmVh ay4NCg0KR29vZCBwb2ludCwgaW4gdGhlIHBhc3Qgd2hlbiBJIHdhcyBzZWFyY2hpbmcgc29tZSBs b2dzIGFuZCBJIGZhaWxlZCBkdWUgdG8gdGhlIGxvbmcgbG9nIGxpbmUgYnJlYWsuDQoNCj4gDQo+ IFdoYXQgZG8geW91IHRoaW5rIHJlbW92ZSB0aGUgd2hpdGVzcGFjZSBjaGFuZ2VzIG91dCBvZiB0 aGlzIGNvbW1pdA0KPiBhbmQgbWFrZSBhbm90aGVyIHBhdGNoIHRvIG1lcmdlIHRoZSBsb2cgc3Ry aW5ncz8NCg0KWWVzIEkgY2FuIGFuZCB3aWxsIHNlbmQgdjIgb2YgdGhpcy4NCk9yIHNob3VsZCBJ IGtlZXAgdGhlIGxvZyBpbiBhIHNpbmdsZSBsaW5lIEBTbGF2YSBPdnNpaWVua28sIHdoYXQgZG8g eW91IHRoaW5rPyBBbnkgY29tbWVudHM/DQpJIHJlbWVtYmVyIGluIHRoZSBwYXN0LCBteSAiY2hl Y2twYXRjaC5wbCIgd2lsbCByZXBvcnQgd2FybmluZyBhZ2FpbnN0IHRoaXMuIENvdWxkIHdlIGln bm9yZSB0aGlzPw0KDQpCUi4gQmluZw0K