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 78842A04BC; Fri, 9 Oct 2020 08:55:09 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A44C31BFFB; Fri, 9 Oct 2020 08:55:07 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150082.outbound.protection.outlook.com [40.107.15.82]) by dpdk.org (Postfix) with ESMTP id 24A911BFFA for ; Fri, 9 Oct 2020 08:55:05 +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=JB3uBtTm6pIO1nwkDqqO+M44VXgC1vEPrvrVFJOygLM=; b=hmjjSue59pl+PY2P2fLLodmdvVh3N8PzYv1W45+x8E7CSPAPEIkool76v3n4OfIlopomHJs1yh9IGZXAYJdzae7yNk6/9CokdVHFdFMOiw6RwRhgI48rCIo7LhqKx4LMImZ4V0WgxlbaHb3F9VRCrLM1NUE/XnPGzmPjEAbR8eI= Received: from MR2P264CA0031.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::19) by AS8PR08MB6296.eurprd08.prod.outlook.com (2603:10a6:20b:29d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.22; Fri, 9 Oct 2020 06:55:02 +0000 Received: from VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:500:0:cafe::8c) by MR2P264CA0031.outlook.office365.com (2603:10a6:500::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23 via Frontend Transport; Fri, 9 Oct 2020 06:55:02 +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=pass 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 VE1EUR03FT014.mail.protection.outlook.com (10.152.19.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23 via Frontend Transport; Fri, 9 Oct 2020 06:55:01 +0000 Received: ("Tessian outbound a0bffebca527:v64"); Fri, 09 Oct 2020 06:55:01 +0000 X-CR-MTA-TID: 64aa7808 Received: from d7d51298c97e.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id FCC03950-DAC0-41F8-851B-DB0BF5AE3A18.1; Fri, 09 Oct 2020 06:54:56 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d7d51298c97e.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 09 Oct 2020 06:54:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cvXmwf9l8K3RvNcJO8JqbcMkO8b18t1/oQV6w9hMLWBN01Q2XTooBP0oPQ2LEAalUQdnYxINmlhLhvSAJIV3qGe0zIwLs2+AeCuMvf6d/GTvq8fv5b+xtWsBd1uYLeFex3Ky9G0XbzaPi/p3iLzdIheBwf4o6T/F+sPPshLrVf5a+AP+0Pk0+2GZxOyA2tEhyI6gTxIfhAKwjZA6iD7UrPgMpGbPE/gHhEop+PPjVIw2WaR6X+Qml7bAjyyJuxch4Nc19FiRnpmpYSFSXQNdH87vn8x10DDouN1zd7sq66P11gHeBrMUo9yn1A2VoQM6avksak+ORmhydxL4kq6RbQ== 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=JB3uBtTm6pIO1nwkDqqO+M44VXgC1vEPrvrVFJOygLM=; b=USSxLNJWq80i5zpMPxGeCLp+yqX6g7aF2zdyY9xFcKCNOHA2p//Oo4Id1apv+b7DD0DdZOuIq2n/Vvf17O/tyKFzQEYkDb/TPblu1olpwBA5Yf1DyrzNfKw4CCwT0SPxrUZ/ZJGvUri39IBvT0QgQf3I+8Xd92k8F1pnyNkpkBsuUnstIt3juwD/vbXeHSCOr+ZPrigJUiqquVIRrU0vw3XRVmGGpsrEsfEGgwdKd3rV50ZOTN9yX6SGC4G0Z6ACQqcRhFGJT5GMJL+Ehgxn//e7bTeZU3/qXuKCkNrciftP0XpYKRVK/WTV6U8hw90IfMH2vUsB7WPteFIHDz+PGQ== 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=JB3uBtTm6pIO1nwkDqqO+M44VXgC1vEPrvrVFJOygLM=; b=hmjjSue59pl+PY2P2fLLodmdvVh3N8PzYv1W45+x8E7CSPAPEIkool76v3n4OfIlopomHJs1yh9IGZXAYJdzae7yNk6/9CokdVHFdFMOiw6RwRhgI48rCIo7LhqKx4LMImZ4V0WgxlbaHb3F9VRCrLM1NUE/XnPGzmPjEAbR8eI= Received: from VI1PR0802MB2351.eurprd08.prod.outlook.com (2603:10a6:800:a0::10) by VI1PR08MB2701.eurprd08.prod.outlook.com (2603:10a6:802:1a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Fri, 9 Oct 2020 06:54:53 +0000 Received: from VI1PR0802MB2351.eurprd08.prod.outlook.com ([fe80::14d4:6ade:368a:204b]) by VI1PR0802MB2351.eurprd08.prod.outlook.com ([fe80::14d4:6ade:368a:204b%3]) with mapi id 15.20.3455.024; Fri, 9 Oct 2020 06:54:53 +0000 From: Ruifeng Wang To: Kevin Traynor , "Medvedkin, Vladimir" , Bruce Richardson CC: "dev@dpdk.org" , Honnappa Nagarahalli , nd , nd Thread-Topic: [dpdk-dev] [PATCH 2/2] lpm: hide internal data Thread-Index: AQHWhO8bwkH8yW9sl0asKHeVLxpysalp6VUAgAAHKICAAK/dAIAWYeWAgA3153A= Date: Fri, 9 Oct 2020 06:54:53 +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: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 138499EDE4F32B49B76D43E65511C87A.0 x-checkrecipientchecked: true Authentication-Results-Original: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.113] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 63c87f2e-c59a-4471-80c7-08d86c203ea2 x-ms-traffictypediagnostic: VI1PR08MB2701:|AS8PR08MB6296: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: YglD1qJ7PvhCLHN/F0KotwKMgLlTmbrdnLPOFqJJtUCiCcnuHBS5Ml/e8CFIPwUWL/d3JehFj3oW4nlJ3CT3NcE7tbrBPrpX+G8JutRfF3egFRXIsJn2dYEiOgXnNzxYvshbeKx8ozTpHcqzPyAu3qByN+9i+iz/iERh9kRJag95f1in39GsrNy1e0+AgX6LbcqwQfLfQTJ3f4Ep8DMo8MvWRtnViuc2pb9gxhEEeFZJrNaG9Yfc6CwgoU59RHe09HwtfOanK80wz1JlkGi19FG8Lfpnyp3QSqkp6eVExN8GzR/Bq0+JE1IasRWzFdcr 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)(136003)(366004)(396003)(346002)(39860400002)(376002)(26005)(478600001)(6506007)(4326008)(53546011)(52536014)(2906002)(5660300002)(8936002)(186003)(86362001)(33656002)(54906003)(7696005)(110136005)(8676002)(316002)(55016002)(66476007)(64756008)(76116006)(66946007)(66446008)(66556008)(71200400001)(9686003)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: TzpV9qGI+QsZbmhjxQiK6AMpzb/DZ/39Og3HMqwlR1lzKWKiy7HXN2iwABAXUduQGTz64z0QGDjm3lNsffSBtvWO9jzcOVtf21VMiaP2acFYZDFoS1T+pHrgApAlqOgheMXKwX7xhXYBtWddssiXRV8Qy0Ba92P59dEeGB1JVN/FE3Pm0jJJ1SHjxAXb8aRjC9cmmBHDycGqBRRhoqmdtNdG/SYDQNcV5dbt+VLN7A90xiFLxA/tRYyPZpcZwMsRyMAfJLR0oBGx7BMX9Kc+g1Z3uWSubGyEnatUYCI53FwiUVJ2U71ZnNVsj2cI7s5hR949bfNQXkxwT4uwjHhq6sC80r6Tgu3j+YgAz5OZZwNI9RycXcjICn1d8B7fUiJZ7jSQJ/ulFgk3w7rwytIOdpnOyb8uGIdAdPL989s+iu4YWymJi3zIQ3C5zNln0t+N+BoVv4rx3yQU6Lf48LSIGm1VFKZB5E/dSgEtdgisXombXkXTL3K3whDCTHqBR7E4zLUKjpuMb0KwyLyc9kSEVVWZgurbaMRHzaQRRi4KRummyTnIWMvhwa46pyYfAp6ZAmxNk7fC3A0/GdA/u/T0RmCJXXRwiuQo5aXp0+875XWiTHBB5ZYHAaLTanD+oOxzqkJyQ7r07OuXRBA1yspmhg== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2701 Original-Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: b6013b1f-289f-49c4-61b7-08d86c2039d2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 87go84FudZrJdIEt5C54S5VwnIQ0LkFGEbpMrj7CROiAjt9PdQQgxOLlgW0Cf3deP24Tr3TNBISefeFMKV81rxjLDvlFKT8BZqZgBFDioEjZgGjcNpR72BJ6j4PBneMHuT+qG3v7CMlw+Qrlzz8rSpR3UqQ4qcL7jXEjs5wa233Mw212HFFRGIHj3WqUm8qGSl+Wp51Jl8C+dJTj7dIF46LDzRaQrDaSTLjVYfuSKj2a/1f5v8jyWNdICOZqLoH7RCal95HgFC2PFSCs4xsA0pdC7FDgwosJFBVxpdGs6ot6eGIJQxV5EZNuL9cObI5S24XhWQHvFL0HlGuc52dXlz2ROCMVrd40AWx31xvWORvFTKf1alvLk58tW+lH8vRG4m2XGNl6JB97Hu7mwpKC1A== 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)(346002)(376002)(136003)(39860400002)(396003)(46966005)(81166007)(8676002)(8936002)(33656002)(6506007)(53546011)(9686003)(2906002)(336012)(26005)(52536014)(7696005)(82310400003)(186003)(5660300002)(70206006)(82740400003)(47076004)(86362001)(70586007)(4326008)(356005)(54906003)(316002)(478600001)(110136005)(83380400001)(55016002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2020 06:55:01.7426 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 63c87f2e-c59a-4471-80c7-08d86c203ea2 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: VE1EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6296 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+IEZyb206IEtldmluIFRyYXlub3IgPGt0 cmF5bm9yQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDMwLCAyMDIw IDQ6NDYgUE0NCj4gVG86IFJ1aWZlbmcgV2FuZyA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBNZWR2 ZWRraW4sIFZsYWRpbWlyDQo+IDx2bGFkaW1pci5tZWR2ZWRraW5AaW50ZWwuY29tPjsgQnJ1Y2Ug UmljaGFyZHNvbg0KPiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBk ay5vcmc7IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0u Y29tPjsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAy LzJdIGxwbTogaGlkZSBpbnRlcm5hbCBkYXRhDQo+IA0KPiBPbiAxNi8wOS8yMDIwIDA0OjE3LCBS dWlmZW5nIFdhbmcgd3JvdGU6DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4gRnJvbTogTWVkdmVka2luLCBWbGFkaW1pciA8dmxhZGltaXIubWVkdmVka2luQGludGVs LmNvbT4NCj4gPj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMTYsIDIwMjAgMTI6MjggQU0N Cj4gPj4gVG86IEJydWNlIFJpY2hhcmRzb24gPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsg UnVpZmVuZyBXYW5nDQo+ID4+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT4NCj4gPj4gQ2M6IGRldkBk cGRrLm9yZzsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxp QGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJd IGxwbTogaGlkZSBpbnRlcm5hbCBkYXRhDQo+ID4+DQo+ID4+IEhpIFJ1aWZlbmcsDQo+ID4+DQo+ ID4+IE9uIDE1LzA5LzIwMjAgMTc6MDIsIEJydWNlIFJpY2hhcmRzb24gd3JvdGU6DQo+ID4+PiBP biBNb24sIFNlcCAwNywgMjAyMCBhdCAwNDoxNToxN1BNICswODAwLCBSdWlmZW5nIFdhbmcgd3Jv dGU6DQo+ID4+Pj4gRmllbGRzIGV4Y2VwdCB0YmwyNCBhbmQgdGJsOCBpbiBydGVfbHBtIHN0cnVj dHVyZSBoYXZlIG5vIG5lZWQgdG8NCj4gPj4+PiBiZSBleHBvc2VkIHRvIHRoZSB1c2VyLg0KPiA+ Pj4+IEhpZGUgdGhlIHVubmVlZGVkIGV4cG9zdXJlIG9mIHN0cnVjdHVyZSBmaWVsZHMgZm9yIGJl dHRlciBBQkkNCj4gPj4+PiBtYWludGFpbmFiaWxpdHkuDQo+ID4+Pj4NCj4gPj4+PiBTdWdnZXN0 ZWQtYnk6IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiA+Pj4+ IFNpZ25lZC1vZmYtYnk6IFJ1aWZlbmcgV2FuZyA8cnVpZmVuZy53YW5nQGFybS5jb20+DQo+ID4+ Pj4gUmV2aWV3ZWQtYnk6IFBoaWwgWWFuZyA8cGhpbC55YW5nQGFybS5jb20+DQo+ID4+Pj4gLS0t DQo+ID4+Pj4gICBsaWIvbGlicnRlX2xwbS9ydGVfbHBtLmMgfCAxNTINCj4gPj4+PiArKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KPiA+PiAtDQo+ID4+Pj4gICBsaWIvbGli cnRlX2xwbS9ydGVfbHBtLmggfCAgIDcgLS0NCj4gPj4+PiAgIDIgZmlsZXMgY2hhbmdlZCwgOTEg aW5zZXJ0aW9ucygrKSwgNjggZGVsZXRpb25zKC0pDQo+ID4+Pj4NCj4gPj4+IDxzbmlwPg0KPiA+ Pj4+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2xwbS9ydGVfbHBtLmggYi9saWIvbGlicnRlX2xw bS9ydGVfbHBtLmgNCj4gPj4+PiBpbmRleCAwM2RhMmQzN2UuLjExMmQ5NmYzNyAxMDA2NDQNCj4g Pj4+PiAtLS0gYS9saWIvbGlicnRlX2xwbS9ydGVfbHBtLmgNCj4gPj4+PiArKysgYi9saWIvbGli cnRlX2xwbS9ydGVfbHBtLmgNCj4gPj4+PiBAQCAtMTMyLDE3ICsxMzIsMTAgQEAgc3RydWN0IHJ0 ZV9scG1fcnVsZV9pbmZvIHsNCj4gPj4+Pg0KPiA+Pj4+ICAgLyoqIEBpbnRlcm5hbCBMUE0gc3Ry dWN0dXJlLiAqLw0KPiA+Pj4+ICAgc3RydWN0IHJ0ZV9scG0gew0KPiA+Pj4+IC0JLyogTFBNIG1l dGFkYXRhLiAqLw0KPiA+Pj4+IC0JY2hhciBuYW1lW1JURV9MUE1fTkFNRVNJWkVdOyAgICAgICAg LyoqPCBOYW1lIG9mIHRoZSBscG0uICovDQo+ID4+Pj4gLQl1aW50MzJfdCBtYXhfcnVsZXM7IC8q KjwgTWF4LiBiYWxhbmNlZCBydWxlcyBwZXIgbHBtLiAqLw0KPiA+Pj4+IC0JdWludDMyX3QgbnVt YmVyX3RibDhzOyAvKio8IE51bWJlciBvZiB0Ymw4cy4gKi8NCj4gPj4+PiAtCXN0cnVjdCBydGVf bHBtX3J1bGVfaW5mbyBydWxlX2luZm9bUlRFX0xQTV9NQVhfREVQVEhdOyAvKio8DQo+ID4+IFJ1 bGUgaW5mbyB0YWJsZS4gKi8NCj4gPj4+PiAtDQo+ID4+Pj4gICAJLyogTFBNIFRhYmxlcy4gKi8N Cj4gPj4+PiAgIAlzdHJ1Y3QgcnRlX2xwbV90YmxfZW50cnkgdGJsMjRbUlRFX0xQTV9UQkwyNF9O VU1fRU5UUklFU10NCj4gPj4+PiAgIAkJCV9fcnRlX2NhY2hlX2FsaWduZWQ7IC8qKjwgTFBNIHRi bDI0IHRhYmxlLiAqLw0KPiA+Pj4+ICAgCXN0cnVjdCBydGVfbHBtX3RibF9lbnRyeSAqdGJsODsg LyoqPCBMUE0gdGJsOCB0YWJsZS4gKi8NCj4gPj4+PiAtCXN0cnVjdCBydGVfbHBtX3J1bGUgKnJ1 bGVzX3RibDsgLyoqPCBMUE0gcnVsZXMuICovDQo+ID4+Pj4gICB9Ow0KPiA+Pj4+DQo+ID4+Pg0K PiA+Pj4gU2luY2UgdGhpcyBjaGFuZ2VzIHRoZSBBQkksIGRvZXMgaXQgbm90IG5lZWQgYWR2YW5j ZSBub3RpY2U/DQo+ID4+Pg0KPiA+Pj4gW0Jhc2ljYWxseSB0aGUgcmV0dXJuIHZhbHVlIHBvaW50 IGZyb20gcnRlX2xwbV9jcmVhdGUoKSB3aWxsIGJlDQo+ID4+PiBkaWZmZXJlbnQsIGFuZCB0aGF0 IHJldHVybiB2YWx1ZSBjb3VsZCBiZSB1c2VkIGJ5IHJ0ZV9scG1fbG9va3VwKCkNCj4gPj4+IHdo aWNoIGFzIGEgc3RhdGljIGlubGluZSBmdW5jdGlvbiB3aWxsIGJlIGluIHRoZSBiaW5hcnkgYW5k IHVzaW5nDQo+ID4+PiB0aGUgb2xkIHN0cnVjdHVyZSBvZmZzZXRzLl0NCj4gPj4+DQo+ID4+DQo+ ID4+IEFncmVlIHdpdGggQnJ1Y2UsIHRoaXMgcGF0Y2ggYnJlYWtzIEFCSSwgc28gaXQgY2FuJ3Qg YmUgYWNjZXB0ZWQNCj4gPj4gd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ID4+DQo+ID4gU28gaWYg dGhlIGNoYW5nZSB3YW50cyB0byBoYXBwZW4gaW4gMjAuMTEsIGEgZGVwcmVjYXRpb24gbm90aWNl IHNob3VsZA0KPiA+IGhhdmUgYmVlbiBhZGRlZCBpbiAyMC4wOC4NCj4gPiBJIHNob3VsZCBoYXZl IGFkZGVkIGEgZGVwcmVjYXRpb24gbm90aWNlLiBUaGlzIGNoYW5nZSB3aWxsIGhhdmUgdG8gd2Fp dCBmb3INCj4gbmV4dCBBQkkgdXBkYXRlIHdpbmRvdy4NCj4gPg0KPiANCj4gRG8geW91IHBsYW4g dG8gZXh0ZW5kPyBvciBpcyB0aGlzIGp1c3Qgc3BlY3VsYXRpdmU/DQpJdCBpcyBzcGVjdWxhdGl2 ZS4NCg0KPiANCj4gQSBxdWljayBzY2FuIGFuZCB0aGVyZSBzZWVtcyB0byBiZSBzZXZlcmFsIHBy b2plY3RzIHVzaW5nIHNvbWUgb2YgdGhlc2UNCj4gbWVtYmVycyB0aGF0IHlvdSBhcmUgcHJvcG9z aW5nIHRvIGhpZGUuIGUuZy4gQkVTUywgTkZGLUdvLCBEUFZTLA0KPiBnYXRla2VlcGVyLiBJIGRp ZG4ndCBsb29rIGF0IHRoZSBkZXRhaWxzIHRvIHNlZSBpZiB0aGV5IGFyZSByZWFsbHkgbmVlZGVk Lg0KPiANCj4gTm90IHN1cmUgaG93IG11Y2ggbm90aWNlIHRoZXknZCBuZWVkIG9yIGlmIHRoZXkg dXBkYXRlIERQREsgbXVjaCwgYnV0IEkNCj4gdGhpbmsgaXQncyB3b3J0aCBoYXZpbmcgYSBjbG9z ZXIgbG9vayBhcyB0byBob3cgdGhleSB1c2UgbHBtIGFuZCB3aGF0IHRoZQ0KPiBpbXBhY3QgdG8g dGhlbSBpcy4NCkNoZWNrZWQgdGhlIHByb2plY3RzIGxpc3RlZCBhYm92ZS4gQkVTUywgTkZGLUdv IGFuZCBEUFZTIGRvbid0IGFjY2VzcyB0aGUgbWVtYmVycyB0byBiZSBoaWRlZC4NClRoZXkgd2ls bCBub3QgYmUgaW1wYWN0ZWQgYnkgdGhpcyBwYXRjaC4NCkJ1dCBHYXRla2VlcGVyIGFjY2Vzc2Vz IHRoZSBydGVfbHBtIGludGVybmFsIG1lbWJlcnMgdGhhdCB0byBiZSBoaWRlZC4gSXRzIGNvbXBp bGF0aW9uIHdpbGwgYmUgYnJva2VuIHdpdGggdGhpcyBwYXRjaC4NCg0KPiANCj4gPiBUaGFua3Mu DQo+ID4gUnVpZmVuZw0KPiA+Pj4+ICAgLyoqIExQTSBSQ1UgUVNCUiBjb25maWd1cmF0aW9uIHN0 cnVjdHVyZS4gKi8NCj4gPj4+PiAtLQ0KPiA+Pj4+IDIuMTcuMQ0KPiA+Pj4+DQo+ID4+DQo+ID4+ IC0tDQo+ID4+IFJlZ2FyZHMsDQo+ID4+IFZsYWRpbWlyDQoNCg==