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 2A3AAA0032; Sat, 16 Jul 2022 00:07:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0BFBD40A87; Sat, 16 Jul 2022 00:07:06 +0200 (CEST) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2086.outbound.protection.outlook.com [40.107.104.86]) by mails.dpdk.org (Postfix) with ESMTP id AC0EE40141 for ; Sat, 16 Jul 2022 00:07:03 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=YlgpzcVznb7JU484gzgZYe+SRMD6eim2SPT0LUYs0djDAMH0mD4gkJrpbiA7JTj7TQwm6PIcstos9aHpQyBZtGdvBfDVpz/HrX+PnkYEQtqpEHC9CWxoOs2/d0KeSWZzQGtDApIArWiaQixrnqo6klcMWGnmNBGWnfq8RyA/n9v3Cf57TU8uWBjCMlVNV5POR36elQsf1PJ1TXKTPID86JMly4PtwxeHMeaiWmK/Oc5xetxNR7ytetBxNCo1ChNNG6R9q0DWdpD4VrL5fcBxR4e6lpOmKUMRM9WqUer3m5IBlxtGgHFeaSfLzxa6TsWDmpDF85+/oTIuCSSB4eNoog== ARC-Message-Signature: i=2; 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=PPIkK2qIajSZiijzptcbmmQRnQ9a1KblDyV2YqAXaf4=; b=FyHvxr8pVcnhhpKO3SGDc9gnkJUnjH3WDHEq+gLZ4/SJpacRstUxLa0i70F/ILG7CaCfNMh7bPeEvn7n2prJ6fIjpIczTgW2lAwAwh4Upeh65TaW7f/KSs+soIURCuD+wVq9jdLYfrbKe3QNtuKqz7ilKvHN+GrbXriGPJgDv9Cv3Sejn9rdGyAeJV1Pwp4233JNjRg0kRn2u+Ri414fhbm2wxCDizwl1sYmn/bNuSEpSLm+ew4NSb55p8UO8++YmJLhzO43j6xuPnCL0xjSldEccgxfoOqODPE4DGueWF8BYexVcyOPGMoa65K8hUCc5XkVq0fSTge/d3M2B1+LzQ== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) 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=PPIkK2qIajSZiijzptcbmmQRnQ9a1KblDyV2YqAXaf4=; b=rVisrReC0yl+pWYi5rkMWYrU0oIOj+/02t6bQDBx8f+xHKVNP3+F6+hgqWUBuIY5nlDOk59Z+KCxC4wN8F/7fXB30BSgcn+iWGL/duv4koOD4/ePtPAtH9NLu6BgMvpHFvGlCyMJ9it589qGTtepUpe+QzkSlmLJ1tDsrnqxB+Q= Received: from AS8PR04CA0065.eurprd04.prod.outlook.com (2603:10a6:20b:313::10) by PA4PR08MB7410.eurprd08.prod.outlook.com (2603:10a6:102:2a2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Fri, 15 Jul 2022 22:07:02 +0000 Received: from VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:313:cafe::49) by AS8PR04CA0065.outlook.office365.com (2603:10a6:20b:313::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.19 via Frontend Transport; Fri, 15 Jul 2022 22:07:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT047.mail.protection.outlook.com (10.152.19.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.12 via Frontend Transport; Fri, 15 Jul 2022 22:07:01 +0000 Received: ("Tessian outbound 2af316122c7a:v123"); Fri, 15 Jul 2022 22:07:01 +0000 X-CR-MTA-TID: 64aa7808 Received: from 60a10d79976e.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 53AE4DFB-CBDF-4569-A3BE-FF9A6FC0C074.1; Fri, 15 Jul 2022 22:06:55 +0000 Received: from EUR03-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 60a10d79976e.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 15 Jul 2022 22:06:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IJ8XHF9oe34oD7wzHrBuUXM2mZZ4MHRB/K2WKzl03X5VXeg9PswUf/JB6f6cUqg9djJ2Ye7EpO3UYb7YzJEV2RFNAuNGupL3+xsLxgCOziIIWoURLy1Zpa+tqsIqVeNzIb57gBg0MieBzMDdjaJ0lojzdo88dUMWgQulYJTONj4CyW7yWjIKL1spi7KEKhe6/AqECiHdFWcYNjDIfz5ysvXJhDz3Or49ceumAbTf1OTDotqYQoivI1V7p3op8CwwPC4YjhE5DTdra220lHlGGCJ3nMoCY81/CCNeIWXyxgf4Lq2GEJ+6FmHOoMVMkcfSUdz3QQbhOL1gvxGKI74Izw== 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=PPIkK2qIajSZiijzptcbmmQRnQ9a1KblDyV2YqAXaf4=; b=kh+MTgziJLsBKcwTql6ZAZzNqqOzfJxyA68lRtTTk4uh8kcHh7en/kcwoADEiCmJagj9udcOKk6Hln13yIOeqNbulMt1PCN4TeV1pxnHOHTJNgE2JUbYfduYZrSknKtwg06QEIW1LJuNqB293zL0agkFIWlmsca8uH4qOf/JnliBxfGAwW2bTAsbC4ZHGJVwdQ1uxR0ZNHMCQFqj8YEI7b5C50mO8WIRMcSWzZb5qJ1/W0c5vijEecn6lrK/Fm6CDY5fIERp83juVPIjgjKNFMP4H7wwO3C3iv362in33bAr5rxhE6gVNkh7AtmTlvX0OrhLCc4Pd67BcsOiR8UeSg== 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=PPIkK2qIajSZiijzptcbmmQRnQ9a1KblDyV2YqAXaf4=; b=rVisrReC0yl+pWYi5rkMWYrU0oIOj+/02t6bQDBx8f+xHKVNP3+F6+hgqWUBuIY5nlDOk59Z+KCxC4wN8F/7fXB30BSgcn+iWGL/duv4koOD4/ePtPAtH9NLu6BgMvpHFvGlCyMJ9it589qGTtepUpe+QzkSlmLJ1tDsrnqxB+Q= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DU0PR08MB8018.eurprd08.prod.outlook.com (2603:10a6:10:3e5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.20; Fri, 15 Jul 2022 22:06:51 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::1c7f:6a8d:b518:f972]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::1c7f:6a8d:b518:f972%3]) with mapi id 15.20.5438.014; Fri, 15 Jul 2022 22:06:51 +0000 From: Honnappa Nagarahalli To: Konstantin Ananyev , Feifei Wang , Yuying Zhang , Beilei Xing , Ruifeng Wang CC: "dev@dpdk.org" , nd , nd Subject: RE: [RFC PATCH v1] net/i40e: put mempool cache out of API Thread-Topic: [RFC PATCH v1] net/i40e: put mempool cache out of API Thread-Index: AQHYjtc+tPMXKGzonUaIMAaGXlCMya14pLPwgAQQAACAA1uIgA== Date: Fri, 15 Jul 2022 22:06:51 +0000 Message-ID: References: <20220613055136.1949784-1-feifei.wang2@arm.com> <1e082bfe-9b52-86f0-e7fa-279ef8feaf1a@yandex.ru> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: C5FEB8315B524E4797C21A1BA84BFBC7.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: 779ec325-11a9-43f5-ae2c-08da66ae582e x-ms-traffictypediagnostic: DU0PR08MB8018:EE_|VE1EUR03FT047:EE_|PA4PR08MB7410:EE_ x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: bCMngcKuygxopn0Sp7AnT2llKX0MZi2ZipI4FtCXZhtLXKxaYGg/El/u5qIljqus70qY81u5W3BBZLEU5tArl8daD3v3t52wIekKD6ucNG2/Nb6eSzYOqYKV4WmucdIl3j9q6amxrBuNpK1HrLTM5/xYquC34cBbeFRjBJgzmaJOH+h7LnKPnbKf175f/exc7TylJUpuyXKJd8Zk716mXhY/vyBYVNHBvzj6A30GETDZm/pA3FfGTo2cy3s3MICte8f6EdlLcK9YlwVGIAjFxWKITU0eHWhvV0HPi2tL1d4A61R7MQ3hdsYCaT9EEbken6kxnQBXHa0l6rWl2t9mBz+v3UlYqvCSozQQGMHH3qynoTtmVwR6etdpFTLRCTouWtNHjv87W2Gd9BP0NX+dl/7s/+/Qit46pM4ueCB50VnRylmubUM2i6zOVSCL7dSejadyQduso183RaDWC9LGR3/vFPqrhk/Gieny1FhdKIRWWQYD4sREfNg0kkzZxiX8EJTBmLpLtiDsmowTuydhXnG528yZjkg2WgDWb6Q6XzOGBmLJaHZVXVQqDtZzf9o3MTMJcaGaFU/H3tif7EaRJiD3E/wcp7TwjsyUBf38YYtMes/o2qEUvWBAxZgj0TkY4nuRt6E6pVkVrPS0SlwiHu29CxU9qat5QqWTP2TdYVRrv3yAcMN7LYrqAt0MVBAm+pBgxJx1CE6SZVBKz2rc1xHArWXl5IESRkegNyDvQPvImNtC+Nl3p6IHpeKQ3FVe6oRDbJN69gcDnthxFW6QJX/dLdl2rrxfA5j6GuR4SfmdRZVeVon7PPCBRkjQcNUnBx5xEGEJ63iwxG7IS2Cbj1eR/OXcAluOrEhSGCAOQglh6v4kg7a+1/ygAlk3acyO X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(346002)(136003)(39860400002)(396003)(83380400001)(8676002)(4326008)(186003)(38070700005)(33656002)(52536014)(2906002)(8936002)(5660300002)(55016003)(71200400001)(66556008)(66446008)(64756008)(76116006)(66476007)(66946007)(9686003)(26005)(6506007)(41300700001)(7696005)(38100700002)(6636002)(54906003)(316002)(478600001)(86362001)(110136005)(122000001)(473944003)(414714003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8018 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 46ad544f-5abe-4d4d-6258-08da66ae5256 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WBV6s+KhM/eWhi+kSSBBxn0cwfpPUiwt/KyyWgEFKCUTp022RZYshT2iQ1XsFW3lajo1O3eEKhljAQn6UyzYmBEIQoEwS8yY9Ffi5fI9WzPqCXf7XkgH28RM4zFUGXeEEMWRYtOzGh+Lz0l632Gt5WUodIuebjgIBESYm81VMEhTkyCYSp4jxr1qFibnXFQ/m57cQiL/WLCzyAXdGOUS6atgbflkhU96PtTiTAbFSVYE+d1UbdshRWkat9qxKmeZcRqB2KX8mUHURR+lzDaap5F3BknPnBFilYkZF+0xi65t6FKrz53DGycoogn/YNGGZ+GauaOeAP1lw0SnP3wVrDevfKVeeEgMO1V2BVpN3BJpCLeJJaKQ9ydTVpJV7RXaU8bENYho2q42Bn4L+h20YCdTmqd/vmaahJN+VNpWWJjjL3CC9Q9q8TnynXnUaocuIjY5sKkbJzB5PpWOMrSQ8HVZfenJvArkCPfrIx8u0i42qKuPOSkPeO8JVnQj1/7XkBdfc6Zqq04VFxh5bWwrq+JZS0eJEB6XCGAfv5v/2wD2CiT56ZYxeXuRCl2WxoEb5e1duelIypLBdFk3mk9u86KO2sCLHyHZVnmu8LpmkNTuFRWlJI8mm+jtrU3js2h49FuTVRM1LdW+LOy2czJF/KhF//TP4AAb1DLZcid22En1FlWox9GTKb/9+bncYJGTZrYYgPSnBlxhIuHY7NV5E0HY9iori9y2DztsKhMs6cOQjYmdfbx/Lyk8nq5BkFFk9HUccm2GEyIOl67m8ohTa/Ei3oUS76TXxPRtL+0Le6BrV8BOnznyGhNkNv6opO2BDrp+ilakr+hBpTIN+HLUOF0sQoQcps5JUNGgj4zV4n7FQ9QKHEHsivwIDgDmSB7r 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:(13230016)(4636009)(396003)(346002)(39860400002)(376002)(136003)(40470700004)(36840700001)(46966006)(356005)(81166007)(70206006)(82740400003)(8676002)(41300700001)(9686003)(186003)(40460700003)(2906002)(70586007)(26005)(336012)(33656002)(5660300002)(7696005)(54906003)(40480700001)(110136005)(82310400005)(6506007)(86362001)(316002)(8936002)(47076005)(6636002)(478600001)(55016003)(52536014)(83380400001)(36860700001)(4326008)(473944003)(414714003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2022 22:07:01.4737 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 779ec325-11a9-43f5-ae2c-08da66ae582e 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: VE1EUR03FT047.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7410 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 PHNuaXA+DQo+ID4+DQo+ID4+DQo+ID4+PiBSZWZlciB0byAiaTQwZV90eF9mcmVlX2J1ZnNfYXZ4 NTEyIiwgdGhpcyBwYXRjaCBwdXRzIG1lbXBvb2wgY2FjaGUNCj4gPj4+IG91dCBvZiBBUEkgdG8g ZnJlZSBidWZmZXJzIGRpcmVjdGx5LiBUaGVyZSBhcmUgdHdvIGNoYW5nZXMgZGlmZmVyZW50DQo+ ID4+PiB3aXRoIHByZXZpb3VzIHZlcnNpb246DQo+ID4+PiAxLiBjaGFuZ2UgdHhlcCBmcm9tICJp NDBlX2VudHJ5IiB0byAiaTQwZV92ZWNfZW50cnkiDQo+ID4+PiAyLiBwdXQgY2FjaGUgb3V0IG9m ICJtZW1wb29sX2J1bGsiIEFQSSB0byBjb3B5IGJ1ZmZlcnMgaW50byBpdA0KPiA+Pj4gZGlyZWN0 bHkNCj4gPj4+DQo+ID4+PiBQZXJmb3JtYW5jZSBUZXN0IHdpdGggbDNmd2QgbmVvbiBwYXRoOg0K PiA+Pj4gCQl3aXRoIHRoaXMgcGF0Y2gNCj4gPj4+IG4xc2RwOgkJbm8gcGVyZm9yYW1uY2UgY2hh bmdlDQo+ID4+PiBhbXBlci1hbHRyYToJKzQuMCUNCj4gPj4+DQo+ID4+DQo+ID4+DQo+ID4+IFRo YW5rcyBmb3IgUkZDLCBhcHByZWNpYXRlIHlvdXIgZWZmb3J0Lg0KPiA+PiBTbywgYXMgSSB1bmRl cnN0YW5kIC0gYnlwYXNzaW5nIG1lbXBvb2wgcHV0L2dldCBpdHNlbGYgZ2l2ZXMgYWJvdXQNCj4g Pj4gNy0xMCUgc3BlZWR1cCBmb3IgUlgvVFggb24gQVJNIHBsYXRmb3JtcywgY29ycmVjdD8NCj4g PiBJdCBpcyA3JSB0byAxNCUgb24gTjFTRFAsIDE0JSB0byAxNyUgb24gQW1wZXJlIG1hY2hpbmVz IFRoZSBjdXJyZW50DQo+ID4gUkZDIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byBhIHBhdGNoIChh bGJlaXQgd2l0aCB6ZXJvLWNvcHkgbWVtcG9vbCBBUElzKSBhcw0KPiBpdCBhcHBsaWVzIGZvciBh IG1vcmUgZ2VuZXJpYyB1c2UgY2FzZS4NCj4gPg0KPiA+Pg0KPiA+PiBBYm91dCBkaXJlY3QtcmVh cm0gUlggYXBwcm9hY2ggeW91IHByb3Bvc2U6DQo+ID4+IEFmdGVyIGFub3RoZXIgdGhvdWdodCwg cHJvYmFibHkgaXQgaXMgcG9zc2libGUgdG8gcmUtYXJyYW5nZSBpdCBpbiBhDQo+ID4+IHdheSB0 aGF0IHdvdWxkIGhlbHAgYXZvaWQgcmVsYXRlZCBuZWdhdGl2ZXMuDQo+ID4gVGhhbmtzIGZvciB0 aGUgaWRlYS4NCj4gPg0KPiA+PiBUaGUgYmFzaWMgaWRlYSBhcyBmb2xsb3dzOg0KPiA+Pg0KPiA+ PiAxLiBNYWtlIFJYUSBzd19yaW5nIHZpc2libGUgYW5kIGFjY2Vzc2libGUgYnkgJ2F0dGFjaGVk JyBUWCBxdWV1ZXMuDQo+ID4+ICAgICAgQWxzbyBtYWtlIHN3X3JpbmcgZGUtY291cGxlZCBmcm9t IFJYUSBpdHNlbGYsIGkuZToNCj4gPj4gICAgICB3aGVuIFJYUSBpcyBzdG9wcGVkIG9yIGV2ZW4g ZGVzdHJveWVkLCByZWxhdGVkIHN3X3JpbmcgbWF5IHN0aWxsDQo+ID4+ICAgICAgZXhpc3QgKHBy b2JhYmx5IHJlZi1jb3VudGVyIG9yIFJDVSB3b3VsZCBiZSBzdWZmaWNpZW50IGhlcmUpLg0KPiA+ PiAgICAgIEFsbCB0aGF0IG1lYW5zIHdlIG5lZWQgYSBjb21tb24gbGF5b3V0L2FwaSBmb3Igcnhx X3N3X3JpbmcNCj4gPj4gICAgICBhbmQgUE1EcyB0aGF0IHdvdWxkIGxpa2UgdG8gc3VwcG9ydCBk aXJlY3QtcmVhcm1pbmcgd2lsbCBoYXZlIHRvDQo+ID4+ICAgICAgdXNlL29iZXkgaXQuDQo+ID4g VGhpcyB3b3VsZCBtZWFuLCB3ZSB3aWxsIGhhdmUgYWRkaXRpb25hbCBmb3IgbG9vcCB0byBmaWxs IHRoZSBkZXNjcmlwdG9ycyBvbiB0aGUNCj4gUlggc2lkZS4NCj4gDQo+IFllcywgcnggd2lsbCBn byB0aG91Z2ggYXZhaWFibGUgZW50cmllcyBpbiBzd19yaW5nIGFuZCBmaWxsIGFjdHVhbCBIVyBk ZXNjcmlwdG9ycy4NCj4gDQo+ID4gTWF5IGJlIHdlIGNvdWxkIGtlZXAgdGhlIHF1ZXVlIHdoZW4g dGhlIFJYUSBpcyBzdG9wcGVkLCBhbmQgZnJlZSBpdCBvbmx5DQo+IHdoZW4gUlhRIGlzIGRlc3Ry b3llZC4gRG9uJ3QgaGF2ZSB0byBhbGxvY2F0ZSBvbmUgbW9yZSBpZiB0aGUgUlhRIGlzIHN0YXJ0 ZWQNCj4gYmFjayBhZ2Fpbj8gVGhpcyBtZWFucywgdGhlIG1idWZzIHdpbGwgYmUgaW4gdGhlIHN3 X3JpbmcgaWYgdGhlIFJYUSBpcyBzdG9wcGVkDQo+IGJ1dCBub3QgZGVzdHJveWVkIChzYW1lIGFz IHdoYXQgeW91IGhhdmUgbWVudGlvbmVkIGJlbG93KS4NCj4gDQo+IE15IHRob3VnaHQgaGVyZSB3 YXMgLSB5ZXMgc3dfcmluZyBjYW4gc3RheSBhdCBxdWV1ZSBzdG9wIChldmVuIHByb2JhYmx5IGF0 DQo+IGRlc3Ryb3kpIHRvIGF2b2lkIHJlbGF0ZWQgVFhRIG9wZXJhdGlvbiBhYm9ydGlvbi4NCj4g VGhvdWdoIGFjdHVhbCBIVyBkZXNjIHJpbmcgd2lsbCBiZSBkZS1pbml0L2Rlc3Ryb3llZCBhcyB1 c3VhbC4NCj4gVGhhdCdzIHdoeSBJIHRoaW5rIHdlIG5lZWQgdG8gZGVjb3VwbGUgc3dfcmluZyBm cm9tIHF1ZXVlIGFuZCBpdCdzIEhXIHJpbmcuDQo+IA0KPiA+DQo+ID4+DQo+ID4+IDIuIE1ha2Ug UlhRIHN3X3JpbmcgJ2RpcmVjdCcgcmVhcm1pbmcgZHJpdmVuIGJ5IFRYUSBpdHNlbGYsIGkuZToN Cj4gPj4gICAgICBhdCB0eHFfZnJlZV9idWZzKCkgdHJ5IHRvIHN0b3JlIHJlbGVhc2VkIG1idWZz IGluc2lkZSBhdHRhY2hlZA0KPiA+PiAgICAgIHN3X3JpbmcgZGlyZWN0bHkuIElmIHRoZXJlIGlz IG5vIGF0dGFjaGVkIHN3X3JpbmcsIG9yIG5vdCBlbm91Z2gNCj4gPj4gICAgICBmcmVlIHNwYWNl IGluIGl0IC0gY29udGludWUgd2l0aCBtZW1wb29sX3B1dCgpIGFzIHVzdWFsLg0KPiA+PiAgICAg IE5vdGUgdGhhdCBhY3R1YWwgYXJtaW5nIG9mIEhXIFJYRHMgc3RpbGwgcmVtYWlucyByZXNwb25z aWJpbGl0eQ0KPiA+IFdoYXQgcHJvYmxlbXMgZG8geW91IHNlZSBpZiB3ZSBhcm0gdGhlIEhXIFJY RHMgKGFzc3VtaW5nIHRoYXQgd2UgZG8gbm90DQo+IGhhdmUgdG8gc3VwcG9ydCB0aGlzIGFjcm9z cyBtdWx0aXBsZSBkZXZpY2VzKT8NCj4gDQo+IFNhbWUgYXMgdmlzYS12ZXJzYSBzY2VuYXJpbzoN Cj4gLSBSWFEgbWlnaHQgYmUgYWxyZWFkeSBzdG9wcGVkLCB3aGlsZSBUWFEgc3RpbGwgcnVubmlu Zy4NCj4gLSBBbHNvIGl0IGRvZXNuJ3Qgc291bmQgcmlnaHQgZnJvbSBkZXNpZ24gcG9pbnQgb2Yg dmlldyB0byBhbGxvdw0KPiAgICBUWCBjb2RlIHRvIG1hbmlwdWxhdGUgUlggSFcgcXVldWUgZGly ZWN0bHkgYW5kIHZpc2EtdmVyc2EuDQo+IA0KPiA+DQo+ID4+ICAgICAgb2YgUlggY29kZS1wYXRo Og0KPiA+PiAgICAgIHJ4cV9yZWFybShyeHEpIHsNCj4gPj4gICAgICAgIC4uLg0KPiA+PiAgICAg ICAgLSBjaGVjayBhcmUgdGhlcmUgYXJlIE4gYWxyZWFkeSBmaWxsZWQgZW50cmllcyBpbnNpZGUg cnhxX3N3X3JpbmcuDQo+ID4+ICAgICAgICAgIGlmIG5vdCwgcG9wdWxhdGUgdGhlbSBmcm9tIG1l bXBvb2wgKHVzdWFsIG1lbXBvb2xfZ2V0KCkpLg0KPiA+PiAgICAgICAgLSBhcm0gcmVsYXRlZCBS WERzIGFuZCBtYXJrIHRoZXNlIHN3X3JpbmcgZW50cmllcyBhcyBtYW5hZ2VkIGJ5IEhXLg0KPiA+ PiAgICAgICAgLi4uDQo+ID4+ICAgICAgfQ0KPiA+Pg0KPiA+Pg0KPiA+PiBTbyByeHFfc3dfcmlu ZyB3aWxsIHNlcnZlIHR3byBwdXJwb3NlczoNCj4gPj4gLSB0cmFjayBtYnVmcyB0aGF0IGFyZSBt YW5hZ2VkIGJ5IEhXICh0aGF0IHdoYXQgaXQgZG9lcyBub3cpDQo+ID4+IC0gcHJpdmF0ZSAocGVy IFJYUSkgbWJ1ZiBjYWNoZQ0KPiA+Pg0KPiA+PiBOb3csIGlmIFRYUSBpcyBzdG9wcGVkIHdoaWxl IFJYUSBpcyBydW5uaW5nIC0gbm8gZXh0cmENCj4gPj4gc3luY2hyb25pemF0aW9uIGlzIHJlcXVp cmVkLCBSWFEgd291bGQganVzdCB1c2UNCj4gPj4gbWVtcG9vbF9nZXQoKSB0byByZWFybSBpdHMg c3dfcmluZyBpdHNlbGYuDQo+ID4gVGhlcmUgd291bGQgYmUgc29tZSBzeW5jaHJvbml6YXRpb24g cmVxdWlyZWQgd2hpY2ggdGVsbHMgdGhlIGRhdGEgcGxhbmUNCj4gdGhyZWFkcyBub3QgdG8gYWNj ZXNzIHRoZSBUWFEgYmVmb3JlIHRoZSBUWFEgaXMgc3RvcHBlZC4gT3RoZXIgdGhhbiB0aGlzLCBu bw0KPiBleHRyYSBzeW5jaHJvbml6YXRpb24gaXMgcmVxdWlyZWQuDQo+ID4NCj4gPiBGb3IgdGhl IGN1cnJlbnQgcGF0Y2gsIHdlIGNvdWxkIHVzZSBhIHNpbWlsYXIgYXBwcm9hY2guIGkuZS4gd2hl biBUWFEgaXMNCj4gc3RvcHBlZCwgaXQgZG9lcyBub3QgZnJlZSB0aGUgbWJ1ZnMgZnJvbSBzd19y aW5nLCB3ZSBqdXN0IGxldCB0aGUgUlhRIGNvbnN1bWUNCj4gYWxsIHRoZSBtYnVmcyBmcm9tIFRY IHNpZGUgc3dfcmluZyB0aWxsIGl0IGlzIGVtcHR5Lg0KPiA+DQo+ID4+DQo+ID4+IElmIFJYUSBp cyBzdG9wcGVkIHdoaWxlIFRYUSBpcyBzdGlsbCBydW5uaW5nIC0gVFhRIGNhbiBzdGlsbCBjb250 aW51ZQ0KPiA+PiB0byBwb3B1bGF0ZSByZWxhdGVkIHN3X3JpbmcgdGlsbCBpdCBnZXRzIGZ1bGwu DQo+ID4+IFRoZW4gaXQgd2lsbCBjb250aW51ZSB3aXRoIG1lbXBvb2xfcHV0KCkgYXMgdXN1YWwu DQo+ID4+IE9mLWNvdXJzZSBpdCBtZWFucyB0aGF0IHVzZXIgd2hvIHdhbnRzIHRvIHVzZSB0aGlz IGZlYXR1cmUgc2hvdWxkDQo+ID4+IHByb2JhYmx5IGFjY291bnQgc29tZSBleHRyYSBtYnVmcyBm b3Igc3VjaCBjYXNlLCBvciBtaWdodCBiZQ0KPiA+PiByeHFfc3dfcmluZyBjYW4gaGF2ZSBlbmFi bGUvZGlzYWJsZSBmbGFnIHRvIG1pdGlnYXRlIHN1Y2ggc2l0dWF0aW9uLg0KPiA+Pg0KPiA+PiBB cyBhbm90aGVyIGJlbmVmaXQgaGVyZSAtIHN1Y2ggYXBwcm9hY2ggbWFrZXMgcG9zc2libGUgdG8g dXNlIHNldmVyYWwNCj4gPj4gVFhRcyAoZXZlbiBmcm9tIGRpZmZlcmVudCBkZXZpY2VzKSB0byBy ZWFybSBzYW1lIFJYUS4NCj4gPiBCZWluZyBhYmxlIHRvIHVzZSBzZXZlcmFsIFRYUXMgaXMgYSBw cmFjdGljYWwgdXNlIGNhc2UuIEJ1dCwgSSBhbSBub3Qgc3VyZSBpZg0KPiBkaWZmZXJlbnQgZGV2 aWNlcyBpbiB0aGUgc2FtZSBzZXJ2ZXIgaXMgYSBwcmFjdGljYWwgc2NlbmFyaW8gdGhhdCB3ZSBu ZWVkIHRvDQo+IGFkZHJlc3MuDQo+ID4NCj4gPj4NCj4gPj4gSGF2ZSB0byBzYXksIHRoYXQgSSBh bSBzdGlsbCBub3Qgc3VyZSB0aGF0IDEwJSBSWC9UWCBpbXByb3ZlbWVudCBpcw0KPiA+PiB3b3J0 aCBieXBhc3NpbmcgbWVtcG9vbCBjb21wbGV0ZWx5IGFuZCBpbnRyb2R1Y2luZyBhbGwgdGhpcyBl eHRyYQ0KPiA+PiBjb21wbGV4aXR5IGluIFJYL1RYIHBhdGguDQo+ID4gSXQgaXMgbW9yZSwgY2xh cmlmaWVkIGFib3ZlLg0KPiA+DQo+ID4+IEJ1dCwgaWYgd2UnbGwgc3RpbGwgZGVjaWRlIHRvIGdv IGFoZWFkIHdpdGggZGlyZWN0LXJlYXJtaW5nLCB0aGlzDQo+ID4+IHJlLWFycmFuZ2VtZW50LCBJ IHRoaW5rLCBzaG91bGQgaGVscCB0byBrZWVwIHRoaW5ncyBjbGVhciBhbmQgYXZvaWQNCj4gPj4g aW50cm9kdWNpbmcgbmV3IGxpbWl0YXRpb25zIGluIGV4aXN0aW5nIGZ1bmN0aW9uYWxpdHkuDQo+ ID4+DQo+ID4+IFdEWVQ/DQo+ID4gSSBoYWQgYW5vdGhlciBpZGVhLiBUaGlzIHJlcXVpcmVzIHRo ZSBhcHBsaWNhdGlvbiB0byBjaGFuZ2UsIHdoaWNoIG1pZ2h0IGJlIG9rDQo+IGdpdmVuIHRoYXQg aXQgaXMgbmV3IGZlYXR1cmUvb3B0aW1pemF0aW9uLg0KPiA+DQo+ID4gV2UgY291bGQgZXhwb3Nl IGEgbmV3IEFQSSB0byB0aGUgYXBwbGljYXRpb24gd2hpY2ggYWxsb3dzIFJYIHNpZGUgdG8gdGFr ZQ0KPiBidWZmZXJzIGZyb20gVFggc2lkZS4gVGhlIGFwcGxpY2F0aW9uIHdvdWxkIGNhbGwgdGhp cyBhZGRpdGlvbmFsIEFQSSBqdXN0IGJlZm9yZQ0KPiBjYWxsaW5nIHRoZSBldGhfcnhfYnVyc3Qg QVBJLg0KPiA+DQo+ID4gVGhlIGFkdmFudGFnZXMgSSBzZWUgd2l0aCB0aGlzIGFwcHJvYWNoIGlz Og0KPiA+IDEpIFRoZSBzdGF0aWMgbWFwcGluZyBvZiB0aGUgcG9ydHMgaXMgbm90IHJlcXVpcmVk LiBUaGUgbWFwcGluZyBpcyBkeW5hbWljLg0KPiBUaGlzIGFsbG93cyBmb3IgdGhlIGFwcGxpY2F0 aW9uIHRvIG1ha2UgZGVjaXNpb25zIGJhc2VkIG9uIGN1cnJlbnQgY29uZGl0aW9ucyBpbg0KPiB0 aGUgZGF0YSBwbGFuZS4NCj4gPiAyKSBDb2RlIGlzIHNpbXBsZSwgYmVjYXVzZSBpdCBkb2VzIG5v dCBoYXZlIHRvIGNoZWNrIGZvciBtYW55IGNvbmRpdGlvbnMuIFRoZQ0KPiBhcHBsaWNhdGlvbiBj YW4gbWFrZSBiZXR0ZXIgZGVjaXNpb25zIGFzIGl0IGtub3dzIHRoZSBzY2VuYXJpbyB3ZWxsLiBO b3QgYWxsDQo+IGFwcGxpY2F0aW9ucyBoYXZlIHRvIHRha2UgdGhlIGhpdCBvZiBjb25kaXRpb25h bHMuDQo+ID4gMikgVGhlIGV4aXN0aW5nIHN5bmNocm9uaXphdGlvbiB1c2VkIGJ5IHRoZSBhcHBs aWNhdGlvbnMgKHRvIHN0b3AgUlhRL1RYUSkgaXMNCj4gc3VmZmljaWVudC4gTm8gbmV3IHN5bmNo cm9uaXphdGlvbiByZXF1aXJlZC4NCj4gDQo+IA0KPiBUaGF0IHNvdW5kcyBsaWtlIGEgdmVyeSBn b29kIGlkZWEgdG8gbWUuDQo+IEkgdGhpbmsgaXQgd2lsbCBhbGxvdyB0byBhdm9pZCBhbGwgc2hv cnQtY29taW5ncyB0aGF0IGFyZSBwcmVzZW50IGluIG9yaWdpbmFsDQo+IGFwcHJvYWNoLg0KPiBB Z2FpbiwgaWYgd2UgbGlrZSB3ZSBjYW4gZXZlbiBhbGxvdyB1c2VyIHRvIGZlZWQgUlhRIGZyb20g c29tZSBvdGhlciBzb3VyY2VzDQo+IChkcm9wcGVkIHBhY2tldHMpLg0KPiBKdXN0IHRvIGNvbmZp cm0gdGhhdCB3ZSBhcmUgdGFsa2luZyBhYm91dCB0aGUgc2FtZSB0aGluZzoNCj4gDQo+IDEuIHJ0 ZV9ldGhkZXYgd2lsbCBoYXZlIGFuIEFQSSBmb3IgdGhlIHVzZXIgdG8gZ2V0IHN3X3JpbmcgaGFu ZGxlIGZyb20gdGhlIFJYUSwNCj4gc29tZXRoaW5nIGxpa2U6DQo+IHN0cnVjdCByeHFfc3dfcmlu ZyAqDQo+IHJ0ZV9ldGhfcnhxX2dldF9zd19yaW5nKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90 IHJ4cV9pZCk7DQo+IA0KPiBXZSBwcm9iYmx5IGNhbiBldmVuIGtlZXAgJ3N0cnVjdCByeHFfc3df cmluZycgYXMgaW50ZXJuYWwgb25lLCBhbmQgdXNlIGl0IGFzIGENCj4gaGFuZGxlLg0KPiANCj4g Mi4gcnRlX2V0aGRldiB3aWxsIGhhdmUgYW4gQVBJIHRoYXQgd2lsbCBhc2sgVFhRIHRvIGZyZWUg bWJ1ZnMgYW5kIGZpbGwgZ2l2ZW4NCj4gcnhxX3N3X3Jpbmc6DQo+IGludA0KPiBydGVfZXRoX3R4 cV9maWxsX3N3X3JpbmcodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgdHhxX2lkLCBzdHJ1Y3Qg Kg0KPiByeHFfc3dfcmluZyk7DQo+IA0KPiANCj4gU28gdGhlIGFwcCBjb2RlIHdpbGwgbG9vayBz b21ldGhpbmcgbGlrZToNCj4gDQo+IHJ4cV9zd19yaW5nID0gcnhxX2dldF9zd19yaW5nKHJ4X3Bv cnQsIHJ4cSk7DQo+IC4uLg0KPiB3aGlsZSAoLi4uKSB7DQo+IA0KPiAJbiA9IGV0aF90eF9idXJz dCh0eF9wb3J0LCB0eHEsIHBrdHMsIE4pOw0KPiAJLi4uDQo+IAlldGhfdHhxX2ZpbGxfc3dfcmlu Zyh0eF9wb3J0LCB0eHEsIHJ4cV9zd19yaW5nKTsNCj4gCW4gPSBldGhfcnhfYnVyc3QocnhfcG9y dCwgcnhxLCBwa3RzLCBOKTsNCj4gCS4uLg0KPiB9DQpJIHRoaW5rIHRoZSBhYm92ZSBsb29wIGNh biBiZSByZS13cml0dGVuIGFzIGZvbGxvd3M6DQoNCndoaWxlICguLi4pIHsNCglldGhfdHhxX2Zp bGxfc3dfcmluZyh0eF9wb3J0LCB0eHEsIHJ4cV9zd19yaW5nKTsNCgluID0gZXRoX3J4X2J1cnN0 KHJ4X3BvcnQsIHJ4cSwgcGt0cywgTik7DQoJLi4uDQoJbiA9IGV0aF90eF9idXJzdCh0eF9wb3J0 LCB0eHEsIHBrdHMsIE4pOw0KCS4uLg0KfQ0KDQo+IA0KPiANCj4gRGlkIEkgZ2V0IHlvdXIgaWRl YSByaWdodD8NCj4gDQo+ID4NCj4gPiBUaGUgZGlzYWR2YW50YWdlIGlzIHRoYXQgaXQgaXMgYW5v dGhlciBmdW5jdGlvbiBwb2ludGVyIGNhbGwgd2hpY2ggd2lsbCByZWR1Y2UNCj4gc29tZSBwZXJm b3JtYW5jZS4NCj4gPg0KPiA+Pg0KPiA+PiBLb25zdGFudGluDQo+ID4+DQo+ID4+DQo+ID4+DQo+ ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4NCg0K