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 74595A04B6; Mon, 12 Oct 2020 00:49:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 11BC11D592; Mon, 12 Oct 2020 00:49:19 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 95E191BF1C for ; Mon, 12 Oct 2020 00:49:15 +0200 (CEST) IronPort-SDR: iUMfTutF5SiAVHzw8nSxs0cyAeShfhmf/1G/HwtMOkOQvj7r37nwvEs/u4RQUSnIiW9qPbfruH v0/1H3tHZ3xw== X-IronPort-AV: E=McAfee;i="6000,8403,9771"; a="165781666" X-IronPort-AV: E=Sophos;i="5.77,364,1596524400"; d="scan'208";a="165781666" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2020 15:49:09 -0700 IronPort-SDR: fIhxAmamy353mTMv0sieYpzM06IxdRJWjV5+iQPqnTaDWl5r2rNL1bwRYATtKLNobRALduE32v RXH2bjR0uRVQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,364,1596524400"; d="scan'208";a="462896606" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga004.jf.intel.com with ESMTP; 11 Oct 2020 15:49:08 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 11 Oct 2020 15:49:08 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 11 Oct 2020 15:49:08 -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; Sun, 11 Oct 2020 15:49:08 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.173) 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; Sun, 11 Oct 2020 15:49:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N0TvT4s2hoFR6m9h6Oy30RVYCrhtRWqWiino/szUUuxZHZXIXJlJgOpCZY6tWad0F0JZIG6s6XFgOWpkMFzJOyKAf+MDcDs4XfA0iK8z7fOp1lf+Y31hq996n/zC0WlBcLKCU/+VtSK6hb4GI33pUWyBYgoMvT6iUFxRYFrWdKb7BqT77KlqClR7WdtN35eDr/LFoukg0GvkHcqo2SpeQ8CjocH0Ue2xC2AEOi8qN4E/mkXWSUqNn0dnkIqSxUGbLIZDzqx/EFRNA/nT0rI5ycRGChj6Vrib4M6RuLJ8A4ONydJ9OXqx1aXiX6bqqZhqZrAAYry/PPGQQn03HDP98A== 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=KbphiEjXpL3jBQ5aEEIiSpC854F0AWRZgXIR5KEsrXw=; b=cAG/RwzTzoebETd+XVxPjVNF2Vjay0MXE8AGUb3riN3QkxkvqMQiXFx1G4/rfvk5pjeYgkzKAGahKDIeb1O8uwlVJ2Nf6uVkMhDM3GSVZDmcdKMEpY8yTHsAz0gIFmzsqJPcaAJT83Dh94NDAcZi9bkqpnLOn+U4J83iWR8S02RMGyueySLamM82dxcUn+U543kgBoLHKiER2oNrSvk7oUZq7q6pDz2Nj/IdlVX7oYJWazyDbkHnugtmmQwMzpIrptgQA4MlbnjatMlihbtTvQgDVPTKZFB1+9bb6UO9Azaz8gwUMuXnK877fyT9neZYEhkQ0Gnjva3dc73u6zlScA== 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=KbphiEjXpL3jBQ5aEEIiSpC854F0AWRZgXIR5KEsrXw=; b=RkwM9jHefRUbNpYpcY7eJxdYH9wm2M1aIrJLNzh3WlAikkFWLfWKpHAgKH2J1JYN/MuS7I2WNMzdZGyZsrWxw/jzuJGzb9mEKawDIbcBbD1fddL8LovKoPQKzWwWEJuga2IiJAC5hYMBc/FREP2CEGneiJAIGLDAnQ/VxCKWafU= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB3223.namprd11.prod.outlook.com (2603:10b6:a03:1b::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.24; Sun, 11 Oct 2020 22:49:05 +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.3455.029; Sun, 11 Oct 2020 22:49:05 +0000 From: "Ananyev, Konstantin" To: "Power, Ciara" , "Medvedkin, Vladimir" , "dev@dpdk.org" CC: "Richardson, Bruce" , Jerin Jacob , Ruifeng Wang Thread-Topic: [dpdk-dev] [PATCH v3 18/18] lpm: choose vector path at runtime Thread-Index: AQHWlyuw9Z8vMB5oF0OsfAJiRyNRtqmBNBgAgAyasVCAAZScAIADqxmA Date: Sun, 11 Oct 2020 22:49:05 +0000 Message-ID: References: <20200807155859.63888-1-ciara.power@intel.com> <20200930130415.11211-1-ciara.power@intel.com> <20200930130415.11211-19-ciara.power@intel.com> <10075e1e-36de-604d-3dd5-12d1eeca5635@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: 3c511539-af20-42f4-6c7c-08d86e37db30 x-ms-traffictypediagnostic: BYAPR11MB3223: 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:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sQLiaz88ECx1HfoLLTT/yQhSXfenqLu6UMn5FKI/8RV1kpq9YUHv9zaiZQiyzd6pQgMRbs0iIZPphj66nJ2wrcdGvYqFckQE8SbniUIRSY+moKCTwyUMJTzuOOivB9/ht2bcldlLWOEDJ1Gg/G/NXZorOGMvO8OfJ5mbDWVNHtk1dDzE+9LgJyk/FQMvkjnqHgjTVstjF+k7ILFBSG5koYWnAUODwS1cmEZMvyDwF7AF0ksTbN1bCvAbGvNtUUTS66OnUDEohq9ruWDzaG+6nYTrogTPqY58DzzKD90XPPX/SBkJByQEw2/ItfAg5AAJDXI2JDY/taYVaLWjzfHifA== 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)(396003)(366004)(39860400002)(376002)(346002)(136003)(66446008)(66556008)(66946007)(66476007)(64756008)(8936002)(9686003)(86362001)(33656002)(76116006)(8676002)(52536014)(71200400001)(83380400001)(54906003)(316002)(110136005)(26005)(478600001)(55016002)(6506007)(53546011)(186003)(7696005)(2906002)(5660300002)(4326008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 4vDAaNH+0tzensqA/086RX5C1ZaYV7jURWH+Fz9/9hwajb0MCGvzkMVF6QmZTO7kN+NUBtBORk3f+IbyDsFvuHbFPVRzI+CBPiOgBXHie1HTJ/QRuM7nO+/SszXyRMEdTqCigeRYrEuazhPk5B4XZigPvDfJ97nJ8nb6Ny9TRKYNz1ljq+xdXu7IF/MZ8RvN3IbxxknxewYjoqX4ZhoCSgIX15xOEBBfz4lIw8OUgK56rt7ol6K4A/EE/mjQRi4CXosWNwIKqRc53OapotcFPv68+ehdDtUQZhvK2oin/3Q6zjODNXh4SFA2oh/lLZEh475uerjixe+6mnmikh7MXB1U5/bVyyuovKv68T8a8SZcJz7imWLOi+xOL2mfBKdLCICsdoY2Xk2qEz3LxEozYuhruEODk2mGtkOsESc8DLQD1eybwZx3YNh6mIlfCZJR7fAEmiw7KoHzeA3d/hHyKeAKMBdaiwHyPDsgFfiTsVIRVazDiopqotKW8GWQ7DAfShcxowfL54j+fPp6jChsxW1hUxV7ihn1V7RUXyiUE8Xa6aetOwcBL3GzfXclIJCYYVJd25F2nCgD47crl0ELTpbpoFBsih1nzqzO+u7ihuch1FvgyqXp1NpMtg32BdM7TiNOLwldCTu7Xbx29zxDSQ== 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: 3c511539-af20-42f4-6c7c-08d86e37db30 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2020 22:49:05.1486 (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: c+NZlqKgMLkqbFuB5nncDg2hI5Hxjcy+ZHNPvOVJEXMwin0rQ46RQsauhbWelq+F0eS/1hACdFP9Rt/r2a4+gnQyqcj1rb3aIsaTr8s3F94= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3223 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 18/18] lpm: choose vector path at runtime 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" SGkgQ2lhcmEsDQoNCj4gSGkgS29uc3RhbnRpbiwNCj4gDQo+IA0KPiA+LS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPkZyb206IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5h bnlldkBpbnRlbC5jb20+DQo+ID5TZW50OiBUaHVyc2RheSA4IE9jdG9iZXIgMjAyMCAxNTo0MA0K PiA+VG86IE1lZHZlZGtpbiwgVmxhZGltaXIgPHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5jb20+ OyBQb3dlciwgQ2lhcmENCj4gPjxjaWFyYS5wb3dlckBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcN Cj4gPkNjOiBSaWNoYXJkc29uLCBCcnVjZSA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBK ZXJpbiBKYWNvYg0KPiA+PGplcmluakBtYXJ2ZWxsLmNvbT47IFJ1aWZlbmcgV2FuZyA8cnVpZmVu Zy53YW5nQGFybS5jb20+DQo+ID5TdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjMgMTgv MThdIGxwbTogY2hvb3NlIHZlY3RvciBwYXRoIGF0IHJ1bnRpbWUNCj4gPg0KPiA+Pg0KPiA+PiBI aSBDaWFyYSwNCj4gPj4NCj4gPj4NCj4gPj4gT24gMzAvMDkvMjAyMCAxNDowNCwgQ2lhcmEgUG93 ZXIgd3JvdGU6DQo+ID4+ID4gV2hlbiBjaG9vc2luZyB0aGUgdmVjdG9yIHBhdGgsIG1heCBTSU1E IGJpdHdpZHRoIGlzIG5vdyBjaGVja2VkIHRvDQo+ID4+ID4gZW5zdXJlIGEgdmVjdG9yIHBhdGgg aXMgYWxsb3dhYmxlLiBUbyBkbyB0aGlzLCByYXRoZXIgdGhhbiB0aGUNCj4gPj4gPiB2ZWN0b3Ig bG9va3VwIGZ1bmN0aW9ucyBiZWluZyBjYWxsZWQgZGlyZWN0bHkgZnJvbSBhcHBzLCBhIGdlbmVy aWMNCj4gPj4gPiBsb29rdXAgZnVuY3Rpb24gaXMgY2FsbGVkIHdoaWNoIHdpbGwgY2FsbCB0aGUg dmVjdG9yIGZ1bmN0aW9ucyBpZiBzdWl0YWJsZS4NCj4gPj4gPg0KPiA+PiA+IFNpZ25lZC1vZmYt Ynk6IENpYXJhIFBvd2VyIDxjaWFyYS5wb3dlckBpbnRlbC5jb20+DQo+ID4+ID4gLS0tDQo+ID4+ ID4gICBsaWIvbGlicnRlX2xwbS9ydGVfbHBtLmggICAgICAgICB8IDU3ICsrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tDQo+ID4+ID4gICBsaWIvbGlicnRlX2xwbS9ydGVfbHBtX2FsdGl2 ZWMuaCB8ICAyICstDQo+ID4+ID4gICBsaWIvbGlicnRlX2xwbS9ydGVfbHBtX25lb24uaCAgICB8 ICAyICstDQo+ID4+ID4gICBsaWIvbGlicnRlX2xwbS9ydGVfbHBtX3NzZS5oICAgICB8ICAyICst DQo+ID4+ID4gICA0IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u cygtKQ0KPiA+PiA+DQo+ID4+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0u aCBiL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaA0KPiA+PiA+IGluZGV4IDAzZGEyZDM3ZTAuLmVk YmE3Y2FmZDUgMTAwNjQ0DQo+ID4+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oDQo+ ID4+ID4gKysrIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oDQo+ID4+ID4gQEAgLTM5Nyw4ICsz OTcsMTggQEAgcnRlX2xwbV9sb29rdXBfYnVsa19mdW5jKGNvbnN0IHN0cnVjdCBydGVfbHBtDQo+ ID4qbHBtLCBjb25zdCB1aW50MzJfdCAqaXBzLA0KPiA+PiA+ICAgLyogTWFzayBmb3VyIHJlc3Vs dHMuICovDQo+ID4+ID4gICAjZGVmaW5lCSBSVEVfTFBNX01BU0tYNF9SRVMJVUlOVDY0X0MoMHgw MGZmZmZmZjAwZmZmZmZmKQ0KPiA+PiA+DQo+ID4+ID4gKyNpZiBkZWZpbmVkKFJURV9BUkNIX0FS TSkgfHwgZGVmaW5lZChSVEVfQVJDSF9BUk02NCkgI2luY2x1ZGUNCj4gPj4gPiArInJ0ZV9scG1f bmVvbi5oIg0KPiA+PiA+ICsjZWxpZiBkZWZpbmVkKFJURV9BUkNIX1BQQ182NCkNCj4gPj4gPiAr I2luY2x1ZGUgInJ0ZV9scG1fYWx0aXZlYy5oIg0KPiA+PiA+ICsjZWxzZQ0KPiA+PiA+ICsjaW5j bHVkZSAicnRlX2xwbV9zc2UuaCINCj4gPj4gPiArI2VuZGlmDQo+ID4+ID4gKw0KPiA+PiA+ICAg LyoqDQo+ID4+ID4gLSAqIExvb2t1cCBmb3VyIElQIGFkZHJlc3NlcyBpbiBhbiBMUE0gdGFibGUu DQo+ID4+ID4gKyAqIExvb2t1cCBmb3VyIElQIGFkZHJlc3NlcyBpbiBhbiBMUE0gdGFibGUgaW5k aXZpZHVhbGx5IGJ5IGNhbGxpbmcNCj4gPj4gPiArIHRoZQ0KPiA+PiA+ICsgKiBsb29rdXAgZnVu Y3Rpb24gZm9yIGVhY2ggaXAuIFRoaXMgaXMgdXNlZCB3aGVuIGxvb2t1cHg0IGlzDQo+ID4+ID4g KyBjYWxsZWQgYnV0DQo+ID4+ID4gKyAqIHRoZSB2ZWN0b3IgcGF0aCBpcyBub3Qgc3VpdGFibGUu DQo+ID4+ID4gICAgKg0KPiA+PiA+ICAgICogQHBhcmFtIGxwbQ0KPiA+PiA+ICAgICogICBMUE0g b2JqZWN0IGhhbmRsZQ0KPiA+PiA+IEBAIC00MTcsMTYgKzQyNyw0MyBAQCBydGVfbHBtX2xvb2t1 cF9idWxrX2Z1bmMoY29uc3Qgc3RydWN0DQo+ID5ydGVfbHBtICpscG0sIGNvbnN0IHVpbnQzMl90 ICppcHMsDQo+ID4+ID4gICAgKiAgIGlmIGxvb2t1cCB3b3VsZCBmYWlsLg0KPiA+PiA+ICAgICov DQo+ID4+ID4gICBzdGF0aWMgaW5saW5lIHZvaWQNCj4gPj4gPiAtcnRlX2xwbV9sb29rdXB4NChj b25zdCBzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB4bW1fdCBpcCwgdWludDMyX3QgaG9wWzRdLA0KPiA+ PiA+IC0JdWludDMyX3QgZGVmdik7DQo+ID4+ID4gK3J0ZV9scG1fbG9va3VweDRfc2NhbGFyKHN0 cnVjdCBydGVfbHBtICpscG0sIHhtbV90IGlwLCB1aW50MzJfdA0KPiA+aG9wWzRdLA0KPiA+PiA+ ICsJdWludDMyX3QgZGVmdikNCj4gPj4gPiArew0KPiA+PiA+ICsJaW50IGk7DQo+ID4+ID4gKwlm b3IgKGkgPSAwOyBpIDwgNDsgaSsrKQ0KPiA+PiA+ICsJCWlmIChydGVfbHBtX2xvb2t1cChscG0s ICgodWludDMyX3QgKikgJmlwKVtpXSwgJmhvcFtpXSkgPCAwKQ0KPiA+PiA+ICsJCQlob3BbaV0g PSBkZWZ2OyAvKiBsb29rdXB4NCBleHBlY3RlZCB0byBzZXQgb24gZmFpbHVyZQ0KPiA+Ki8gfQ0K PiA+PiA+DQo+ID4+ID4gLSNpZiBkZWZpbmVkKFJURV9BUkNIX0FSTSkgfHwgZGVmaW5lZChSVEVf QVJDSF9BUk02NCkgLSNpbmNsdWRlDQo+ID4+ID4gInJ0ZV9scG1fbmVvbi5oIg0KPiA+PiA+IC0j ZWxpZiBkZWZpbmVkKFJURV9BUkNIX1BQQ182NCkNCj4gPj4gPiAtI2luY2x1ZGUgInJ0ZV9scG1f YWx0aXZlYy5oIg0KPiA+PiA+IC0jZWxzZQ0KPiA+PiA+IC0jaW5jbHVkZSAicnRlX2xwbV9zc2Uu aCINCj4gPj4gPiAtI2VuZGlmDQo+ID4+ID4gKy8qKg0KPiA+PiA+ICsgKiBMb29rdXAgZm91ciBJ UCBhZGRyZXNzZXMgaW4gYW4gTFBNIHRhYmxlLg0KPiA+PiA+ICsgKg0KPiA+PiA+ICsgKiBAcGFy YW0gbHBtDQo+ID4+ID4gKyAqICAgTFBNIG9iamVjdCBoYW5kbGUNCj4gPj4gPiArICogQHBhcmFt IGlwDQo+ID4+ID4gKyAqICAgRm91ciBJUHMgdG8gYmUgbG9va2VkIHVwIGluIHRoZSBMUE0gdGFi bGUNCj4gPj4gPiArICogQHBhcmFtIGhvcA0KPiA+PiA+ICsgKiAgIE5leHQgaG9wIG9mIHRoZSBt b3N0IHNwZWNpZmljIHJ1bGUgZm91bmQgZm9yIElQICh2YWxpZCBvbiBsb29rdXAgaGl0DQo+ID5v bmx5KS4NCj4gPj4gPiArICogICBUaGlzIGlzIGFuIDQgZWxlbWVudHMgYXJyYXkgb2YgdHdvIGJ5 dGUgdmFsdWVzLg0KPiA+PiA+ICsgKiAgIElmIHRoZSBsb29rdXAgd2FzIHN1Y2Nlc3NmdWwgZm9y IHRoZSBnaXZlbiBJUCwgdGhlbiBsZWFzdCBzaWduaWZpY2FudA0KPiA+Ynl0ZQ0KPiA+PiA+ICsg KiAgIG9mIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnQgaXMgdGhlICBhY3R1YWwgbmV4dCBob3Ag YW5kIHRoZSBtb3N0DQo+ID4+ID4gKyAqICAgc2lnbmlmaWNhbnQgYnl0ZSBpcyB6ZXJvLg0KPiA+ PiA+ICsgKiAgIElmIHRoZSBsb29rdXAgZm9yIHRoZSBnaXZlbiBJUCBmYWlsZWQsIHRoZW4gY29y cmVzcG9uZGluZyBlbGVtZW50DQo+ID53b3VsZA0KPiA+PiA+ICsgKiAgIGNvbnRhaW4gZGVmYXVs dCB2YWx1ZSwgc2VlIGRlc2NyaXB0aW9uIG9mIHRoZW4gbmV4dCBwYXJhbWV0ZXIuDQo+ID4+ID4g KyAqIEBwYXJhbSBkZWZ2DQo+ID4+ID4gKyAqICAgRGVmYXVsdCB2YWx1ZSB0byBwb3B1bGF0ZSBp bnRvIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBvZiBob3BbXSBhcnJheSwNCj4gPj4gPiArICogICBp ZiBsb29rdXAgd291bGQgZmFpbC4NCj4gPj4gPiArICovDQo+ID4+ID4gK3N0YXRpYyBpbmxpbmUg dm9pZA0KPiA+PiA+ICtydGVfbHBtX2xvb2t1cHg0KHN0cnVjdCBydGVfbHBtICpscG0sIHhtbV90 IGlwLCB1aW50MzJfdCBob3BbNF0sDQo+ID4+ID4gKwl1aW50MzJfdCBkZWZ2KQ0KPiA+PiA+ICt7 DQo+ID4+ID4gKwlpZiAocnRlX2dldF9tYXhfc2ltZF9iaXR3aWR0aCgpID49IFJURV9NQVhfMTI4 X1NJTUQpDQo+ID4+ID4gKwkJcnRlX2xwbV9sb29rdXB4NF92ZWMobHBtLCBpcCwgaG9wLCBkZWZ2 KTsNCj4gPj4gPiArCWVsc2UNCj4gPj4gPiArCQlydGVfbHBtX2xvb2t1cHg0X3NjYWxhcihscG0s IGlwLCBob3AsIGRlZnYpOyB9DQo+ID4+DQo+ID4+IEknbSBhZnJhaWQgdGhpcyB3aWxsIGxlYWQg dG8gYSBkcm9wIGluIHBlcmZvcm1hbmNlLiBydGVfbHBtX2xvb2t1cHg0DQo+ID4+IGlzIHVzZWQg aW4gdGhlIGhvdCBwYXRoLCBhbmQgYSBidWxrIHNpemUgaXMgdG9vIHNtYWxsIHRvIGFtb3J0aXpl IHRoZQ0KPiA+PiBjb3N0IG9mIGFkZGluZyB0aGlzIGV4dHJhIGxvZ2ljLg0KPiA+DQo+ID5JIGRv IHNoYXJlIFZsYWRpbWlyJ3MgY29uY2VybiByZWdhcmRpbmcgcGVyZm9ybWFuY2UgaGVyZS4NCj4g PkFzIEkgc2FpZCBpbiBvdGhlciBtYWlsIC0gaXQgc2VlbXMgbm90IG11Y2ggcG9pbnQgdG8gaW5z ZXJ0IHRoZXNlIGNoZWNrcyBpbnRvDQo+ID5pbmxpbmUgU1NFIHNwZWNpZmljIGZ1bmN0aW9uLCBh cyBTU0UgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBhbGwgeDg2IGJ1aWxkcy4NCj4gPg0KPiAN Cj4gVGhlIHBlcmZvcm1hbmNlIGltcGFjdCBpcyBxdWl0ZSBzbWFsbCwgdGhhbmtzIFZsYWRpbWly IGZvciBwcm92aWRpbmcgdGhlc2UgcmVzdWx0czoNCj4gDQo+IGJlZm9yZSBwYXRjaGVzOg0KPiAJ TFBNIExvb2t1cFg0OiAyNS4xIGN5Y2xlcyAoZmFpbHMgPSAxMi41JSkNCj4gCUxQTSBMb29rdXBY NDogMjUuMiBjeWNsZXMgKGZhaWxzID0gMTIuNSUpDQo+IAlMUE0gTG9va3VwWDQ6IDI1LjIgY3lj bGVzIChmYWlscyA9IDEyLjUlKQ0KPiANCj4gdjM6DQo+IAlMUE0gTG9va3VwWDQ6IDI2LjIgY3lj bGVzIChmYWlscyA9IDEyLjUlKQ0KPiAJTFBNIExvb2t1cFg0OiAyNi4yIGN5Y2xlcyAoZmFpbHMg PSAxMi41JSkNCj4gCUxQTSBMb29rdXBYNDogMjYuMiBjeWNsZXMgKGZhaWxzID0gMTIuNSUpIA0K DQpZZXMsIHBlcmYgZGlmZmVyZW5jZSBpcyBzdXJwcmlzaW5nbHkgc21hbGwuLi4NCldvbmRlciB3 aGF0IHRlc3RzIGRpZCB5b3UgdXNlIGZvciB0aGF0Pw0KSSdkIGV4cGVjdCB0aGF0IG9uIGwzZndk IGl0IHdvdWxkIGJlIG1vcmUgbm90aWNlYWJsZSwNCmVzcGVjaWFsbHkgb24gbWFjaGluZXMgd2l0 aCBsb3ctZW5kIGNwdXMuIA0KDQo+IHY0Og0KPiBOb3RlOiBJIGhhdmVuJ3Qgc2VudCB0aGlzIHB1 YmxpY2x5IHlldCwgbW9kaWZpZWQgdjMgc2xpZ2h0bHkgdG8gY2hlY2sgdGhlIGJpdHdpZHRoDQo+ IGluIExQTSBjcmVhdGUgYW5kIHNldCBhIGZsYWcgdGhhdCBpcyB1c2VkIGluIGxvb2t1cHg0IHRv IGNob29zZSBlaXRoZXIgdmVjdG9yIG9yIHNjYWxhciBmdW5jdGlvbi4NCg0KWWVzLCBhdm9pZGlu ZyBmdW5jdGlvbiBjYWxsIHdpbGwgZGVmaW5pdGVseSBoZWxwIGhlcmUuDQpUaG91Z2ggSSBhbSBz aWxsIG5vdCBjb252aW5jZWQgd2UgaGF2ZSB0byBtYWtlIHN1Y2ggY2hlY2tzIGluIHRoYXQgZnVu Y3Rpb24gYXQgYWxsDQooYW5kIG90aGVyIGlubGluZSBmdW5jdGlvbnMpLg0KSW5saW5lIGZ1bmN0 aW9ucyB3aWxsIGJlIGNvbXBpbGVkIHdpdGhpbiB1c2VyIGNvZGUgYW5kIHRoZWlyIGJlaGF2aW91 ciBzaG91bGQgYmUgY29udHJvbGxlZA0KdG9nZXRoZXIgd2l0aCB0aGUgcmVzdCBvZiB1c2VyIGNv ZGUuDQpMZXQgc2F5ICBpbiBsM2Z3ZCBmb3IgSUEgcnRlX2xwbV9sb29rdXB4NCBpcyBjYWxsZWQg ZnJvbSAvbDNmd2RfbHBtX3NzZS5oLA0Kd2hpY2ggYXMgbmFtZSBpbXBsaWVzIGlzIHN1cHBvc2Vk IHRvIGJlIGJ1aWxkIGFuZCB1c2VkIHdpdGggU1NFIGVuYWJsZWQuDQpJZiB3ZSdkIGxpa2UgbDNm d2QgdG8gb2JleSAnbWF4LXNpbWQtd2lkdGgnIHBhcmFtZXRlciwgdGhlbiBpdCBuZWVkcyB0byBi ZSBkb25lDQpzb21ld2hlcmUgYXQgc3RhcnR1cCwgd2hlbiBiZWhhdmlvdXIgaXMgc2VsZWN0ZWQs IG5vdCBpbnNpZGUgZXZlcnkgcG9zc2libGUgaW5saW5lIGZ1bmN0aW9uDQp0aGF0IGRvZXMgdXNl IFNTRSBpbnN0cmluY3RzLg0KDQo+IAlMUE0gTG9va3VwWDQ6IDI1LjUgY3ljbGVzIChmYWlscyA9 IDEyLjUlKQ0KPiAJTFBNIExvb2t1cFg0OiAyNS41IGN5Y2xlcyAoZmFpbHMgPSAxMi41JSkNCj4g CUxQTSBMb29rdXBYNDogMjUuNSBjeWNsZXMgKGZhaWxzID0gMTIuNSUpDQo+IA0KPiANCj4gVGhh bmtzLA0KPiBDaWFyYQ0KPiANCj4gPkFzIGFub3RoZXIgbW9yZSBnZW5lcmljIHRob3VnaHQgLSBt aWdodCBiZSBiZXR0ZXIgdG8gYXZvaWQgdGhlc2UgY2hlY2tzIGluDQo+ID5vdGhlciBwdWJsaWMg U0lNRC1zcGVjaWZpYyBpbmxpbmUgZnVuY3Rpb25zIChpZiBhbnkpLg0KPiA+SWYgc3VjaCBmdW5j dGlvbiBnZXQgY2FsbGVkIGZyb20gc29tZSAuYywgdGhlbiBhdCBsZWFzdCBzdWNoIFNJTUQgSVNB IGlzDQo+ID5hbHJlYWR5IGVuYWJsZWQgZm9yIHRoYXQgLmMgZmlsZSBhbmQgSSB0aGluayB0aGlz IGNoZWNrIHNob3VsZCBiZQ0KPiA+bGVmdCBmb3IgY2FsbGVyIHRvIGRvLg0KPiA+DQo+ID4+ID4N Cj4gPj4gPiAgICNpZmRlZiBfX2NwbHVzcGx1cw0KPiA+PiA+ICAgfQ0KPiA+PiA+IGRpZmYgLS1n aXQgYS9saWIvbGlicnRlX2xwbS9ydGVfbHBtX2FsdGl2ZWMuaA0KPiA+PiA+IGIvbGliL2xpYnJ0 ZV9scG0vcnRlX2xwbV9hbHRpdmVjLmgNCj4gPj4gPiBpbmRleCAyMjhjNDFiMzhlLi44MjE0MmQz MzUxIDEwMDY0NA0KPiA+PiA+IC0tLSBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG1fYWx0aXZlYy5o DQo+ID4+ID4gKysrIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9hbHRpdmVjLmgNCj4gPj4gPiBA QCAtMTYsNyArMTYsNyBAQCBleHRlcm4gIkMiIHsNCj4gPj4gPiAgICNlbmRpZg0KPiA+PiA+DQo+ ID4+ID4gICBzdGF0aWMgaW5saW5lIHZvaWQNCj4gPj4gPiAtcnRlX2xwbV9sb29rdXB4NChjb25z dCBzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB4bW1fdCBpcCwgdWludDMyX3QNCj4gPj4gPiBob3BbNF0s DQo+ID4+ID4gK3J0ZV9scG1fbG9va3VweDRfdmVjKGNvbnN0IHN0cnVjdCBydGVfbHBtICpscG0s IHhtbV90IGlwLCB1aW50MzJfdA0KPiA+PiA+ICtob3BbNF0sDQo+ID4+ID4gICAJdWludDMyX3Qg ZGVmdikNCj4gPj4gPiAgIHsNCj4gPj4gPiAgIAl2ZWN0b3Igc2lnbmVkIGludCBpMjQ7DQo+ID4+ ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG1fbmVvbi5oDQo+ID4+ID4gYi9s aWIvbGlicnRlX2xwbS9ydGVfbHBtX25lb24uaCBpbmRleCA2YzEzMWQzMTI1Li4xNGIxODQ1MTVk IDEwMDY0NA0KPiA+PiA+IC0tLSBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG1fbmVvbi5oDQo+ID4+ ID4gKysrIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9uZW9uLmgNCj4gPj4gPiBAQCAtMTYsNyAr MTYsNyBAQCBleHRlcm4gIkMiIHsNCj4gPj4gPiAgICNlbmRpZg0KPiA+PiA+DQo+ID4+ID4gICBz dGF0aWMgaW5saW5lIHZvaWQNCj4gPj4gPiAtcnRlX2xwbV9sb29rdXB4NChjb25zdCBzdHJ1Y3Qg cnRlX2xwbSAqbHBtLCB4bW1fdCBpcCwgdWludDMyX3QNCj4gPj4gPiBob3BbNF0sDQo+ID4+ID4g K3J0ZV9scG1fbG9va3VweDRfdmVjKGNvbnN0IHN0cnVjdCBydGVfbHBtICpscG0sIHhtbV90IGlw LCB1aW50MzJfdA0KPiA+PiA+ICtob3BbNF0sDQo+ID4+ID4gICAJdWludDMyX3QgZGVmdikNCj4g Pj4gPiAgIHsNCj4gPj4gPiAgIAl1aW50MzJ4NF90IGkyNDsNCj4gPj4gPiBkaWZmIC0tZ2l0IGEv bGliL2xpYnJ0ZV9scG0vcnRlX2xwbV9zc2UuaA0KPiA+PiA+IGIvbGliL2xpYnJ0ZV9scG0vcnRl X2xwbV9zc2UuaCBpbmRleCA0NDc3MGI2ZmY4Li5jYjU0NzdjNmNmIDEwMDY0NA0KPiA+PiA+IC0t LSBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG1fc3NlLmgNCj4gPj4gPiArKysgYi9saWIvbGlicnRl X2xwbS9ydGVfbHBtX3NzZS5oDQo+ID4+ID4gQEAgLTE1LDcgKzE1LDcgQEAgZXh0ZXJuICJDIiB7 DQo+ID4+ID4gICAjZW5kaWYNCj4gPj4gPg0KPiA+PiA+ICAgc3RhdGljIGlubGluZSB2b2lkDQo+ ID4+ID4gLXJ0ZV9scG1fbG9va3VweDQoY29uc3Qgc3RydWN0IHJ0ZV9scG0gKmxwbSwgeG1tX3Qg aXAsIHVpbnQzMl90DQo+ID4+ID4gaG9wWzRdLA0KPiA+PiA+ICtydGVfbHBtX2xvb2t1cHg0X3Zl Yyhjb25zdCBzdHJ1Y3QgcnRlX2xwbSAqbHBtLCB4bW1fdCBpcCwgdWludDMyX3QNCj4gPj4gPiAr aG9wWzRdLA0KPiA+PiA+ICAgCXVpbnQzMl90IGRlZnYpDQo+ID4+ID4gICB7DQo+ID4+ID4gICAJ X19tMTI4aSBpMjQ7DQo+ID4+ID4NCj4gPj4NCj4gPj4gLS0NCj4gPj4gUmVnYXJkcywNCj4gPj4g VmxhZGltaXINCg==