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 C8D04A034F; Mon, 11 Oct 2021 17:57:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AFB334114A; Mon, 11 Oct 2021 17:57:06 +0200 (CEST) Received: from AZHDRRW-EX02.NVIDIA.COM (azhdrrw-ex02.nvidia.com [20.64.145.131]) by mails.dpdk.org (Postfix) with ESMTP id 34E2E4111F for ; Mon, 11 Oct 2021 17:57:05 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.171) by mxs.oss.nvidia.com (10.13.234.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.858.15; Mon, 11 Oct 2021 08:57:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VJ5Q35+YdywLhM04Fa0YEhIIIUCAE112mirj5fKt7/UbXYkw+xlk+YsAknh9OnktNXPBeeM5YdRUDeopYi2AS1+k21TfRMy5SJ5Ohu+cavrJdB9QeniYzDRGAJrbdj6is5mEBUk7vZIWJLLY9s/xpkzN3Z/IoJ5CrwAsKl01fJgTK3vwtzzh9WmH+BMaZEwFRWPuQMqr3zw7xYSfN9/C6RhQ3kBLZipEY/5arWGK5QWFaUQhYxbhX24EXHgv21UYvjgtrGtw3eAsd4aI6fk9+wdDEs8Qqe5waqDA+1O99E7HwmCiAPs+fJMBm+cfK8eLl/pnikc7BWAivjYc+uEsLg== 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=8NPOfOal8h243LjQpwuKBhcMB299KhBNzc4o1uNv9fs=; b=afDUYNP/Gh9Vlvtu+ctowDCzLd/yVv2e2b7nxRaM9ZWcxpE4XDwlwaO22U2ftN+0gik4E1PWjRaMRwhPOtMEV8dibKHSeOvO+Vqzzjc1xJ+VZOajOYNkm1DKP1VEBeWKoCyftTeacjoJi60LSaaA9TMVPsandIFov32ce0qgCHiEbTA8Nzgaa6IYeUstsRh0c88XOjVQz4gtIlEE1+nXsjHkknFeHsPQkUYPWD2KVngGK4mjW09oCfUZDsPnrKArTt60hW81TQdsykm8MYpsukB5VYRSiVJgdC7YgzCRa391Vbks1QvNVazqjvr3PQH62gmWV1uPIaIDh8yuZBJ2bA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8NPOfOal8h243LjQpwuKBhcMB299KhBNzc4o1uNv9fs=; b=AWUTZu4dB+8AjLlg/wBwURsDgHj3OkXi04+LTi/DCniW7L4FfR2oHg1F29obpwWSYe+UZPPht/ZLwNpuUhyGKTK3vyK9TOpifaL6o2D3AWwLc4LbevYYhLkH0Q4SUVJyIO60JL4zrc4Y+fIu6Ey6FcfICHx1LLs8oa/LkQDaOuKJu9FQKXmaQuordAz5u5oSjDMOx+34ol9wa0faoCnuA4w9de+HgyIfQYHTyOXfVblSbVBKx8CggO69KDA8pwMJn9bUESuYXeN+f6pL1THBWxawlZ2Wz89lbSfQsQvlWBmG96/ZpOJu72s+Xrz1ZK0KFAvLdWfpdz7/4pT22LWuGg== Received: from CH0PR12MB5091.namprd12.prod.outlook.com (2603:10b6:610:be::10) by CH0PR12MB5042.namprd12.prod.outlook.com (2603:10b6:610:e1::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18; Mon, 11 Oct 2021 15:57:02 +0000 Received: from CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97]) by CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97%9]) with mapi id 15.20.4587.026; Mon, 11 Oct 2021 15:57:02 +0000 From: Dmitry Kozlyuk To: Andrew Rybchenko , Ajit Khaparde CC: dpdk-dev , Matan Azrad , Ori Kam , NBU-Contact-Thomas Monjalon , "Ferruh Yigit" Thread-Topic: [dpdk-dev] [RFC PATCH 2/2] ethdev: add capability to keep indirect actions on restart Thread-Index: AQHXnw8oaYMqdVloEEKucGaP1IaLuqvGbKGAgAD1kXCABq/KAIAACDQQ Date: Mon, 11 Oct 2021 15:57:02 +0000 Message-ID: References: <20210901085516.3647814-1-dkozlyuk@nvidia.com> <20210901085516.3647814-3-dkozlyuk@nvidia.com> <5b4d7e66-80f3-8099-2a81-ea6e20ec70ba@oktetlabs.ru> In-Reply-To: <5b4d7e66-80f3-8099-2a81-ea6e20ec70ba@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0bfe2e66-7ab4-41e7-6c23-08d98ccfc40d x-ms-traffictypediagnostic: CH0PR12MB5042: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WnPaAKofJH/IuIXdRtJ61gQwiCtkuvyK1loO/uQMhxuUtbvRb+A4cU4L9rAfcgkeOc9xdi1xqHxzJMkqYKh+BiB0oTqH3uhCSgwafns4fAr79XkNwEBq4ygebZvhxXPIPvCpictLyc59F3i22wbDrXGUdz45Byr1lCIGM0RGOin7S5Lgtr5nY4+M0nQqMyQL41eBA2BZrjqbHu5X7wygXO49ZckXyG2Cd6KpWXTHxTJ18u9MFjcLRG23iKUEdokLraKxUbq6uRdwjoKcr365TXBDEECuKonzdLpKAXi/+VSqzOPiSofOuoSazCaUMyvaR3mTYA+AauveZuBJBrNuD6dXyQ4FeJ5lOn01bVJse/h+dGDLVtjkjhGauf8eEN9kWDcvVCik/S31jcCQAoVXxSplxLTaPQIqE3BFQ7AEBwqUmoTiLIQ+Ag4UsHm0sGpqrKpwNwUBvXaVU5RQwEsX4QH0y59DQnQAK2+iVEbNpdz7a6Az7KErnTlT6809ALolr50zxRfua/gJU6g67mkpDzk0ptynYMUdLopRpqBU1jd2wlkm7LKJ9fe4LY+r5y3fBUM8uwP5miOGf+SzD7a5yOvC2SzkPVLxkXwGdGRnaBdV+znCVnJy6qfIsZerqgWmlel7kiBaYFuX+VtVxYQ+aF7okmfEXyen9gnxFBYd7ls9mo8P619BdUt2gtn3Cb2p61DM95rPq9+iXWM7GsIWsw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR12MB5091.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66476007)(64756008)(76116006)(66446008)(86362001)(33656002)(122000001)(38100700002)(4326008)(66556008)(66946007)(508600001)(7696005)(8676002)(5660300002)(52536014)(107886003)(316002)(53546011)(6506007)(71200400001)(2906002)(186003)(26005)(38070700005)(110136005)(54906003)(55016002)(83380400001)(9686003)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SlZIYURQR3E5WVhEbWRUK2hsQWNNbVRLdUltSXZyQUpkQ2N3Sll3dnM1Vnk1?= =?utf-8?B?VkcxMVMvbDhiSDZhdUFYckxWSDVDNlloUnN5a3plSW5YSGhKYzdSSTExamlz?= =?utf-8?B?UmhsNUxuUzlscHZla1lXbW9qa2FOUlJpMlZDclFHQnFrdEM4QmlLNUxKclEy?= =?utf-8?B?MktSWWxVSnJ0UFJ0K1U5RlkvUTFzZ3VjN0NMWEc4UlR6cXJ6K2dZa0RNeG85?= =?utf-8?B?YkljTW1iVkhWSysxNVRPOU90S0xTQkxYKzdYdnNDcUVhb3NWQXdPdVZnQzUy?= =?utf-8?B?UnBoU1hnSGNQTU9jS3llRzZYR2tOY0FnQWpMYWorSzlFaGw2RnB0L0lFYkpP?= =?utf-8?B?aE1QMEtwOFhGZlpoM1RDL3U4a1pVL2pUTHBZc0hBeUNtMlYya2w4Zlp6ZVg4?= =?utf-8?B?UmpPZEo4c3pBL0ZuaWU1SmZPSDdrbHRCbzVaR01NUVdKL3B5NUxhdXRPcW5N?= =?utf-8?B?Y1VnaHhqc2kvMWdXTzM4OUF4TjltSGh5WXl3emJaOUxBdmNSR0N3Ulp2NUtU?= =?utf-8?B?SnVWZXpzU2pTMVl5K1luWTNuQy9EN3BqRzZnUVVMQS9RMGp5NXcrZGgwSGNm?= =?utf-8?B?WFJYck5Qd2hJa3V1V2lDSWJDNlZ0Z25xakU0Q0xkemxjYzRmS3YyL0FFVXRu?= =?utf-8?B?bklxWUt3YUxnOFJJOVI1THRXSDJXaFFJWjZ6V1lScGRGb01ETUh5NEp2SkpB?= =?utf-8?B?MUZkM0xFTy91UlNYRXI4emRBYks5cy83ai9KcGx0aWNNV0hCdlFaTXVPTkRs?= =?utf-8?B?ejZVWkpZcWJtVDV6L0xGRTc4bGRuMlZVY1Bscmt1TjRBTWpadlNqKzJOc3g5?= =?utf-8?B?T3VqOFp6NjVFWC9heXRuT3B6UmdKZlRmbVl0MktiT3lWYXdkMWRPeit1S2FY?= =?utf-8?B?Rk9kYVJib3l4R1VtaXlicTZFTUFMcXRYaWFCUEZJaGwyME1SQ1JsTzdxRnFD?= =?utf-8?B?TkNxTGQ0Uzd0N2xTcWNKT1R6R3dmMjE1Zk1GWjJ6QlZGMzhjdmE2WEhUM1pE?= =?utf-8?B?bVlsb2pMdWhYTmFlczNveDBPYTZ6VXhGcnhpQzhlQ3hObldwWStDVnBveDJO?= =?utf-8?B?cTBGdTZKRDdaOFhIdUpCS2FzK2VUazNMY3V4N1I1UEhDaTd5bVdobVFRNnU4?= =?utf-8?B?TUJ5WVVGQTBrd3pGczFrYlBidmdvNHQxSGZRUmJ6QWE2OWhDdUxZeWZGV0Z3?= =?utf-8?B?N1BUNFlvcHBEWThpWUg3dkd2YnhYQ0ZjRFpDNUNhN0lmRnltZnZlTVhQdExj?= =?utf-8?B?Ykx3UEhIOHBjaEJMbUZTdlRTbEgyOVJab0lQd0lna3ZobUV5dWlYMExPNjBi?= =?utf-8?B?bGlUaVRpUXlrVzFFeVVoVFZoZmtCdmF3VU8ySEVUN1RYT3J5N1dyM2JqVHh1?= =?utf-8?B?Vk05Wjk5ZnBQc0J4VkNvamhwNzJmc1FFd01PbWZXYzNHUlpuM3ZMS0dUMUpJ?= =?utf-8?B?a3dGTHg1dXN4TkQ3NG5TMks3QXI3djI5NUFNa0ZPRWdQb1Mrd29RS0QyMzBV?= =?utf-8?B?Rno1bFJ2dSsrRzRHRWdxYkhrSEFNTEV5OVU2anZNeVpDUzJyWXFiOFVCcS9O?= =?utf-8?B?bTBLTyt2b1Q2cXF1c2o1T25OTERBdnNPWDMzUjdlNG42S3lRVm53VXRvZ2JW?= =?utf-8?B?SmgxcjFQRnkrS2dLVjR4bGRKcGdqT3ZOYmlIZG54dHc5OTRwcSsrZTdwdzdU?= =?utf-8?B?UVh6RlZVTjE1ck5WZTBXekJsaVRVMUNrMjRxWEhGL1NQcUkveXhNcjk1ckVE?= =?utf-8?Q?/P8LHF9gMeBLoqF7Uc=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5091.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0bfe2e66-7ab4-41e7-6c23-08d98ccfc40d X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Oct 2021 15:57:02.3893 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GerpeTVzFvMlDIc0TjEeyZkUXNV/AJEgFcBwp4dgHGH6cfjuwZSSsw9P7r9ehZX2Amm0p7w0ablOycb2Ng9DlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5042 Subject: Re: [dpdk-dev] [RFC PATCH 2/2] ethdev: add capability to keep indirect actions on restart 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gU2VudDogMTEg0L7QutGC0Y/QsdGA0Y8g MjAyMSDQsy4gMTY6NTgNCj4gVG86IERtaXRyeSBLb3pseXVrIDxka296bHl1a0BudmlkaWEuY29t PjsgQWppdCBLaGFwYXJkZQ0KPiA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+DQo+IENjOiBk cGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgTWF0YW4gQXpyYWQgPG1hdGFuQG52aWRpYS5jb20+OyBP cmkgS2FtDQo+IDxvcmlrYUBudmlkaWEuY29tPjsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9u DQo+IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50 ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUkZDIFBBVENIIDIvMl0gZXRoZGV2 OiBhZGQgY2FwYWJpbGl0eSB0byBrZWVwIGluZGlyZWN0DQo+IGFjdGlvbnMgb24gcmVzdGFydA0K PiANCj4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNo bWVudHMNCj4gDQo+IA0KPiBPbiAxMC83LzIxIDExOjE2IEFNLCBEbWl0cnkgS296bHl1ayB3cm90 ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQWppdCBLaGFw YXJkZSA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+DQo+ID4+IFNlbnQ6IDYg0L7QutGC0Y/Q sdGA0Y8gMjAyMSDQsy4gMjA6MTMNCj4gPj4gVG86IERtaXRyeSBLb3pseXVrIDxka296bHl1a0Bu dmlkaWEuY29tPg0KPiA+PiBDYzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IE1hdGFuIEF6cmFk IDxtYXRhbkBudmlkaWEuY29tPjsgT3JpIEthbQ0KPiA+PiA8b3Jpa2FAbnZpZGlhLmNvbT47IE5C VS1Db250YWN0LVRob21hcyBNb25qYWxvbg0KPiA+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEZl cnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IEFuZHJldw0KPiA+PiBSeWJjaGVu a28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+PiBTdWJqZWN0OiBSZTogW2Rw ZGstZGV2XSBbUkZDIFBBVENIIDIvMl0gZXRoZGV2OiBhZGQgY2FwYWJpbGl0eSB0bw0KPiA+PiBr ZWVwIGluZGlyZWN0IGFjdGlvbnMgb24gcmVzdGFydA0KPiA+Pg0KPiA+PiBPbiBXZWQsIFNlcCAx LCAyMDIxIGF0IDE6NTUgQU0gRG1pdHJ5IEtvemx5dWsgPGRrb3pseXVrQG52aWRpYS5jb20+DQo+ IHdyb3RlOg0KPiA+Pj4NCj4gPj4+IHJ0ZV9mbG93X2FjdGlvbl9oYW5kbGVfY3JlYXRlKCkgZGlk IG5vdCBtZW50aW9uIHdoYXQgaGFwcGVucyB3aXRoIGFuDQo+ID4+PiBpbmRpcmVjdCBhY3Rpb24g d2hlbiBhIGRldmljZSBpcyBzdG9wcGVkLCBwb3NzaWJseSByZWNvbmZpZ3VyZWQsIGFuZA0KPiA+ Pj4gc3RhcnRlZCBhZ2Fpbi4gSXQgaXMgbmF0dXJhbCBmb3Igc29tZSBpbmRpcmVjdCBhY3Rpb25z IHRvIGJlDQo+ID4+PiBwZXJzaXN0ZW50LCBsaWtlIGNvdW50ZXJzIGFuZCBtZXRlcnM7IGtlZXBp bmcgb3RoZXJzIGp1c3Qgc2F2ZXMNCj4gPj4+IGFwcGxpY2F0aW9uIHRpbWUgYW5kIGNvbXBsZXhp dHkuIEhvd2V2ZXIsIG5vdCBhbGwgUE1EcyBjYW4gc3VwcG9ydCBpdC4NCj4gPj4+IEl0IGlzIHBy b3Bvc2VkIHRvIGFkZCBhIGRldmljZSBjYXBhYmlsaXR5IHRvIGluZGljYXRlIGlmIGluZGlyZWN0 DQo+ID4+PiBhY3Rpb25zIGFyZSBrZXB0IGFjcm9zcyB0aGUgYWJvdmUgc2VxdWVuY2Ugb3IgaW1w bGljaXRseSBkZXN0cm95ZWQuDQo+ID4+Pg0KPiA+Pj4gSXQgbWF5IGhhcHBlbiB0aGF0IGluIHRo ZSBmdXR1cmUgYSBQTUQgYWNxdWlyZXMgc3VwcG9ydCBmb3IgYSB0eXBlDQo+ID4+PiBvZiBpbmRp cmVjdCBhY3Rpb25zIHRoYXQgaXQgY2Fubm90IGtlZXAgYWNyb3NzIGEgcmVzdGFydC4gSXQgaXMN Cj4gPj4+IHVuZGVzaXJhYmxlIHRvIHN0b3AgYWR2ZXJ0aXNpbmcgdGhlIGNhcGFiaWxpdHkgc28g dGhhdCBhcHBsaWNhdGlvbnMNCj4gPj4+IHRoYXQgZG9uJ3QgdXNlIGFjdGlvbnMgb2YgdGhlIHBy b2JsZW1hdGljIHR5cGUgY2FuIHN0aWxsIHRha2UgYWR2YW50YWdlIG9mIGl0Lg0KPiA+Pj4gVGhp cyBpcyB3aHkgUE1EcyBhcmUgYWxsb3dlZCB0byBrZWVwIG9ubHkgYSBzdWJzZXQgb2YgaW5kaXJl Y3QNCj4gPj4+IGFjdGlvbnMgcHJvdmlkZWQgdGhhdCB0aGUgdmVuZG9yIG1hbmRhdG9yaWx5IGRv Y3VtZW50cyBpdC4NCj4gPj4gU29ycnkgLSBJIGFtIHNlZWluZyB0aGlzIGxhdGUuDQo+ID4+IFRo aXMgY291bGQgYmVjb21lIGNvbmZ1c2luZy4NCj4gPj4gTWF5IGJlIGl0IGlzIGJldHRlciBmb3Ig dGhlIFBNRHMgdG8gc3BlY2lmeSB3aGljaCBhY3Rpb25zIGFyZSBwZXJzaXN0ZW50Lg0KPiA+PiBI b3cgYWJvdXQgYWRkaW5nIGEgYml0IGZvciB0aGUgcG9zc2libGUgYWN0aW9ucyBvZiBpbnRlcmVz dC4NCj4gPj4gQW5kIHRoZW4gUE1EcyBjYW4gc2V0IGJpdHMgZm9yIGFjdGlvbnMgd2hpY2ggY2Fu IGJlIHBlcnNpc3RlbnQgYWNyb3NzDQo+ID4+IHN0b3AsIHN0YXJ0IGFuZCByZWNvbmZpZ3VyYXRp b25zPw0KPiA+DQo+ID4gVGhpcyBhcHByb2FjaCB3YXMgY29uc2lkZXJlZCwgYnV0IHRoZXJlIGlz IGEgcmlzayBvZiBxdWlja2x5IHJ1bm5pbmcgb3V0IG9mDQo+IGNhcGFiaWxpdHkgYml0cy4gRWFj aCBhY3Rpb24gd291bGQgY29uc3VtZSBvbmUgYml0IHBsdXMgYXMgbWFueSBiaXRzIGFzIHRoZXJl IGFyZQ0KPiBzcGVjaWFsIGNvbmRpdGlvbnMgZm9yIGl0IGluIGFsbCB0aGUgUE1EcywgYmVjYXVz ZSBjb25kaXRpb25zIGFyZSBsaWtlbHkgdG8gYmUgUE1ELQ0KPiBzcGVjaWZpYy4gQW5kIHRoZSBh cHBsaWNhdGlvbiB3aWxsIGFueXdheSBuZWVkIHRvIGNvbnNpZGVyIHNwZWNpZmljIGNvbmRpdGlv bnMgdG8NCj4ga25vdyB3aGljaCBiaXQgdG8gdGVzdCwgc28gdGhlIG1lYW5pbmcgb2YgdGhlIGJp dHMgd2lsbCBiZSBQTUQtc3BlY2lmaWMuIE9uIHRoZQ0KPiBvdGhlciBoYW5kLCBQTURzIGFyZSBu b3QgZXhwZWN0ZWQgdG8gZXhlcmNpc2UgdGhpcyBsb29waG9sZSB1bmxlc3MgYWJzb2x1dGVseQ0K PiBuZWVkZWQuDQo+ID4NCj4gDQo+IE1heSBiZSB3ZSBzaG91bGQgc2VwYXJhdGUgYXQgbGVhc3Qg dHJhbnNmZXIgYW5kIG5vbi10cmFuc2ZlciBydWxlcz8gVHJhbnNmZXINCj4gcnVsZXMgYXJlIGxl c3MgY29uZmlndXJhdGlvbiBkZXBlbmRlbnQuDQoNCkRvIHlvdSBzdWdnZXN0IHNwbGl0dGluZyB0 aGUgYml0IGZyb20gcGF0Y2ggMS8yIGluIHR3bz8NCk9yIGRpZCB5b3UgbWVhbiBpbmRpcmVjdCBh Y3Rpb25zIHdpdGggb25seSAidHJhbnNmZXIiIGJpdCBzZXQNCmFuZCBzdWdnZXN0IHNwbGl0dGlu ZyB0aGUgYml0IGZyb20gdGhpcyBwYXRjaCBpbiB0d28/DQo=