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 24405A04DD; Wed, 21 Oct 2020 11:47:50 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8EC6E7CAB; Wed, 21 Oct 2020 11:47:48 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 84ED06CC0 for ; Wed, 21 Oct 2020 11:47:46 +0200 (CEST) IronPort-SDR: RVO0TTjhBLrdoAp3I6TH/2ahO6GTpNXUdxxO0MXldi8FMVnMM9w3BYnVymFhwVqjfqSFAa3NPK JsxploETXqLA== X-IronPort-AV: E=McAfee;i="6000,8403,9780"; a="154292156" X-IronPort-AV: E=Sophos;i="5.77,400,1596524400"; d="scan'208";a="154292156" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Oct 2020 02:47:39 -0700 IronPort-SDR: Rvx7ZCgahJStoXLjsA2T7HtRiwgiUCTptXVhxHMmSUL6KeW8kAUPSI7PHCKebVwZPpxZRBAqbn ChqFkAIohgww== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,400,1596524400"; d="scan'208";a="332534282" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga002.jf.intel.com with ESMTP; 21 Oct 2020 02:47:38 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 21 Oct 2020 02:47:37 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 21 Oct 2020 02:47:37 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.49) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 21 Oct 2020 02:47:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Duh+B7xclEEZQN6j/ZowLOhEvv7dz4ULcuDwbq3qiV5FhCyb7B8hQR3D1FZG8f/o7RB4+ukrVZ5UPUdQ48lz0rCd26Jy9lb7ZHqQp59Wyp9R6mHAhKsPprcQhYEZgnwTLjT+QL01tLtWFSG/iG+MnfCN1/ItYM+IuRu1YHquEprvo4Ds8daXbj6XvwGzYfr9B5so0Z2tkJ53efOVBHUU36oC5pjCQg5a4LDbHqJgjI5mvclRm+UAstmVl4iYeIvwJ42XcGRvD0RdYwSPRkW5+2xVxaSPObqvB5OYoq8SRm2L+xBMCxbAJaKN7pL+dTfV9lsm0x7Y05Zq7Z7/2pU2hw== 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=3M6w/s5C+hXdSerb8kpyQTTpnmW52muaRkQAGu+X7AU=; b=Sz0dxgYjLHKiO9V0PuWb0CpuvOSMTrqxF5aOFwVuhvxyFEc+/ca8XYkYANmFK8hy+f5AaMdo2QCoPwStOiiNMk3eP4j/0FmpNjM2VgSXtOLw4ZnFmsxi4anRTCh6sOBXTygqNa8N/kYUDVx2aw9OjN2i7rjZAag5IyCh7dpeeGiJ9RKVBkhv3nBFF5t322/UF2rcWXVG3lrCUPJoZPCfezTt+wAQawlanGhvv/SFZ0k4AkpUruJoge7dEm8ihAVqDaI3wpaRaJ8i5MXclmebgvMY11l6rrBF/ikSYiviBioK5yDqrMabhpglelczuMlL0rMIWxAN2SUoqt8+LyD6Jw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3M6w/s5C+hXdSerb8kpyQTTpnmW52muaRkQAGu+X7AU=; b=auaqyljOkws4vZN4v07cg8dzi2y5SJtnXW6IqmUl8bkcQPiGjwErlGa51ghS5ClhqfElnGRWWlMp0BB5G7djLq8kzB4akPUXglGHmva27IUksgOs6qOGBWF4L1dK5GDIjLYQSkeTJY6mFoV73HUpoy7GT7mEwYWzXGUNtPrSiyY= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB2904.namprd11.prod.outlook.com (2603:10b6:a03:87::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.28; Wed, 21 Oct 2020 09:47:32 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f5a4:3f6b:ade3:296b%3]) with mapi id 15.20.3499.018; Wed, 21 Oct 2020 09:47:32 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , "Yang, SteveX" , "Zhang, Qi Z" , "dev@dpdk.org" CC: "Zhao1, Wei" , "Guo, Jia" , "Yang, Qiming" , "Wu, Jingjing" , "Xing, Beilei" , "Stokes, Ian" Thread-Topic: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default Thread-Index: AQHWlWYCx8TVuiIL1UiMFWpiGeSnm6l/hUcAgAC4bGCAABpuAIAAEB0AgAAQzwCAFtwzAIAHCeUAgAB6EUCAAC22AIAACd+wgAAKdbCAAD2ngIAA9HnwgABBQwCAAWQfAA== Date: Wed, 21 Oct 2020 09:47:32 +0000 Message-ID: References: <20200923040909.73418-1-stevex.yang@intel.com> <20200928065541.7520-4-stevex.yang@intel.com> <8459e979b76c43cdbd5a9fbd809f9b00@intel.com> <6ad9e3ec00194e31891d97849135655c@intel.com> <7704b7ce95fd4db2a9c6a8a33c3f0805@intel.com> <77ac2293-e532-e702-2370-c07cdd957c57@intel.com> <483bd509-82b9-9724-d28c-c517ef091e0c@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [46.7.39.127] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cabe6c69-3cc9-4d5b-bd34-08d875a65505 x-ms-traffictypediagnostic: BYAPR11MB2904: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: SxoFLHR29wFqfChRU2dYTBX95YO0Wt0R+eqUMa8c6f0T64GGw+nBmNPnwOuESCB9fEm9mNxo1IR2h/v3599Jd4+9fULG9nNHd2DMPVS2Nm4Avz2Q80AvxHxCTjKvBWoUBl8cInCf6tc16OWVTsfQ64+SlPeQDy7GpbEmIsUm2gFATF7cH05lw7HMnjsEh5EJVJeSLDiKNX05WzOtg9QZ/DyuOoDBaukedUTiIGnyqR2s+Yu7YwiHTOwgjGeq03JwxFy95pN3aIoOgTGt5f6fahXai/chjzqYZYPo59RXip3iPbvYrpLSk55JqD9GfuSnI34fWTwfB9ii9kcIzL60IA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(346002)(136003)(366004)(39860400002)(33656002)(64756008)(71200400001)(26005)(8676002)(55016002)(4326008)(66476007)(66446008)(316002)(76116006)(66556008)(107886003)(83380400001)(8936002)(66946007)(52536014)(186003)(7696005)(9686003)(30864003)(54906003)(5660300002)(6506007)(86362001)(2906002)(110136005)(478600001)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: GULhS23JxI3X8pqQq0fqYHuoiBhuXzuWRPrrAM4f8icn9Nu4kOSd14Liqu/SbnUPD/AVXSy/L7dICw1yGdPngVZdeduem2R4CqcrzDnBf+WUKcK/MQdaDhv3mFo1xxV7MofohJs7QcwZjyXfA6JTjRM1qcugsXtDepCW8e8cdmD+KXnnRRerWNRy7h7xjU3eZv3X0sfrA+aX9fPJTrc0p7HhHEOGW7rr8uKokNlyVDCNRRnXOBg2xCIQmxaMnJiMXPTx4rmfKPAi6pqxS830oZyPQyJf3/125o6hiDx90uh/lzvQOQCtiEAAiToTd7YlU5tQVgmrP/nZf9naxvpXrTZf5OFIdmcMWh4jPMl/KEd2KnZNunrl+lq419xs5e+HvUsZFiRG3VQqgJtJCyBKJQOBb9eLUsxy+Ma0JEvviw7V3s08BzZlSWRemn/D0Ad8DK+kU8kx6BYDEHZSb/zXyh3BEI3juIH6Y+9lx/2vwMEGTl5xa9qL+jHcW1lUgaJEdFgkFvuzu2f1N9prpND4YU3AEtZ4HWODWXIQPcjQ5DK028tvcQdpM1xe3HmO8wdG0h306FlNF5w7gNx4jCR9HXajlmFXkGrL2DHBdW7UdiPL0EhXt23yMNWPhZlleQSTuFNlybxT134FMC76fsemlg== 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: BYAPR11MB3301.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cabe6c69-3cc9-4d5b-bd34-08d875a65505 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Oct 2020 09:47:32.2626 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YPuep4pvtNxHzgZW/ZKCyBjc1E7E/XjYLZWbTbmzlJXIOYZ7ah0JzEDszYLxuS3EV/5dvTA8U+wKPF+LaLUadJdTe7x3upcnfFYeBwQwtsE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2904 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 3/5] net/ice: fix max mtu size packets with vlan tag cannot be received by default 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" DQoNCj4gDQo+IE9uIDEwLzIwLzIwMjAgMTA6MDcgQU0sIEFuYW55ZXYsIEtvbnN0YW50aW4gd3Jv dGU6DQo+ID4NCj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gdGVzdHBtZCB3aWxs IGluaXRpYWxpemUgZGVmYXVsdCBtYXggcGFja2V0IGxlbmd0aCB0byAxNTE4IHdoaWNoDQo+ID4+ Pj4+Pj4+Pj4+Pj4+IGRvZXNuJ3QgaW5jbHVkZSB2bGFuIHRhZyBzaXplIGluIGV0aGVyIG92ZXJo ZWFkZXIuIE9uY2UsIHNlbmQgdGhlDQo+ID4+Pj4+Pj4+Pj4+Pj4+IG1heCBtdHUgbGVuZ3RoIHBh Y2tldCB3aXRoIHZsYW4gdGFnLCB0aGUgbWF4IHBhY2tldCBsZW5ndGggd2lsbA0KPiA+Pj4+Pj4+ Pj4+Pj4+PiBleGNlZWQgMTUxOCB0aGF0IHdpbGwgY2F1c2UgcGFja2V0cyBkcm9wcGVkIGRpcmVj dGx5IGZyb20gTklDIGh3DQo+ID4+Pj4+Pj4+Pj4gc2lkZS4NCj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4g Pj4+Pj4+Pj4+Pj4+Pj4gaWNlIGNhbiBzdXBwb3J0IGR1YWwgdmxhbiB0YWdzIHRoYXQgbmVlZCBt b3JlIDggYnl0ZXMgZm9yIG1heA0KPiA+Pj4+Pj4+Pj4+Pj4+PiBwYWNrZXQgc2l6ZSwgc28sIGNv bmZpZ3VyZXMgdGhlIGNvcnJlY3QgbWF4IHBhY2tldCBzaXplIGluDQo+ID4+Pj4+Pj4+Pj4+Pj4+ IGRldl9jb25maWcNCj4gPj4+Pj4+Pj4+Pj4gb3BzLg0KPiA+Pj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pj4+Pj4+PiBGaXhlczogNTBjYzlkMmE2ZTlkICgibmV0L2ljZTogZml4IG1heCBmcmFtZSBz aXplIikNCj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTog U3RldmVYIFlhbmcgPHN0ZXZleC55YW5nQGludGVsLmNvbT4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gLS0t DQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAgICAgZHJpdmVycy9uZXQvaWNlL2ljZV9ldGhkZXYuYyB8IDEx ICsrKysrKysrKysrDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAgICAgMSBmaWxlIGNoYW5nZWQsIDExIGlu c2VydGlvbnMoKykNCj4gPj4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2ljZS9pY2VfZXRoZGV2LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gYi9kcml2 ZXJzL25ldC9pY2UvaWNlX2V0aGRldi5jIGluZGV4DQo+ID4+Pj4+Pj4+Pj4+Pj4+IGNmZDM1N2Iw NS4uNmI3MDk4NDQ0IDEwMDY0NA0KPiA+Pj4+Pj4+Pj4+Pj4+PiAtLS0gYS9kcml2ZXJzL25ldC9p Y2UvaWNlX2V0aGRldi5jDQo+ID4+Pj4+Pj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L2ljZS9p Y2VfZXRoZGV2LmMNCj4gPj4+Pj4+Pj4+Pj4+Pj4gQEAgLTMxNDYsNiArMzE0Niw3IEBAIGljZV9k ZXZfY29uZmlndXJlKHN0cnVjdCBydGVfZXRoX2Rldg0KPiA+Pj4+Pj4+PiAqZGV2KQ0KPiA+Pj4+ Pj4+Pj4+Pj4+PiBzdHJ1Y3QgaWNlX2FkYXB0ZXIgKmFkID0NCj4gPj4+Pj4+Pj4+Pj4+Pj4gSUNF X0RFVl9QUklWQVRFX1RPX0FEQVBURVIoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4+Pj4+ Pj4+Pj4+Pj4+ICAgICAgc3RydWN0IGljZV9wZiAqcGYgPQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiBJQ0Vf REVWX1BSSVZBVEVfVE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4+Pj4+Pj4+Pj4+ Pj4+ICt1aW50MzJfdCBmcmFtZV9zaXplID0gZGV2LT5kYXRhLT5tdHUgKyBJQ0VfRVRIX09WRVJI RUFEOw0KPiA+Pj4+Pj4+Pj4+Pj4+PiAgICAgIGludCByZXQ7DQo+ID4+Pj4+Pj4+Pj4+Pj4+DQo+ ID4+Pj4+Pj4+Pj4+Pj4+ICAgICAgLyogSW5pdGlhbGl6ZSB0byBUUlVFLiBJZiBhbnkgb2YgUngg cXVldWVzIGRvZXNuJ3QgbWVldCB0aGUgQEANCj4gPj4+Pj4+Pj4+Pj4+Pj4gLTMxNTcsNg0KPiA+ Pj4+Pj4+Pj4+Pj4+PiArMzE1OCwxNiBAQCBpY2VfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldikNCj4gPj4+Pj4+Pj4+Pj4+Pj4gICAgICBpZiAoZGV2LT5kYXRhLT5kZXZfY29u Zi5yeG1vZGUubXFfbW9kZSAmDQo+ID4+Pj4+Pj4+IEVUSF9NUV9SWF9SU1NfRkxBRykNCj4gPj4+ Pj4+Pj4+Pj4+Pj4gZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgfD0NCj4gPj4+ Pj4+Pj4+Pj4gREVWX1JYX09GRkxPQURfUlNTX0hBU0g7DQo+ID4+Pj4+Pj4+Pj4+Pj4+DQo+ID4+ Pj4+Pj4+Pj4+Pj4+ICsvKioNCj4gPj4+Pj4+Pj4+Pj4+Pj4gKyAqIENvbnNpZGVyaW5nIFFpblEg cGFja2V0LCBtYXggZnJhbWUgc2l6ZSBzaG91bGQgYmUgZXF1YWwgb3INCj4gPj4+Pj4+Pj4+Pj4+ Pj4gKyAqIGxhcmdlciB0aGFuIHRvdGFsIHNpemUgb2YgTVRVIGFuZCBFdGhlciBvdmVyaGVhZC4N Cj4gPj4+Pj4+Pj4+Pj4+Pj4gKyAqLw0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4+ ICtpZiAoZnJhbWVfc2l6ZSA+IGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3Rf bGVuKSB7DQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+ IFdoeSB3ZSBuZWVkIHRoaXMgY2hlY2s/DQo+ID4+Pj4+Pj4+Pj4+Pj4gQ2FuIHdlIGp1c3QgY2Fs bCBpY2VfbXR1X3NldCBkaXJlY3RseQ0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IEkg dGhpbmsgdGhhdCB3aXRob3V0IHRoYXQgY2hlY2sgd2UgY2FuIHNpbGVudGx5IG92ZXJ3cml0ZSBw cm92aWRlZA0KPiA+Pj4+Pj4+Pj4+Pj4gYnkgdXNlciBkZXZfY29uZi5yeG1vZGUubWF4X3J4X3Br dF9sZW4gdmFsdWUuDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IE9LLCBJIHNlZQ0KPiA+ Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+PiBCdXQgc3RpbGwgaGF2ZSBvbmUgcXVlc3Rpb24NCj4g Pj4+Pj4+Pj4+Pj4gZGV2LT5kYXRhLT5tdHUgaXMgaW5pdGlhbGl6ZWQgdG8gMTUxOCBhcyBkZWZh dWx0ICwgYnV0IGlmDQo+ID4+Pj4+Pj4+Pj4+IGRldi0+ZGF0YS0+YXBwbGljYXRpb24gc2V0DQo+ ID4+Pj4+Pj4+Pj4+IGRldl9jb25mLnJ4bW9kZS5tYXhfcnhfcGt0X2xlbiA9IDEwMDAgaW4gZGV2 X2NvbmZpZ3VyZS4NCj4gPj4+Pj4+Pj4+Pj4gZG9lcyB0aGF0IG1lYW4gd2Ugd2lsbCBzdGlsbCB3 aWxsIHNldCBtdHUgdG8gMTUxOCwgaXMgdGhpcyBleHBlY3RlZD8NCj4gPj4+Pj4+Pj4+Pj4NCj4g Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IG1heF9yeF9wa3RfbGVuIHNob3VsZCBiZSBsYXJnZXIg dGhhbiBtdHUgYXQgbGVhc3QsIHNvIHdlIHNob3VsZCByYWlzZQ0KPiA+Pj4+Pj4+Pj4+IHRoZSBt YXhfcnhfcGt0X2xlbiAoZS5nLjoxNTE4KSB0byBob2xkIGV4cGVjdGVkIG10dSB2YWx1ZSAoZS5n LjogMTUwMCkuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gT2ssIHRoaXMgZGVzY3JpYmUgdGhl IHByb2JsZW0gbW9yZSBnZW5lcmFsIGFuZCBiZXR0ZXIgdG8gcmVwbGFjZSBleGlzdA0KPiA+Pj4+ Pj4+PiBjb2RlIGNvbW1lbnQgYW5kIGNvbW1pdCBsb2cgZm9yIGVhc3kgdW5kZXJzdGFuZGluZy4N Cj4gPj4+Pj4+Pj4+IFBsZWFzZSBzZW5kIGEgbmV3IHZlcnNpb24gZm9yIHJld29yZA0KPiA+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gSSBkaWRuJ3QgcmVhbGx5IGdldCB0aGlzIHNl dC4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gQXBwbGljYXRpb24gZXhwbGljaXRseSBzZXRzICdt YXhfcnhfcGt0X2xlbicgdG8gJzE1MTgnLCBhbmQgYSBmcmFtZSBiaWdnZXIgdGhhbg0KPiA+Pj4+ Pj4+PiB0aGlzIHNpemUgaXMgZHJvcHBlZC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFN1cmUsIGl0 IGlzIG5vcm1hbCBjYXNlIGZvciBkcm9wcGluZyBvdmVyc2l6ZSBkYXRhLg0KPiA+Pj4+Pj4+DQo+ ID4+Pj4+Pj4+IElzbid0IHRoaXMgd2hhdCBzaG91bGQgYmUsIHdoeSB3ZSBhcmUgdHJ5aW5nIHRv IG92ZXJ3cml0ZSB1c2VyIGNvbmZpZ3VyYXRpb24NCj4gPj4+Pj4+Pj4gaW4gUE1EIHRvIHByZXZl bnQgdGhpcz8NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEJ1dCBpdCBpcyBhIGNv bmZsaWN0aW9uIHRoYXQgYXBwbGljYXRpb24vdXNlciBzZXRzIG10dSAmIG1heF9yeF9wa3RfbGVu IGF0IHRoZSBzYW1lIHRpbWUuDQo+ID4+Pj4+Pj4gVGhpcyBmaXggd2lsbCBtYWtlIGEgZGVjaXNp b24gd2hlbiBjb25mbGljdGlvbiBvY2N1cnJlZC4NCj4gPj4+Pj4+PiBNVFUgdmFsdWUgd2lsbCBj b21lIGZyb20gdXNlciBvcGVyYXRpb24gKGUuZy46IHBvcnQgY29uZmlnIG10dSAwIDE1MDApIGRp cmVjdGx5LA0KPiA+Pj4+Pj4+IHNvLCB0aGUgbWF4X3J4X3BrdF9sZW4gd2lsbCByZXNpemUgaXRz ZWxmIHRvIGFkYXB0IGV4cGVjdGVkIE1UVSB2YWx1ZSBpZiBpdHMgc2l6ZSBpcyBzbWFsbGVyIHRo YW4gTVRVICsgRXRoZXIgb3ZlcmhlYWQuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gRHVyaW5nIGV0 aF9kZXYgYWxsb2NhdGlvbiwgbXR1IHNldCB0byBkZWZhdWx0ICcxNTAwJywgYnkgZXRoZGV2IGxh eWVyLg0KPiA+Pj4+Pj4+PiBBbmQgdGVzdHBtZCBzZXRzICdtYXhfcnhfcGt0X2xlbicgYnkgZGVm YXVsdCB0byAnMTUxOCcuDQo+ID4+Pj4+Pj4+IEkgdGhpbmsgUWkncyBjb25jZXJuIGFib3ZlIGlz IHZhbGlkLCB3aGF0IGlzIHVzZXIgc2V0ICdtYXhfcnhfcGt0X2xlbicgdG8gJzEwMDAnDQo+ID4+ Pj4+Pj4+IGFuZCBtZWFuIGl0PyBQTUQgd2lsbCBub3QgaG9ub3IgdGhlIHVzZXIgY29uZmlnLg0K PiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gSSdtIG5vdCBzdXJlIHdoZW4gc2V0ICdtdHUnIHRvICcxNTAw JyBhbmQgJ21heF9yeF9wa3RfbGVuJyB0byAnMTAwMCcsIHdoYXQncyB0aGUgYmVoYXZpb3IgZXhw ZWN0ZWQ/DQo+ID4+Pj4+Pj4gSWYgc3RpbGwga2VlcCB0aGUgJ21heF9yeF9wa3RfbGVuJyB2YWx1 ZSwgdGhhdCBtZWFucyB0aGUgbGFyZ2VyICdtdHUnIHdpbGwgYmUgaW52YWxpZC4NCj4gPj4+Pj4+ Pg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBXaHkgbm90IHNpbXBseSBpbmNyZWFzZSB0aGUgZGVm YXVsdCAnbWF4X3J4X3BrdF9sZW4nIGluIHRlc3RwbWQ/DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4g VGhlIGRlZmF1bHQgJ21heF9yeF9wa3RfbGVuJyBoYXMgYmVlbiBpbml0aWFsaXplZCB0byBnZW5l cmljYWwgdmFsdWUgKDE1MTgpIGFuZCBkZWZhdWx0ICdtdHUnIGlzICcxNTAwJyBpbiB0ZXN0cG1k LA0KPiA+Pj4+Pj4+IEJ1dCBpdCBpc24ndCBzdWl0YWJsZSB0byB0aG9zZSBOSUMgZHJpdmVycyB3 aGljaCBFdGhlciBvdmVyaGVhZCBpcyBsYXJnZXIgdGhhbiAxOC4gKGUuZy46IGljZSwgaTQwZSkg aWYgJ210dScgdmFsdWUgaXMgcHJlZmVyYWJsZS4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBBbmQg SSBndWVzcyBldmVuIGJldHRlciB3aGF0IHdlIG5lZWQgaXMgdG8gdGVsbCB0byB0aGUgYXBwbGlj YXRpb24gd2hhdCB0aGUNCj4gPj4+Pj4+Pj4gZnJhbWUgb3ZlcmhlYWQgUE1EIGFjY2VwdHMuDQo+ ID4+Pj4+Pj4+IFNvIHRoZSBhcHBsaWNhdGlvbiBjYW4gc2V0IHByb3BlciAnbWF4X3J4X3BrdF9s ZW4nIHZhbHVlIHBlciBwb3J0IGZvciBhDQo+ID4+Pj4+Pj4+IGdpdmVuL3JlcXVlc3RlZCBNVFUg dmFsdWUuDQo+ID4+Pj4+Pj4+IEBJYW4sIGNjJ2VkLCB3YXMgY29tcGxhaW5pbmcgYWxtb3N0IHNh bWUgdGhpbmcgeWVhcnMgYWdvLCB0aGVzZSBQTUQNCj4gPj4+Pj4+Pj4gb3ZlcmhlYWQgbWFjcm9z IGFuZCAnbWF4X210dScvJ21pbl9tdHUnIGFkZGVkIGJlY2F1c2Ugb2YgdGhhdCwgcGVyaGFwcw0K PiA+Pj4+Pj4+PiBoZSBoYXMgYSBzb2x1dGlvbiBub3c/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gICAg RnJvbSBteSBwZXJzcGVjdGl2ZSB0aGUgbWFpbiBwcm9ibGVtIGhlcmU6DQo+ID4+Pj4+PiBXZSBo YXZlIDIgZGlmZmVyZW50IHZhcmlhYmxlcyBmb3IgbmVhcmx5IHRoZSBzYW1lIHRoaW5nOg0KPiA+ Pj4+Pj4gcnRlX2V0aF9kZXZfZGF0YS5tdHUgYW5kIHJ0ZV9ldGhfZGV2X2RhdGEuZGV2X2NvbmYu bWF4X3J4X3BrdF9sZW4uDQo+ID4+Pj4+PiBhbmQgMiBkaWZmZXJlbnQgQVBJIHRvIHVwZGF0ZSB0 aGVtOiBkZXZfbXR1X3NldCgpIGFuZCBkZXZfY29uZmlndXJlKCkuDQo+ID4+Pj4+DQo+ID4+Pj4+ IEFjY29yZGluZyBBUEkgJ21heF9yeF9wa3RfbGVuJyBpcyAnT25seSB1c2VkIGlmIEpVTUJPX0ZS QU1FIGVuYWJsZWQnDQo+ID4+Pj4+IEFsdGhvdWdoIG5vdCBzdXJlIHRoYXQgaXMgcHJhY3RpY2Fs bHkgd2hhdCBpcyBkb25lIGZvciBhbGwgZHJpdmVycy4NCj4gPj4+Pg0KPiA+Pj4+IEkgdGhpbmsg bW9zdCBvZiBJbnRlbCBQTURzIHVzZSBpdCB1bmNvbmRpdGlvbmFsbHkuDQo+ID4+Pj4NCj4gPj4+ Pj4NCj4gPj4+Pj4+IEFuZCBpbnNpZGUgbWFqb3JpdHkgb2YgSW50ZWwgUE1EcyB3ZSBkb24ndCBr ZWVwIHRoZXNlIDIgdmFyaWFibGVzIGluIHN5bmM6DQo+ID4+Pj4+PiAtIG10dV9zZXQoKSB3aWxs IHVwZGF0ZSBib3RoIHZhcmlhYmxlcy4NCj4gPj4+Pj4+IC0gZGV2X2NvbmZpZ3VyZSgpIHdpbGwg dXBkYXRlIG9ubHkgbWF4X3J4X3BrdF9sZW4sIGJ1dCB3aWxsIGtlZXAgbXR1IGludGFjdC4NCj4g Pj4+Pj4+DQo+ID4+Pj4+PiBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgaW5jb25zaXN0ZW5jeSwgd2hp Y2ggSSB0aGluayBpcyBhIGdvb2QgdGhpbmcuDQo+ID4+Pj4+PiBUaG91Z2ggeWVzLCBpdCBpbnRy b2R1Y2VzIGNoYW5nZSBpbiBiZWhhdmlvdXIuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gTGV0IHNheSB0 aGUgY29kZToNCj4gPj4+Pj4+IHJ0ZV9ldGhfZGV2X3NldF9tdHUocG9ydCwgMTUwMCk7DQo+ID4+ Pj4+PiBkZXZfY29uZi5tYXhfcnhfcGt0X2xlbiA9IDEwMDA7DQo+ID4+Pj4+PiBydGVfZXRoX2Rl dl9jb25maWd1cmUocG9ydCwgMSwgMSwgJmRldl9jb25mKTsNCj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ ID4+Pj4+ICdydGVfZXRoX2Rldl9jb25maWd1cmUoKScgaXMgb25lIG9mIHRoZSBmaXJzdCBBUElz IGNhbGxlZCwgaXQgaXMgY2FsbGVkIGJlZm9yZQ0KPiA+Pj4+PiAncnRlX2V0aF9kZXZfc2V0X210 dSgpLg0KPiA+Pj4+DQo+ID4+Pj4gVXN1YWxseSB5ZXMuDQo+ID4+Pj4gQnV0IHlvdSBjYW4gc3Rp bGwgZG8gc29tZXRpbWVzIGxhdGVyOiBkZXZfbXR1X3NldCgpOyAuLi47IGRldl9zdG9wKCk7IGRl dl9jb25maWd1cmUoKTsgZGV2X3N0YXJ0KCk7DQo+ID4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4gV2hl biAncnRlX2V0aF9kZXZfY29uZmlndXJlKCknIGlzIGNhbGxlZCwgTVRVIGlzIHNldCB0byAnMTUw MCcgYnkgZGVmYXVsdCBieQ0KPiA+Pj4+PiBldGhkZXYgbGF5ZXIsIHNvIGl0IGlzIG5vdCB1c2Vy IGNvbmZpZ3VyYXRpb24sIGJ1dCAnbWF4X3J4X3BrdF9sZW4nIGlzLg0KPiA+Pj4+DQo+ID4+Pj4g U2VlIGFib3ZlLg0KPiA+Pj4+IFBNRCBkb2Vzbid0IGtub3cgd2hlcmUgdGhpcyBNVFUgdmFsdWUg Y2FtZSBmcm9tIChkZWZhdWx0IGV0aGRldiB2YWx1ZSBvciB1c2VyIHNwZWNpZmllZCB2YWx1ZSkN Cj4gPj4+PiBhbmQgcHJvYmFibHkgaXQgc2hvdWxkbid0IGNhcmUuDQo+ID4+Pj4NCj4gPj4+Pj4N Cj4gPj4+Pj4gQW5kIGxhdGVyLCB3aGVuICdydGVfZXRoX2Rldl9zZXRfbXR1KCknIGlzIGNhbGxl ZCwgYnV0IE1UVSBhbmQgJ21heF9yeF9wa3RfbGVuJw0KPiA+Pj4+PiBhcmUgdXBkYXRlZCAobW9z dGx5KS4NCj4gPj4+Pg0KPiA+Pj4+IFllcywgaW4gbXR1X3NldCgpIHdlIHVwZGF0ZSBib3RoLg0K PiA+Pj4+IEJ1dCB3ZSBkb24ndCB1cGRhdGUgTVRVIGluIGRldl9jb25maWd1cmUoKSwgb25seSBt YXhfcnhfcGt0X2xlbi4NCj4gPj4+PiBUaGF0IHdoYXQgdGhpcyBwYXRjaCB0cmllcyB0byBmaXgg KGFzIEkgdW5kZXJzdGFuZCBpdCkuDQo+ID4+Pg0KPiA+Pj4gVG8gYmUgbW9yZSBwcmVjaXNlIC0g aXQgZG9lc24ndCBjaGFuZ2UgTVRVIHZhbHVlIGluIGRldl9jb25maWd1cmUoKSwNCj4gPj4+IGJ1 dCBpbnN0ZWFkIGRvZXNuJ3QgYWxsb3cgbWF4X3J4X3BrdF9sZW4gdG8gYmVjb21lIHNtYWxsZXIN Cj4gPj4+IHRoZW4gTVRVICsgT1ZFUkhFQUQuDQo+ID4+PiBQcm9iYWJseSBjaGFuZ2luZyBNVFUg dmFsdWUgaW5zdGVhZCBpcyBhIGJldHRlciBjaG9pY2UuDQo+ID4+Pg0KPiA+Pg0KPiA+PiArMSB0 byBjaGFuZ2UgbXR1IGZvciB0aGlzIGNhc2UuDQo+ID4+IEFuZCB0aGlzIGlzIHdoYXQgaGFwcGVu cyBpbiBwcmFjdGljZSB3aGVuIHRoZXJlIGlzIG5vICdydGVfZXRoX2Rldl9zZXRfbXR1KCknDQo+ ID4+IGNhbGwsIHNpbmNlIFBNRCBpcyB1c2luZyAoJ21heF9yeF9wa3RfbGVuJyAtIE9WRVJIRUFE KSB0byBzZXQgTVRVLg0KPiA+DQo+ID4gSG1tLCBJIGRvbid0IHNlZSB0aGF0IGhhcHBlbnMgd2l0 aGluIEludGVsIFBNRHMuDQo+ID4gQXMgSSBjYW4gcmVhZCB0aGUgY29kZTogaWYgdXNlciBuZXZl ciBjYWxsIG10dV9zZXQoKSwgdGhlbiBNVFUgdmFsdWUgaXMgbGVmdCBpbnRhY3QuDQo+ID4NCj4g DQo+IEkgd2FzIGNoZWNraW5nIGljZSwNCj4gaW4gJ2ljZV9kZXZfc3RhcnQoKScsICdyeG1vZGUu bWF4X3J4X3BrdF9sZW4nIGlzIHVzZWQgdG8gY29uZmlndXJlIHRoZSBkZXZpY2UuDQoNClllcywg SSBhbSBub3QgYXJndWluZyB3aXRoIHRoYXQuDQpXaGF0IEkgYW0gc2F5aW5nIC0gZGV2X2NvbmZp ZygpIGRvZXNuJ3QgdXBkYXRlIE1UVSBiYXNlZCBvbiBtYXhfcnhfcGt0X2xlbi4NCldoaWxlIGl0 IHByb2JhYmx5IHNob3VsZC4gDQoNCj4gDQo+ID4+IEJ1dCB0aGlzIHdvbid0IHNvbHZlIHRoZSBw cm9ibGVtIFN0ZXZlIGlzIHRyeWluZyB0byBzb2x2ZS4NCj4gPg0KPiA+IFlvdSBtZWFuIHdlIHN0 aWxsIG5lZWQgdG8gdXBkYXRlIHRlc3QtcG1kIGNvZGUgdG8gY2FsY3VsYXRlIG1heF9yeF9wa3Rf bGVuDQo+ID4gcHJvcGVybHkgZm9yIGRlZmF1bHQgbXR1IHZhbHVlPw0KPiA+DQo+IA0KPiBZZXMu DQo+IEJlY2F1c2UgdGFyZ2V0IG9mIHRoaXMgc2V0IGlzIGFibGUgdG8gcmVjZWl2ZSBwYWNrZXRz IHdpdGggcGF5bG9hZCBzaXplDQo+ICdSVEVfRVRIRVJfTVRVJywgaWYgTVRVIGlzIHVwZGF0ZWQg YWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCAnbWF4X3J4X3BrdF9sZW4nLA0KPiBkZXZpY2Ugc3Rp bGwgd29uJ3QgYWJsZSB0byByZWNlaXZlIHRob3NlIHBhY2tldHMuDQoNCkFncmVlLg0KDQo+IA0K PiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gQmVmb3JlIHRoZSBwYXRjaCB3aWxsIHJlc3VsdDoN Cj4gPj4+Pj4+IG10dT09MTUwMCwgbWF4X3J4X3BrdF9sZW49MTAwMDsgIC8vb3V0IG9mIHN5bmMg bG9va3Mgd3JvbmcgdG8gbWUNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBBZnRlciB0aGUgcGF0Y2g6DQo+ ID4+Pj4+PiBtdHU9MTUwMCwgbWF4X3J4X3B0a19sZW49MTUxODsgLy8gaW4gc3luYywgY2hhbmdl IGluIGJlaGF2aW91ci4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJZiB5b3UgdGhpbmsgd2UgbmVlZCB0 byBwcmVzZXJ2ZSBjdXJyZW50IGJlaGF2aW91ciwNCj4gPj4+Pj4+IHRoZW4gSSBzdXBwb3NlIHRo ZSBlYXNpZXN0IHRoaW5nIHdvdWxkIGJlIHRvIGNoYW5nZSBkZXZfY29uZmlnKCkgY29kZQ0KPiA+ Pj4+Pj4gdG8gdXBkYXRlIG10dSB2YWx1ZSBiYXNlZCBvbiBtYXhfcnhfcGt0X2xlbi4NCj4gPj4+ Pj4+IEkuRTogZGV2X2NvbmZpZ3VyZSB7Li4uOyBtdHVfc2V0KG1heF9yeF9wa3RfbGVuIC0gT1ZF UkhFQUQpOyAuLi59DQo+ID4+Pj4+PiBTbyB0aGUgY29kZSBzbmlwcGV0IGFib3ZlIHdpbGwgcmVz dWx0Og0KPiA+Pj4+Pj4gbXR1PTk4MixtYXhfcnhfcGt0X2xlbj0xMDAwOw0KPiA+Pj4+Pj4NCj4g Pj4+Pj4NCj4gPj4+Pj4gVGhlICdtYXhfcnhfcHRrX2xlbicgaXMgYW5ub3lhbmNlIGZvciBhIGxv bmcgdGltZSwgd2hhdCBkbyB5b3UgdGhpbmsgdG8ganVzdA0KPiA+Pj4+PiBkcm9wIGl0Pw0KPiA+ Pj4+Pg0KPiA+Pj4+PiBCeSBkZWZhdWx0IGRldmljZSB3aWxsIGJlIHVwIHdpdGggZGVmYXVsdCBN VFUgKDE1MDApLCBsYXRlcg0KPiA+Pj4+PiAncnRlX2V0aF9kZXZfc2V0X210dScgY2FuIGJlIHVz ZWQgdG8gc2V0IHRoZSBNVFUsIG5vIGZyYW1lIHNpemUgc2V0dGluZyBhdCBhbGwuDQo+ID4+Pj4+ DQo+ID4+Pj4+IFdpbGwgdGhpcyB3b3JrPw0KPiA+Pj4+DQo+ID4+Pj4gSSB0aGluayBpdCBtaWdo dCwgYnV0IHRoYXQncyBhIGJpZyBjaGFuZ2UsIHByb2JhYmx5IHRvbyByaXNreSBhdCB0aGF0IHN0 YWdlLi4uDQo+ID4+Pj4NCj4gPj4NCj4gPj4gRGVmaW50ZWx5LCBJIHdhcyB0aGlua2luZyBmb3Ig MjEuMTEuIExldCBtZSBzZW5kIGEgZGVwcmVjYXRpb24gbm90aWNlIGFuZCBzZWUNCj4gPj4gd2hh dCBoYXBwZW5zLg0KPiA+Pg0KPiA+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IEFuZCBm b3Igc2hvcnQgdGVybSwgZm9yIGFib3ZlIEludGVsIFBNRHMsIHRoZXJlIG11c3QgYmUgYSBwbGFj ZSB0aGlzDQo+ID4+Pj4+ICdtYXhfcnhfcGt0X2xlbicgdmFsdWUgdGFrZW4gaW50byBhY2NvdW50 IChtb3N0bHkgJ3N0YXJ0KCknIGRldl9vcHMpLCB0aGF0DQo+ID4+Pj4+IGZ1bmN0aW9uIGNhbiBi ZSB1cGRhdGVkIHRvIHRha2UgJ21heF9yeF9wa3RfbGVuJyBvbmx5IGlmIEpVTUJPX0ZSQU1FIHNl dCwNCj4gPj4+Pj4gb3RoZXJ3aXNlIHVzZSB0aGUgJ01UVScgdmFsdWUuDQo+ID4+Pj4NCj4gPj4+ PiBFdmVuIGlmIHdlJ2xsIHVzZSBtYXhfcnhfcGt0X2xlbiBvbmx5IHdoZW4gaWYgSlVNQk9fRlJB TUUgaXMgc2V0LA0KPiA+Pj4+IEkgdGhpbmsgd2Ugc3RpbGwgbmVlZCB0byBrZWVwIG1heF9yeF9w a3RfbGVuIGFuZCBNVFUgdmFsdWVzIGluIHN5bmMuDQo+ID4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4g V2l0aG91dCAnc3RhcnQoKScgdXBkYXRlZCB0aGUgY3VycmVudCBsb2dpYyB3b24ndCB3b3JrIGFm dGVyIHN0b3AgJiBzdGFydCBhbnl3YXkuDQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gQW5kIHdo eSB0aGlzIHNhbWUgdGhpbmcgY2FuJ3QgaGFwcGVuIHRvIG90aGVyIFBNRHM/IElmIHRoaXMgaXMg YSBwcm9ibGVtIGZvcg0KPiA+Pj4+Pj4+PiBhbGwgUE1Ecywgd2Ugc2hvdWxkIHNvbHZlIGluIG90 aGVyIGxldmVsLCBub3QgZm9yIG9ubHkgc29tZSBQTURzLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+ IE5vLCBhbGwgUE1EcyBleGlzdCB0aGUgc2FtZSBpc3N1ZSwgYW5vdGhlciBwcm9wb3NhbDoNCj4g Pj4+Pj4+PiAgICAgLSAgcnRlX2V0aGRldiBwcm92aWRlcyB0aGUgdW5pcXVlIHJlc2l6ZSAnbWF4 X3J4X3BrdF9sZW4nIGluIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpOw0KPiA+Pj4+Pj4+ICAgICAt IHByb3ZpZGUgdGhlIHVuaWZvcm0gQVBJIGZvciBmZXRjaGluZyB0aGUgTklDJ3Mgc3VwcG9ydGVk IEV0aGVyIE92ZXJoZWFkIHNpemU7DQo+ID4+Pj4+Pj4gSXMgaXQgZmVhc2libGU/DQo+ID4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gR2VuZXJhbGx5LCB0aGUgbXR1IHZhbHVlIGNh biBiZSBhZGp1c3RhYmxlIGZyb20gdXNlciAoZS5nLjogaXAgbGluaw0KPiA+Pj4+Pj4+Pj4+IHNl dCBlbnM4MDFmMCBtdHUgMTQwMCksIGhlbmNlLCB3ZSBqdXN0IGFkanVzdCB0aGUgbWF4X3J4X3Br dF9sZW4gdG8NCj4gPj4+Pj4+Pj4+PiBzYXRpc2Z5IG10dSByZXF1aXJlbWVudC4NCj4gPj4+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4+PiBTaG91bGQgd2UganVzdCBjYWxsIGljZV9tdHVfc2V0KGRldiwg ZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuKQ0KPiA+Pj4+Pj4+Pj4+PiBoZXJlPw0KPiA+ Pj4+Pj4+Pj4+IGljZV9tdHVfc2V0KGRldiwgbXR1KSB3aWxsIGFwcGVuZCBldGhlciBvdmVyaGVh ZCB0bw0KPiA+Pj4+Pj4+Pj4+IGZyYW1lX3NpemUvbWF4X3J4X3BrdF9sZW4sIHNvIHdlIG5lZWQg cGFzcyB0aGUgbXR1IHZhbHVlIGFzIHRoZSAybmQNCj4gPj4+Pj4+Pj4+PiBwYXJhbWV0ZXIsIG9y IG5vdCB0aGUgbWF4X3J4X3BrdF9sZW4uDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4NCj4g Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gQW5kIHBsZWFzZSBy ZW1vdmUgYWJvdmUgY29tbWVudCwgc2luY2UgZXRoZXIgb3ZlcmhlYWQgaXMgYWxyZWFkeQ0KPiA+ Pj4+Pj4+Pj4+Pj4gY29uc2lkZXJlZCBpbiBpY2VfbXR1X3NldC4NCj4gPj4+Pj4+Pj4+PiBFdGhl ciBvdmVyaGVhZCBpcyBhbHJlYWR5IGNvbnNpZGVyZWQgaW4gaWNlX210dV9zZXQsIGJ1dCBpdCBh bHNvDQo+ID4+Pj4+Pj4+Pj4gc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgdGhlIGFkanVzdG1lbnQg Y29uZGl0aW9uIHRoYXQgaWYgaWNlX210dV9zZXQNCj4gPj4+Pj4+Pj4gbmVlZCBiZSBpbnZva2Vk Lg0KPiA+Pj4+Pj4+Pj4+IFNvLCBpdCBwZXJoYXBzIHNob3VsZCByZW1haW4gdGhpcyBjb21tZW50 IGJlZm9yZSB0aGlzIGlmKCkgY29uZGl0aW9uLg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+PiArcmV0ID0gaWNlX210dV9zZXQo ZGV2LCBkZXYtPmRhdGEtPm10dSk7IGlmIChyZXQgIT0gMCkgcmV0dXJuDQo+ID4+Pj4+Pj4+Pj4+ Pj4+ICtyZXQ7IH0NCj4gPj4+Pj4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4+Pj4+PiAgICAgIHJl dCA9IGljZV9pbml0X3JzcyhwZik7DQo+ID4+Pj4+Pj4+Pj4+Pj4+ICAgICAgaWYgKHJldCkgew0K PiA+Pj4+Pj4+Pj4+Pj4+PiAgICAgIFBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBlbmFibGUg cnNzIGZvciBQRiIpOw0KPiA+Pj4+Pj4+Pj4+Pj4+PiAtLQ0KPiA+Pj4+Pj4+Pj4+Pj4+PiAyLjE3 LjENCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+ Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pg0KPiA+DQoNCg==