From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4281BA0032; Fri, 1 Oct 2021 17:44:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C5C004118A; Fri, 1 Oct 2021 17:44:16 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2063.outbound.protection.outlook.com [40.107.20.63]) by mails.dpdk.org (Postfix) with ESMTP id E8D264067A for ; Fri, 1 Oct 2021 17:44:15 +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=lR6l9wGAS9+SPDp3MEN4NkMMBm4HS2BRgM66s7x0KIA=; b=NjcdpekbIEqaG4no/TvUyqpTKzxH7YBF1MPaOQd+946IxmyrIiRR5y1dfja8N6LZaqOLxSxlRK/F4Q2KeZi2eEcE6MhgUyhlLa9OM2D2U6DCwyEywkGCXjokGjBd7gXMQXgVg3meRN1czZrw+nGT1rSYXjEh2mHYPXfpSNDzops= Received: from AS8PR04CA0155.eurprd04.prod.outlook.com (2603:10a6:20b:331::10) by VI1PR08MB2686.eurprd08.prod.outlook.com (2603:10a6:802:18::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15; Fri, 1 Oct 2021 15:44:13 +0000 Received: from AM5EUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:331:cafe::f1) by AS8PR04CA0155.outlook.office365.com (2603:10a6:20b:331::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Fri, 1 Oct 2021 15:44:13 +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 AM5EUR03FT007.mail.protection.outlook.com (10.152.16.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Fri, 1 Oct 2021 15:44:13 +0000 Received: ("Tessian outbound 010023020eef:v103"); Fri, 01 Oct 2021 15:44:12 +0000 X-CR-MTA-TID: 64aa7808 Received: from 08cfd0949663.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 445E8D28-CE6E-436A-A4AA-7E5E0250EF49.1; Fri, 01 Oct 2021 15:44:05 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 08cfd0949663.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 01 Oct 2021 15:44:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DqpRci9L7HPqHzPtL+q5M/Xp/rsz9j3RdtqC2tRxd4l0FQfXY43CzF2aTCSUSp60ZOqN44ZZYBfLawL6KDSmnJsIHYXqEn/4yflJhEtpLVuOUbqWESpyHQdKVzaPk/MPfTwBNEbNfG8jItXymanFxaNCHQsbSQy+5MZ+PtiyL0/dIPo599Vne4hvjMBI5ilxJg2gWZuUJoC9Ab8vKcG11int/NLjxHA/2VNUZdpfkh07VYGDX3I+l/ZuLRI5gTOttWEEv/7f+CS7jxDP6k8b3p6SO8va3XvOJA4KPKQaj2F3moc/VGzTjvPV9aq3Vv9jKResXoQBv0kKtfnUr0kovw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lR6l9wGAS9+SPDp3MEN4NkMMBm4HS2BRgM66s7x0KIA=; b=BNzZlNzOg7ZiLKBqCAehn1a1Rj/t7OeCqAUb3GQs4tUBz0Fgh3Kv/bnSwSfd0EZafcK2EZhSGnxOgGOJDucnNcO4aHODtcCioApan+XSNHljGGanQUowdTFXjvt9lmQpWUdjrgTkqDATsqfQZ10APFzh7lOLbyd3lEQ3t6sCwVATxBDhqQbF0v5HOTHYJwiTUz49dCW/xldbolVj2ZCOaH6hGaT3Zchv/Ni9pz/dXBKynbBnX4/+IaEPMgLOkhmmSicf8mM/dnuYPN9JlpVl80HQXjgB2aq/Bc0KLEI+t71c9yCEpiYGe6xJY262EjMaDKBURZDpsl3S70o2APBj2A== 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=lR6l9wGAS9+SPDp3MEN4NkMMBm4HS2BRgM66s7x0KIA=; b=NjcdpekbIEqaG4no/TvUyqpTKzxH7YBF1MPaOQd+946IxmyrIiRR5y1dfja8N6LZaqOLxSxlRK/F4Q2KeZi2eEcE6MhgUyhlLa9OM2D2U6DCwyEywkGCXjokGjBd7gXMQXgVg3meRN1czZrw+nGT1rSYXjEh2mHYPXfpSNDzops= Received: from AM8PR08MB5810.eurprd08.prod.outlook.com (2603:10a6:20b:1d2::20) by AM4PR0802MB2145.eurprd08.prod.outlook.com (2603:10a6:200:5d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15; Fri, 1 Oct 2021 15:44:04 +0000 Received: from AM8PR08MB5810.eurprd08.prod.outlook.com ([fe80::71ce:2277:80d4:3a85]) by AM8PR08MB5810.eurprd08.prod.outlook.com ([fe80::71ce:2277:80d4:3a85%6]) with mapi id 15.20.4566.019; Fri, 1 Oct 2021 15:44:04 +0000 From: Honnappa Nagarahalli To: Jerin Jacob , Dharmik Thakkar CC: Olivier Matz , Andrew Rybchenko , dpdk-dev , nd , Ruifeng Wang , nd Thread-Topic: [dpdk-dev] [RFC] mempool: implement index-based per core cache Thread-Index: AQHXtsE23FbH85c80U2vmaazO82iNau+R+Tw Date: Fri, 1 Oct 2021 15:44:04 +0000 Message-ID: References: <20210930172735.2675627-1-dharmik.thakkar@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: D543C623DE3FD1439CA11B215F85F042.0 x-checkrecipientchecked: true Authentication-Results-Original: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: c878eb5c-dbc3-4736-93e3-08d984f2519a x-ms-traffictypediagnostic: AM4PR0802MB2145:|VI1PR08MB2686: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: THEVYfAdMPhs4YwG0yqrS/w6hWzNkvrE7uwkmd3m+qXOSlTwuQGKtBnm0+nRSl8RLLuXmjhK1AnRCxV64JsMwZwOYZZ6Efriqyy7+UMXVfMQxTSeBPtM+/udB3sqKe6XOZlNDKJFC6MOjEvwuuKIx59bJ8nP1YQjcN2HMqXdg5AG+hYEtCxcaHXcQY+HDkC0ZrrpLeWEEk1KAWvqu920q0fhxIb68ywZ9XmNZH9sJUlmV9yaTXCbalrLX2elZT+Rsc02IpnKkXvIcTpUORP0JjzYx6dqA+ZznaajzyuuBu70VA5fT2fJl/tGbNsiqEyuDD049oLQss+gUKmsNZiBnBc5jP6KvSJcub5pqeHiG/La15+Tv7YYf1Oku9k1NUdRI+zwgsFiGxUMb2QS+q/R4FDEKz+La6vbeyPnsQ8S5vE80P3DQyP27VO2kt9rQo5OcDcW2DsDNwwFtTa30CpnNFDOPEKwpNuhapk5hd07z1ZAa+iHPWu4fOzOZXMxs83E+nMI7MgFDtDWYWuTQc1gUF3/l0tZDGm+aN32TyiajJC/+L8N9jWtkqcg5fgxovdOJ+BOePb6cOHXfT2VO26SPUOHU519ugqyor3ctvkljfMSCxnqnQcYxSd/J7hpylQqXXuunPmZkUFjG2TFkGx6xcC6pKx/zz3V/k2ImMoNrFddlyvaB3I0FvgT8lvkRqFbF9cowKaFEncluKFQsAPExg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM8PR08MB5810.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(52536014)(4326008)(33656002)(83380400001)(54906003)(55016002)(38070700005)(110136005)(53546011)(26005)(6506007)(71200400001)(8676002)(8936002)(9686003)(186003)(66446008)(66476007)(66556008)(64756008)(5660300002)(38100700002)(7696005)(2906002)(508600001)(122000001)(76116006)(86362001)(66946007)(6636002)(316002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0802MB2145 Original-Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 21c757af-ecbf-4bc0-c05e-08d984f24bf7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vhGRh8hgNUzbFR339YUgCyr4HAykSdcYTzzDn3qmi7ZQkGSVUVgeqSTAuwU5VuGzEqIci+gAs99twmf5ooYebeikyZJzhAxOZEduQ/WizWERIae3v9oIm7u335bo/0vDbuOBBBkBTuAGV/tYMJS8GhGE6SUdxCUEu0RS928JsfFZdDcwfpFSRe8kroitQcBRaQTT08Roje5+kCE7H2o2qm+suC8LuPTxHHEL2lRY86bnn/30J32ZAcvzn+PqL+8xluoW9xK7RJTDAVrGvxO5ufAkIjOCPXi7cz9+F4+ee9MPwMhdstE/fOFcC8H7yqCN6XaTYjc+AhAnx4SsgCZkgfkJgoqRMNcpFShNCcEzudwRv4M8Bz9M79Xwbk70NkdbdnkR3RkDz4NoGt4yuRVDBE0jKRgKCQWlmtjvEB4g2RDIkotv/O+mZDDB/WXl87fwmGuYWOdFuXT30OI9lt8uoLT4RhFkOmE8JZqRLcTWgfNqg9KAMFRnhMetJcWRvrnNfU5d2ACRO1NL2FAKBkUYboQ8pXFZI3AnkLDiAM3McWdUTWG0OUYOg8IOjeTuhtRaAb1Mr6OZDA2GZluEkoeF/MnIFR0L9/U5kXhHuSUoewPhP7S4L7x6+kCRwcv0ocKH9jkz14H2sazpKU3Vkg+4h0tYkVH5zb62qeOxf78t0W/j12Sw5Srva5ClCkp2fHqkdedomaL/cVP9c6NlzAQB6w== 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)(46966006)(36840700001)(316002)(2906002)(356005)(6636002)(81166007)(47076005)(52536014)(110136005)(54906003)(36860700001)(508600001)(6506007)(83380400001)(186003)(8676002)(4326008)(86362001)(70206006)(8936002)(26005)(55016002)(82310400003)(33656002)(5660300002)(70586007)(9686003)(53546011)(7696005)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Oct 2021 15:44:13.4909 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c878eb5c-dbc3-4736-93e3-08d984f2519a 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: AM5EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2686 Subject: Re: [dpdk-dev] [RFC] mempool: implement index-based per core cache X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" PHNuaXA+DQoNCj4gDQo+IE9uIFRodSwgU2VwIDMwLCAyMDIxIGF0IDEwOjU3IFBNIERoYXJtaWsg VGhha2thcg0KPiA8ZGhhcm1pay50aGFra2FyQGFybS5jb20+IHdyb3RlOg0KPiA+DQo+ID4gQ3Vy cmVudCBtZW1wb29sIHBlciBjb3JlIGNhY2hlIGltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIHBv aW50ZXIgRm9yDQo+ID4gbW9zdCBhcmNoaXRlY3R1cmVzLCBlYWNoIHBvaW50ZXIgY29uc3VtZXMg NjRiIFJlcGxhY2UgaXQgd2l0aA0KPiA+IGluZGV4LWJhc2VkIGltcGxlbWVudGF0aW9uLCB3aGVy ZSBpbiBlYWNoIGJ1ZmZlciBpcyBhZGRyZXNzZWQgYnkgKHBvb2wNCj4gPiBhZGRyZXNzICsgaW5k ZXgpIEl0IHdpbGwgcmVkdWNlIG1lbW9yeSByZXF1aXJlbWVudHMNCj4gPg0KPiA+IEwzRndkIHBl cmZvcm1hbmNlIHRlc3RpbmcgcmV2ZWFscyBtaW5vciBpbXByb3ZlbWVudHMgaW4gdGhlIGNhY2hl DQo+ID4gcGVyZm9ybWFuY2UgYW5kIG5vIGNoYW5nZSBpbiB0aHJvdWdocHV0DQo+ID4NCj4gPiBN aWNyby1iZW5jaG1hcmtpbmcgdGhlIHBhdGNoIHVzaW5nIG1lbXBvb2xfcGVyZl90ZXN0IHNob3dz IHNpZ25pZmljYW50DQo+ID4gaW1wcm92ZW1lbnQgd2l0aCBtYWpvcml0eSBvZiB0aGUgdGVzdCBj YXNlcw0KPiA+DQo+ID4gRnV0dXJlIHBsYW4gaW52b2x2ZXMgcmVwbGFjaW5nIGdsb2JhbCBwb29s J3MgcG9pbnRlci1iYXNlZA0KPiA+IGltcGxlbWVudGF0aW9uIHdpdGggaW5kZXgtYmFzZWQgaW1w bGVtZW50YXRpb24NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IERoYXJtaWsgVGhha2thciA8ZGhh cm1pay50aGFra2FyQGFybS5jb20+DQo+IA0KPiANCj4gU2FuZSBpZGVhLiBMaWtlIFZQUCwgd2Ug dHJpZWQgdG8gZG8gdGhpcyBmb3IgcnRlX2dyYXBoLCBidXQgbm90IG9ic2VydmVkIG11Y2gNCj4g Z2Fpbi4NCj4gU2luY2UgbGNvcmUgY2FjaGUgaXMgdHlwaWNhbGx5IDUxMiwgbWF5YmUgdGhlcmUg aXMgYSBnYWluIG9uIHRoZSBtZW1wb29sIHBhdGguDQo+IEFsc28sIFNpbmNlIHlvdSBhcmUgZW5h Ymxpbmcgb25seSBmb3IgbG9jYWwgY2FjaGUsIGl0IGlzIGdvb2QgYXMgbWVtcG9vbA0KPiBkcml2 ZXJzIGNhbiB3b3JrIGFzLWlzLihpLmUgSFcgZHJpdmVycyB3b3JrcyB3aXRoIDY0Yml0KSBJIHRo aW5rLCBnZXR0aW5nIG1vcmUNCj4gcGVyZm9ybWFuY2UgbnVtYmVycyBmb3IgdmFyaW91cyBjYXNl cyBtYXkgYmUgdGhlIG5leHQgc3RlcC4NClRoZSBnYWluIGlzIG5vdCBvYnNlcnZlZCBpbiB0ZXJt cyBvZiBQUFMgaW1wcm92ZW1lbnQsIGJ1dCBkbyBzZWUgc29tZSBpbXByb3ZlbWVudHMgdGhhdCBQ TVVzIGluZGljYXRlLiBUaGlzIGFwcHJvYWNoIGRlZmluaXRlbHkgcmVzdWx0cyBpbiBzYXZpbmdz IGluIG51bWJlciBvZiBjYWNoZSBsaW5lcyB1dGlsaXplZC4NCg0KPiANCj4gPiAtLS0NCj4gPiAg ZHJpdmVycy9tZW1wb29sL3JpbmcvcnRlX21lbXBvb2xfcmluZy5jIHwgIDIgKy0NCj4gPiAgbGli L21lbXBvb2wvcnRlX21lbXBvb2wuYyAgICAgICAgICAgICAgIHwgIDggKysrDQo+ID4gIGxpYi9t ZW1wb29sL3J0ZV9tZW1wb29sLmggICAgICAgICAgICAgICB8IDc0ICsrKysrKysrKysrKysrKysr KysrKystLS0NCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAxMCBkZWxl dGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lbXBvb2wvcmluZy9ydGVf bWVtcG9vbF9yaW5nLmMNCj4gPiBiL2RyaXZlcnMvbWVtcG9vbC9yaW5nL3J0ZV9tZW1wb29sX3Jp bmcuYw0KPiA+IGluZGV4IGIxZjA5ZmYyOGY0ZC4uZTU1OTEzZTQ3ZjIxIDEwMDY0NA0KPiA+IC0t LSBhL2RyaXZlcnMvbWVtcG9vbC9yaW5nL3J0ZV9tZW1wb29sX3JpbmcuYw0KPiA+ICsrKyBiL2Ry aXZlcnMvbWVtcG9vbC9yaW5nL3J0ZV9tZW1wb29sX3JpbmcuYw0KPiA+IEBAIC0xMDEsNyArMTAx LDcgQEAgcmluZ19hbGxvYyhzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLCB1aW50MzJfdA0KPiByZ19m bGFncykNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1ydGVfZXJybm87DQo+ID4NCj4gPiAg ICAgICAgIG1wLT5wb29sX2RhdGEgPSByOw0KPiA+IC0NCj4gPiArICAgICAgIG1wLT5sb2NhbF9j YWNoZV9iYXNlX2FkZHIgPSAmclsxXTsNCj4gPiAgICAgICAgIHJldHVybiAwOw0KPiA+ICB9DQo+ ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYyBiL2xpYi9tZW1w b29sL3J0ZV9tZW1wb29sLmMNCj4gPiBpbmRleCA1OWE1ODg0MjViZDYuLjQyNGJkYjE5YzMyMyAx MDA2NDQNCj4gPiAtLS0gYS9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5jDQo+ID4gKysrIGIvbGli L21lbXBvb2wvcnRlX21lbXBvb2wuYw0KPiA+IEBAIC00ODAsNiArNDgwLDcgQEAgcnRlX21lbXBv b2xfcG9wdWxhdGVfZGVmYXVsdChzdHJ1Y3QNCj4gcnRlX21lbXBvb2wgKm1wKQ0KPiA+ICAgICAg ICAgaW50IHJldDsNCj4gPiAgICAgICAgIGJvb2wgbmVlZF9pb3ZhX2NvbnRpZ19vYmo7DQo+ID4g ICAgICAgICBzaXplX3QgbWF4X2FsbG9jX3NpemUgPSBTSVpFX01BWDsNCj4gPiArICAgICAgIHVu c2lnbmVkIGxjb3JlX2lkOw0KPiA+DQo+ID4gICAgICAgICByZXQgPSBtZW1wb29sX29wc19hbGxv Y19vbmNlKG1wKTsNCj4gPiAgICAgICAgIGlmIChyZXQgIT0gMCkNCj4gPiBAQCAtNjAwLDYgKzYw MSwxMyBAQCBydGVfbWVtcG9vbF9wb3B1bGF0ZV9kZWZhdWx0KHN0cnVjdA0KPiBydGVfbWVtcG9v bCAqbXApDQo+ID4gICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+ICsg ICAgICAgLyogSW5pdCBhbGwgZGVmYXVsdCBjYWNoZXMuICovDQo+ID4gKyAgICAgICBpZiAobXAt PmNhY2hlX3NpemUgIT0gMCkgew0KPiA+ICsgICAgICAgICAgICAgICBmb3IgKGxjb3JlX2lkID0g MDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOyBsY29yZV9pZCsrKQ0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0ubG9jYWxfY2FjaGVfYmFzZV92 YWx1ZSA9DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKHZvaWQgKiopbXAt PmxvY2FsX2NhY2hlX2Jhc2VfYWRkcjsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gICAgICAg ICBydGVfbWVtcG9vbF90cmFjZV9wb3B1bGF0ZV9kZWZhdWx0KG1wKTsNCj4gPiAgICAgICAgIHJl dHVybiBtcC0+c2l6ZTsNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbWVtcG9vbC9ydGVfbWVt cG9vbC5oIGIvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuaA0KPiA+IGluZGV4IDQyMzVkNmYwYmYy Yi4uNTQ1NDA1YzBkM2NlIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29s LmgNCj4gPiArKysgYi9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+ID4gQEAgLTUxLDYgKzUx LDggQEANCj4gPiAgI2luY2x1ZGUgPHJ0ZV9tZW1jcHkuaD4NCj4gPiAgI2luY2x1ZGUgPHJ0ZV9j b21tb24uaD4NCj4gPg0KPiA+ICsjaW5jbHVkZSA8YXJtX25lb24uaD4NCj4gPiArDQo+ID4gICNp bmNsdWRlICJydGVfbWVtcG9vbF90cmFjZV9mcC5oIg0KPiA+DQo+ID4gICNpZmRlZiBfX2NwbHVz cGx1cw0KPiA+IEBAIC05MSwxMSArOTMsMTIgQEAgc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlIHsN Cj4gPiAgICAgICAgIHVpbnQzMl90IHNpemU7ICAgICAgICAvKio8IFNpemUgb2YgdGhlIGNhY2hl ICovDQo+ID4gICAgICAgICB1aW50MzJfdCBmbHVzaHRocmVzaDsgLyoqPCBUaHJlc2hvbGQgYmVm b3JlIHdlIGZsdXNoIGV4Y2VzcyBlbGVtZW50cw0KPiAqLw0KPiA+ICAgICAgICAgdWludDMyX3Qg bGVuOyAgICAgICAgIC8qKjwgQ3VycmVudCBjYWNoZSBjb3VudCAqLw0KPiA+ICsgICAgICAgdm9p ZCAqbG9jYWxfY2FjaGVfYmFzZV92YWx1ZTsgLyoqPCBCYXNlIHZhbHVlIHRvIGNhbGN1bGF0ZQ0K PiA+ICsgaW5kaWNlcyAqLw0KPiA+ICAgICAgICAgLyoNCj4gPiAgICAgICAgICAqIENhY2hlIGlz IGFsbG9jYXRlZCB0byB0aGlzIHNpemUgdG8gYWxsb3cgaXQgdG8gb3ZlcmZsb3cgaW4gY2VydGFp bg0KPiA+ICAgICAgICAgICogY2FzZXMgdG8gYXZvaWQgbmVlZGxlc3MgZW1wdHlpbmcgb2YgY2Fj aGUuDQo+ID4gICAgICAgICAgKi8NCj4gPiAtICAgICAgIHZvaWQgKm9ianNbUlRFX01FTVBPT0xf Q0FDSEVfTUFYX1NJWkUgKiAzXTsgLyoqPCBDYWNoZSBvYmplY3RzDQo+ICovDQo+ID4gKyAgICAg ICB1aW50MzJfdCBvYmpzW1JURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFICogM107IC8qKjwgQ2Fj aGUNCj4gPiArIG9iamVjdHMgKi8NCj4gPiAgfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0KPiA+DQo+ ID4gIC8qKg0KPiA+IEBAIC0xNzIsNyArMTc1LDYgQEAgc3RydWN0IHJ0ZV9tZW1wb29sX29ianRs ciB7DQo+ID4gICAqIEEgbGlzdCBvZiBtZW1vcnkgd2hlcmUgb2JqZWN0cyBhcmUgc3RvcmVkDQo+ ID4gICAqLw0KPiA+ICBTVEFJTFFfSEVBRChydGVfbWVtcG9vbF9tZW1oZHJfbGlzdCwgcnRlX21l bXBvb2xfbWVtaGRyKTsNCj4gPiAtDQo+ID4gIC8qKg0KPiA+ICAgKiBDYWxsYmFjayB1c2VkIHRv IGZyZWUgYSBtZW1vcnkgY2h1bmsNCj4gPiAgICovDQo+ID4gQEAgLTI0NCw2ICsyNDYsNyBAQCBz dHJ1Y3QgcnRlX21lbXBvb2wgew0KPiA+ICAgICAgICAgaW50MzJfdCBvcHNfaW5kZXg7DQo+ID4N Cj4gPiAgICAgICAgIHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqbG9jYWxfY2FjaGU7IC8qKjwg UGVyLWxjb3JlIGxvY2FsDQo+ID4gY2FjaGUgKi8NCj4gPiArICAgICAgIHZvaWQgKmxvY2FsX2Nh Y2hlX2Jhc2VfYWRkcjsgLyoqPCBSZWZlcmVuY2UgdG8gdGhlIGJhc2UgdmFsdWUNCj4gPiArICov DQo+ID4NCj4gPiAgICAgICAgIHVpbnQzMl90IHBvcHVsYXRlZF9zaXplOyAgICAgICAgIC8qKjwg TnVtYmVyIG9mIHBvcHVsYXRlZCBvYmplY3RzLiAqLw0KPiA+ICAgICAgICAgc3RydWN0IHJ0ZV9t ZW1wb29sX29iamhkcl9saXN0IGVsdF9saXN0OyAvKio8IExpc3Qgb2Ygb2JqZWN0cw0KPiA+IGlu IHBvb2wgKi8gQEAgLTEyNjksNyArMTI3MiwxNSBAQCBydGVfbWVtcG9vbF9jYWNoZV9mbHVzaChz dHJ1Y3QNCj4gcnRlX21lbXBvb2xfY2FjaGUgKmNhY2hlLA0KPiA+ICAgICAgICAgaWYgKGNhY2hl ID09IE5VTEwgfHwgY2FjaGUtPmxlbiA9PSAwKQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm47 DQo+ID4gICAgICAgICBydGVfbWVtcG9vbF90cmFjZV9jYWNoZV9mbHVzaChjYWNoZSwgbXApOw0K PiA+IC0gICAgICAgcnRlX21lbXBvb2xfb3BzX2VucXVldWVfYnVsayhtcCwgY2FjaGUtPm9ianMs IGNhY2hlLT5sZW4pOw0KPiA+ICsNCj4gPiArICAgICAgIHVuc2lnbmVkIGludCBpOw0KPiA+ICsg ICAgICAgdW5zaWduZWQgaW50IGNhY2hlX2xlbiA9IGNhY2hlLT5sZW47DQo+ID4gKyAgICAgICB2 b2lkICpvYmpfdGFibGVbUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgKiAzXTsNCj4gPiArICAg ICAgIHZvaWQgKmJhc2VfdmFsdWUgPSBjYWNoZS0+bG9jYWxfY2FjaGVfYmFzZV92YWx1ZTsNCj4g PiArICAgICAgIHVpbnQzMl90ICpjYWNoZV9vYmpzID0gY2FjaGUtPm9ianM7DQo+ID4gKyAgICAg ICBmb3IgKGkgPSAwOyBpIDwgY2FjaGVfbGVuOyBpKyspDQo+ID4gKyAgICAgICAgICAgICAgIG9i al90YWJsZVtpXSA9ICh2b2lkICopIFJURV9QVFJfQUREKGJhc2VfdmFsdWUsIGNhY2hlX29ianNb aV0pOw0KPiA+ICsgICAgICAgcnRlX21lbXBvb2xfb3BzX2VucXVldWVfYnVsayhtcCwgb2JqX3Rh YmxlLCBjYWNoZS0+bGVuKTsNCj4gPiAgICAgICAgIGNhY2hlLT5sZW4gPSAwOw0KPiA+ICB9DQo+ ID4NCj4gPiBAQCAtMTI4OSw3ICsxMzAwLDkgQEAgc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUg dm9pZA0KPiA+IF9fbWVtcG9vbF9nZW5lcmljX3B1dChzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLCB2 b2lkICogY29uc3QgKm9ial90YWJsZSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IG4sIHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqY2FjaGUpDQo+ID4gew0KPiA+IC0g ICAgICAgdm9pZCAqKmNhY2hlX29ianM7DQo+ID4gKyAgICAgICB1aW50MzJfdCAqY2FjaGVfb2Jq czsNCj4gPiArICAgICAgIHZvaWQgKmJhc2VfdmFsdWU7DQo+ID4gKyAgICAgICB1aW50MzJfdCBp Ow0KPiA+DQo+ID4gICAgICAgICAvKiBpbmNyZW1lbnQgc3RhdCBub3csIGFkZGluZyBpbiBtZW1w b29sIGFsd2F5cyBzdWNjZXNzICovDQo+ID4gICAgICAgICBfX01FTVBPT0xfU1RBVF9BREQobXAs IHB1dF9idWxrLCAxKTsgQEAgLTEzMDEsNiArMTMxNCwxMiBAQA0KPiA+IF9fbWVtcG9vbF9nZW5l cmljX3B1dChzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLCB2b2lkICogY29uc3QgKm9ial90YWJsZSwN Cj4gPg0KPiA+ICAgICAgICAgY2FjaGVfb2JqcyA9ICZjYWNoZS0+b2Jqc1tjYWNoZS0+bGVuXTsN Cj4gPg0KPiA+ICsgICAgICAgYmFzZV92YWx1ZSA9IGNhY2hlLT5sb2NhbF9jYWNoZV9iYXNlX3Zh bHVlOw0KPiA+ICsNCj4gPiArICAgICAgIHVpbnQ2NHgyX3Qgdl9vYmpfdGFibGU7DQo+ID4gKyAg ICAgICB1aW50NjR4Ml90IHZfYmFzZV92YWx1ZSA9IHZkdXBxX25fdTY0KCh1aW50NjRfdCliYXNl X3ZhbHVlKTsNCj4gPiArICAgICAgIHVpbnQzMngyX3Qgdl9jYWNoZV9vYmpzOw0KPiA+ICsNCj4g PiAgICAgICAgIC8qDQo+ID4gICAgICAgICAgKiBUaGUgY2FjaGUgZm9sbG93cyB0aGUgZm9sbG93 aW5nIGFsZ29yaXRobQ0KPiA+ICAgICAgICAgICogICAxLiBBZGQgdGhlIG9iamVjdHMgdG8gdGhl IGNhY2hlDQo+ID4gQEAgLTEzMDksMTIgKzEzMjgsMjYgQEAgX19tZW1wb29sX2dlbmVyaWNfcHV0 KHN0cnVjdCBydGVfbWVtcG9vbA0KPiAqbXAsIHZvaWQgKiBjb25zdCAqb2JqX3RhYmxlLA0KPiA+ ICAgICAgICAgICovDQo+ID4NCj4gPiAgICAgICAgIC8qIEFkZCBlbGVtZW50cyBiYWNrIGludG8g dGhlIGNhY2hlICovDQo+ID4gLSAgICAgICBydGVfbWVtY3B5KCZjYWNoZV9vYmpzWzBdLCBvYmpf dGFibGUsIHNpemVvZih2b2lkICopICogbik7DQo+ID4gKw0KPiA+ICsjaWYgZGVmaW5lZCBfX0FS TV9ORU9ODQo+ID4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgKG4gJiB+MHgxKTsgaSs9Mikgew0K PiA+ICsgICAgICAgICAgICAgICB2X29ial90YWJsZSA9IHZsZDFxX3U2NCgoY29uc3QgdWludDY0 X3QgKikmb2JqX3RhYmxlW2ldKTsNCj4gPiArICAgICAgICAgICAgICAgdl9jYWNoZV9vYmpzID0g dnFtb3ZuX3U2NCh2c3VicV91NjQodl9vYmpfdGFibGUsDQo+IHZfYmFzZV92YWx1ZSkpOw0KPiA+ ICsgICAgICAgICAgICAgICB2c3QxX3UzMihjYWNoZV9vYmpzICsgaSwgdl9jYWNoZV9vYmpzKTsN Cj4gPiArICAgICAgIH0NCj4gPiArICAgICAgIGlmIChuICYgMHgxKSB7DQo+ID4gKyAgICAgICAg ICAgICAgIGNhY2hlX29ianNbaV0gPSAodWludDMyX3QpIFJURV9QVFJfRElGRihvYmpfdGFibGVb aV0sIGJhc2VfdmFsdWUpOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsjZWxzZQ0KPiA+ICsgICAgICAg Zm9yIChpID0gMDsgaSA8IG47IGkrKykgew0KPiA+ICsgICAgICAgICAgICAgICBjYWNoZV9vYmpz W2ldID0gKHVpbnQzMl90KSBSVEVfUFRSX0RJRkYob2JqX3RhYmxlW2ldLCBiYXNlX3ZhbHVlKTsN Cj4gPiArICAgICAgIH0NCj4gPiArI2VuZGlmDQo+ID4NCj4gPiAgICAgICAgIGNhY2hlLT5sZW4g Kz0gbjsNCj4gPg0KPiA+ICAgICAgICAgaWYgKGNhY2hlLT5sZW4gPj0gY2FjaGUtPmZsdXNodGhy ZXNoKSB7DQo+ID4gLSAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX29wc19lbnF1ZXVlX2J1bGso bXAsICZjYWNoZS0+b2Jqc1tjYWNoZS0+c2l6ZV0sDQo+ID4gKyAgICAgICAgICAgICAgIHJ0ZV9t ZW1wb29sX29wc19lbnF1ZXVlX2J1bGsobXAsIG9ial90YWJsZSArDQo+ID4gKyBjYWNoZS0+bGVu IC0gY2FjaGUtPnNpemUsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNo ZS0+bGVuIC0gY2FjaGUtPnNpemUpOw0KPiA+ICAgICAgICAgICAgICAgICBjYWNoZS0+bGVuID0g Y2FjaGUtPnNpemU7DQo+ID4gICAgICAgICB9DQo+ID4gQEAgLTE0MTUsMjMgKzE0NDgsMjYgQEAg X19tZW1wb29sX2dlbmVyaWNfZ2V0KHN0cnVjdCBydGVfbWVtcG9vbA0KPiAqbXAsIHZvaWQgKipv YmpfdGFibGUsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBuLCBzdHJ1 Y3QgcnRlX21lbXBvb2xfY2FjaGUgKmNhY2hlKQ0KPiA+IHsNCj4gPiAgICAgICAgIGludCByZXQ7 DQo+ID4gKyAgICAgICB1aW50MzJfdCBpOw0KPiA+ICAgICAgICAgdWludDMyX3QgaW5kZXgsIGxl bjsNCj4gPiAtICAgICAgIHZvaWQgKipjYWNoZV9vYmpzOw0KPiA+ICsgICAgICAgdWludDMyX3Qg KmNhY2hlX29ianM7DQo+ID4NCj4gPiAgICAgICAgIC8qIE5vIGNhY2hlIHByb3ZpZGVkIG9yIGNh bm5vdCBiZSBzYXRpc2ZpZWQgZnJvbSBjYWNoZSAqLw0KPiA+ICAgICAgICAgaWYgKHVubGlrZWx5 KGNhY2hlID09IE5VTEwgfHwgbiA+PSBjYWNoZS0+c2l6ZSkpDQo+ID4gICAgICAgICAgICAgICAg IGdvdG8gcmluZ19kZXF1ZXVlOw0KPiA+DQo+ID4gKyAgICAgICB2b2lkICpiYXNlX3ZhbHVlID0g Y2FjaGUtPmxvY2FsX2NhY2hlX2Jhc2VfdmFsdWU7DQo+ID4gICAgICAgICBjYWNoZV9vYmpzID0g Y2FjaGUtPm9ianM7DQo+ID4NCj4gPiAgICAgICAgIC8qIENhbiB0aGlzIGJlIHNhdGlzZmllZCBm cm9tIHRoZSBjYWNoZT8gKi8NCj4gPiAgICAgICAgIGlmIChjYWNoZS0+bGVuIDwgbikgew0KPiA+ ICAgICAgICAgICAgICAgICAvKiBOby4gQmFja2ZpbGwgdGhlIGNhY2hlIGZpcnN0LCBhbmQgdGhl biBmaWxsIGZyb20gaXQgKi8NCj4gPiAgICAgICAgICAgICAgICAgdWludDMyX3QgcmVxID0gbiAr IChjYWNoZS0+c2l6ZSAtIGNhY2hlLT5sZW4pOw0KPiA+ICsgICAgICAgICAgICAgICB2b2lkICp0 ZW1wX29ianNbUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgKiAzXTsgLyoqPA0KPiA+ICsgQ2Fj aGUgb2JqZWN0cyAqLw0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIC8qIEhvdyBtYW55IGRvIHdl IHJlcXVpcmUgaS5lLiBudW1iZXIgdG8gZmlsbCB0aGUgY2FjaGUgKyB0aGUNCj4gcmVxdWVzdCAq Lw0KPiA+ICAgICAgICAgICAgICAgICByZXQgPSBydGVfbWVtcG9vbF9vcHNfZGVxdWV1ZV9idWxr KG1wLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICZjYWNoZS0+b2Jqc1tjYWNoZS0+bGVu XSwgcmVxKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICB0ZW1wX29ianMsIHJlcSk7DQo+ ID4gICAgICAgICAgICAgICAgIGlmICh1bmxpa2VseShyZXQgPCAwKSkgew0KPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIC8qDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICogSW4gdGhl IG9mZiBjaGFuY2UgdGhhdCB3ZSBhcmUgYnVmZmVyDQo+ID4gY29uc3RyYWluZWQsIEBAIC0xNDQy LDEyICsxNDc4LDMyIEBAIF9fbWVtcG9vbF9nZW5lcmljX2dldChzdHJ1Y3QNCj4gcnRlX21lbXBv b2wgKm1wLCB2b2lkICoqb2JqX3RhYmxlLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGdv dG8gcmluZ19kZXF1ZXVlOw0KPiA+ICAgICAgICAgICAgICAgICB9DQo+ID4NCj4gPiArICAgICAg ICAgICAgICAgbGVuID0gY2FjaGUtPmxlbjsNCj4gPiArICAgICAgICAgICAgICAgZm9yIChpID0g MDsgaSA8IHJlcTsgKytpLCArK2xlbikgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGNh Y2hlX29ianNbbGVuXSA9ICh1aW50MzJfdCkgUlRFX1BUUl9ESUZGKHRlbXBfb2Jqc1tpXSwNCj4g YmFzZV92YWx1ZSk7DQo+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiArDQo+ID4gICAgICAgICAg ICAgICAgIGNhY2hlLT5sZW4gKz0gcmVxOw0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gKyAgICAg ICB1aW50NjR4Ml90IHZfb2JqX3RhYmxlOw0KPiA+ICsgICAgICAgdWludDY0eDJfdCB2X2NhY2hl X29ianM7DQo+ID4gKyAgICAgICB1aW50NjR4Ml90IHZfYmFzZV92YWx1ZSA9IHZkdXBxX25fdTY0 KCh1aW50NjRfdCliYXNlX3ZhbHVlKTsNCj4gPiArDQo+ID4gICAgICAgICAvKiBOb3cgZmlsbCBp biB0aGUgcmVzcG9uc2UgLi4uICovDQo+ID4gKyNpZiBkZWZpbmVkIF9fQVJNX05FT04NCj4gPiAr ICAgICAgIGZvciAoaW5kZXggPSAwLCBsZW4gPSBjYWNoZS0+bGVuIC0gMTsgaW5kZXggPCAobiAm IH4weDEpOyBpbmRleCs9MiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsZW4tPTIsIG9ial90YWJsZSs9Mikgew0KPiA+ICsgICAgICAgICAgICAg ICB2X2NhY2hlX29ianMgPSB2bW92bF91MzIodmxkMV91MzIoY2FjaGVfb2JqcyArIGxlbiAtIDEp KTsNCj4gPiArICAgICAgICAgICAgICAgdl9vYmpfdGFibGUgPSB2YWRkcV91NjQodl9jYWNoZV9v YmpzLCB2X2Jhc2VfdmFsdWUpOw0KPiA+ICsgICAgICAgICAgICAgICB2c3QxcV91NjQoKHVpbnQ2 NF90ICopb2JqX3RhYmxlLCB2X29ial90YWJsZSk7DQo+ID4gKyAgICAgICB9DQo+ID4gKyAgICAg ICBpZiAobiAmIDB4MSkNCj4gPiArICAgICAgICAgICAgICAgKm9ial90YWJsZSA9ICh2b2lkICop IFJURV9QVFJfQUREKGJhc2VfdmFsdWUsDQo+ID4gK2NhY2hlX29ianNbbGVuXSk7ICNlbHNlDQo+ ID4gICAgICAgICBmb3IgKGluZGV4ID0gMCwgbGVuID0gY2FjaGUtPmxlbiAtIDE7IGluZGV4IDwg bjsgKytpbmRleCwgbGVuLS0sDQo+IG9ial90YWJsZSsrKQ0KPiA+IC0gICAgICAgICAgICAgICAq b2JqX3RhYmxlID0gY2FjaGVfb2Jqc1tsZW5dOw0KPiA+ICsgICAgICAgICAgICAgICAqb2JqX3Rh YmxlID0gKHZvaWQgKikgUlRFX1BUUl9BREQoYmFzZV92YWx1ZSwNCj4gPiArY2FjaGVfb2Jqc1ts ZW5dKTsgI2VuZGlmDQo+ID4NCj4gPiAgICAgICAgIGNhY2hlLT5sZW4gLT0gbjsNCj4gPg0KPiA+ IC0tDQo+ID4gMi4xNy4xDQo+ID4NCg==