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 BA471A0C47; Tue, 12 Oct 2021 16:18:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3CE2740E0F; Tue, 12 Oct 2021 16:18:42 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 9910640151 for ; Tue, 12 Oct 2021 16:18:40 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19CADh9U027027; Tue, 12 Oct 2021 07:18:32 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2174.outbound.protection.outlook.com [104.47.57.174]) by mx0b-0016f401.pphosted.com with ESMTP id 3bn8d791nv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 12 Oct 2021 07:18:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XGWnIOFrY1E4bx9abN7vQ39Zh5X3QNuRI8ZSm8tlKVZ7RX1i3pvfsR8ERtkaw/y4/Ewjs4JBf1hmxGDU3zpBLUKucL1g0Uw4hT+JPAjGST9kegpxGekc8ClYOiZVXTuZu6zJrEnohKQjnTxzhm0y2haKWJ41WlozwyV94x7gmVinVPGotTNowBY5YRz2BGemGV8xNHQWxbbRRH+by7cG8yG3w7SkJLA6pwjXnE9IqIvCpVCXGNrTLX30Vgav9CK1BPbycdred5/Oz6h4vsuWngBTLB+D0N/9FdslHN0oJVpTur6htTr6a+iX7Eiv+rwHD+Ki5Akuhv0rt1yNT3+KsA== 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=iRSUQoSBlHxqy/k6ufdziFYBLFOGS/qS0ReIjyKvqYc=; b=dkSe0zT7T5jdFuwpELiH6bROtqPRQZZo+cbxU6P1E9NhRb7WACIhuGyzL2HsF6brYIJRBv1kjCjcVjof8PvhqVC3wxljr6jl19w+c+88wGdB/S5feaJ65QktLzndQRBzeqsR3pQIqjtU2I6kQQ9yLLvaMWnzunzee51hBlv+MiD3a/xEgOp1gjC+n3jZ/Q02Yy0TF2s7/QbAKTF5TDBe7Kh6HBkZNGVQOg6Mb0sRf5eD8H1bbDbLN03FUAHe32ftUzNis3KuyAOAT+NsAuj9ZlfbOzTO6F3gYoP2d4BhhqLDhpTAPITWwDrqV+T43SNvtvVPq+momKZXSmachGY2Zg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iRSUQoSBlHxqy/k6ufdziFYBLFOGS/qS0ReIjyKvqYc=; b=Iejghda3KYwv+Cr5pWVTD6US4eDQaUmPgxSp1PTb+09BOuJSxv9zb/8uv5YY2eVcKfZzXOJ0LErlFB4Cz2PvBf1Wvi1zUJ6YXbhIG8LYK9tqTowSPVUC7o1op3fk0ux76OvQ5w70STcWPd1ym1dDztitJ8ABKwSAaeQUvwHKzlc= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by PH0PR18MB4459.namprd18.prod.outlook.com (2603:10b6:510:ee::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18; Tue, 12 Oct 2021 14:18:30 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::85aa:3d01:94f6:984]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::85aa:3d01:94f6:984%5]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 14:18:30 +0000 From: Anoob Joseph To: Thomas Monjalon , "Kinsella, Ray" , Akhil Goyal , "dev@dpdk.org" CC: "david.marchand@redhat.com" , "hemant.agrawal@nxp.com" , "pablo.de.lara.guarch@intel.com" , "fiona.trahe@intel.com" , "declan.doherty@intel.com" , "matan@nvidia.com" , "g.singh@nxp.com" , "roy.fan.zhang@intel.com" , "jianjay.zhou@huawei.com" , "asomalap@amd.com" , "ruifeng.wang@arm.com" , "konstantin.ananyev@intel.com" , "radu.nicolau@intel.com" , "ajit.khaparde@broadcom.com" , Nagadheeraj Rottela , Ankur Dwivedi , "ciara.power@intel.com" , Stephen Hemminger , "Yigit, Ferruh" , "bruce.richardson@intel.com" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v2 1/3] cryptodev: remove LIST_END enumerators Thread-Index: AQHXvIVvRnkxD+2khUesXtuxEC2CBqvPJaMAgAAGjoCAAATD4IAADnwAgAAAlYCAAAYyAIAAF1iAgAAK0QCAAAIB0A== Date: Tue, 12 Oct 2021 14:18:29 +0000 Message-ID: References: <20210731181327.660296-1-gakhil@marvell.com> <2844039.NtWzsPphL5@thomas> <2012129.4fn6nFIri4@thomas> In-Reply-To: <2012129.4fn6nFIri4@thomas> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: eb266425-d725-4d94-758d-08d98d8b2a5e x-ms-traffictypediagnostic: PH0PR18MB4459: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Pul1uXFF9d0KQG6qLE/zqdpqTtKkcSvSbK+szYoLi10Wdm3J9dOADYcKJfPT2M1TAGFAIg3Jnk83x6HH2itpsqNqwXf6YsJbXEbc5kIvPVVwT1Gqy2nMmHsIdR7353mJhYzozGanQgt73wPLfFr6ty6cteyJu7rxu7EZcEueDdxihQJD9Y+ri56iUzJluiomdciqO+zgnfkHht9Bf/Wn0qQ6BbpoegAWoC3O0HGvmmwcFlXlgPqyBvwwls58jTVcNKa9nYUEWi/3msTQ0y50kRe+D+dDt0cAVhqjPQYG3KuEpov3M5+6caTQ4/mF30SEkMjmNxVxECt7H4yv4utxmQX2WZwqQPuj4AkX0wrwaJCZq3SRo1JvAb/V1JgcEuDz015tiOINTU6OSbzWk0kxTUVKFC7OI/xs0DI+xHYjcTusoYXf5bsaK6XFBDc0MWpLHfL9BBjd79H61vbe2R5YkOKUEXeUusG4ldfkdJ6fVvjHm5YrLEkoMD1IOHzjQlyF1qsy324C+Wr0maPyPqS4rFUO7S4y7sNyslUB3v8teJ7EuI2n9Bs9GsIQVCwqjf4ElNq33dmOQp3cMYGZ8zdVQ81a6tWfY8DZbJv805Mv+AdbOz2X5KE6BUtazcD41N6n2+fYDDKO1h82px4PuwMjTiHLxfx0rSdcktGPVIvoRDouE1//OQFUGTN/ZJ66epsPuMvUdLk/aqga48Di45jrKQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66476007)(38070700005)(55016002)(66556008)(8676002)(110136005)(71200400001)(8936002)(64756008)(54906003)(66446008)(66946007)(7416002)(52536014)(26005)(5660300002)(316002)(186003)(86362001)(122000001)(76116006)(9686003)(83380400001)(33656002)(6506007)(38100700002)(508600001)(4326008)(7696005)(2906002)(53546011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NzlIY09DRER4Z0cvM2xIVTVNK0V2STJCTjdMZlNGQmFoQnRBbFYwQVJzd2kv?= =?utf-8?B?cFRhV09rVGdRazd1SGExUUZiYnpUZDBqTkJOSm9DUUd5L05xSlhRRW44dnFp?= =?utf-8?B?TEU5aU1EUlFuUU9LSFMxMDJXMURqM1JTMVRRYVU0MFFydjZRU0x3UEwzZVRG?= =?utf-8?B?R3pKOFFVRUoyazVtazdYQm5EbDdsVkFiQkRaU3l1NkduOXpYc1czSDhaVnR1?= =?utf-8?B?eFNqWWhMSC8xR2xCdGx5bEdjcUwxY3UxZGI2d3EzUlFvdUI3dy8zQUVkamRO?= =?utf-8?B?dE9yMUtLZGd6WmxqdEhuS0psNk40K3AwV2JBTFRJNng2cTJ0UHNQSjl5cWJv?= =?utf-8?B?b3k5SUFiK1FEcWtUV3FsMXJWcFNvTTVXRTZwVVpuaXA0Tm5IMjdwU056VGdQ?= =?utf-8?B?dDcwRllVV09yUXJqdG5jWHZkMXN2K0hIWUJjMmJqU1h1ZkRGbVZlbmtFTFZu?= =?utf-8?B?WUQ1RllmUDhCZ0RJeVZWdjU0YnRJVXNZVitrTTlWVitKOFNsamp1OERYdjNj?= =?utf-8?B?OGg1YlZBUElpUGJ0SUE5WWF5eEhMVkE1TnlZWTEzaGExUEtxWUpoOE9Hekg4?= =?utf-8?B?UVVVeFpmclJ6eGNQRmRNRTZpK3BwR213NUF4Wm9BckhvOXlFa0xEZGwxYmNa?= =?utf-8?B?YzFDakc2TnlRVnRrQUVIdGdhRllzK2IxR0tsZVpUQnRWcUlUTnc2K0hsT0Y4?= =?utf-8?B?ay96Wjl4bGJQWjRTSFhFdFI0YWFQZ09Bc3RXQlZRWW42djBxTVdJY1g3VWRH?= =?utf-8?B?dFo1NHM4eTk2T29ROWtGenJ2RG9DZHdubUcxdGxkcytuK1V3a0NOZEZESWV1?= =?utf-8?B?ZFREWlVLRUJwUFRYV0w3aWdJazlmRmhVZHVLZk5aakk3RnRWQ2MvMlpRcXlJ?= =?utf-8?B?Wm5Wb1FPSFBaU3hOeTd1L2RmQ0UyU3Z2azR4ODBxSmxSU3lta0l0WFpHS1Ft?= =?utf-8?B?aFU2SG94RUFaUlpieTBLV1h3Z2hrellncU9oZjB6V0JiM242U2VpRmhGaCtT?= =?utf-8?B?aVJnSE1HOXdqNEsxQjlaeWx0UGxNWTFkMWk4RTl1d2E1SFBsTW1WSzhjNVZt?= =?utf-8?B?MVNtR2xnanBORDFBbi81UWJ0NVFqYThzQithZ29KMkM0aUV4M3NzZXpjV1hX?= =?utf-8?B?cEF4NVRhak54RUlPZmx3emE1Q1A0bjBHRkMzWG9NMTZMQUNQakRxSCs4dXBS?= =?utf-8?B?TnJFK3FuM2VNaTVSaWtGei9Sd1RQRHd5WDZGSk53UzZwY3NHempIMnYrbFlM?= =?utf-8?B?ZHpLVlEraU41c016RkdvQjdRaDFmSEdna3FiVHFWVS9GYmVmZWlpZmhpWjBV?= =?utf-8?B?cXVnaUpoaEllZ212ZTVNZGlWOCtWYmNGblJvREVhbHJBekNmZmxrUk9USUdl?= =?utf-8?B?cXBWa01TM1hXR3Q4djZ1LzFMKzRTTFh4VjF3b2s0THZ3Q0JLa2o0UVd2bUJE?= =?utf-8?B?K2hLb0s3V0ZXVCtOd3NXS2JqWGluWnd2cURMalB0RXp5bnoyTmZvUFZMYUhK?= =?utf-8?B?a04xSkhtWWdaN01IRkZIZ3YzMDUwQWgvUHd6RDBpaWFoNkFpRVk3dzl6OEx2?= =?utf-8?B?amVHY09ISkJsUHlwT1ZtZVZEUmk4bFAvWnhvenZKeGRaMXIvcTZ1SmFuMWVH?= =?utf-8?B?dmpodHN4NEtZc2pKSFB2MkQ1N2lPZ0hRbE9JbldlOVRncDgvTXlCM3JZbGZr?= =?utf-8?B?TUZZa3ZDZEVvRWkyNHpFNGkzTjhVbm5iN1hKMDROaS82NVZQOHI4WTJLSk42?= =?utf-8?Q?WCljKl2L9wzRigbHkt413li9Jrvyth/Q+uUMt3P?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb266425-d725-4d94-758d-08d98d8b2a5e X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 14:18:29.8817 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nUEnTiScmmCJzN0iaUD4EZGl3MkenC0jk+JE310PR1Gq2AfyEh0pfaykbKn5wO5yye5QTjh/D3NV8Kk3nq+ECQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4459 X-Proofpoint-GUID: j70GQJlpvKWvmPpT_WexAulqdk1EjrDE X-Proofpoint-ORIG-GUID: j70GQJlpvKWvmPpT_WexAulqdk1EjrDE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.425,FMLib:17.0.607.475 definitions=2021-10-12_03,2021-10-12_01,2020-04-07_01 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/3] cryptodev: remove LIST_END enumerators 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" SGkgVGhvbWFzLA0KDQpQbGVhc2Ugc2VlIGlubGluZS4NCg0KVGhhbmtzLA0KQW5vb2INCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaG9tYXMgTW9uamFsb24gPHRob21h c0Btb25qYWxvbi5uZXQ+DQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMTIsIDIwMjEgNzoyNSBQ TQ0KPiBUbzogS2luc2VsbGEsIFJheSA8bWRyQGFzaHJvZS5ldT47IEFraGlsIEdveWFsIDxnYWto aWxAbWFydmVsbC5jb20+Ow0KPiBkZXZAZHBkay5vcmc7IEFub29iIEpvc2VwaCA8YW5vb2JqQG1h cnZlbGwuY29tPg0KPiBDYzogZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgaGVtYW50LmFncmF3 YWxAbnhwLmNvbTsNCj4gcGFibG8uZGUubGFyYS5ndWFyY2hAaW50ZWwuY29tOyBmaW9uYS50cmFo ZUBpbnRlbC5jb207DQo+IGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbTsgbWF0YW5AbnZpZGlhLmNv bTsgZy5zaW5naEBueHAuY29tOw0KPiByb3kuZmFuLnpoYW5nQGludGVsLmNvbTsgamlhbmpheS56 aG91QGh1YXdlaS5jb207IGFzb21hbGFwQGFtZC5jb207DQo+IHJ1aWZlbmcud2FuZ0Bhcm0uY29t OyBrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tOw0KPiByYWR1Lm5pY29sYXVAaW50ZWwuY29t OyBhaml0LmtoYXBhcmRlQGJyb2FkY29tLmNvbTsgTmFnYWRoZWVyYWogUm90dGVsYQ0KPiA8cm5h Z2FkaGVlcmFqQG1hcnZlbGwuY29tPjsgQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5j b20+Ow0KPiBjaWFyYS5wb3dlckBpbnRlbC5jb207IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVu QG5ldHdvcmtwbHVtYmVyLm9yZz47DQo+IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRl bC5jb20+OyBicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbQ0KPiBTdWJqZWN0OiBSZTogW0VYVF0g UmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDEvM10gY3J5cHRvZGV2OiByZW1vdmUgTElTVF9FTkQN Cj4gZW51bWVyYXRvcnMNCj4gDQo+IDEyLzEwLzIwMjEgMTU6MzgsIEFub29iIEpvc2VwaDoNCj4g PiBGcm9tOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+ID4gPiAxMi8x MC8yMDIxIDEzOjM0LCBBbm9vYiBKb3NlcGg6DQo+ID4gPiA+IEZyb206IEtpbnNlbGxhLCBSYXkg PG1kckBhc2hyb2UuZXU+DQo+ID4gPiA+ID4gT24gMTIvMTAvMjAyMSAxMTo1MCwgQW5vb2IgSm9z ZXBoIHdyb3RlOg0KPiA+ID4gPiA+ID4gRnJvbTogQWtoaWwgR295YWwgPGdha2hpbEBtYXJ2ZWxs LmNvbT4NCj4gPiA+ID4gPiA+Pj4gT24gMDgvMTAvMjAyMSAyMTo0NSwgQWtoaWwgR295YWwgd3Jv dGU6DQo+ID4gPiA+ID4gPj4+PiBSZW1vdmUgKl9MSVNUX0VORCBlbnVtZXJhdG9ycyBmcm9tIGFz eW1tZXRyaWMgY3J5cHRvIGxpYiB0bw0KPiA+ID4gPiA+ID4+Pj4gYXZvaWQgQUJJIGJyZWFrYWdl IGZvciBldmVyeSBuZXcgYWRkaXRpb24gaW4gZW51bXMuDQo+ID4gPiA+ID4gPj4+Pg0KPiA+ID4g PiA+ID4+Pj4gU2lnbmVkLW9mZi1ieTogQWtoaWwgR295YWwgPGdha2hpbEBtYXJ2ZWxsLmNvbT4N Cj4gPiA+ID4gPiA+Pj4+IC0tLQ0KPiA+ID4gPiA+ID4+Pj4gLQl9IGVsc2UgaWYgKHhmb3JtLT54 Zm9ybV90eXBlID49DQo+ID4gPiA+ID4gPj4+IFJURV9DUllQVE9fQVNZTV9YRk9STV9UWVBFX0xJ U1RfRU5EDQo+ID4gPiA+ID4gPj4+PiArCX0gZWxzZSBpZiAoeGZvcm0tPnhmb3JtX3R5cGUgPg0K PiA+ID4gUlRFX0NSWVBUT19BU1lNX1hGT1JNX0VDUE0NCj4gPiA+IFsuLi5dDQo+ID4gPiA+ID4g Pj4+DQo+ID4gPiA+ID4gPj4+IFNvIEkgYW0gbm90IHN1cmUgdGhhdCB0aGlzIGlzIGFuIGltcHJv dmVtZW50Lg0KPiA+ID4NCj4gPiA+IEluZGVlZCwgaXQgaXMgbm90IGFuIGltcHJvdmVtZW50Lg0K PiA+ID4NCj4gPiA+ID4gPiA+Pj4gVGhlIGNyeXB0b2RldiBpc3N1ZSB3ZSBoYWQsIHdhcyB0aGF0 IF9MSVNUX0VORCB3YXMgYmVpbmcNCj4gPiA+ID4gPiA+Pj4gdXNlZCB0byBzaXplIGFycmF5cy4N Cj4gPiA+ID4gPiA+Pj4gQW5kIHRoYXQgYnJva2Ugd2hlbiBuZXcgYWxnb3JpdGhtcyBnb3QgYWRk ZWQuIElzIHRoYXQgYW4NCj4gPiA+ID4gPiA+Pj4gaXNzdWUsIGluIHRoaXMNCj4gPiA+ID4gPiBj YXNlPw0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gWWVzIHdlIGRpZCB0aGlzIHNhbWUgZXhl cmNpc2UgZm9yIHN5bW1ldHJpYyBjcnlwdG8gZW51bXMgZWFybGllci4NCj4gPiA+ID4gPiA+PiBB c3ltIGVudW1zIHdlcmUgbGVmdCBhcyBpdCB3YXMgZXhwZXJpbWVudGFsIGF0IHRoYXQgcG9pbnQu DQo+ID4gPiA+ID4gPj4gVGhleSBhcmUgc3RpbGwgZXhwZXJpbWVudGFsLCBidXQgdGhvdWdodCBv ZiBtYWtpbmcgdGhpcw0KPiA+ID4gPiA+ID4+IHVuaWZvcm0gdGhyb3VnaG91dCBEUERLIGVudW1z Lg0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPj4+IEkgYW0gbm90IHN1 cmUgdGhhdCBzd2FwcGluZyBvdXQgX0xJU1RfRU5ELCBhbmQgdGhlbg0KPiA+ID4gPiA+ID4+PiBs aXR0ZXJpbmcgdGhlIGNvZGUgd2l0aCBSVEVfQ1JZUFRPX0FTWU1fWEZPUk1fRUNQTSBhbmQNCj4g PiA+ID4gPiA+Pj4gUlRFX0NSWVBUT19BU1lNX09QX1NIQVJFRF9TRUNSRVRfQ09NUFVURSwgaXMg YW4NCj4gPiA+IGltcHJvdmVtZW50DQo+ID4gPiA+ID4gPj4gaGVyZS4NCj4gPiA+ID4gPiA+Pj4N Cj4gPiA+ID4gPiA+Pj4gTXkgMmMgaXMgdGhhdCBmcm9tIGFuIEFCSSBQb1YgUlRFX0NSWVBUT19B U1lNX09QX0xJU1RfRU5EIGlzDQo+ID4gPiA+ID4gPj4+IG5vdCBiZXR0ZXIgb3Igd29yc2UsIHRo YW4NCj4gPiA+ID4gPiBSVEVfQ1JZUFRPX0FTWU1fT1BfU0hBUkVEX1NFQ1JFVF9DT01QVVRFPw0K PiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4+PiBJbnRlcmVzdGVkIHRvIGhlYXIgb3RoZXIgdGhv dWdodHMuDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBJIGRvbuKAmXQgaGF2ZSBhbnkgYmV0 dGVyIHNvbHV0aW9uIGZvciBhdm9pZGluZyBBQkkgaXNzdWVzIGZvciBub3cuDQo+ID4gPiA+ID4g Pj4gVGhlIGNoYW5nZSBpcyBmb3IgYXZvaWRpbmcgQUJJIGJyZWFrYWdlLiBCdXQgd2UgY2FuIGRy b3AgdGhpcw0KPiA+ID4gPiA+ID4+IHBhdGNoIEZvciBub3cgYXMgYXN5bSBpcyBzdGlsbCBleHBl cmltZW50YWwuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gW0Fub29iXSBIYXZpbmcgTElTVF9F TkQgd291bGQgcHJlY2x1ZGUgbmV3IGFkZGl0aW9ucyB0bw0KPiA+ID4gPiA+ID4gYXN5bW1ldHJp Yw0KPiA+ID4gYWxnb3M/DQo+ID4gPiA+ID4gSWYgeWVzLCB0aGVuIEkgd291bGQgc3VnZ2VzdCB3 ZSBhZGRyZXNzIGl0IG5vdy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE5vdCBhdCBhbGwgLSBidXQg aXQgY2FuIGJlIHByb2JsZW1hdGljLCBpZiB0d28gdmVyc2lvbnMgb2YgRFBESw0KPiA+ID4gPiA+ IGRpc2FncmVlIHdpdGggdGhlIHZhbHVlIG9mIExJU1RfRU5ELg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBMb29raW5nIGF0IHRoZSAicHJvYmxlbWF0aWMgY2hhbmdlcyIsIHdlIG9ubHkgaGF2ZSAy LTMNCj4gPiA+ID4gPiA+IGFwcGxpY2F0aW9uICYgUE1EIGNoYW5nZXMuIEZvciB1bml0IHRlc3Qg YXBwbGljYXRpb24sIHdlIGNvdWxkDQo+ID4gPiA+ID4gPiBtYXkgYmUgZG8gc29tZXRoaW5nIGxp a2UsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgZXNzZW50YWwgZnVuY3Rpb25hbGl0eSBub3Qg dGhhdCBkaWZmZXJlbnQsIEkgYW0ganVzdCBub3QNCj4gPiA+ID4gPiBzdXJlIHRoYXQgdGhlIHZl cmJvc2l0eSBiZWxvdyBpcyBoZWxwaW5nLg0KPiA+ID4gPiA+IFdoYXQgeW91IGFyZSByZWFsbHkg dHJ5aW5nIHRvIGd1YXJkIGFnYWluc3QgaXMgcGVvcGxlIHVzaW5nDQo+ID4gPiA+ID4gTElTVF9F TkQgdG8gc2l6ZSBhcnJheXMuDQo+ID4gPiA+DQo+ID4gPiA+IFtBbm9vYl0gT3VyIHByb2JsZW0g aXMgYXBwbGljYXRpb24gdXNpbmcgTElTVF9FTkQgKHdoaWNoIGNvbWVzDQo+ID4gPiA+IGZyb20g bGlicmFyeSkNCj4gPiA+IHRvIGRldGVybWluZSB0aGUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZm9y IHRoZSBsb29wLiBNeSBzdWdnZXN0aW9uIGlzDQo+ID4gPiB0byBtb2RpZnkgdGhlIFVUIHN1Y2gg dGhhdCwgd2UgY291bGQgdXNlIFJURV9ESU0odHlwZXMpICh3aGljaCBjb21lcw0KPiA+ID4gZnJv bSBhcHBsaWNhdGlvbikgdG8gZGV0ZXJtaW5lIGl0ZXJhdGlvbnMgb2YgbG9vcC4gVGhpcyB3b3Vs ZCBzb2x2ZSB0aGUNCj4gcHJvYmxlbSwgcmlnaHQ/DQo+ID4gPg0KPiA+ID4gVGhlIHByb2JsZW0g aXMgbm90IHRoZSBhcHBsaWNhdGlvbi4NCj4gPiA+IEFyZSB5b3UgYXNraW5nIHRoZSBhcHAgdG8g ZGVmaW5lIERQREsgdHlwZXM/DQo+ID4NCj4gPiBbQW5vb2JdIEkgZGlkbid0IHVuZGVyc3RhbmQg aG93IHlvdSBjb25jbHVkZWQgdGhhdC4NCj4gDQo+IEJlY2F1c2UgeW91IGRlZmluZSBhIHNwZWNp ZmljIGFycmF5IGluIHRoZSB0ZXN0IGFwcC4NCj4gDQo+ID4gVGhlIGFwcCBpcyBzdXBwb3NlZCB0 byB0ZXN0ICJuIiBhc3ltbWV0cmljIGZlYXR1cmVzIHN1cHBvcnRlZCBieSBEUERLLg0KPiBDdXJy ZW50bHksIGl0IGRvZXMgdGhhdCBieSBsb29waW5nIGZyb20gMCB0byBMSVNUX0VORCB3aGljaCBo YXBwZW5zIHRvIGdpdmUgeW91DQo+IHRoZSBmaXJzdCBuIGZlYXR1cmVzLiBOb3csIGlmIHdlIGFk ZCBhbnkgbmV3IGFzeW1tZXRyaWMgZmVhdHVyZSwgTElTVF9FTkQNCj4gdmFsdWUgd291bGQgY2hh bmdlLiBJc24ndCB0aGF0IHRoZSB2ZXJ5IHJlYXNvbiB3aHkgd2UgcmVtb3ZlZCBMSVNUX0VORCBm cm9tDQo+IHN5bW1ldHJpYyBsaWJyYXJ5IGFuZCBhcHBsaWNhdGlvbnM/DQo+IA0KPiBZZXMNCj4g DQo+ID4gTm93IGNvbWluZyB0byB3aGF0IEkgcHJvcG9zZWQsIHRoZSBhcHAgaXMgc3VwcG9zZWQg dG8gdGVzdCAibiIgYXN5bW1ldHJpYw0KPiBmZWF0dXJlcy4gTElTVF9FTkQgaGVscHMgaW4gZG9p bmcgdGhlIGxvb3BzLiBJZiB3ZSByZW1vdmUgTElTVF9FTkQsIHRoZW4NCj4gYXBwbGljYXRpb24g d2lsbCBub3QgYmUgaW4gYSBwb3NpdGlvbiB0byBkbyBhIGxvb3AuIE15IHN1Z2dlc3Rpb24gaXMs IHdlIGxpc3QgdGhlDQo+IHR5cGVzIHRoYXQgYXJlIHN1cHBvc2VkIHRvIGJlIHRlc3RlZCBieSB0 aGUgYXBwLCBhbmQgbGV0IHRoYXQgYXJyYXkgYmUgdXNlZCBhcw0KPiBmZWF0dXJlIGxpc3QuDQo+ ID4NCj4gPiBQUzogSnVzdCB0byByZWl0ZXJhdGUsIG15IHByb3Bvc2FsIGlzIGp1c3QgYSBsb2Nh bCBhcnJheSB3aGljaCB3b3VsZCBob2xkIERQREsNCj4gZGVmaW5lZCBSVEUgZW51bSB2YWx1ZXMg Zm9yIHRoZSBmZWF0dXJlcyB0aGF0IHdvdWxkIGJlIHRlc3RlZCBieSB0aGlzDQo+IGFwcC9mdW5j dGlvbi4NCj4gDQo+IEkgYW0gbW9yZSBjb25jZXJuZWQgYnkgdGhlIGdlbmVyYWwgY2FzZSB0aGFu IHRoZSB0ZXN0IGFwcC4NCj4gSSB0aGluayBhIGZ1bmN0aW9uIHJldHVybmluZyBhIG51bWJlciBp cyBtb3JlIGFwcC1mcmllbmRseS4NCg0KW0Fub29iXSBJbmRlZWQuIEJ1dCB0aGVyZSBhcmUgMyBM SVNUX0VORHMgcmVtb3ZlZCB3aXRoIHRoaXMgcGF0Y2guIERvIHlvdSBwcm9wb3NlIDMgbmV3IEFQ SXMgdG8ganVzdCBnZXQgbWF4IG51bWJlcj8gDQogDQo+IA0KPiA+ID4gPiA+ID4gKyAgICAgICAg ICAgICAgIGVudW0gcnRlX2NyeXB0b19hc3ltX29wX3R5cGUgdHlwZXNbXSA9IHsNCj4gPg0KPiA+ ID4NCj4gPiA+IFRoZSBwcm9ibGVtIGlzIGluIERQREsgQVBJLiBXZSBtdXN0IG5vdCBzdWdnZXN0 IGEgc2l6ZSBmb3IgZW51bXMuDQo+ID4NCj4gPiBbQW5vb2JdIFNvIGFncmVlZCB0aGF0IExJU1Rf RU5EIHNob3VsZCBiZSByZW1vdmVkPw0KPiANCj4gWWVzDQo+IA0KPiA+ID4gSWYgd2UgcmVhbGx5 IG5lZWQgYSBzaXplLCB0aGVuIGl0IG11c3QgYmUgZXhwbGljaXQgYW5kIHVwZGF0ZWQgaW4NCj4g PiA+IHRoZSBsaWIgYmluYXJ5ICh0aHJvdWdoIGEgZnVuY3Rpb24pIHdoZW4gdGhlIHNpemUgaW5j cmVhc2VzLg0KPiA+DQo+ID4gW0Fub29iXSBQcmVjaXNlbHkgbXkgdGhvdWdodHMuIFRoZSBsb29w IHdpdGggTElTVF9FTkQgZG9uZSBpbiBhcHBsaWNhdGlvbiBpcw0KPiBub3QgY29ycmVjdC4NCj4g PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICBmb3IgKGkgPSAw OyBpIDwgUlRFX0NSWVBUT19BU1lNX09QX0xJU1RfRU5EOyBpKyspIHsNCj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICBlbnVtIHJ0ZV9jcnlwdG9fYXN5bV9vcF90eXBlIHR5cGVzW10gPSB7DQo+ ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9DUllQVE9fQVNZ TV9PUF9FTkNSWVBULA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQ1JZUFRPX0FTWU1fT1BfREVDUllQVCwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX1NJR04sDQo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9DUllQVE9fQVNZTV9PUF9WRVJJRlks DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9DUllQVE9f QVNZTV9PUF9QUklWQVRFX0tFWV9HRU5FUkFURSwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX1BVQkxJQ19LRVlfR0VORVJBVEUs DQo+ID4gPiA+ID4gPiArDQo+IFJURV9DUllQVE9fQVNZTV9PUF9TSEFSRURfU0VDUkVUX0NPTVBV VEUsDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgfTsNCj4gPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICBmb3IgKGkgPSAwOyBpIDw9IFJURV9ESU0odHlwZXMpOyBpKyspIHsNCj4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0Yy5tb2RleC54Zm9ybV90eXBlID09DQo+ ID4gPiBSVEVfQ1JZUFRPX0FTWU1fWEZPUk1fUlNBKSB7DQo+ID4gPiA+ID4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmICh0Yy5yc2FfZGF0YS5vcF90eXBlX2ZsYWdzICYgKDEg PDwgaSkpIHsNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg KHRjLnJzYV9kYXRhLm9wX3R5cGVfZmxhZ3MNCj4gPiA+ID4gPiA+ICsgJiAoMSA8PA0KPiA+ID4g PiA+ID4gKyB0eXBlc1tpXSkpIHsNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAodGMucnNhX2RhdGEua2V5X2V4cCkgew0KPiA+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0g dGVzdF9jcnlwdG9kZXZfYXN5bV9vcCgNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRlc3RzdWl0ZV9wYXJhbXMsICZ0 YywNCj4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdF9tc2csIHNlc3Npb25sZXNzLCBpLA0KPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gKyB0ZXN0X21zZywgc2Vzc2lvbmxlc3MsIHR5cGVzW2ldLA0KPiA+ID4gPiA+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfUlNBX0tFWV9UWVBFX0VYUCk7DQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXMpDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gPiA+ID4gPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGMucnNhX2RhdGEua2V5 X3F0ICYmIChpID09DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaWYgKHRjLnJzYV9kYXRhLmtleV9xdA0KPiA+ID4gPiA+ID4gKyAmJiAodHlwZXNb aV0gPT0NCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0NSWVBUT19BU1lNX09QX0RFQ1JZUFQgfHwNCj4gPiA+ID4g PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaSA9PSBSVEVfQ1JZUFRPX0FTWU1fT1BfU0lHTikpIHsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiA+ICsgdHlwZXNbaV0gPT0NCj4gPiA+ID4gPiA+ICsgUlRFX0NSWVBUT19BU1lNX09QX1NJ R04pKSB7DQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdGF0dXMgPSB0ZXN0X2NyeXB0b2Rldl9hc3ltX29wKA0KPiA+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm dGVzdHN1aXRlX3BhcmFtcywNCj4gPiA+ID4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRjLCB0ZXN0X21zZywgc2Vzc2lvbmxlc3Ms IGksDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZ0YywNCj4gPiA+ID4gPiA+ICsgdGVzdF9tc2csIHNlc3Npb25sZXNz LCB0eXBlc1tpXSwNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX1JTQV9LRVRfVFlQRV9RVCk7DQo+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXMpDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhpcyB3YXksIGFwcGxpY2F0aW9uIHdvdWxkIG9ubHkgdXNl IHRoZSBvbmVzIHdoaWNoIGl0IGlzDQo+ID4gPiA+ID4gPiBkZXNpZ25lZCB0byB3b3JrDQo+ID4g PiA+ID4gd2l0aC4gRm9yIFFBVCBkcml2ZXIgY2hhbmdlcywgd2UgY291bGQgaGF2ZSBhbiBvdmVy bG9hZCBpZg0KPiA+ID4gPiA+IGNvbmRpdGlvbiAoaWYgYWxnID09IHgNCj4gPiA+ID4gPiB8fCBh bGcgPSB5IHx8IC4uLikgdG8gZ2V0IHRoZSBzYW1lIGVmZmVjdC4NCj4gDQo+IA0KDQo=