From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id AD4855F4D for ; Tue, 4 Sep 2018 04:16:45 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Sep 2018 19:16:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,327,1531810800"; d="scan'208";a="254259526" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga005.jf.intel.com with ESMTP; 03 Sep 2018 19:16:44 -0700 Received: from fmsmsx122.amr.corp.intel.com (10.18.125.37) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 3 Sep 2018 19:16:44 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 3 Sep 2018 19:16:43 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.240]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.150]) with mapi id 14.03.0319.002; Tue, 4 Sep 2018 10:16:42 +0800 From: "Zhang, Qi Z" To: Robert Shearman , "dev@dpdk.org" CC: "Lu, Wenzhuo" , "Ananyev, Konstantin" , Robert Shearman Thread-Topic: [dpdk-dev] [PATCH] net/ixgbe: Strip SR-IOV transparent VLANs in VF Thread-Index: AQHUO8oHnI46MI+P9kK05FN68G+8nKTeYCIw//+yPYCAAVaBEA== Date: Tue, 4 Sep 2018 02:16:41 +0000 Message-ID: <039ED4275CED7440929022BC67E706115327F96F@SHSMSX103.ccr.corp.intel.com> References: <1535128501-31597-1-git-send-email-robertshearman@gmail.com> <039ED4275CED7440929022BC67E706115327F501@SHSMSX103.ccr.corp.intel.com> <0ee303e8-0d63-eafb-ec77-b9e447183a76@gmail.com> In-Reply-To: <0ee303e8-0d63-eafb-ec77-b9e447183a76@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjkwOTIxYTktYmFlYy00MDIzLWI5YzctYWMyM2E0YWUyY2U1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiRW1PblVQM1pOZEFrVVFMa0lqSStlY1Q3TFwvakZnMUgrZkdPZDRYb0d0S2R0dU95b2VcLzh2eGNhWFhaT1l5KzFcLyJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: Strip SR-IOV transparent VLANs in VF 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: Tue, 04 Sep 2018 02:16:46 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUm9iZXJ0IFNoZWFybWFu IFttYWlsdG86cm9iZXJ0c2hlYXJtYW5AZ21haWwuY29tXQ0KPiBTZW50OiBNb25kYXksIFNlcHRl bWJlciAzLCAyMDE4IDk6MTQgUE0NCj4gVG86IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVs LmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwu Y29tPjsgQW5hbnlldiwgS29uc3RhbnRpbg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNv bT47IFJvYmVydCBTaGVhcm1hbg0KPiA8cm9iZXJ0LnNoZWFybWFuQGF0dC5jb20+DQo+IFN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gbmV0L2l4Z2JlOiBTdHJpcCBTUi1JT1YgdHJhbnNw YXJlbnQgVkxBTnMgaW4NCj4gVkYNCj4gDQo+IEhpIFFpLA0KPiANCj4gT24gMDMvMDkvMjAxOCAx Mjo0NSwgWmhhbmcsIFFpIFogd3JvdGU6DQo+ID4gSGkgUm9iZXJ0Og0KPiA+DQo+ID4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2Vz QGRwZGsub3JnXSBPbiBCZWhhbGYgT2YNCj4gPj4gcm9iZXJ0c2hlYXJtYW5AZ21haWwuY29tDQo+ ID4+IFNlbnQ6IFNhdHVyZGF5LCBBdWd1c3QgMjUsIDIwMTggMTI6MzUgQU0NCj4gPj4gVG86IGRl dkBkcGRrLm9yZw0KPiA+PiBDYzogTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsg QW5hbnlldiwgS29uc3RhbnRpbg0KPiA+PiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47 IFJvYmVydCBTaGVhcm1hbg0KPiA+PiA8cm9iZXJ0LnNoZWFybWFuQGF0dC5jb20+DQo+ID4+IFN1 YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQvaXhnYmU6IFN0cmlwIFNSLUlPViB0cmFuc3Bh cmVudCBWTEFOcw0KPiA+PiBpbiBWRg0KPiA+Pg0KPiA+PiBGcm9tOiBSb2JlcnQgU2hlYXJtYW4g PHJvYmVydC5zaGVhcm1hbkBhdHQuY29tPg0KPiA+Pg0KPiA+PiBTUi1JT1YgVkZzIHN1cHBvcnQg InRyYW5zcGFyZW50IiBWTEFOcy4gVHJhZmZpYyBmcm9tL3RvIGEgVk0NCj4gPj4gYXNzb2NpYXRl ZCB3aXRoIGEgVkYgaGFzIGEgVkxBTiB0YWcgaW5zZXJ0ZWQvc3RyaXBwZWQgaW4gYSBtYW5uZXIN Cj4gPj4gaW50ZW5kZWQgdG8gYmUgdG90YWxseSB0cmFuc3BhcmVudCB0byB0aGUgVk0uICBPbiBh IExpbnV4IGh5cGVydmlzb3INCj4gPj4gdGhlIHZsYW4gY2FuIGJlIHNwZWNpZmllZCBieSAiaXAg bGluayBzZXQgPGRldmljZT4gdmYgPG4+IHZsYW4gPHY+Ii4NCj4gPj4gVGhlIFZNIFZGIGRyaXZl ciBpcyBub3QgY29uZmlndXJlZCB0byB1c2UgYW55IFZMQU4gYW5kIHRoZSBWTSBzaG91bGQNCj4g Pj4gbmV2ZXIgc2VlIHRoZSB0cmFuc3BhcmVudCBWTEFOIGZvciB0aGF0IHJlYXNvbi4gIEhvd2V2 ZXIsIGluIHByYWN0aWNlDQo+ID4+IHRoZXNlIFZMQU4gaGVhZGVycyBhcmUgYmVpbmcgcmVjZWl2 ZWQgYnkgdGhlIFZNIHdoaWNoIGRpc2NhcmRzIHRoZQ0KPiA+PiBwYWNrZXRzIGFzIHRoYXQgVkxB TiBpcyB1bmtub3duIHRvIGl0LiAgVGhlIExpbnV4IGtlcm5lbCBpeGJnZSBkcml2ZXINCj4gPj4g ZXhwbGljaXRseSByZW1vdmVzIHRoZSBWTEFOIGluIHRoaXMgY2FzZSAocHJlc3VtYWJseSBkdWUg dG8gdGhlDQo+ID4+IGhhcmR3YXJlIG5vdCBiZWluZyBhYmxlIHRvIGRvIHRoaXMpIGJ1dCB0aGUg RFBESyBkcml2ZXIgZG9lcyBub3QuDQo+ID4NCj4gPiBJJ20gbm90IHF1aXRlIHVuZGVyc3RhbmQg dGhpcyBwYXJ0Lg0KPiA+IFdoYXQgZG9lcyBleHBsaWNpdGx5IHJlbW92ZSB0aGUgVkxBTiBtZWFu cz8sIERQREsgYWxzbyBkaXNjYXJkDQo+ID4gdW5tYXRjaGVkIFZMQU4gYW5kIHN0cmlwIHZsYW4g aWYgdmxhbl9zdHJpcCBpcyBlbmFibGVkIHdoYXQgaXMgdGhlIGdhcD8NCj4gPiBJdCB3aWxsIGJl IGJldHRlciBpZiB5b3UgY2FuIGdpdmUgc2FtZSBleGFtcGxlcw0KPiANCj4gU3VyZS4gVHlwaWNh bCB1c2UgY2FzZSBmb3IgdGhpcyBpcyBhIGh5cGVydmlzb3Igd2hlcmUgaXQgaXMgbmVjZXNzYXJ5 IHRvIHByb3ZpZGUNCj4gTDIgYWNjZXNzIGludG8gdGhlIGd1ZXN0cywgYnV0IHRoZXJlIGFyZSBp bnN1ZmZpY2llbnQsIGFuZCBzbyB0aGUgaHlwZXJ2aXNvciBpcw0KPiB1c2luZyB0aGUgUEYgYW5k IFZGcyBhcmUgYXNzaWduZWQgdG8gZ3Vlc3RzLiBJbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8N Cj4gY29uZmlndXJlIGVhY2ggZ3Vlc3QgdG8gdXNlIHRoZSBWTEFOIGFuZCB0byBub3Qgc2VuZCBh bnkgdW50YWdnZWQgdHJhZmZpYyBpdCBpcw0KPiBkZXNpcmFibGUgdG8gdXNlIHRyYW5zcGFyZW50 IFZMQU5zLiBGb3IgZXhhbXBsZToNCj4gR3Vlc3QgMSA9IFZMQU4gMTANCj4gR3Vlc3QgMiA9IFZM QU4gMjANCj4gDQo+IGlwIGxpbmsgc2V0IGV0aDAgdmYgMSB2bGFuIDEwDQo+IGlwIGxpbmsgc2V0 IGV0aDAgdmYgMiB2bGFuIDIwDQo+IA0KPiBOb3cgdGhpcyBtZWFucyB0aGF0IHBhY2tldHMgYXJy aXZpbmcgdGFnZ2VkIG9uIHRoZSBwaHlzaWNhbCBwb3J0IHNob3VsZCBiZQ0KPiBkZWxpdmVyZWQg dG8gdGhlIGd1ZXN0IGFuZCBhcnJpdmUgaW4gdGhlIGd1ZXN0IHVudGFnZ2VkLiBTaW1pbGFybHks IHBhY2tldHMNCj4gdHJhbnNtaXR0ZWQgdW50YWdnZWQgYnkgdGhlIGd1ZXN0IHNob3VsZCBnYWlu IGEgdGFnIGJlZm9yZSB0aGV5IGdvIG91dCBvZiB0aGUNCj4gcGh5c2ljYWwgcG9ydC4gV2hhdCB5 b3UgZ2V0IHdoZW4gdXNpbmcgdGhlIExpbnV4IFZGIGl4Z2JlIGRyaXZlciBpbnNpZGUgdGhlDQo+ IFZNcyBpcyBleGFjdGx5IHRoaXMgc2luY2UgdGhlIGRyaXZlciBrbm93cyB0aGF0IGZvciB0aGlz IGhhcmR3YXJlIHRoZQ0KPiB0cmFuc3BhcmVudCBzdHJpcHBpbmcgaXNuJ3QgZG9uZSBpbiBoYXJk d2FyZSBhbmQgaXMgZG9uZSBpbnNpZGUgdGhlIGRyaXZlci4NCj4gV2hhdCB5b3UgZ2V0IGN1cnJl bnRseSB3aGVuIHVzaW5nIHRoZSBEUERLIFZGIGl4Z2JlIGRyaXZlciBpbnNpZGUgdGhlIFZNcyBp cw0KPiB0aGF0IHBhY2tldHMgYXJyaXZlIHRhZ2dlZCAoZS5nLiB3aXRoIFZMQU4gdGFnIDEwKSBh bmQgdGhlc2UgYXJlIHRoZW4gZHJvcHBlZA0KPiBiZWNhdXNlIHRoZSBWTSBkb2Vzbid0IGtub3cg YWJvdXQgVkxBTiAxMC4NCj4gDQo+IFRyYW5zcGFyZW50IFZMQU4gaW5zZXJ0aW9uIHdvcmtzIGN1 cnJlbnRseSB3aXRoIGJvdGggTGludXggYW5kIERQREsgVkYNCj4gZHJpdmVycy4NCg0KV2hhdCBk byB5b3UgbWVhbiAic3RyaXBwaW5nIGlzbid0IGRvbmUgaW4gaGFyZHdhcmUiIGFuZCAicGFja2V0 cyBhcnJpdmVkIHRhZ2dlZCI/DQpMZXQgbWUgZXhwbGFpbiBob3cgUE1EIGRyaXZlciB3b3Jrcy4g KG9yIGl0IGlzIGV4cGVjdGVkKQ0KaWYgd2UgZW5hYmxlIHZsYW5fc3RyaXAsIHRoZSBWTEFOIGhl YWRlciBpcyBleHBlY3RlZCB0byBiZSBzdHJpcHBlZCBmcm9tIHBhY2tldCBkYXRhIGJ5IGhhcmR3 YXJlLg0KQW5kIGluIHJ4IGRlc2NyaXB0b3IsIGl0IHN0aWxsIGtlZXAgdGhlIHN0cmlwcGVkIHZs YW4gaW5mb3JtYXRpb24sIHNvIGRyaXZlciB3aWxsIHNldCBtYnVmLT5vbF9mbGFncyB3aXRoIFBL VF9SWF9WTEFOIHwgUEtUX1JYX1ZMQU5fU1RSSVBQRUQgYW5kIGFsc28gc2V0IHN0cmlwcGVkIHZs YW4gdGFnIHRvIG1idWYtPnZsYW5fdGNpDQpTbyBpbiBteSByZXZpZXcsIGl0IGlzICJzdHJpcHBp bmcgaXMgZG9uZSBhbmQgcGFja2V0cyBhcnJpdmVkIHdpdGggdW50YWdnZWQiLCBhbmQgYXBwbGlj YXRpb24gYWxzbyBrbm93IHdoYXQgZXhhY3RseSBoYXBwZW5lZCBhbmQgbWFrZSBkZWNpc2lvbiBi YXNlZCBvbiB0aGUgcmVxdWlyZW1lbnQNCg0KU28gZG8geW91IG1lYW4gaXhnYmV2ZiBkb2VzIG5v dCBzdXBwb3J0IHZsYW5fc3RyaXAgYXMgYSBoYXJkd2FyZSBvZmZsb2FkPywgYW5kIGl0IHNob3Vs ZCBiZSBkb25lIHdpdGggc29mdHdhcmU/IA0KQnV0IGluIHlvdXIgY29kZSwgSSBkaWRuJ3Qgc2Vl IHRoZSBwYXJ0IHRoYXQgdmxhbiBoZWFkZXIgaXMgc3RyaXBwZWQgZnJvbSB0aGUgcGFja2V0IGRh dGEuICggc2V0IG1idWYtPm9sX2ZsYWcgYW5kIG1idWYtPnZsYW5fdGNpIGRvZXMgbm90IG1lYW4g dGhlIHZsYW4gaXMgc3RyaXBwZWQpDQoNCj4gDQo+ID4NCj4gPj4NCj4gPj4gVGhpcyBwYXRjaCBt aXJyb3JzIHRoZSBrZXJuZWwgZHJpdmVyIGJlaGF2aW91ciBieSByZW1vdmluZyB0aGUgVkxBTg0K PiA+PiBvbiB0aGUgVkYgc2lkZS4gVGhpcyBpcyBkb25lIGJ5IGNoZWNraW5nIHRoZSBWTEFOIGlu IHRoZSBWRlRBLCB3aGVyZQ0KPiA+PiB0aGUgaHlwZXJ2aXNvciB3aWxsIGhhdmUgc2V0IHRoZSBi aXQgaW4gdGhlIFZGVEEgY29ycmVzcG9uZGluZyB0byB0aGUNCj4gPj4gVkxBTiBpZiB0cmFuc3Bh cmVudCBWTEFOcyB3ZXJlIGJlaW5nIHVzZWQgZm9yIHRoZSBWRi4gSWYgdGhlIFZMQU4gaXMNCj4g Pj4gc2V0IGluIHRoZSBWRlRBIHRoZW4gaXQgaXMga25vd24gdGhhdCBpdCdzIGEgdHJhbnNwYXJl bnQgVkxBTiBjYXNlIGFuZCBzbyB0aGUNCj4gVkxBTiBpcyBzdHJpcHBlZCBmcm9tIHRoZSBtYnVm Lg0KPiA+DQo+ID4gVGhpcyBpcyBtaXNzaW5nIGxlYWRpbmcuDQo+ID4gIEZyb20geW91ciBjb2Rl LCBJIG9ubHkgc2F3IHZsYW4gZmxhZyBpbiBvbF9mbGFnIGlzIHN0cmlwcGVkLCBidXQgbm90IFZM QU4gaXMNCj4gc3RyaXBwZWQuDQo+ID4gSSB0aGluayB2bGFuIGlzIGFsd2F5cyBiZSBzdHJpcHBl ZCBpZiB3ZSBlbmFibGUgdmxhbiBzdHJpcCBvbiBxdWV1ZS4NCj4gDQo+IEkgdGhpbmsgeW91J3Jl IHNheWluZyB0aGF0IHRoZSBWTEFOIGlzbid0IHJlbW92ZWQgaWYgaGFyZHdhcmUgUlggVkxBTg0K PiBzdHJpcHBpbmcgaXNuJ3QgY29uZmlndXJlZC4gVGhpcyBpcyB0cnVlLCBidXQgbWlnaHQgY29z dCBwZXJmb3JtYW5jZSB0byBjb3ZlciB0aGlzDQo+IGNhc2UgdG9vLiBJZiB5b3UncmUgaGFwcHkg d2l0aCB0aGF0LCB0aGVuIEkgY2FuIGlzc3VlIGEgVjIgd2l0aCB0aGF0IGFkZHJlc3NlZC4NCj4g DQo+IElmIHlvdSdyZSBzdWdnZXN0aW5nIHRoYXQgbS0+dmxhbl90Y2kgbmVlZHMgdG8gYmUgc2V0 IHRvIDAgd2hlbiBQS1RfUlhfVkxBTiBpcw0KPiBjbGVhcmVkIGZyb20gbS0+b2xfZmxhZ3MsIHRo ZW4gSSBkb24ndCB0aGluayB0aGF0IGlzIG5lY2Vzc2FyeSBzaW5jZSBteQ0KPiB1bmRlcnN0YW5k aW5nIGlzIGFuIGFwcGxpY2F0aW9uIHNob3VsZCBvbmx5IGJlIGxvb2tpbmcgYXQgbS0+dmxhbl90 Y2kgaWYNCj4gbS0+b2xfZmxhZ3MgaGFzIFBLVF9SWF9WTEFOIHNldC4NCj4gDQo+ID4NCj4gPj4g VG8NCj4gPj4gbGltaXQgYW55IHBvdGVudGlhbCBwZXJmb3JtYW5jZSBpbXBhY3Qgb24gdGhlIFBG IGRhdGEgcGF0aCwgdGhlIFJYIHBhdGggaXMNCj4gc3BsaXQNCj4gPj4gaW50byBQRiBhbmQgVkYg dmVyc2lvbnMgd2l0aCB0aGUgdHJhbnNwYXJlbnQgVkxBTiBzdHJpcHBpbmcgb25seSBkb25lIGlu DQo+IHRoZQ0KPiA+PiBWRiBwYXRoLiBNZWFzdXJlbWVudHMgd2l0aCBvdXIgYXBwbGljYXRpb24g c2hvdyB+MiUgcGVyZm9ybWFuY2UgaGl0IGZvcg0KPiA+PiB0aGUgVkYgY2FzZSBhbmQgbm9uZSBm b3IgdGhlIFBGIGNhc2UuDQo+ID4+DQo+ID4NCj4gPiAuLi4NCj4gPg0KPiA+PiArLyoNCj4gPj4g KyAqIEZpbHRlciBvdXQgdW5rbm93biB2bGFucyByZXN1bHRpbmcgZnJvbSB1c2Ugb2YgdHJhbnNw YXJlbnQgdmxhbi4NCj4gPj4gKyAqDQo+ID4+ICsgKiBXaGVuIGEgVkYgaXMgY29uZmlndXJlZCB0 byB1c2UgdHJhbnNwYXJlbnQgdmxhbnMgdGhlbiB0aGUgVkYgY2FuDQo+ID4+ICsgKiBzZWUgdGhp cyBWTEFOIGJlaW5nIHNldCBpbiB0aGUgcGFja2V0LCBtZWFuaW5nIHRoYXQgdGhlIHRyYW5zcGFy ZW50DQo+ID4+ICsgKiBwcm9wZXJ0eSBpc24ndCBwcmVzZXJ2ZWQuIEZ1cnRoZXJtb3JlLCB3aGVu IHRoZSBWRiBpcyB1c2VkIGluIGENCj4gPj4gKyAqIGd1ZXN0IFZNIHRoZW4gdGhlcmUncyBubyB3 YXkgb2Yga25vd2luZyBmb3Igc3VyZSB0aGF0IHRyYW5zcGFyZW50DQo+ID4+ICsgKiBWTEFOIGlz IGluIHVzZSBhbmQgd2hhdCB0YWcgdmFsdWUgaGFzIGJlZW4gY29uZmlndXJlZC4gU28gd29yaw0K PiA+PiArICogYXJvdW5kIHRoaXMgYnkgcmVtb3ZpbmcgdGhlIFZMQU4gZmxhZyBpZiB0aGUgVkYg aXNuJ3QgaW50ZXJlc3RlZCBpbg0KPiA+PiArICogdGhlIFZMQU4gdGFnLg0KPiA+PiArICovDQo+ ID4+ICtzdGF0aWMgaW5saW5lIHZvaWQNCj4gPj4gK2l4Z2JldmZfdHJhbnNfdmxhbl9zd19maWx0 ZXJfaGRyKHN0cnVjdCBydGVfbWJ1ZiAqbSwNCj4gPj4gKwkJCQkgY29uc3Qgc3RydWN0IGl4Z2Jl X3ZmdGEgKnZmdGEpDQo+ID4+ICt7DQo+ID4+ICsJaWYgKG0tPm9sX2ZsYWdzICYgUEtUX1JYX1ZM QU4pIHsNCj4gPj4gKwkJdWludDE2X3QgdmxhbiA9IG0tPnZsYW5fdGNpICYgMHhGRkY7DQo+ID4+ ICsNCj4gPj4gKwkJaWYgKCFpeGdiZV92ZnRhX2lzX3ZsYW5fc2V0KHZmdGEsIHZsYW4pKQ0KPiA+ PiArCQkJbS0+b2xfZmxhZ3MgJj0gflBLVF9SWF9WTEFOOw0KPiA+PiArCX0NCj4gPj4gK30NCj4g Pj4gKw0KPiA+DQo+ID4gSWRlYWxseSBhbGwgZHJpdmVyJ3MgYmVoYXZpb3Igc2hvdWxkIGJlIGNv bnNpc3RlbnQgd2l0aCB0aGUgc2FtZSBjb25maWd1cmUuDQo+ID4gaWYgInRyYW5zcGFyZW50IHZs YW4iIGxvb2tzIGxpa2UgYSBnZW5lcmFsIGZlYXR1cmUsIGl0IG1heSBub3Qgb25seSBiaW5kIHRv IFZGDQo+IG9yIGV2ZW4ganVzdCBpeGdiZXZmLiAgKHdoYXQgYWJvdXQgaTQwZXZmPykNCj4gPiBP dGhlcndpc2UsIGl0IHNob3VsZCBiZSBoYW5kbGVkIGluIGFwcGxpY2F0aW9uICwgYnV0IG5vdCB0 aGUgZHJpdmVyLg0KPiANCj4gSXQncyBhIGdlbmVyYWwgZmVhdHVyZSwgYnV0IHRoZSBpbXBsZW1l bnRhdGlvbiBpcyBzcGVjaWZpYyB0byBhIGRyaXZlci4NCj4gSSBiZWxpZXZlIHRoYXQgdGhpcyBp cyBoYW5kbGVkIGluIGhhcmR3YXJlIG9uIGk0MGUsIGJ1dCB0aGlzIGlzIGp1c3QNCj4gYmFzZWQg b24gdGhlIHRoZXJlIGJlaW5nIG5vIHNwZWNpYWwgaGFuZGxpbmcgb2YgdGhpcyBjYXNlIGluIHRo ZSBSWCBwYXRoDQo+IGluIHRoZSBMaW51eCBpNDBlIFZGIGRyaXZlci4NCj4gDQo+IEZ1cnRoZXJt b3JlLCB0cmFuc3BhcmVudCBWTEFOcyBpbXBsZW1lbnRlZCBpbiB0aGUgYXBwbGljYXRpb24gd291 bGQganVzdA0KPiBiZSBjYWxsZWQgIlZMQU5zIiA6LSkgTW9yZSBzcGVjaWZpY2FsbHksIHRoZSBh cHBsaWNhdGlvbiBydW5uaW5nIGluIHRoZQ0KPiBndWVzdCBjYW5ub3Qga25vdyB3aGF0IGhhcyBi ZWVuIGNvbmZpZ3VyZWQgZm9yIHRoZSBWRiBpbiB0aGUgaHlwZXJ2aXNvcg0KPiBpbiBhIGRyaXZl ci1pbmRlcGVuZGVudCBtYW5uZXIsIG9yIHdoZXRoZXIgdGhlIGhhcmR3YXJlIGhhcyBpbiBmYWN0 DQo+IHRyYW5zcGFyZW50bHkgcmVtb3ZlZCB0aGUgVkxBTiBhbHJlYWR5IChhcyBtYXkgYmUgdGhl IGNhc2UgZm9yIGk0MGUpLg0KPiANCj4gPg0KPiA+IC4uLg0KPiA+DQo+ID4+ICsJCWl4Z2JlX3Vu a25vd25fdmxhbl9zd19maWx0ZXJfaGRyKHJ4X3BrdHNbcG9zICsgM10sIHZmdGEsIHJ4cSk7DQo+ ID4NCj4gPiBXaGVyZSBpcyBpeGdiZV91bmtub3duX3ZsYW5fc3dfZmlsdGVyX2hkciBiZSBkZWZp bmVkPyBJIHNhdyBpdCBpcyBvbmx5IGJlDQo+IHVzZWQgaW4gaXhnYmVfcnh0eF92ZWNfbmVvbi5j LCBzbyBhc3N1bWUgdGhlcmUgd2lsbCBiZSBhIGNvbXBpbGUgZXJyb3Igb24gdGhhdA0KPiBwbGF0 Zm9ybT8NCj4gDQo+IEdvb2QgY2F0Y2guIEkgZG9uJ3QgaGF2ZSB0aGUgYWJpbGl0eSB0byBjb21w aWxlIGZvciB0aGF0IHBsYXRmb3JtLCBhbmQNCj4gbWlzc2VkIHRoZSByZW5hbWUgSSBkaWQgZHVy aW5nIGRldmVsb3BtZW50LiBXaWxsIGZpeCBpbiBWMi4NCj4gDQo+IFRoYW5rcywNCj4gUm9iDQoN Cg==