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 4D772A0543; Mon, 13 Jun 2022 07:55:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF8BB4021E; Mon, 13 Jun 2022 07:55:47 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2043.outbound.protection.outlook.com [40.107.22.43]) by mails.dpdk.org (Postfix) with ESMTP id 913BD40150 for ; Mon, 13 Jun 2022 07:55:46 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=TJgmkvnnk87N2z2/q6qKXcQqy95MVSaWHytzf9IOq+pKvL5G7HnIR0y5fT1MicHW5hVoprO2YqmwD2egj5DVdIKe/Qyk7yYI9Rl11ThBzkjlc8SQkhRm9bEVk8FM5ikYC7ijzTdKUGN2ge/fy+XbjppRvLFlwxE1ujuX+P9ld3l/R40TVMVPWtjqwmgjNCQdhzBre6qfwRggZh69dX6V82cQqCqS+NMFiAgpViG7zR/ZnXcPHC1s9Vsj1LmrSwcUpWRsOQ8NPRvy6YKbBQNiN1cREg6kYd2BJZ9wAmc4e7lBu9EaNLxKrZIdN3BvBlkPLaJpSl0W67oeb/6oFmzDpA== 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=7WLXQfToPcAMtTVP73CeUo5SqkNkREMRCqVMQ2svWGU=; b=keNA4Aa9Q+ikhrpqxECoFM3S5E7KMm3TSxIgzpjGLHTNpBdX/2as87tBhHdy1WVBNzSmUph6RLxU0N4VEC2jIUXFBIEIvQA9kN0Wp/VW0nMZ7rRncEbZHPClN0dxqvr71gresh0O6WIt+iTWO9+0l5vypiZI2tAcHEpK+DXoCLYSGcDArJNexBKlM16CbM2cC9ZTY6onkyXpjLzrZexZ62c2dqcyX57lElGvJbhxYXL8nLFJfrXRwCGlG6gXNERolSCWloCvRaANmyovP9DkzNCyZBt+LlmLyi6m8MhesjONHYFejxpKw8rqBCxxcPXiVX6xMCpQxvmamQjBm7yeRA== 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=7WLXQfToPcAMtTVP73CeUo5SqkNkREMRCqVMQ2svWGU=; b=re+YGFqfejWYGU6aCN2b57zlZLX4CmFQzV6neKZWsqbaU1TiP00TxvFX2QnnpgTW+vb6NPRvmxIWcOfxM3baQw+dzX2trYtEH0RbJqsxdT27bx6YaFxVXM1T86keqgPVuxfZvnOyuXV957BnJ7lx/U7Kyftl/umqst3UymDY3UU= Received: from AM4PR0202CA0001.eurprd02.prod.outlook.com (2603:10a6:200:89::11) by PAXPR08MB7645.eurprd08.prod.outlook.com (2603:10a6:102:240::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.20; Mon, 13 Jun 2022 05:55:44 +0000 Received: from VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com (2603:10a6:200:89:cafe::5c) by AM4PR0202CA0001.outlook.office365.com (2603:10a6:200:89::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.20 via Frontend Transport; Mon, 13 Jun 2022 05:55:44 +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 VE1EUR03FT046.mail.protection.outlook.com (10.152.19.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.12 via Frontend Transport; Mon, 13 Jun 2022 05:55:43 +0000 Received: ("Tessian outbound 1766a3bff204:v120"); Mon, 13 Jun 2022 05:55:43 +0000 X-CR-MTA-TID: 64aa7808 Received: from bcfb613a6dee.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 04FDA7CD-5B98-4A33-82AF-7E79D782DBE8.1; Mon, 13 Jun 2022 05:55:38 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bcfb613a6dee.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 13 Jun 2022 05:55:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PQ3Da4IRYPVFEYU47Th6w50Z/ytOf9BtKnxTcIBTCptrv2Fn74x8zxdcb5NpHiNfM7aN+bMzPCgmUqvV7ycuDgpXvLEcGbRAYyo7RNERU1bixCC1/9vfa3zAmEeV/RQgZGmm9/uy6NbA4+zo8i2kRMXUpV0SMGGDsLlCzQyLtKXnaPhTausBiBDt5A2QS/7+9dAoDFQv0kWL7PIP7nWBByjN1IuU2U+iqGNpSezl55DBW1++uD6PxlFSjeyrFI+cm2KGA4vh+Vg35sIR+RRT6bRxofOklohexuMfwkiI+48Qe9Iqnxq7mcWdFzGO9iGX34H59cxA+UpNcGL7tWYdXw== 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=7WLXQfToPcAMtTVP73CeUo5SqkNkREMRCqVMQ2svWGU=; b=QZYRjmNkItsASn8bUhs/o7qRLD+biYRpdm9pnO5N1zUZgF4RwKhvGX27D6dFxtjXsPLYiA8J+8g81wD3rgEO72b60bV5hLQiqGYtrIfmIHIG+C+aJzcVc1yzBcBGiJC8+tfgJrpkSyYWbNI8kn5mDEGQUuVccJReHwpsdqoSIhK0QQoXq7EkRG+AuUexJ0kCZiYq1Rc89DjstVY8Lb3eYfbfsmz/y4lgDUAZjGyebNz1BW+3JS2eg00Zqrmn4bsU+LdfqcXh44P9SXlWT/qRD+/xkmayzCRkv+PQWiwKB5rCRmK91CD63cv5glONVdVxB192q4wjdSGlduLqaQeK/A== 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=7WLXQfToPcAMtTVP73CeUo5SqkNkREMRCqVMQ2svWGU=; b=re+YGFqfejWYGU6aCN2b57zlZLX4CmFQzV6neKZWsqbaU1TiP00TxvFX2QnnpgTW+vb6NPRvmxIWcOfxM3baQw+dzX2trYtEH0RbJqsxdT27bx6YaFxVXM1T86keqgPVuxfZvnOyuXV957BnJ7lx/U7Kyftl/umqst3UymDY3UU= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by AS8PR08MB6022.eurprd08.prod.outlook.com (2603:10a6:20b:295::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.13; Mon, 13 Jun 2022 05:55:36 +0000 Received: from AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::e081:5f27:6364:3efe]) by AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::e081:5f27:6364:3efe%7]) with mapi id 15.20.5332.020; Mon, 13 Jun 2022 05:55:35 +0000 From: Feifei Wang To: Konstantin Ananyev CC: nd , "dev@dpdk.org" , Ruifeng Wang , Honnappa Nagarahalli , nd Subject: =?utf-8?B?5Zue5aSNOiBbUEFUQ0ggdjEgMC81XSBEaXJlY3QgcmUtYXJtaW5nIG9mIGJ1?= =?utf-8?Q?ffers_on_receive_side?= Thread-Topic: [PATCH v1 0/5] Direct re-arming of buffers on receive side Thread-Index: AQHYVI8F9+hvF02qak+dybtxZRH5eq0tcXuigB+5ykA= Date: Mon, 13 Jun 2022 05:55:34 +0000 Message-ID: References: <20220420081650.2043183-1-feifei.wang2@arm.com> <20220516061012.618787-1-feifei.wang2@arm.com> <5320c9dd-8f53-155e-7900-ff02bfa11b4d@yandex.ru> In-Reply-To: <5320c9dd-8f53-155e-7900-ff02bfa11b4d@yandex.ru> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: F3F1A27EAA33C9499E6591CFD64EC7CB.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: 749f6708-a061-4712-ada4-08da4d015adf x-ms-traffictypediagnostic: AS8PR08MB6022:EE_|VE1EUR03FT046:EE_|PAXPR08MB7645:EE_ X-Microsoft-Antispam-PRVS: 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: XMAYQ7nbpe32O0UomXXGMv05zOftDqXV3FA995iVnZig49XGwd0F56yuaqldhBsXWkABMhqJR0d6QsB6PAwPrZqCQvekxr0JSmeEMyeyYvAGtQI3RmEL6d1DSxynxid8VB7ctbdglpN6noATcBBTKP/mkqE8UwpTInl0QU5NeZXMmtyUjLPC6WONok/vrrFZ571knp6Zl3rqDDuM89bLK7IFRrBWSzAuNfs3Pcdtrzgvl9AheLiPBUUGXh/Id5CenwGVHrbRmCvMqEi3Sgvc7IBWcMxU6CVuHEytGewq8AbVtV5qArxT5M/UNGD3K1xpLXlMzI/rj2luZ08+303H6B4hBlVTjRpH/2pz0UCb410syBp/Bh2odkBuAs1hbKvHbgbgUWJDFDvAcHa1ba9x09YqGgxOZGnOzqQ4LyUUXdqi3ONGgRxv/Dq1PtjaupjbsOceZRDkKaCFFM/fJHYMFOLqA42pV0/u9ICLjbgRrO8tuGqJ6eVoO5OBOIAOCEvFqyFexXkASQAs211whGgnwc7gdGDgRI/VVb74FilONlBJk1dWYPvH/6v3AKq7NDNCw2AqlupGLhBnmzKmjT6RnCWSFQNy/Xz+Hgt8+1wGy6/vqsiiKuiQgA74fmchE9zy08Jqc+jRjTKAB99H1nics7LsUTZJU2KCWd0/Zw3kJgeD+Qo8/oaQMZlzsA2DQytjgDFO4zD2eeVx9IGGAYXQf9KiEyIsnqIzyzYXxX0l6ct1O8wtillJqtY4VF1T3z/DJUounhdLWlYabSeA2kl3idN4DF/8pY+AN7WvhialOIfGdNuhSH6dNbv4LSbi23H2Qp/jMKxtXjbhqsGgrZCg/g== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7718.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(316002)(54906003)(55016003)(6916009)(122000001)(83380400001)(224303003)(38100700002)(186003)(52536014)(2906002)(8936002)(966005)(508600001)(33656002)(66946007)(64756008)(66446008)(66476007)(76116006)(4326008)(66556008)(7696005)(26005)(6506007)(71200400001)(38070700005)(86362001)(9686003)(5660300002)(23180200003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6022 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: VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 4e1794e5-4b1b-4af8-96a7-08da4d015572 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xgUXnk/hxjFsktlvCdx1tMzv9cCYzDn0sqehVNsHheB20EDMb+xpoLshRpodSDn7QU5Knt99Zi5wBfD/kb5IUAeTt+RS2/rSt5tGFEjUfk7YBPPwne/fHCwYkVCuwSCymO7SiUs/pTpCqh7UBfDF1uBBLqmvkkaaI4dZj0h29Ttoag3984Svvc4OU7v8kRZFTsYa9/RuGLPeFhosa/I508LGKifP+n8PFMvhBzGvFHqDY9Tyaqc8V3XFH8SMPkXOoJnC1mZk4Sf0E+DUilfsjX8iz4pzGP38uMpxCRQP096e1E0YEJb95hwgbntIKE3g3a0TyqtHrZ1SJF6vId6zq3lVsObce4heK0MHNeoDMHEdTTEaMFAInSb0z8t9nb8rsyAojjt/8T78eGvV1ESAR69LOeZ7DcM8/CKdF2frM/Jmy+efKAb8K3ha7Xsci9d0U5dVUG3a/98aRaeN9x+Q4vD3GCK3v9LvS26vXO/ziWHDqeUE4LvZMAPefF3jz9PQJZ/7pjsztnwY1MGUsJF3bZPRWCQ6X5m2LbcuyxlWSlkjOwPeKsv3vPS88v4JeS911xV0dFu0ocVHRH6l/0VzVKa4yGf4KB5mhbjdwZS6K3Kerrjl47o/rrbVLsHJ2uHW613VhfJkUnzjvcOWIF88u6rTuKdt+KfE8ljm1htMqY0tTFrpAvImWffOXvH0HPUYA68I8SNz0xG11YCuqF6D5d/kryuVwjs4HZut6M40H6jUAMZWI9770fX5NZgTNjDTn7nXs7+h1ywKzNUmTFBa7ukjCR6N6KI+iEsOGhsAE94= 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)(46966006)(40470700004)(36840700001)(54906003)(356005)(36860700001)(966005)(83380400001)(4326008)(316002)(82310400005)(224303003)(81166007)(70206006)(70586007)(55016003)(33656002)(40460700003)(2906002)(336012)(6506007)(7696005)(508600001)(26005)(52536014)(5660300002)(186003)(9686003)(86362001)(8936002)(6862004)(47076005)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2022 05:55:43.9873 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 749f6708-a061-4712-ada4-08da4d015adf 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: VE1EUR03FT046.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7645 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 DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IEtvbnN0YW50aW4gQW5h bnlldiA8a29uc3RhbnRpbi52LmFuYW55ZXZAeWFuZGV4LnJ1Pg0KPiDlj5HpgIHml7bpl7Q6IFR1 ZXNkYXksIE1heSAyNCwgMjAyMiA5OjI2IEFNDQo+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZl aWZlaS5XYW5nMkBhcm0uY29tPg0KPiDmioTpgIE6IG5kIDxuZEBhcm0uY29tPjsgZGV2QGRwZGsu b3JnOyBSdWlmZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgSG9ubmFwcGEgTmFn YXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+DQo+IOS4u+mimDogUmU6 IFtQQVRDSCB2MSAwLzVdIERpcmVjdCByZS1hcm1pbmcgb2YgYnVmZmVycyBvbiByZWNlaXZlIHNp ZGUNCj4gDQo+IFtrb25zdGFudGluLnYuYW5hbnlldkB5YW5kZXgucnUgYXBwZWFycyBzaW1pbGFy IHRvIHNvbWVvbmUgd2hvIHByZXZpb3VzbHkNCj4gc2VudCB5b3UgZW1haWwsIGJ1dCBtYXkgbm90 IGJlIHRoYXQgcGVyc29uLiBMZWFybiB3aHkgdGhpcyBjb3VsZCBiZSBhIHJpc2sgYXQNCj4gaHR0 cHM6Ly9ha2EubXMvTGVhcm5BYm91dFNlbmRlcklkZW50aWZpY2F0aW9uLl0NCj4gDQo+IDE2LzA1 LzIwMjIgMDc6MTAsIEZlaWZlaSBXYW5nINC/0LjRiNC10YI6DQo+ID4NCj4gPj4+IEN1cnJlbnRs eSwgdGhlIHRyYW5zbWl0IHNpZGUgZnJlZXMgdGhlIGJ1ZmZlcnMgaW50byB0aGUgbGNvcmUgY2Fj aGUNCj4gPj4+IGFuZCB0aGUgcmVjZWl2ZSBzaWRlIGFsbG9jYXRlcyBidWZmZXJzIGZyb20gdGhl IGxjb3JlIGNhY2hlLiBUaGUNCj4gPj4+IHRyYW5zbWl0IHNpZGUgdHlwaWNhbGx5IGZyZWVzIDMy IGJ1ZmZlcnMgcmVzdWx0aW5nIGluIDMyKjg9MjU2QiBvZg0KPiA+Pj4gc3RvcmVzIHRvIGxjb3Jl IGNhY2hlLiBUaGUgcmVjZWl2ZSBzaWRlIGFsbG9jYXRlcyAzMiBidWZmZXJzIGFuZA0KPiA+Pj4g c3RvcmVzIHRoZW0gaW4gdGhlIHJlY2VpdmUgc2lkZSBzb2Z0d2FyZSByaW5nLCByZXN1bHRpbmcg aW4NCj4gPj4+IDMyKjg9MjU2QiBvZiBzdG9yZXMgYW5kIDI1NkIgb2YgbG9hZCBmcm9tIHRoZSBs Y29yZSBjYWNoZS4NCj4gPj4+DQo+ID4+PiBUaGlzIHBhdGNoIHByb3Bvc2VzIGEgbWVjaGFuaXNt IHRvIGF2b2lkIGZyZWVpbmcgdG8vYWxsb2NhdGluZyBmcm9tDQo+ID4+PiB0aGUgbGNvcmUgY2Fj aGUuIGkuZS4gdGhlIHJlY2VpdmUgc2lkZSB3aWxsIGZyZWUgdGhlIGJ1ZmZlcnMgZnJvbQ0KPiA+ Pj4gdHJhbnNtaXQgc2lkZSBkaXJlY3RseSBpbnRvIGl0J3Mgc29mdHdhcmUgcmluZy4gVGhpcyB3 aWxsIGF2b2lkIHRoZQ0KPiA+Pj4gMjU2QiBvZiBsb2FkcyBhbmQgc3RvcmVzIGludHJvZHVjZWQg YnkgdGhlIGxjb3JlIGNhY2hlLiBJdCBhbHNvDQo+ID4+PiBmcmVlcyB1cCB0aGUgY2FjaGUgbGlu ZXMgdXNlZCBieSB0aGUgbGNvcmUgY2FjaGUuDQo+ID4+Pg0KPiA+Pj4gSG93ZXZlciwgdGhpcyBz b2x1dGlvbiBwb3NlcyBzZXZlcmFsIGNvbnN0cmFpbnRzOg0KPiA+Pj4NCj4gPj4+IDEpVGhlIHJl Y2VpdmUgcXVldWUgbmVlZHMgdG8ga25vdyB3aGljaCB0cmFuc21pdCBxdWV1ZSBpdCBzaG91bGQN Cj4gPj4+IHRha2UgdGhlIGJ1ZmZlcnMgZnJvbS4gVGhlIGFwcGxpY2F0aW9uIGxvZ2ljIGRlY2lk ZXMgd2hpY2ggdHJhbnNtaXQNCj4gPj4+IHBvcnQgdG8gdXNlIHRvIHNlbmQgb3V0IHRoZSBwYWNr ZXRzLiBJbiBtYW55IHVzZSBjYXNlcyB0aGUgTklDIG1pZ2h0DQo+ID4+PiBoYXZlIGEgc2luZ2xl IHBvcnQgKFsxXSwgWzJdLCBbM10pLCBpbiB3aGljaCBjYXNlIGEgZ2l2ZW4gdHJhbnNtaXQNCj4g Pj4+IHF1ZXVlIGlzIGFsd2F5cyBtYXBwZWQgdG8gYSBzaW5nbGUgcmVjZWl2ZSBxdWV1ZSAoMTox IFJ4IHF1ZXVlOiBUeA0KPiA+Pj4gcXVldWUpLiBUaGlzIGlzIGVhc3kgdG8gY29uZmlndXJlLg0K PiA+Pj4NCj4gPj4+IElmIHRoZSBOSUMgaGFzIDIgcG9ydHMgKHRoZXJlIGFyZSBzZXZlcmFsIHJl ZmVyZW5jZXMpLCB0aGVuIHdlIHdpbGwNCj4gPj4+IGhhdmUNCj4gPj4+IDE6MiAoUlggcXVldWU6 IFRYIHF1ZXVlKSBtYXBwaW5nIHdoaWNoIGlzIHN0aWxsIGVhc3kgdG8gY29uZmlndXJlLg0KPiA+ Pj4gSG93ZXZlciwgaWYgdGhpcyBpcyBnZW5lcmFsaXplZCB0byAnTicgcG9ydHMsIHRoZSBjb25m aWd1cmF0aW9uIGNhbg0KPiA+Pj4gYmUgbG9uZy4gTW9yZSBvdmVyIHRoZSBQTUQgd291bGQgaGF2 ZSB0byBzY2FuIGEgbGlzdCBvZiB0cmFuc21pdA0KPiA+Pj4gcXVldWVzIHRvIHB1bGwgdGhlIGJ1 ZmZlcnMgZnJvbS4NCj4gPg0KPiA+PiBKdXN0IHRvIHJlLWl0ZXJhdGUgc29tZSBnZW5lcmljIGNv bmNlcm5zIGFib3V0IHRoaXMgcHJvcG9zYWw6DQo+ID4+ICAgLSBXZSBlZmZlY3RpdmVseSBsaW5r IFJYIGFuZCBUWCBxdWV1ZXMgLSB3aGVuIHRoaXMgZmVhdHVyZSBpcyBlbmFibGVkLA0KPiA+PiAg ICAgdXNlciBjYW4ndCBzdG9wIFRYIHF1ZXVlIHdpdGhvdXQgc3RvcHBpbmcgbGlua2VkIFJYIHF1 ZXVlIGZpcnN0Lg0KPiA+PiAgICAgUmlnaHQgbm93IHVzZXIgaXMgZnJlZSB0byBzdGFydC9zdG9w IGFueSBxdWV1ZXMgYXQgaGlzIHdpbGwuDQo+ID4+ICAgICBJZiB0aGF0IGZlYXR1cmUgd2lsbCBh bGxvdyB0byBsaW5rIHF1ZXVlcyBmcm9tIGRpZmZlcmVudCBwb3J0cywNCj4gPj4gICAgIHRoZW4g ZXZlbiBwb3J0cyB3aWxsIGJlY29tZSBkZXBlbmRlbnQgYW5kIHVzZXIgd2lsbCBoYXZlIHRvIHBh eSBleHRyYQ0KPiA+PiAgICAgY2FyZSB3aGVuIG1hbmFnaW5nIHN1Y2ggcG9ydHMuDQo+ID4NCj4g PiBbRmVpZmVpXSBXaGVuIGRpcmVjdCByZWFybSBlbmFibGVkLCB0aGVyZSBhcmUgdHdvIHBhdGgg Zm9yIHRocmVhZCB0bw0KPiA+IGNob29zZS4gSWYgdGhlcmUgYXJlIGVub3VnaCBUeCBmcmVlZCBi dWZmZXJzLCBSeCBjYW4gcHV0IGJ1ZmZlcnMgZnJvbQ0KPiA+IFR4Lg0KPiA+IE90aGVyd2lzZSwg Unggd2lsbCBwdXQgYnVmZmVycyBmcm9tIG1lbXBvb2wgYXMgdXN1YWwuIFRodXMsIHVzZXJzIGRv DQo+ID4gbm90IG5lZWQgdG8gcGF5IG11Y2ggYXR0ZW50aW9uIG1hbmFnaW5nIHBvcnRzLg0KPiAN Cj4gV2hhdCBJIGFtIHRhbGtpbmcgYWJvdXQ6IHJpZ2h0IG5vdyBkaWZmZXJlbnQgcG9ydCBvciBk aWZmZXJlbnQgcXVldWVzIG9mIHRoZQ0KPiBzYW1lIHBvcnQgY2FuIGJlIHRyZWF0ZWQgYXMgaW5k ZXBlbmRlbnQgZW50aXRpZXM6DQo+IGluIGdlbmVyYWwgdXNlciBpcyBmcmVlIHRvIHN0YXJ0L3N0 b3AgKGFuZCBldmVuIHJlY29uZmlndXJlIGluIHNvbWUNCj4gY2FzZXMpIG9uZSBlbnRpdHkgd2l0 aG91dCBuZWVkIHRvIHN0b3Agb3RoZXIgZW50aXR5Lg0KPiBJLkUgdXNlciBjYW4gc3RvcCBhbmQg cmUtY29uZmlndXJlIFRYIHF1ZXVlIHdoaWxlIGtlZXAgcmVjZWl2aW5nIHBhY2tldHMNCj4gZnJv bSBSWCBxdWV1ZS4NCj4gV2l0aCBkaXJlY3QgcmUtYXJtIGVuYWJsZWQsIEkgdGhpbmsgaXQgd291 bGRuJ3QgYmUgcG9zc2libGUgYW55IG1vcmU6DQo+IGJlZm9yZSBzdG9wcGluZy9yZWNvbmZpZ3Vy aW5nIFRYIHF1ZXVlIHVzZXIgd291bGQgaGF2ZSBtYWtlIHN1cmUgdGhhdA0KPiBjb3JyZXNwb25k aW5nIFJYIHF1ZXVlIHdvdWxkbid0IGJlIHVzZWQgYnkgZGF0YXBhdGguDQo+IA0KPiA+DQo+ID4+ IC0gdmVyeSBsaW1pdGVkIHVzYWdlIHNjZW5hcmlvIC0gaXQgd2lsbCBoYXZlIGEgcG9zaXRpdmUg ZWZmZWN0IG9ubHkNCj4gPj4gICAgd2hlbiB3ZSBoYXZlIGEgZml4ZWQgZm9yd2FyZGluZyBtYXBw aW5nOiBhbGwgKG9yIG5lYXJseSBhbGwpIHBhY2tldHMNCj4gPj4gICAgZnJvbSB0aGUgUlggcXVl dWUgYXJlIGZvcndhcmRlZCBpbnRvIHRoZSBzYW1lIFRYIHF1ZXVlLg0KPiA+DQo+ID4gW0ZlaWZl aV0gQWx0aG91Z2ggdGhlIHVzYWdlIHNjZW5hcmlvIGlzIGxpbWl0ZWQsIHRoaXMgdXNhZ2Ugc2Nl bmFyaW8NCj4gPiBoYXMgYSB3aWRlIHJhbmdlIG9mIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBOSUMg d2l0aCBvbmUgcG9ydC4NCj4gDQo+IHllcywgdGhlcmUgYXJlIE5JQ3Mgd2l0aCBvbmUgcG9ydCwg YnV0IG5vIGd1YXJhbnRlZSB0aGVyZSB3b3VsZG4ndCBiZSBzZXZlcmFsDQo+IHN1Y2ggTklDcyB3 aXRoaW4gdGhlIHN5c3RlbS4NCj4gDQo+ID4gRnVydHJoZXJtb3JlLCBJIHRoaW5rIHRoaXMgaXMg YSB0cmFkZW9mZiBiZXR3ZWVuIHBlcmZvcm1hbmNlIGFuZA0KPiA+IGZsZXhpYmlsaXR5Lg0KPiA+ IE91ciBnb2FsIGlzIHRvIGFjaGlldmUgYmVzdCBwZXJmb3JtYW5jZSwgdGhpcyBtZWFucyB3ZSBu ZWVkIHRvIGdpdmUgdXANCj4gPiBzb21lIGZsZXhpYmlsaXR5IGRlY2lzaXZlbHkuIEZvciBleGFt cGxlIG9mICdGQVNUX0ZSRUUgTW9kZScsIGl0DQo+ID4gZGVsZXRlcyBtb3N0IG9mIHRoZSBidWZm ZXIgY2hlY2sgKHJlZmNudCA+IDEsIGV4dGVybmFsIGJ1ZmZlciwgY2hhaW4NCj4gPiBidWZmZXIp LCBjaG9vc2VzIGEgc2hvcmVzdCBwYXRoLCBhbmQgdGhlbiBhY2hpZXZlIHNpZ25pZmljYW50IHBl cmZvcm1hbmNlDQo+IGltcHJvdmVtZW50Lg0KPiA+PiBXb25kZXIgZGlkIHlvdSBoYWQgYSBjaGFu Y2UgdG8gY29uc2lkZXIgbWVtcG9vbC1jYWNoZSBaQyBBUEksIHNpbWlsYXINCj4gPj4gdG8gb25l IHdlIGhhdmUgZm9yIHRoZSByaW5nPw0KPiA+PiBJdCB3b3VsZCBhbGxvdyB1cyBvbiBUWCBmcmVl IHBhdGggdG8gYXZvaWQgY29weWluZyBtYnVmcyB0byB0ZW1wb3JhcnkNCj4gPj4gYXJyYXkgb24g dGhlIHN0YWNrLg0KPiA+PiBJbnN0ZWFkIHdlIGNhbiBwdXQgdGhlbSBzdHJhaWdodCBmcm9tIFRY IFNXIHJpbmcgdG8gdGhlIG1lbXBvb2wgY2FjaGUuDQo+ID4+IFRoYXQgc2hvdWxkIHNhdmUgZXh0 cmEgc3RvcmUvbG9hZCBmb3IgbWJ1ZiBhbmQgbWlnaHQgaGVscCB0byBhY2hpZXZlDQo+ID4+IHNv bWUgcGVyZm9ybWFuY2UgZ2FpbiB3aXRob3V0IGJ5LXBhc3NpbmcgbWVtcG9vbC4NCj4gPj4gSXQg cHJvYmFibHkgd291bGRuJ3QgYmUgYXMgZmFzdCBhcyB3aGF0IHlvdSBwcm9wb3NpbmcsIGJ1dCBt aWdodCBiZQ0KPiA+PiBmYXN0IGVub3VnaCB0byBjb25zaWRlciBhcyBhbHRlcm5hdGl2ZS4NCj4g Pj4gQWdhaW4sIGl0IHdvdWxkIGJlIGEgZ2VuZXJpYyBvbmUsIHNvIHdlIGNhbiBhdm9pZCBhbGwg dGhlc2UNCj4gPj4gaW1wbGljYXRpb25zIGFuZCBsaW1pdGF0aW9ucy4NCj4gPg0KPiA+IFtGZWlm ZWldIEkgdGhpbmsgdGhpcyBpcyBhIGdvb2QgdHJ5LiBIb3dldmVyLCB0aGUgbW9zdCBpbXBvcnRh bnQgdGhpbmcNCj4gPiBpcyB0aGF0IGlmIHdlIGNhbiBieXBhc3MgdGhlIG1lbXBvb2wgZGVjaXNp dmVseSB0byBwdXJzdWUgdGhlDQo+ID4gc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgZ2FpbnMuDQo+ IA0KPiBJIHVuZGVyc3RhbmQgdGhlIGludGVudGlvbiwgYW5kIEkgcGVyc29uYWxseSB0aGluayB0 aGlzIGlzIHdyb25nIGFuZCBkYW5nZXJvdXMNCj4gYXR0aXR1ZGUuDQo+IFdlIGhhdmUgbWVtcG9v bCBhYnN0cmFjdGlvbiBpbiBwbGFjZSBmb3IgdmVyeSBnb29kIHJlYXNvbi4NCj4gU28gd2UgbmVl ZCB0byB0cnkgdG8gaW1wcm92ZSBtZW1wb29sIHBlcmZvcm1hbmNlIChhbmQgQVBJIGlmIG5lY2Vz c2FyeSkgYXQNCj4gZmlyc3QgcGxhY2UsIG5vdCB0byBhdm9pZCBpdCBhbmQgYnJlYWsgb3VyIG93 biBydWxlcyBhbmQgcmVjb21tZW5kYXRpb25zLg0KPiANCj4gDQo+ID4gRm9yIFpDLCB0aGVyZSBt YXliZSBhIHByb2JsZW0gZm9yIGl0IGluIGk0MGUuIFRoZSByZWFzb24gZm9yIHRoYXQgcHV0DQo+ ID4gVHggYnVmZmVycyBpbnRvIHRlbXBvcmFyeSBpcyB0aGF0IGk0MGVfdHhfZW50cnkgaW5jbHVk ZXMgYnVmZmVyDQo+ID4gcG9pbnRlciBhbmQgaW5kZXguDQo+ID4gVGh1cyB3ZSBjYW5ub3QgcHV0 IFR4IFNXX3JpbmcgZW50cnkgaW50byBtZW1wb29sIGRpcmVjdGx5LCB3ZSBuZWVkIHRvDQo+ID4g Zmlyc3RsdCBleHRyYWN0IG1idWYgcG9pbnRlci4gRmluYWxseSwgdGhvdWdoIHdlIHVzZSBaQywg d2Ugc3RpbGwNCj4gPiBjYW4ndCBhdm9pZCB1c2luZyBhIHRlbXBvcmFyeSBzdGFjayB0byBleHRy YWN0IFR4IGJ1ZmZlciBwb2ludGVycy4NCj4gDQo+IFdoZW4gdGFsa2luZyBhYm91dCBaQyBBUEkg Zm9yIG1lbXBvb2wgY2FjaGUgSSBtZWFudCBzb21ldGhpbmcgbGlrZToNCj4gdm9pZCAqKiBtZW1w b29sX2NhY2hlX3B1dF96Y19zdGFydChzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKm1jLA0KPiB1 aW50MzJfdCAqbmJfZWxlbSwgdWludDMyX3QgZmxhZ3MpOyB2b2lkDQo+IG1lbXBvb2xfY2FjaGVf cHV0X3pjX2ZpbmlzaChzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKm1jLCB1aW50MzJfdA0KPiBu Yl9lbGVtKTsgaS5lLiBfc3RhcnRfIHdpbGwgcmV0dXJuIHVzZXIgYSBwb2ludGVyIGluc2lkZSBt cC1jYWNoZSB3aGVyZSB0byBwdXQNCj4gZnJlZSBlbGVtcyBhbmQgbWF4IG51bWJlciBvZiBzbG90 cyB0aGF0IGNhbiBiZSBzYWZlbHkgZmlsbGVkLg0KPiBfZmluaXNoXyB3aWxsIHVwZGF0ZSBtYy0+ bGVuLg0KPiBBcyBhbiBleGFtcGxlOg0KPiANCj4gLyogZXhwZWN0IHRvIGZyZWUgTiBtYnVmcyAq Lw0KPiB1aW50MzJfdCBuID0gTjsNCj4gdm9pZCAqKnAgPSBtZW1wb29sX2NhY2hlX3B1dF96Y19z dGFydChtYywgJm4sIC4uLik7DQo+IA0KPiAvKiBmcmVlIHVwIHRvIG4gZWxlbXMgKi8NCj4gZm9y IChpID0gMDsgaSAhPSBuOyBpKyspIHsNCj4gDQo+ICAgIC8qIGdldCBuZXh0IGZyZWUgbWJ1ZiBm cm9tIHNvbWV3aGVyZSAqLw0KPiAgICBtYiA9IGV4dHJhY3RfYW5kX3ByZWZyZWVfbWJ1ZiguLi4p Ow0KPiANCj4gICAgLyogbm8gbW9yZSBmcmVlIG1idWZzIGZvciBub3cgKi8NCj4gICAgaWYgKG1i ID09IE5VTEwpDQo+ICAgICAgIGJyZWFrOw0KPiANCj4gICAgcFtpXSA9IG1iOw0KPiB9DQo+IA0K PiAvKiBmaW5hbGl6ZSBaQyBwdXQsIHdpdGggX2lfIGZyZWVkIGVsZW1zICovIG1lbXBvb2xfY2Fj aGVfcHV0X3pjX2ZpbmlzaChtYywNCj4gaSk7DQo+IA0KPiBUaGF0IHdheSwgSSB0aGluayB3ZSBj YW4gb3ZlcmNvbWUgdGhlIGlzc3VlIHdpdGggaTQwZV90eF9lbnRyeSB5b3UNCj4gbWVudGlvbmVk IGFib3ZlLiBQbHVzIGl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiBvdGhlciBzaW1pbGFyIHBsYWNlcy4N Cj4gDQo+IEFub3RoZXIgYWx0ZXJuYXRpdmUgaXMgb2J2aW91c2x5IHRvIHNwbGl0IGk0MGVfdHhf ZW50cnkgaW50byB0d28gc3RydWN0cyAob25lDQo+IGZvciBtYnVmLCBzZWNvbmQgZm9yIGl0cyBt ZXRhZGF0YSkgYW5kIGhhdmUgYSBzZXBhcmF0ZSBhcnJheSBmb3IgZWFjaCBvZiB0aGVtLg0KPiBU aG91Z2ggd2l0aCB0aGF0IGFwcHJvYWNoIHdlIG5lZWQgdG8gbWFrZSBzdXJlIG5vIHBlcmYgZHJv cHMgd2lsbCBiZQ0KPiBpbnRyb2R1Y2VkLCBwbHVzIHByb2JhYmx5IG1vcmUgY29kZSBjaGFuZ2Vz IHdpbGwgYmUgcmVxdWlyZWQuDQoNCltGZWlmZWldIEkganVzdCB1cGxvYWRlZCBhIFJGQyBwYXRj aCB0byB0aGUgY29tbXVuaXR5Og0KaHR0cDovL3BhdGNoZXMuZHBkay5vcmcvcHJvamVjdC9kcGRr L3BhdGNoLzIwMjIwNjEzMDU1MTM2LjE5NDk3ODQtMS1mZWlmZWkud2FuZzJAYXJtLmNvbS8NCkkg ZG8gbm90IHVzZSBaQyBhcGksIGFuZCByZWZlciB0byBpNDBlIGF2eDUxMiBwYXRoLCBkaXJlY3Rs eSBwdXQgbWVtcG9vbCBjYWNoZSBvdXQgb2YgQVBJLg0KWW91IGNhbiB0YWtlIGEgbG9vayB3aGVu IHlvdSBhcmUgZnJlZS4gVGhhbmtzIHZlcnkgbXVjaC4NCj4gDQo+IA0KPiANCj4gDQoNCg==