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 69E84A0C52; Thu, 21 Oct 2021 18:06:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B383410EB; Thu, 21 Oct 2021 18:06:06 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id DA61C40683 for ; Thu, 21 Oct 2021 18:06:04 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19LCgY4X009111; Thu, 21 Oct 2021 09:06:01 -0700 Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by mx0a-0016f401.pphosted.com with ESMTP id 3bu66g9rdd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Oct 2021 09:06:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DznjShz/aXVM/SakMiIo/DAKATK2QmXr6ch5n2obVZ2vd6AvmT8pXhLDpDbaocAFEDOPAa2AvQKb9evsWfYBt1WCBNVJfEIOmsfmQzdFEWDNEddfMs7CraTegUzQcDGAEXo6jXUMyj9bnmhhgHw/oN/6s/0k0egMvPF6J+IgieH4xh/sYexwMebGiRozspwRo+bKQ0crgvKYUOwZH+NutFqqB/LpcfrbMzSJMRmvSThVoZef0SJjuePrih0KKLKjOLh+ZFWqO5rq11BGl+Qt+L/LO90+N/xRB1zaXQehj+nY1HIn0KikCWDRfFGeXVSTSP0E35Nl+uEktAjMFv7BiQ== 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=QF2gff3HfsHTdRPSEk4/7ZzEof7oel8hvKwLrRatbDQ=; b=XP9+ilY4zc4uGQ3OS08R5VSSFdifcCM5/mrPhCGsFI7xKNgjVq0Zu/CDEsAuGM/3qJsGc7e/z41RBkLKQ5N+uXS/V6P/UsOhRFwC8GkWi8wgsFA8O7CEI15W8CQCsm0TbDejL1iupBDncWMxAxBIBrxiZclSGYcQngY+yQq8vj4dyD7/Qhu0E6NytLJv5diqxqFRGTyUNYhk/ySmCVLZEgDtzOtywQ4Jc4Z+uxsAGgG3AUgSbU7+2aNwxKriMEcCoyJCQIWCNi7phBvmnokBh0C4XEmGC1XZDT9hA2gG1XVj/uZi5c9Vyo70AMbfGWDgnF+IG+k2lRX51OzmR/aA5g== 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=QF2gff3HfsHTdRPSEk4/7ZzEof7oel8hvKwLrRatbDQ=; b=UhOZMGemaBHEVvIrPZnuougRfQpywvhn2YvHpUeb0Xdef4In7sh8urE3TZs+JE1dJPaNZWGZh8CxQxNsvQ0v+mHRLdTm/ZL0zS9eeSje72B41dkpIcxPO/qjujFdOAo60mqUV0dOwpY0E1+OVEaZQO3d5nZyDL80f0qx2Es4UPQ= Received: from BL1PR18MB4197.namprd18.prod.outlook.com (2603:10b6:208:309::16) by MN2PR18MB3246.namprd18.prod.outlook.com (2603:10b6:208:169::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Thu, 21 Oct 2021 16:05:58 +0000 Received: from BL1PR18MB4197.namprd18.prod.outlook.com ([fe80::ec7c:9dd5:7b84:3bc4]) by BL1PR18MB4197.namprd18.prod.outlook.com ([fe80::ec7c:9dd5:7b84:3bc4%7]) with mapi id 15.20.4628.016; Thu, 21 Oct 2021 16:05:58 +0000 From: Harman Kalra To: David Marchand , Dmitry Kozlyuk CC: Stephen Hemminger , Thomas Monjalon , "dev@dpdk.org" , Ray Kinsella Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v3 2/7] eal/interrupts: implement get set APIs Thread-Index: AQHXxGKdt5yz0m35OkaI3v43YB1ftqvZXh4AgACCpWCAAiVlgIABJygwgAA5gYCAABCwAIAAJQVg Date: Thu, 21 Oct 2021 16:05:58 +0000 Message-ID: References: <20210826145726.102081-1-hkalra@marvell.com> <20211018193707.123559-1-hkalra@marvell.com> <20211018193707.123559-3-hkalra@marvell.com> <20211018155654.0d3ffbed@hermes.local> <20211020183051.657b05c1@sovereign> <20211021153305.664c7216@sovereign> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f848e125-ef44-4b8b-4adc-08d994acab7c x-ms-traffictypediagnostic: MN2PR18MB3246: 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: ufb73rJw9XLyebLmU/ui1uYlnBYbqRN/OvrKrz0Q/BdpXGOd0f1mjOBtAc3h2D5blp60Kp5eFPIYQrDZf3/41f7Ysw3xTSqI9ia46A5CepeyP82U9WNjZQCruIMl/SL4twuNb5albKgpp443Yjsuftf0vvWcWGjMKbxnZBByuyE80dCoNYsoGKhMDCl0uyuL8R2kBA5/ivBDLEwtJBI9jczI/SSSaX4jKLfFeEMVvD713zJsrDEULGzp7Z86WnVaykzCrfaEHJOdRqy3tO733lzmw1TgBt17TOYYU0CNGlWIm15S/p8+U2jaWcNmL4nFWGbELpBfYbzsREw8TR271AZXiN3xaJSIOLElXzZwL4W7mIYSHKwZCjDldo2Ip/3c3tiVQvH64l3uTTCJDog9jeY6tQm58xI/GuFKZre97uJl6gjvfLGGVu3xPY/GsN1fVmRYtXWWsfRr51duy+V6huyBFDkmYi2QIpI3fX1U4GXnMT8rKPIkSW7FEgFSYzcGcNrAshoeio9eLLoov8fOesKRye7c1sKbPg2WDrqNjB3d6sv038mAFrih33DNXfNJYtWgSz4dGoQPewLaXSgvHIso0Ml1URibEZBHlqY+T/5MhoHRR/UFlK1h9HS4yYTH547UO3XwXR+Awyc9wFbpu/bDlFTzJZRUj9crc8hpkl/g1f0NljpXlhI/s7h29YndQHJt/mCLQ1KfMQhXiVpgKw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL1PR18MB4197.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(2906002)(38070700005)(76116006)(54906003)(86362001)(8676002)(122000001)(83380400001)(71200400001)(4326008)(53546011)(110136005)(26005)(66946007)(66476007)(66556008)(64756008)(9686003)(316002)(186003)(7696005)(508600001)(52536014)(8936002)(66446008)(5660300002)(38100700002)(33656002)(55016002)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K05KbUlWQVBDZit1MEw3QVpVaGlhQnZvT1RQMWNKV1NmQnc0cFcyM09kL2N5?= =?utf-8?B?TDdsMVV2Mlo2ckRxQTlaM0F5NUFBWFhZSkxzNDMrcjZONzVsUGhYenhmc3R5?= =?utf-8?B?RUQwRHY1YUpHa2UvU1V3bG44S3FRK1hsazN1TTBza291NTFNK0NIVEs1OUx6?= =?utf-8?B?eElzVDBIYUFleGo3R1RVaTRGL1BTdngvWHhQOUhzSEU5VDdEbUxyeUsxMUpJ?= =?utf-8?B?WVVReXNYWVc4Wk5YUlZtVW9ieWo2Ulhzd00vWXNXd256cTdQRG00S2dsQnRB?= =?utf-8?B?N2p4dEdMYzYxZlcrc3dGZ2drbVh3ejNDQ3ZlQlBzV3FHL0FUYjZrSlNKV1pH?= =?utf-8?B?ZVBUcXBzclRxSzBXMUUvZ29iU1VjSStMUkpXV01XM1BPaGsxWEcvVnVDNERs?= =?utf-8?B?VVVZOVljYWg3a1Z1THZ1S1NVUkFSUTZWQmlRakRmd3V2d1VuUU1DajlRQTda?= =?utf-8?B?YXoydG9ZSDNlQVBMenRqWmNyWkJYUmJhSVRDNmJHYnhxaG8rQVhvTGl2L3V1?= =?utf-8?B?Y0s1SURURTJmekdHUVM3MnFVNG45T1dPQy82L3hLaTMwM0ZVcU5aclJTbkFj?= =?utf-8?B?MU5SL1o3RjZabzRBQzBaWVRSQTVxTzd1eWRTUkxGamdldm5BNXN3a0g1aUor?= =?utf-8?B?VmJRaUczeXZDaCtxQVlyV3c5cnRxc1RvbmVBRmY0eVloeHluWnRjRHF4WTlN?= =?utf-8?B?M2dIb096SXBpYnBJNWJQbTJjbWlqQjJla096a2xydmlnWkJ0UWZxaXFVNU5E?= =?utf-8?B?UWFNb1ZjL3BlSnRpaEdrY2M0WE0zWHgrMlRxVGRCMUVMem1yWC9WTFJUYlEv?= =?utf-8?B?L1BrQ0hUaTFVN2tveTBJdEk4NExQcmJaWE03K3l0aTRpVEcxNDVKaHFIN0E5?= =?utf-8?B?M0paeWVXYjZvZnF1RVNFL0FIU3BNbHNOR3dnaThuVDFBakVHdVY5Y3NqOXZG?= =?utf-8?B?T1hPR1YvQWNPQnEzTzdzdFF3eTJyWGtKVUdMUm9GMmZQdUtLc0lUVjVCbFRk?= =?utf-8?B?cnd5TnRPUTA0Z3VEeVBYbHB0R01tOW1EeEhPY1piNGhCVDQwV3BBVVF5YURM?= =?utf-8?B?dkc0c05hL0VtU3I4ZGxpQ3RQVzZLdDB4MUtIQTZGWmpZU0s5dXNOckNXN3dj?= =?utf-8?B?Zmc3dnRnY25SK1JkS2ZjM3U5eDZNMU5jcmJ3U2N5Y0VrYmNsb1NZdFlsRE1F?= =?utf-8?B?anlkOXhvME1nQkFNZ0NrTGFTczBHQ0htOCtHNFM3NU1yd0dmM3V2c3N0eWNM?= =?utf-8?B?bDA0UUtURUwvMlZlMlJSNmVWQXl3N3Z3bGJGdjBnNDZyZFhyN211RHRrb1hz?= =?utf-8?B?Mkp2SmI3cXJMTFlqS1hYbzN1Skp2cDRFOXN5aFk4UG9lUmRRakQ5Yys3OTZn?= =?utf-8?B?TVNSRjBoVUlOWnBIdzVRZUwyV2x2VmNjemloOGJheHg1T3B2Y0h3TVVBd0JE?= =?utf-8?B?Wk9qY3dWRysxK2xxRnovWWdzdWpOQjk2dGtSNkFCaFc2Yzl3SGJLQk00WXZu?= =?utf-8?B?YVM3Q05hbEVaSmJXK3ZEVE9ITTNKNzRodmRMQks4ZjlFczFYZ2lDeDFMelIx?= =?utf-8?B?N1hFVVRFMHFNNkJzeEQrTGhZOXVJbXRoaWFnV0w0Q3prdWNKaVNCOFJ0THVj?= =?utf-8?B?L0JaaFhHM0ZsQVM2R0NQNGN6c2gzZXBDUE1UcUNrbVBaT3FuamNrV1ZsbnNw?= =?utf-8?B?TkZsZlp5TWxrOTJSb1dibEZZSHExc2ZuLzZkTGhWYmxHVEhqUk1KaUJqVy9H?= =?utf-8?Q?D4Ens0rNZX873of5TD9g+O0AYLssj315yuxSQAb?= x-ms-exchange-transport-forked: True 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: BL1PR18MB4197.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f848e125-ef44-4b8b-4adc-08d994acab7c X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Oct 2021 16:05:58.0637 (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: hkalra@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3246 X-Proofpoint-ORIG-GUID: gq2tDeHz758dnKDJGbBoG5eq6aUvvCR2 X-Proofpoint-GUID: gq2tDeHz758dnKDJGbBoG5eq6aUvvCR2 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-21_04,2021-10-21_02,2020-04-07_01 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v3 2/7] eal/interrupts: implement get set APIs 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" SGkgRG1pdHJ5LCBEYXZpZA0KDQpQbGVhc2UgZmluZCByZXNwb25zZXMgaW5saW5lLg0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5t YXJjaGFuZEByZWRoYXQuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgT2N0b2JlciAyMSwgMjAyMSA3 OjAzIFBNDQo+IFRvOiBEbWl0cnkgS296bHl1ayA8ZG1pdHJ5LmtvemxpdWtAZ21haWwuY29tPjsg SGFybWFuIEthbHJhDQo+IDxoa2FscmFAbWFydmVsbC5jb20+DQo+IENjOiBTdGVwaGVuIEhlbW1p bmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBUaG9tYXMNCj4gTW9uamFsb24gPHRo b21hc0Btb25qYWxvbi5uZXQ+OyBkZXZAZHBkay5vcmc7IFJheSBLaW5zZWxsYQ0KPiA8bWRyQGFz aHJvZS5ldT4NCj4gU3ViamVjdDogUmU6IFtFWFRdIFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MyAy LzddIGVhbC9pbnRlcnJ1cHRzOiBpbXBsZW1lbnQNCj4gZ2V0IHNldCBBUElzDQo+IA0KPiBPbiBU aHUsIE9jdCAyMSwgMjAyMSBhdCAyOjMzIFBNIERtaXRyeSBLb3pseXVrIDxkbWl0cnkua296bGl1 a0BnbWFpbC5jb20+DQo+IHdyb3RlOg0KPiA+ID4gSGkgQWxsLA0KPiA+ID4NCj4gPiA+IEkgY2Ft ZSBhY3Jvc3MgMiBpc3N1ZXMgaW50cm9kdWNlZCB3aXRoIGF1dG8gZGV0ZWN0aW9uIG1lY2hhbmlz bS4NCj4gPiA+IDEuIEluIGNhc2Ugb2YgcHJpbWFyeSBzZWNvbmRhcnkgbW9kZWwuICBQcmltYXJ5 IGFwcGxpY2F0aW9uIGlzDQo+ID4gPiBzdGFydGVkIHdoaWNoIG1ha2VzIGxvdHMgb2YgYWxsb2Nh dGlvbnMgdmlhDQo+ID4gPiBydGVfbWFsbG9jKg0KPiA+ID4NCj4gPiA+ICAgICBTZWNvbmRhcnkg c2lkZToNCj4gPiA+ICAgICBhLiBTZWNvbmRhcnkgc3RhcnRzLCBpbiBpdHMgInJ0ZV9lYWxfaW5p dCgpIiBpdCBtYWtlcyBzb21lDQo+ID4gPiBhbGxvY2F0aW9uIHZpYSBydGVfKiwgYW5kIGluIG9u ZSBvZiB0aGUgYWxsb2NhdGlvbiByZXF1ZXN0IGZvciBoZWFwIGV4cGFuZA0KPiBpcyBtYWRlIGFz IGN1cnJlbnQgbWVtc2VnIGdvdCBleGhhdXN0ZWQuIChtYWxsb2NfaGVhcF9hbGxvY19vbl9oZWFw X2lkDQo+ICgpLT4NCj4gPiA+ICAgIGFsbG9jX21vcmVfbWVtX29uX3NvY2tldCgpLT50cnlfZXhw YW5kX2hlYXAoKSkNCj4gPiA+ICAgIGIuIEEgcmVxdWVzdCB0byBwcmltYXJ5IGZvciBoZWFwIGV4 cGFuZCBpcyBzZW50LiBQbGVhc2Ugbm90ZQ0KPiA+ID4gc2Vjb25kYXJ5IGhvbGRzIHRoZSBzcGlu bG9jayB3aGlsZSBtYWtpbmcgdGhlIHJlcXVlc3QuDQo+ID4gPiAobWFsbG9jX2hlYXBfYWxsb2Nf b25faGVhcF9pZCAoKS0+cnRlX3NwaW5sb2NrX2xvY2soJihoZWFwLT5sb2NrKSk7KQ0KPiA+ID4N Cj4gPiA+ICAgIFByaW1hcnkgc2lkZToNCj4gPiA+ICAgIGEuIFByaW1hcnkgcmVjZWl2ZXMgdGhl IHJlcXVlc3QsIGluc3RhbGwgYSBuZXcgaHVnZXBhZ2UgYW5kIHNldHVwcyB1cA0KPiB0aGUgaGVh cCAoaGFuZGxlX2FsbG9jX3JlcXVlc3QoKSkNCj4gPiA+ICAgIGIuIFRvIGluZm9ybSBhbGwgdGhl IHNlY29uZGFyaWVzIGFib3V0IHRoZSBuZXcgbWVtc2VnLCBwcmltYXJ5DQo+ID4gPiBzZW5kcyBh IHN5bmMgbm90aWNlIHdoZXJlIGl0IHNldHMgdXAgYW4gYWxhcm0gKHJ0ZV9tcF9yZXF1ZXN0X2Fz eW5jICgpLQ0KPiA+bXBfcmVxdWVzdF9hc3luYygpKS4NCj4gPiA+ICAgIGMuIEluc2lkZSBhbGFy bSBzZXR1cCBBUEksIHdlIHJlZ2lzdGVyIGFuIGludGVycnVwdCBjYWxsYmFjay4NCj4gPiA+ICAg IGQuIEluc2lkZSBydGVfaW50cl9jYWxsYmFja19yZWdpc3RlcigpLCBhIG5ldyBpbnRlcnJ1cHQg aW5zdGFuY2UgYWxsb2NhdGlvbg0KPiBpcyByZXF1ZXN0ZWQgZm9yICJzcmMtPmludHJfaGFuZGxl Ig0KPiA+ID4gICAgZS4gU2luY2UgbWVtb3J5IG1hbmFnZW1lbnQgaXMgZGV0ZWN0ZWQgYXMgdXAs IGluc2lkZQ0KPiA+ID4gInJ0ZV9pbnRyX2luc3RhbmNlX2FsbG9jKCkiLCBjYWxsIHRvICJydGVf em1hbGxvYyIgZm9yIGFsbG9jYXRpbmcNCj4gPiA+IG1lbW9yeSBhbmQgZnVydGhlciBpbnNpZGUg Im1hbGxvY19oZWFwX2FsbG9jX29uX2hlYXBfaWQoKSIsIHByaW1hcnkNCj4gd2lsbCBleHBlcmll bmNlIGEgZGVhZGxvY2sgd2hpbGUgdGFraW5nIHVwIHRoZSBzcGlubG9jayBiZWNhdXNlIHRoaXMg c3BpbmxvY2sNCj4gaXMgYWxyZWFkeSBob2xkIGJ5IHNlY29uZGFyeS4NCj4gPiA+DQo+ID4gPg0K PiA+ID4gMi4gImVhbF9mbGFnc19maWxlX3ByZWZpeF9hdXRvdGVzdCIgaXMgZmFpbGluZyBiZWNh dXNlIHRoZSBzcGF3bmVkDQo+ID4gPiBwcm9jZXNzIGJ5IHRoaXMgdGVzdHMgYXJlIGV4cGVjdGVk IHRvIGNsZWFudXAgdGhlaXIgaHVnZXBhZ2UgdHJhY2VzIGZyb20NCj4gcmVzcGVjdGl2ZSBkaXJl Y3RvcmllcyAoZWcgL2Rldi9odWdlcGFnZSkuDQo+ID4gPiBhLiBJbnNpZGUgZWFsX2NsZWFudXAs IHJ0ZV9mcmVlKCktPm1hbGxvY19oZWFwX2ZyZWUoKSwgd2hlcmUgZWxlbWVudA0KPiA+ID4gdG8g YmUgZnJlZWQgaXMgYWRkZWQgdG8gdGhlIGZyZWUgbGlzdCBhbmQgY2hlY2tlZCBpZiBuZWFyYnkg ZWxlbWVudHMgY2FuDQo+IGJlIGpvaW5lZCB0b2dldGhlciBhbmQgZm9ybSBhIGJpZyBmcmVlIGNo dW5rIChtYWxsb2NfZWxlbV9mcmVlKCkpLg0KPiA+ID4gYi4gSWYgdGhpcyBmcmVlIGNodW5rIGlz IGJpZyBlbm91Z2ggdGhhbiB0aGUgaHVnZXBhZ2Ugc2l6ZSwNCj4gPiA+IHJlc3BlY3RpdmUgaHVn ZXBhZ2UgY2FuIGJlIHVuaW5zdGFsbGVkIGFmdGVyIG1ha2luZyBzdXJlIG5vDQo+ID4gPiBhbGxv Y2F0aW9uIGZyb20gdGhpcyBodWdlcGFnZSBleGlzdHMuDQo+ID4gPiAobWFsbG9jX2hlYXBfZnJl ZSgpLT5tYWxsb2NfaGVhcF9mcmVlX3BhZ2VzKCktDQo+ID5lYWxfbWVtYWxsb2NfZnJlZV9zZWcN Cj4gPiA+ICgpKQ0KPiA+ID4NCj4gPiA+IEJ1dCBiZWNhdXNlIG9mIGludGVycnVwdCBhbGxvY2F0 aW9ucyBtYWRlIGZvciBwY2kgaW50ciBoYW5kbGVzICh1c2VkDQo+ID4gPiBmb3IgVkZJTykgYW5k IG90aGVyIGRyaXZlciBzcGVjaWZpYyBpbnRlcnJ1cHQgaGFuZGxlcyBhcmUgbm90IGNsZWFuZWQg dXAgaW4NCj4gInJ0ZV9lYWxfY2xlYW51cCgpIiwgdGhlc2UgaHVnZXBhZ2UgZmlsZXMgYXJlIG5v dCByZW1vdmVkIGFuZCB0ZXN0IGZhaWxzLg0KPiA+DQo+ID4gU2FkIHRvIGhlYXIuIEJ1dCBpdCdz IGEgZ3JlYXQgYW5kIHRob3JvdWdoIGFuYWx5c2lzLg0KDQpTYWQgYnV0IGEgZ29vZCBsZWFybmlu ZywgYXRsZWFzdCB3ZSBpZGVudGlmaWVkIGFyZWFzIHRvIGJlIHdvcmtlZCB1cG9uLg0KDQo+ID4N Cj4gPiA+IFRoZXJlIGNvdWxkIGJlIG1vcmUgc3VjaCBpc3N1ZXMsIEkgdGhpbmsgd2Ugc2hvdWxk IGZpcnN0bHkgZml4IHRoZSBEUERLLg0KPiA+ID4gMS4gTWVtb3J5IG1hbmFnZW1lbnQgc2hvdWxk IGJlIG1hZGUgaW5kZXBlbmRlbnQgYW5kIHNob3VsZCBiZSB0aGUNCj4gPiA+IGZpcnN0IHRoaW5n IHRvIGNvbWUgdXAgaW4gcnRlX2VhbF9pbml0KCkNCj4gPg0KPiA+IEFzIEkgaGF2ZSBleHBsYWlu ZWQsIGJ1c2VzIG11c3QgYmUgYWJsZSB0byByZXBvcnQgSU9WQSByZXF1aXJlbWVudCBhdA0KPiA+ IHRoaXMgcG9pbnQgKGBnZXRfaW9tbXVfY2xhc3MoKWAgYnVzIG1ldGhvZCkuDQo+ID4gRWl0aGVy IGBzY2FuKClgIG11c3QgY29tcGxldGUgYmVmb3JlIHRoYXQgb3IgYGdldF9pb21tdV9jbGFzcygp YCBtdXN0DQo+ID4gYmUgYWJsZSB0byB3b3JrIGJlZm9yZSBgc2NhbigpYCBpcyBjYWxsZWQuDQo+ ID4NCj4gPiA+IDIuIHJ0ZV9lYWxfY2xlYW51cCgpIHNob3VsZCBiZSBleGFjdGx5IG9wcG9zaXRl IHRvIHJ0ZV9lYWxfaW5pdCgpLA0KPiA+ID4ganVzdCBsaWtlIGJ1c19wcm9iZSwgd2Ugc2hvdWxk IGhhdmUgYnVzX3JlbW92ZSB0byBjbGVhbiB1cCBhbGwgdGhlDQo+IG1lbW9yeSBhbGxvY2F0aW9u cy4NCj4gPg0KPiA+IFllcy4gRm9yIG1vc3QgYnVzZXMgaXQgd2lsbCBiZSBqdXN0ICJ1bnBsdWcg ZWFjaCBkZXZpY2UiLg0KPiA+IEluIGZhY3QsIEVBTCBjb3VsZCBkbyBpdCB3aXRoIGB1bnBsdWco KWAsIGJ1dCBpdCBpcyBub3QgbWFuZGF0b3J5Lg0KDQpJIGltcGxlbWVudGVkIGEgcm91Z2ggYnVz X3JlbW92ZSB3aGljaCB3YXMgc2ltaWxhciB0byB1bnBsdWcsIGZhY2VkDQpzb21lIGlzc3VlLiBO b3Qgc3VyZSBidXQgc29tZSBkcml2ZXJzIG1pZ2h0IG5vdCBiZSBzdXBwb3J0aW5nIGhvdHBsdWcs IGZvcg0KdGhlbSB1bnBsdWcgbWlnaHQgYmUgYSBjaGFsbGVuZ2UuDQoNCg0KPiA+DQo+ID4gPg0K PiA+ID4gUmVnYXJkaW5nIHRoaXMgSVJRIHNlcmllcywgSSB3b3VsZCBsaWtlIHRvIGZhbGwgYmFj ayB0byBvdXIgb3JpZ2luYWwNCj4gPiA+IGRlc2lnbiBpLmUuIHJ0ZV9pbnRyX2luc3RhbmNlX2Fs bG9jKCkgc2hvdWxkIHRha2UgYW4gYXJndW1lbnQgd2hldGhlciBpdHMNCj4gbWVtb3J5IHNob3Vs ZCBiZSBhbGxvY2F0ZWQgdXNpbmcgZ2xpYmMgbWFsbG9jIG9yIHJ0ZV9tYWxsb2MqLg0KPiA+DQo+ ID4gU2VlbXMgdGhlcmUncyBubyBvdGhlciBvcHRpb24gdG8gbWFrZSBpdCBvbiB0aW1lLg0KPiAN Cj4gLSBTb3JyeSwgbXkgbWVtb3J5IGlzIHRvbyBzaG9ydCwgZGlkIHdlIGRlc2NyaWJlIHdoZXJl IHdlIG5lZWQgdG8gc2hhcmUNCj4gcnRlX2ludHJfaGFuZGxlIG9iamVjdHM/DQoNCkludHIgaGFu ZGxlIG9iamVjdHMgYXJlIHNoYXJlZCBpbiB2ZXJ5IGZldyBkcml2ZXJzLg0KDQo+IA0KPiBJIHNw ZW50IHNvbWUgdGltZSBsb29raW5nIGF0IHVzZXMgb2YgcnRlX2ludHJfaGFuZGxlIG9iamVjdHMu DQo+IA0KPiBJbiBtYW55IGNhc2VzIGludHJfaGFuZGxlIG9iamVjdHMgYXJlIHJlZmVyZW5jZWQg aW4gbWFsbG9jKCkgb2JqZWN0cy4NCj4gVGhlIGNhc2VzIHdoZXJlIHJ0ZV9pbnRyX2hhbmRsZSBh cmUgc2hhcmVkIGlzIGluIHBlciBkZXZpY2UgcHJpdmF0ZSBiaXRzIGluDQo+IGRyaXZlcnMuDQo+ IA0KDQpZZXMsIGluIFYyIGRlc2lnbiBJIGFsbG9jYXRlZCBtZW1vcnkgdXNpbmcgZ2xpYmMgbWFs bG9jIGZvciBzdWNoIGluc3RhbmNlcyBieQ0KcGFzc2luZyByZXNwZWN0aXZlIGZsYWcuDQoNCj4g QSBpbnRyX2hhbmRsZSBvZnRlbiBjb250YWlucyBmZHMuDQo+IEZvciB0aGVtIHRvIGJlIHVzZWQg aW4gbXAgc2V0dXBzLCB0aGVyZSBuZWVkcyB0byBiZSBhIGJpZyBtYWNoaW5lcnkgd2l0aA0KPiBT Q01fUklHSFRTIGJ1dCBJIHNlZSBvbmx5IDMgZHJpdmVycyB3aGljaCBhY3R1YWxseSByZWZlcmVu Y2UgdGhpcy4NCj4gU28gaWYgaW50cl9oYW5kbGUgZmRzIGFyZSBhY2Nlc3NlZCBieSBtdWx0aXBs ZSBwcm9jZXNzZXMsIHRoZWlyIGNvbnRlbnQNCj4gcHJvYmFibHkgbWFrZXMgbm8gc2Vuc2Ugd3J0 IGZkcy4NCg0KVGhvc2UgZHJpdmVycyB3aWxsIGFsbG9jYXRlIHVzaW5nIFNIQVJFRCBmbGFnLg0K DQo+IA0KPiANCj4gRnJvbSB0aGVzZSB0d28gaGludHMsIEkgdGhpbmsgd2UgYXJlIGdvaW5nIGJh Y2t3YXJkcywgYW5kIHRoZSBtYWluIHVzZWNhc2UNCj4gaXMgdGhhdCB0aG9zZSBydGVfaW50cl9p bnN0YW5jZSBvYmplY3RzIGFyZSBub3QgdXNlZCBpbiBtcC4NCj4gSSBldmVuIHRoaW5rIHRoZXkg YXJlIG5ldmVyIGFjY2Vzc2VkIGZyb20gb3RoZXIgcHJvY2Vzc2VzLg0KPiBCdXQgSSBhbSBub3Qg c3VyZS4NCj4gDQo+IA0KPiAtIFNlZWluZyBob3cgdGltZSBpdCBzaG9ydCBmb3IgcmMxLCBJIGFt IG9rIHdpdGgNCj4gcnRlX2ludHJfaW5zdGFuY2VfYWxsb2MoKSB0YWtpbmcgYSBmbGFnIGFyZ3Vt ZW50Lg0KPiBBbmQgd2UgY2FuIHN0aWxsIGdvIGJhY2sgb24gdGhpcyBBUEkgbGF0ZXIuDQoNCg0K U3VyZSwgSSB3aWxsIHJldmVydCBiYWNrIHRvIG9yaWdpbmFsIGRlc2lnbiBhbmQgc2VuZCBWNSBi eSB0b21vcnJvdy4NCg0KPiANCj4gQ2FuIHdlIGFncmVlIG9uIHRoZSBmbGFnIG5hbWU/DQo+IHJ0 ZV9tYWxsb2MoKSBpbnRlcmVzdCBpcyB0aGF0IGl0IG1ha2VzIG9iamVjdHMgc2hhcmVkIGZvciBt cCwgc28gaG93IGFib3V0DQo+IFJURV9JTlRSX0lOU1RBTkNFX0ZfU0hBUkVEID8NCg0KWWVhaCwg aXQgc291bmRzIGdvb2Q6DQpSVEVfSU5UUl9JTlNUQU5DRV9GX1NIQVJFRCAgLSBydGVfbWFsbG9j DQpSVEVfSU5UUl9JTlNUQU5DRV9GX1BSSVZBVEUgLSBtYWxsb2MNCg0KDQpUaGFua3MgRGF2aWQs IERtaXRyeSwgVGhvbWFzLCBTdGVwaGFuIGZvciByZXZpZXdpbmcgdGhlIHNlcmllcyB0aG9yb3Vn aGx5IGFuZCBwcm92aWRpbmcNCmlucHV0cyB0byBpbXByb3Zpc2UgaXQuDQoNCg0KVGhhbmtzDQpI YXJtYW4NCg0KPiANCj4gDQo+IC0tDQo+IERhdmlkIE1hcmNoYW5kDQoNCg==