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 E30EAA04C7; Wed, 16 Sep 2020 05:17:27 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1EA7F1C0D0; Wed, 16 Sep 2020 05:17:27 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80082.outbound.protection.outlook.com [40.107.8.82]) by dpdk.org (Postfix) with ESMTP id 24F501C0C9 for ; Wed, 16 Sep 2020 05:17:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tgXzT6MWCkMpPXBkOJakSCHPBHBlT8+g9LPXn8FmceQ=; b=YmQWOK1EloGYVqf+DNzUUsJHu8C4WPrhLMY1BiTGNEGlQnxdx8sbWyRN6UOMH/o4NiWdMcnoF5sv9TCO5Gw1y3UQ78ts8v2vT1VxsD2qceG7ICr5LDa/VdU5I+inMv72oNOjaWPyaLUQ1dV07ogk3vywXJIAJu8rIJLdzpezuSs= Received: from AM6PR10CA0091.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::32) by VI1PR08MB4240.eurprd08.prod.outlook.com (2603:10a6:803:102::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Wed, 16 Sep 2020 03:17:24 +0000 Received: from VE1EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8c:cafe::48) by AM6PR10CA0091.outlook.office365.com (2603:10a6:209:8c::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend Transport; Wed, 16 Sep 2020 03:17:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT035.mail.protection.outlook.com (10.152.18.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend Transport; Wed, 16 Sep 2020 03:17:24 +0000 Received: ("Tessian outbound 7a6fb63c1e64:v64"); Wed, 16 Sep 2020 03:17:23 +0000 X-CR-MTA-TID: 64aa7808 Received: from 49bb7e2c1cb2.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 216097E4-597E-4450-9FAE-9E40929B736C.1; Wed, 16 Sep 2020 03:17:18 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 49bb7e2c1cb2.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 16 Sep 2020 03:17:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UVKD0Mwi5v8T7NZT1v67Zk3ATzkC5FyPI2vOcGRYxCgZ6leOjY+G0Bkj9iTtXD4NOlhmJjVkbw5zg0YnokO4focsMmTXhoRNVNXxUfV/ItCiL8K+qLOk1lp63ek85t0ZpwCWzMunwcFgLINsh4b5D7X4htQaAYtdoWTAr0pIvwckyELOPdagmyCw3z/Z+wnJRkRyq4eIcM8D7sZv/pWAOtt4o4ko1Wjj4SLH7GfRiEaKV8LDgENYgtvUKxjELARdP8LRV1Lf5DVdJON/C9sMML6KVJDe+bgOvhqMatcqeZl8PclfhMUbH4KtOGxEzfpYnaVW7GMdNsL+MfdaH4B7Ug== 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=tgXzT6MWCkMpPXBkOJakSCHPBHBlT8+g9LPXn8FmceQ=; b=JCkkRjnmkH3Ww6VPjhFrtoCBBhzQ8eZXKk9rnicUCLqQIuPIUXc8Ptyta+a9dNhGAm46MjTR1bnCFh1MzS6DkOmQn5Y8v/L09EkqXPuDK+12tfNCVcVYnfXmu+Tcp1qSmirYvCrKxobbINSinU8e+nHG6MA5tZ+KMT7lm8+LV3Uf9+4IrhvqB+vYE+14WbzQfo0zMSO+YN8YjeRuGtSyi6FXxmx8pt39m0Sq0ubS5hFOqlXtqDi2hcxzWbA1Rx/iqGQS8/u969T2p5gPlxdag7MtzKXJlotcshhaCONsuDsFYcLLucERf/F5tD1ZPQjncxjjJm1FCUW7VJmHN7d79g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tgXzT6MWCkMpPXBkOJakSCHPBHBlT8+g9LPXn8FmceQ=; b=YmQWOK1EloGYVqf+DNzUUsJHu8C4WPrhLMY1BiTGNEGlQnxdx8sbWyRN6UOMH/o4NiWdMcnoF5sv9TCO5Gw1y3UQ78ts8v2vT1VxsD2qceG7ICr5LDa/VdU5I+inMv72oNOjaWPyaLUQ1dV07ogk3vywXJIAJu8rIJLdzpezuSs= Received: from VI1PR0802MB2351.eurprd08.prod.outlook.com (2603:10a6:800:a0::10) by VI1PR08MB3053.eurprd08.prod.outlook.com (2603:10a6:803:45::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.11; Wed, 16 Sep 2020 03:17:15 +0000 Received: from VI1PR0802MB2351.eurprd08.prod.outlook.com ([fe80::3d84:4fc4:ad5f:f27]) by VI1PR0802MB2351.eurprd08.prod.outlook.com ([fe80::3d84:4fc4:ad5f:f27%9]) with mapi id 15.20.3391.011; Wed, 16 Sep 2020 03:17:15 +0000 From: Ruifeng Wang To: "Medvedkin, Vladimir" , Bruce Richardson CC: "dev@dpdk.org" , Honnappa Nagarahalli , nd , nd Thread-Topic: [PATCH 2/2] lpm: hide internal data Thread-Index: AQHWhO8bwkH8yW9sl0asKHeVLxpysalp6VUAgAAHKICAAK/dAA== Date: Wed, 16 Sep 2020 03:17:15 +0000 Message-ID: References: <20200907081518.46350-1-ruifeng.wang@arm.com> <20200907081518.46350-3-ruifeng.wang@arm.com> <20200915160224.GA825@bricha3-MOBL.ger.corp.intel.com> <81eb8fde-cd4f-1df9-0ebb-05c902b30fe3@intel.com> In-Reply-To: <81eb8fde-cd4f-1df9-0ebb-05c902b30fe3@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9DF1A8EBC5AA3142AA32A64E2360C012.0 x-checkrecipientchecked: true Authentication-Results-Original: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.112] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 92f837a3-52b4-4c2f-396f-08d859ef084b x-ms-traffictypediagnostic: VI1PR08MB3053:|VI1PR08MB4240: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Y/gOccDv4daD8WOyTFkqS55chGwFr346dWp+VjTOuPmyrdcdYw/kUWUNWlhGOSWDQPWatGgZnsbERhr04lMcC07SqAwGHRPlmvZ/Sr7nu9pzGaqBkQBW6p6AoA3hhDpcJhwnwvJ63NZwps3Hes0qR+CPXOFRdyCNCiTOZI4yDmFWTXlX1MOgCmAKjYatUU4E7idApd25zLQudrGLmqd+ECX+fKdFRrh3aF1Q0ruQ2YEUKLJ0G/jq6r0DPvGsu0b6jFwqgGT7gKnihU1kvUPBHBhEFHImQRa/+AqDAq5ZWusPJKHaI6BzdUKVvuge1okG X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR0802MB2351.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39850400004)(396003)(366004)(346002)(136003)(376002)(186003)(478600001)(26005)(83380400001)(4326008)(316002)(54906003)(8936002)(110136005)(9686003)(76116006)(5660300002)(66476007)(66556008)(64756008)(66446008)(86362001)(66946007)(7696005)(52536014)(55016002)(2906002)(53546011)(6506007)(33656002)(71200400001)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: eRKczcFYhkpvIAJdcELG1iI7VFg5PtUjC92S3EslSpehqGlYA7g5stYAsYi1j3ZNLDBngYgIOHaEh8wc10xCo3YB/iOjGN3w2ePbPHrs/GPRHLr+FUuUY/GwKKurSh5x9Iq49kgK9pR8BGvRM3CiYR5Tgm4WDZPB0uiH3rfAh29v+sqE7uxU8igLxsZMT/EFh+WfAmN3ExgsOSkHHU5MGIbDLHKx1sJrMqmdhJDAnZOzAkl5UotM+usTUF3dd+UesuuIjCfjIeV1OqVChOEPGhh3oEV0f10wyy1XjLfb2IszK6+T8NbQ9OBKq1+LTvZWvF69Czpv31XFTdcASao/pjaYvyVFsRwT06+VUESD6YuXez6a4LkqEdpi4hd3EzyE6PtjP/TCdXXMM8otv80wfQC86cLEj6+Rb6KNLxhRujeaJ5e3Kfuh35EdfaVSZnx4RQNB4N1+ujjmsRc9E1MoqLEJLaMTPquNuHUTH5/D6BIsjm7RU4w/ON+9j9qS/xKggWRwJ9J4WD/F+tTrnwYivgzrz1+/zFZ/bp2Wmi6GXGDGVNmuSFxH2Jy81AWA6fSGv38OCcZekQSaR4fG6q8A+fsUARbSwSsNu7fV9FjDxOVb9QYtA2AuUdUfVHEGEZ6NXHO5GinjKXe08bBNk4Spug== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3053 Original-Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 6a64eee0-fb72-487e-91c9-08d859ef0313 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: stf5abajMFVE/fwXhOuck2Pzu5Oe0PGlHVD3ViwT1SixfPxJKhVIIzxHY/S8Yw4L4sO7W949EC+8t8qk2skhlBHj9gnsPMFidF0Iz3mAsXdvtEECj7mOQoUZA80p87MuM2mtoyQe6mEsf/sFUMF6vVeiwagkC9cz7Rn7RYTQok5Z7/OnuBL6TFjk2kTH/8H0SPPvqx49YzgAykzO+dvygUkPTjf1Frf73EcjLW6itedFLyILfiNVFijDhtDD9C6L7yckRTp8HGjTyIQg4haIPyU/r0pVIqFNqJLP7EO5CqBxpzXP33c1mpbhx6uX4OR1LLXPxjvTLf5Bl17XL+iPN/SHdWUSxnOk0MW2/9vNF69b0JqGUjnmHNl25w3dguWwhQSYIzDep68fbQeI5IgQcQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(396003)(346002)(136003)(39850400004)(46966005)(478600001)(33656002)(70586007)(9686003)(82310400003)(70206006)(81166007)(5660300002)(26005)(82740400003)(55016002)(52536014)(53546011)(6506007)(186003)(8676002)(356005)(4326008)(2906002)(8936002)(110136005)(83380400001)(86362001)(36906005)(336012)(316002)(47076004)(54906003)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2020 03:17:24.3039 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 92f837a3-52b4-4c2f-396f-08d859ef084b X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT035.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4240 Subject: Re: [dpdk-dev] [PATCH 2/2] lpm: hide internal data 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" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1lZHZlZGtpbiwgVmxhZGlt aXIgPHZsYWRpbWlyLm1lZHZlZGtpbkBpbnRlbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgU2Vw dGVtYmVyIDE2LCAyMDIwIDEyOjI4IEFNDQo+IFRvOiBCcnVjZSBSaWNoYXJkc29uIDxicnVjZS5y aWNoYXJkc29uQGludGVsLmNvbT47IFJ1aWZlbmcgV2FuZw0KPiA8UnVpZmVuZy5XYW5nQGFybS5j b20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBw YS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggMi8yXSBscG06IGhpZGUgaW50ZXJuYWwgZGF0YQ0KPiANCj4gSGkgUnVpZmVuZywNCj4g DQo+IE9uIDE1LzA5LzIwMjAgMTc6MDIsIEJydWNlIFJpY2hhcmRzb24gd3JvdGU6DQo+ID4gT24g TW9uLCBTZXAgMDcsIDIwMjAgYXQgMDQ6MTU6MTdQTSArMDgwMCwgUnVpZmVuZyBXYW5nIHdyb3Rl Og0KPiA+PiBGaWVsZHMgZXhjZXB0IHRibDI0IGFuZCB0Ymw4IGluIHJ0ZV9scG0gc3RydWN0dXJl IGhhdmUgbm8gbmVlZCB0byBiZQ0KPiA+PiBleHBvc2VkIHRvIHRoZSB1c2VyLg0KPiA+PiBIaWRl IHRoZSB1bm5lZWRlZCBleHBvc3VyZSBvZiBzdHJ1Y3R1cmUgZmllbGRzIGZvciBiZXR0ZXIgQUJJ DQo+ID4+IG1haW50YWluYWJpbGl0eS4NCj4gPj4NCj4gPj4gU3VnZ2VzdGVkLWJ5OiBEYXZpZCBN YXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gPj4gU2lnbmVkLW9mZi1ieTog UnVpZmVuZyBXYW5nIDxydWlmZW5nLndhbmdAYXJtLmNvbT4NCj4gPj4gUmV2aWV3ZWQtYnk6IFBo aWwgWWFuZyA8cGhpbC55YW5nQGFybS5jb20+DQo+ID4+IC0tLQ0KPiA+PiAgIGxpYi9saWJydGVf bHBtL3J0ZV9scG0uYyB8IDE1MiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LQ0KPiAtDQo+ID4+ICAgbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oIHwgICA3IC0tDQo+ID4+ICAg MiBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlvbnMoLSkNCj4gPj4N Cj4gPiA8c25pcD4NCj4gPj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaCBi L2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaA0KPiA+PiBpbmRleCAwM2RhMmQzN2UuLjExMmQ5NmYz NyAxMDA2NDQNCj4gPj4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oDQo+ID4+ICsrKyBi L2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaA0KPiA+PiBAQCAtMTMyLDE3ICsxMzIsMTAgQEAgc3Ry dWN0IHJ0ZV9scG1fcnVsZV9pbmZvIHsNCj4gPj4NCj4gPj4gICAvKiogQGludGVybmFsIExQTSBz dHJ1Y3R1cmUuICovDQo+ID4+ICAgc3RydWN0IHJ0ZV9scG0gew0KPiA+PiAtCS8qIExQTSBtZXRh ZGF0YS4gKi8NCj4gPj4gLQljaGFyIG5hbWVbUlRFX0xQTV9OQU1FU0laRV07ICAgICAgICAvKio8 IE5hbWUgb2YgdGhlIGxwbS4gKi8NCj4gPj4gLQl1aW50MzJfdCBtYXhfcnVsZXM7IC8qKjwgTWF4 LiBiYWxhbmNlZCBydWxlcyBwZXIgbHBtLiAqLw0KPiA+PiAtCXVpbnQzMl90IG51bWJlcl90Ymw4 czsgLyoqPCBOdW1iZXIgb2YgdGJsOHMuICovDQo+ID4+IC0Jc3RydWN0IHJ0ZV9scG1fcnVsZV9p bmZvIHJ1bGVfaW5mb1tSVEVfTFBNX01BWF9ERVBUSF07IC8qKjwNCj4gUnVsZSBpbmZvIHRhYmxl LiAqLw0KPiA+PiAtDQo+ID4+ICAgCS8qIExQTSBUYWJsZXMuICovDQo+ID4+ICAgCXN0cnVjdCBy dGVfbHBtX3RibF9lbnRyeSB0YmwyNFtSVEVfTFBNX1RCTDI0X05VTV9FTlRSSUVTXQ0KPiA+PiAg IAkJCV9fcnRlX2NhY2hlX2FsaWduZWQ7IC8qKjwgTFBNIHRibDI0IHRhYmxlLiAqLw0KPiA+PiAg IAlzdHJ1Y3QgcnRlX2xwbV90YmxfZW50cnkgKnRibDg7IC8qKjwgTFBNIHRibDggdGFibGUuICov DQo+ID4+IC0Jc3RydWN0IHJ0ZV9scG1fcnVsZSAqcnVsZXNfdGJsOyAvKio8IExQTSBydWxlcy4g Ki8NCj4gPj4gICB9Ow0KPiA+Pg0KPiA+DQo+ID4gU2luY2UgdGhpcyBjaGFuZ2VzIHRoZSBBQkks IGRvZXMgaXQgbm90IG5lZWQgYWR2YW5jZSBub3RpY2U/DQo+ID4NCj4gPiBbQmFzaWNhbGx5IHRo ZSByZXR1cm4gdmFsdWUgcG9pbnQgZnJvbSBydGVfbHBtX2NyZWF0ZSgpIHdpbGwgYmUNCj4gPiBk aWZmZXJlbnQsIGFuZCB0aGF0IHJldHVybiB2YWx1ZSBjb3VsZCBiZSB1c2VkIGJ5IHJ0ZV9scG1f bG9va3VwKCkNCj4gPiB3aGljaCBhcyBhIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb24gd2lsbCBiZSBp biB0aGUgYmluYXJ5IGFuZCB1c2luZyB0aGUNCj4gPiBvbGQgc3RydWN0dXJlIG9mZnNldHMuXQ0K PiA+DQo+IA0KPiBBZ3JlZSB3aXRoIEJydWNlLCB0aGlzIHBhdGNoIGJyZWFrcyBBQkksIHNvIGl0 IGNhbid0IGJlIGFjY2VwdGVkIHdpdGhvdXQgcHJpb3INCj4gbm90aWNlLg0KPiANClNvIGlmIHRo ZSBjaGFuZ2Ugd2FudHMgdG8gaGFwcGVuIGluIDIwLjExLCBhIGRlcHJlY2F0aW9uIG5vdGljZSBz aG91bGQgaGF2ZSBiZWVuDQphZGRlZCBpbiAyMC4wOC4NCkkgc2hvdWxkIGhhdmUgYWRkZWQgYSBk ZXByZWNhdGlvbiBub3RpY2UuIFRoaXMgY2hhbmdlIHdpbGwgaGF2ZSB0byB3YWl0IGZvciBuZXh0 IEFCSSB1cGRhdGUgd2luZG93Lg0KDQpUaGFua3MuDQpSdWlmZW5nDQo+ID4+ICAgLyoqIExQTSBS Q1UgUVNCUiBjb25maWd1cmF0aW9uIHN0cnVjdHVyZS4gKi8NCj4gPj4gLS0NCj4gPj4gMi4xNy4x DQo+ID4+DQo+IA0KPiAtLQ0KPiBSZWdhcmRzLA0KPiBWbGFkaW1pcg0K