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 3A0B0A0353; Tue, 19 Nov 2019 10:22:33 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5E6432142; Tue, 19 Nov 2019 10:22:32 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20059.outbound.protection.outlook.com [40.107.2.59]) by dpdk.org (Postfix) with ESMTP id E8A3AA3 for ; Tue, 19 Nov 2019 10:22:30 +0100 (CET) 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=I+37t5fs6n0XH1ypofkh6r/j+3+3Xo1UCd/LaAdQgaI=; b=ZWPEvCRlAq3ycAXi/iSY+wbW87NRO+KqKekMNghxugMVf/cVvioMnJ2uTDBtPRNPf+jXnQqLZxjg2STeSnggLd4dtl7ex24PdY7QkQKzte/ENJM0RaE3MWOjvTn7A7ZeN7tBfv9DEn16JZ/rYPo+C3fMURQ60DghHSDOaW1DFUA= Received: from DB6PR0802CA0026.eurprd08.prod.outlook.com (2603:10a6:4:a3::12) by DB8PR08MB5067.eurprd08.prod.outlook.com (2603:10a6:10:ed::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.29; Tue, 19 Nov 2019 09:22:29 +0000 Received: from AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::206) by DB6PR0802CA0026.outlook.office365.com (2603:10a6:4:a3::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23 via Frontend Transport; Tue, 19 Nov 2019 09:22:29 +0000 Authentication-Results: spf=fail (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=none action=none header.from=arm.com; Received-SPF: Fail (protection.outlook.com: domain of arm.com does not designate 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 AM5EUR03FT042.mail.protection.outlook.com (10.152.17.168) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23 via Frontend Transport; Tue, 19 Nov 2019 09:22:29 +0000 Received: ("Tessian outbound e4042aced47b:v33"); Tue, 19 Nov 2019 09:22:29 +0000 X-CR-MTA-TID: 64aa7808 Received: from 935da6de5460.2 (cr-mta-lb-1.cr-mta-net [104.47.5.59]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 510DA337-F818-4F61-81B7-CF7CECDD74E1.1; Tue, 19 Nov 2019 09:22:29 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02lp2059.outbound.protection.outlook.com [104.47.5.59]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 935da6de5460.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 19 Nov 2019 09:22:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ML1KH1rh7asLSc1RpkNlqMjasi1aPWMNA/yWIr2GU+NpbHEwWe4OPqcUBNyRKZ6mq5j9Y4XRQffUZ/JkI9GZNf94BVbXzTyuw6oMjtz4NUICIBXhbYKFdVtcIHDH/01oQqUO6vwIGMylBigIKkewpSuy9F4mE3Hj2vOrPPKlta0mKXT6mVw6PJ1A6aG8trheRK5XDwQTfv3BnYu8sW6aK1N1Y9hv/IdQOVdBOvYevXbanaignLRTeRmRR5vJlEUbQlXKhxE43HTDFoeQa1B9mN2DuA3QIhJds1q3nY1KvvK1uE4uQMtA8ZlSlz/VzSaLGPyTfdQUPkJ6Dyl/+kMLLA== 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=I+37t5fs6n0XH1ypofkh6r/j+3+3Xo1UCd/LaAdQgaI=; b=bund1PGbuhY54GaFYDr2b709pcYb5UjybjQEMZwIhi9eYLuk3DsdgAVl4ZqyBLhFhx2IiDfrA7j2USd08z5B4D3PQvbKN5y4eOA7iWj3t/BFWuDGAfVOEbIRsgQ+pjyR+knwGSUnXyyhHjVn4ivFv4ZTxKuE6S9QL96mCwp2+f99u7W+Y1yufR8zRbUuvCXLSx/5ag8OWVpRqL91jIzlQmfbEzli03JPJ3S9Rk3E7kDCiRa08oqN06YMgxGepo3o8ip4n4xsUROp/54mHk1B0A8XtpFUKZ2YjkQtl8qcsw1HNxlE1COh2QyqMkmmI4L/+gpCq3VImBzOtJykdbH3ng== 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=I+37t5fs6n0XH1ypofkh6r/j+3+3Xo1UCd/LaAdQgaI=; b=ZWPEvCRlAq3ycAXi/iSY+wbW87NRO+KqKekMNghxugMVf/cVvioMnJ2uTDBtPRNPf+jXnQqLZxjg2STeSnggLd4dtl7ex24PdY7QkQKzte/ENJM0RaE3MWOjvTn7A7ZeN7tBfv9DEn16JZ/rYPo+C3fMURQ60DghHSDOaW1DFUA= Received: from VI1PR08MB3981.eurprd08.prod.outlook.com (20.178.205.77) by VI1PR08MB2973.eurprd08.prod.outlook.com (10.171.182.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23; Tue, 19 Nov 2019 09:22:17 +0000 Received: from VI1PR08MB3981.eurprd08.prod.outlook.com ([fe80::b476:21a6:675:507]) by VI1PR08MB3981.eurprd08.prod.outlook.com ([fe80::b476:21a6:675:507%6]) with mapi id 15.20.2451.031; Tue, 19 Nov 2019 09:22:17 +0000 From: "Joyce Kong (Arm Technology China)" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" CC: nd , "thomas@monjalon.net" , "jerinj@marvell.com" , "stephen@networkplumber.org" , "david.marchand@redhat.com" , Honnappa Nagarahalli , "Gavin Hu (Arm Technology China)" , "ravi1.kumar@amd.com" , "rmody@marvell.com" , "shshaikh@marvell.com" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" Thread-Topic: [dpdk-dev] [PATCH v3 1/6] lib/eal: implement the family of rte bitoperation APIs Thread-Index: AQHVnf5GYsdhZpvWCEKFaoNyXSZLSKeSN69w Date: Tue, 19 Nov 2019 09:22:17 +0000 Message-ID: References: <1571125801-45773-1-git-send-email-joyce.kong@arm.com> <1574071619-10407-2-git-send-email-joyce.kong@arm.com> <98CBD80474FA8B44BF855DF32C47DC35C60C06@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C60C06@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 590e4910-ff6c-4307-b2dd-3f092610f4ba.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Joyce.Kong@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 35e99b35-b78a-4778-3d24-08d76cd1ffec X-MS-TrafficTypeDiagnostic: VI1PR08MB2973:|VI1PR08MB2973:|DB8PR08MB5067: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:2512;OLM:2512; x-forefront-prvs: 022649CC2C X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(376002)(39860400002)(366004)(136003)(13464003)(199004)(189003)(14454004)(256004)(7696005)(66446008)(52536014)(4326008)(66556008)(66476007)(64756008)(81156014)(81166006)(86362001)(2501003)(99286004)(66574012)(6246003)(8936002)(316002)(9686003)(110136005)(55016002)(54906003)(8676002)(76116006)(2906002)(76176011)(6506007)(53546011)(229853002)(11346002)(5660300002)(102836004)(446003)(66066001)(66946007)(33656002)(6436002)(14444005)(186003)(55236004)(478600001)(26005)(3846002)(7736002)(74316002)(305945005)(476003)(25786009)(6116002)(7416002)(71200400001)(71190400001)(486006); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB2973; H:VI1PR08MB3981.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: CmIn4EhcN3112d5GSIglFEixdgkomGrPptgPx5WG9em41cCsNxhBC9Bsn+UzjrMMpbOqydK3+AX45/GkjolsJSxKc5hIMDWSiE1CG+9wiYC41NE8f13wo1Wvg2zmwQPnXbk3+IHUm/GMX6rhLL9ByFAUhYMeQUwxL23VKW9135g3uJ7vIPIFWHgB4h2V98kP/OnkqNISQ3KTTNddF8REyhMN3FV17ZE41n7+S3Tvp6E/Qe5Q2L5F+roFNGNhX7f6acGolje9XGFTK2y7j8cY8sUA8CtFKxr8m+ORKK+AUz3bHp6cupA6C1DIPJd+pKRRYCFNm0GmQZjWuVYhnGwl4XKg+PouLP6uthnUutvlnK6wt4sYG6CL/Ia2MU3BMPi+X8171oEzigm10C7XivXjZIVK9fUdnkyy0VaQxaclu5zb5e+vgcxqsb6lcfE7wE0Y Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2973 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Joyce.Kong@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT042.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(136003)(396003)(346002)(39860400002)(1110001)(339900001)(199004)(189003)(13464003)(11346002)(476003)(436003)(14444005)(446003)(486006)(6116002)(66066001)(14454004)(126002)(47776003)(3846002)(336012)(478600001)(229853002)(2906002)(23676004)(2486003)(186003)(26826003)(76176011)(7696005)(26005)(25786009)(6506007)(102836004)(53546011)(2501003)(81156014)(99286004)(8676002)(305945005)(9686003)(54906003)(110136005)(81166006)(74316002)(7736002)(86362001)(316002)(36906005)(55016002)(356004)(76130400001)(8936002)(70586007)(70206006)(22756006)(50466002)(52536014)(33656002)(4326008)(105606002)(5660300002)(6246003)(66574012)(107886003); DIR:OUT; SFP:1101; SCL:1; SRVR:DB8PR08MB5067; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Fail; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 0e7d156f-8c9a-4d19-e18c-08d76cd1f8fd NoDisclaimer: True X-Forefront-PRVS: 022649CC2C X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Tgfbsvyoc0wNKLWGopCOG16TSKEw8sFvJQU68L7Kl+WfJKfLTABkfaFsM1b/JvPCz7JJ8veAuMDqgkiNNolrlkYvllYMtbTsyQD1q9RyILqwwnOGj5ST7ENuKI8ReyAXayQo0bUSjVdM128fAFQ1NyjDOfLqkMkeY6WCGy4MgewJFmp2ThUVLKt30QNR5PDgx7jnevHqaYovYmnSLes8G2gPUjqa88Al0AHhGa9UmCd1k5dmy3MBMVU5dH20gsOgvMiXO7HjhABhbz36RcfyfHGhPoRKpww9PoDVao8ng1VlJ0Hd28G9H6UEXpWzu8ly+2fFC/5E6qZFibCsZ9oTrRBcxDifauQ/ao8zpzcRdu8BnmUIlySa2BNgfkDOk4KFa14HuO+9IqmhuarZciy+C/wI0iq+9+g0uLBvlvlKF+RbnCiwHUACigxOy70KxWsF X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2019 09:22:29.3010 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35e99b35-b78a-4778-3d24-08d76cd1ffec 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5067 Subject: Re: [dpdk-dev] [PATCH v3 1/6] lib/eal: implement the family of rte bitoperation APIs 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" SGkgTW9ydGVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1vcnRl biBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+DQo+IFNlbnQ6IE1vbmRheSwgTm92 ZW1iZXIgMTgsIDIwMTkgNjo1MiBQTQ0KPiBUbzogSm95Y2UgS29uZyAoQXJtIFRlY2hub2xvZ3kg Q2hpbmEpIDxKb3ljZS5Lb25nQGFybS5jb20+Ow0KPiBkZXZAZHBkay5vcmcNCj4gQ2M6IG5kIDxu ZEBhcm0uY29tPjsgdGhvbWFzQG1vbmphbG9uLm5ldDsgamVyaW5qQG1hcnZlbGwuY29tOw0KPiBz dGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgSG9u bmFwcGENCj4gTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBHYXZp biBIdSAoQXJtIFRlY2hub2xvZ3kNCj4gQ2hpbmEpIDxHYXZpbi5IdUBhcm0uY29tPjsgcmF2aTEu a3VtYXJAYW1kLmNvbTsgcm1vZHlAbWFydmVsbC5jb207DQo+IHNoc2hhaWtoQG1hcnZlbGwuY29t OyB4dWFueml5YW5nMkBodWF3ZWkuY29tOw0KPiBjbG91ZC53YW5neGlhb3l1bkBodWF3ZWkuY29t OyB6aG91Z3VveWFuZ0BodWF3ZWkuY29tDQo+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRD SCB2MyAxLzZdIGxpYi9lYWw6IGltcGxlbWVudCB0aGUgZmFtaWx5IG9mIHJ0ZQ0KPiBiaXRvcGVy YXRpb24gQVBJcw0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgSm95Y2UgS29u Zw0KPiA+IFNlbnQ6IE1vbmRheSwgTm92ZW1iZXIgMTgsIDIwMTkgMTE6MDcgQU0NCj4gPg0KPiAN Cj4gW3NuaXBdDQo+IA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0 ZV9iaXRvcHMuaA0KPiA+IEBAIC0wLDAgKzEsNDc0IEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiArICogQ29weXJpZ2h0KGMpIDIwMTkgQXJtIExp bWl0ZWQNCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaWZuZGVmIF9SVEVfQklUT1BTX0hfDQo+ID4g KyNkZWZpbmUgX1JURV9CSVRPUFNfSF8NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAZmlsZQ0K PiA+ICsgKiBCaXQgT3BlcmF0aW9ucw0KPiA+ICsgKg0KPiA+ICsgKiBUaGlzIGZpbGUgZGVmaW5l cyBhIEFQSSBmb3IgYml0IG9wZXJhdGlvbnMgd2l0aG91dC93aXRoIG1lbW9yeQ0KPiA+IG9yZGVy aW5nLg0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4gPiArI2lu Y2x1ZGUgPGFzc2VydC5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2NvbXBhdC5oPg0KPiA+ICsNCj4g PiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDMyIGJpdCBvcGVyYXRpb25zDQo+ID4g Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0tLS0qLw0KPiA+ICsNCj4gPiArLyoqDQo+ ID4gKyAqIEB3YXJuaW5nDQo+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNo YW5nZSwgb3IgYmUgcmVtb3ZlZCwgd2l0aG91dCBwcmlvcg0KPiA+IG5vdGljZQ0KPiA+ICsgKg0K PiA+ICsgKiBHZXQgdGhlIHRhcmdldCBiaXQgZnJvbSBhIDMyLWJpdCB2YWx1ZSB3aXRob3V0IG1l bW9yeSBvcmRlcmluZy4NCj4gPiArICoNCj4gPiArICogQHBhcmFtIG5yDQo+ID4gKyAqICAgVGhl IHRhcmdldCBiaXQgdG8gZ2V0Lg0KPiA+ICsgKiBAcGFyYW0gYWRkcg0KPiA+ICsgKiAgIFRoZSBh ZGRyZXNzIGhvbGRpbmcgdGhlIGJpdC4NCj4gPiArICogQHJldHVybg0KPiA+ICsgKiAgIFRoZSB0 YXJnZXQgYml0Lg0KPiA+ICsgKi8NCj4gPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3N0YXRp YyBpbmxpbmUgdWludDMyX3QNCj4gPiArcnRlX2dldF9iaXQzMl9yZWxheGVkKHVuc2lnbmVkIGlu dCBuciwgdW5zaWduZWQgbG9uZyAqYWRkcikgew0KPiA+ICsJYXNzZXJ0KG5yIDwgMzIpOw0KPiA+ ICsNCj4gPiArCXVpbnQzMl90IG1hc2sgPSAxVUwgPDwgbnI7DQo+ID4gKwlyZXR1cm4gX19hdG9t aWNfbG9hZF9uKGFkZHIsIF9fQVRPTUlDX1JFTEFYRUQpICYgbWFzazsgfQ0KPiANCj4gQWRkcmVz cyBwb2ludGVyIHNob3VsZCBiZTogdWludDMyX3QgKmFkZHIuDQo+IExpa2V3aXNlIGluIHRoZSBv dGhlciAzMiBiaXQgZnVuY3Rpb25zLg0KPiANCj4gVXNlIFJURV9BU1NFUlQoKSBpbnN0ZWFkIG9m IGFzc2VydCgpLg0KPiBMaWtld2lzZSBpbiBhbGwgb3RoZXIgZnVuY3Rpb25zLg0KPiANCj4gV2hl biBzZXR0aW5nIHRoZSBtYXNrLCBjb25zaWRlciB1c2luZyBVSU5UMzJfQygxKSBmcm9tIDxzdGRp bnQuaD4gaW5zdGVhZA0KPiBvZiAxVUwuDQo+IA0KPiBbc25pcF0NCj4gDQo+ID4gKw0KPiA+ICsv Ki0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gNjQgYml0IG9wZXJhdGlvbnMNCj4gPiArLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0tLS0tLSovDQo+ID4gKw0KPiA+ICsvKioNCj4gPiAr ICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdl LCBvciBiZSByZW1vdmVkLCB3aXRob3V0IHByaW9yDQo+ID4gbm90aWNlDQo+ID4gKyAqDQo+ID4g KyAqIEdldCB0aGUgdGFyZ2V0IGJpdCBmcm9tIGEgNjQtYml0IHZhbHVlIHdpdGhvdXQgbWVtb3J5 IG9yZGVyaW5nLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gbnINCj4gPiArICogICBUaGUgdGFy Z2V0IGJpdCB0byBnZXQuDQo+ID4gKyAqIEBwYXJhbSBhZGRyDQo+ID4gKyAqICAgVGhlIGFkZHJl c3MgaG9sZGluZyB0aGUgYml0Lg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgVGhlIHRhcmdl dCBiaXQuDQo+ID4gKyAqLw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiArc3RhdGljIGlu bGluZSB1aW50NjRfdA0KPiA+ICtydGVfZ2V0X2JpdDY0X3JlbGF4ZWQodW5zaWduZWQgaW50IG5y LCB1bnNpZ25lZCBsb25nICphZGRyKSB7DQo+ID4gKwlhc3NlcnQobnIgPCA2NCk7DQo+ID4gKw0K PiA+ICsJdWludDY0X3QgbWFzayA9IDFVTCA8PCBucjsNCj4gPiArCXJldHVybiBfX2F0b21pY19s b2FkX24oYWRkciwgX19BVE9NSUNfUkVMQVhFRCkgJiBtYXNrOyB9DQo+IA0KPiBBZGRyZXNzIHBv aW50ZXIgc2hvdWxkIGJlOiB1aW50NjRfdCAqYWRkci4NCj4gTGlrZXdpc2UgaW4gdGhlIG90aGVy IDY0IGJpdCBmdW5jdGlvbnMuDQo+IA0KPiBNYXNrIHNob3VsZCBiZSAxVUxMLCBub3QgMVVMLiBP ciB1c2UgVUlOVDY0X0MoMSkgZnJvbSA8c3RkaW50Lmg+IGluc3RlYWQuDQo+IExpa2V3aXNlIGlu IHRoZSBvdGhlciA2NCBiaXQgZnVuY3Rpb25zLg0KPiANCj4gW3NuaXBdDQo+IA0KPiANCj4gTWVk IHZlbmxpZyBoaWxzZW4gLyBraW5kIHJlZ2FyZHMNCj4gLSBNb3J0ZW4gQnLDuHJ1cA0KPiANCj4g DQpUaGFua3MhIEkgc2hhbGwgYWRkcmVzcyBhYm92ZSBjb21tZW50cyBpbiBQYXRjaCB2NCBmb3Ig Ym90aCAzMi1iaXQgYW5kIDY0LWJpdCBmdW5jdGlvbnMuDQoNCg==