From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 05E81A0577; Tue, 14 Apr 2020 19:55:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2B5C51D519; Tue, 14 Apr 2020 19:55:12 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2040.outbound.protection.outlook.com [40.107.20.40]) by dpdk.org (Postfix) with ESMTP id B04491D513 for ; Tue, 14 Apr 2020 19:55:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OVGuJ3lDqaoOi5M6a5SKKAxsjCvwchRP1PhJ5+PKLFNb0n1kc9BLIQ8ApRwKT7CweCiScnfuK+GEbS4mi1vdvMD0k0TDRlE8BLcd5FynwYwwBd47tntLS4kPG9x5IoafLXUMwJHzn65my+n3pVX4wCblcl6gMDYU9HD+dnSifCwnv2i5KBn6dm4epL8O8kqrSy/vEk0YM5TLiI5KTOcLjxg5HPQ4K7neyIq3hS9mdG3+rPO3nPYpPqPX3VKQFfjK7Q+gOJsWK3pLPguwITslNfYWcg8mlx7ZqzHvNjAPG+loywoTHGu4iuOHuAxZyzY2mV6qcVaFUFaC0Vi0j8EapA== 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-SenderADCheck; bh=N0xWHkeHtGPn7zYcg0XFktO0QRKMfUqLFhvIlT8jWl0=; b=fB6mJZRdy5GEi/eNabmC8K6lUixaTyKj87hNhdQIbTZZa/pLYk3wx4EfZmBaYAtp+xnUMQFy9leSLUUqDcN3NShFesFGRcsaUfwTWq4nYHuJRu6W3hXX+vgxADu8XuypOHYDWK4OyS0Bdn4c5/LhHdMgms81n2LgtzstzNWYkC4RlJXUAImfZc5u/ejrKInDmbu0nA9sAvqQ8eMlHkMZV8KGs2HCZ2F7bLxC/DMvrTOfP6tjfHTTN+oWyPhUpcQEYmYpknM+LhonKxkpqslvcXY7wslwahRzm6Lqhw006BeOhlVrTxyblFtMtxPo3TsiheblR+Xl/UXhpmFE3GSgLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=N0xWHkeHtGPn7zYcg0XFktO0QRKMfUqLFhvIlT8jWl0=; b=Sabf5IgbDj3TZPqUy2tClajWfj0LvjZpUanMz6Xsz47/q4SsZdUg5CTUYbs+IDPeK6FGHVRNiFd8NujT4Owb3tsA3lyQke87Js0STmfAqszNN0UuPPh84ftMVtVSFlLwFoE0C3S4k5hiyc8WCEE/uzHWaeWRuwCO0zHj/EMEZi0= Received: from HE1PR07MB4284.eurprd07.prod.outlook.com (2603:10a6:7:9f::29) by HE1PR07MB3163.eurprd07.prod.outlook.com (2603:10a6:7:34::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.12; Tue, 14 Apr 2020 17:55:09 +0000 Received: from HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985]) by HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985%5]) with mapi id 15.20.2921.024; Tue, 14 Apr 2020 17:55:09 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Jerin Jacob CC: dpdk-dev , Jerin Jacob , Gage Eads , Bruce Richardson Thread-Topic: [dpdk-dev] [RFC 1/3] eventdev: allow for event devices requiring maintenance Thread-Index: AQHWDc8qQePCO9e9tkG0Nm+vhEXowahvnlsAgAEY2QCAABPbAIAACGwAgAGA5ICABnrTgIAABPgAgAAb4wA= Date: Tue, 14 Apr 2020 17:55:09 +0000 Message-ID: References: <20200408175655.18879-1-mattias.ronnblom@ericsson.com> <86ff8b8f-7865-7fe2-f853-e88d2a64347d@ericsson.com> <2d7196e0-9edf-5753-f834-0e231eb3de43@ericsson.com> <38d1df46-e520-1c40-c982-b59c0bbe0b32@ericsson.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=mattias.ronnblom@ericsson.com; x-originating-ip: [95.202.100.156] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 422e1b92-28d0-4898-05b9-08d7e09cf944 x-ms-traffictypediagnostic: HE1PR07MB3163: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0373D94D15 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR07MB4284.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(376002)(346002)(366004)(396003)(136003)(39860400002)(2906002)(6512007)(81156014)(86362001)(6486002)(31696002)(85202003)(66446008)(66476007)(4326008)(66556008)(186003)(26005)(64756008)(76116006)(2616005)(66946007)(5660300002)(478600001)(316002)(36756003)(6916009)(8936002)(85182001)(8676002)(66574012)(71200400001)(53546011)(6506007)(54906003)(31686004); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aO7CG9bfv7cGeExNzp3TTDIYFs2n/5bk2W/bmT3VoikQ4ZI2ohtRms0fRHaSGyK2VTgjsOycj4f6kS+QqcVHi1hQnSQMb+XYVd4nGzw+Ko3P85ZcZh/dG0qPQRCP29w8hNvG6hUsu2SBH1UPP/9cMoHRx7DFXbhlvlmzI8bSAdq8qmtE7LpbsbDdFW684wlLIz/q92EvTEInOGaZFVDXED/0k7K1aPVbFI6uTblfJNFaREZZebBZFktMhOuJoR58lNuO8QhOBdQ5OM/sbqnOX2rdaHrAxHijRYAmp3HaQu4R0BcWyzzxdJaegY5s2n9xhyad2kKqFEbHgzACnDlVO0pmlxc3fjt9xaC4DDL6pMuuv+XuNiFLC3HUiaZ/iHYsHs6vFTOw+dwVFacDdkhUXU0tcOObnjOZyP/Yq8NHal2Wi2zDiR5MjJgQgWoc5nbS x-ms-exchange-antispam-messagedata: 6jwvbKwKVPAU78NC4W5LTW6AnA0S05r5TVXio5VtyxlboFHsXXCry7YclWNSQYkviQbT5OS9UaZtPwuvGzJvfZAyBB11xMEK3pJSe3M/QAoONuxZhSJ1nG/hP6muyITYez2sEjuXInDpjg5Z9rYJvA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-Network-Message-Id: 422e1b92-28d0-4898-05b9-08d7e09cf944 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2020 17:55:09.6609 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nbVgXrr56EdBei4fp7k3Asz5bkOv/SrGzjnO+Az84rZwZytEVN/kH0igowhZOt6IqbP9af1/kasZWqfTCfabvv1jS4XdXfZXiucRsKW+QNY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB3163 Subject: Re: [dpdk-dev] [RFC 1/3] eventdev: allow for event devices requiring maintenance X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" T24gMjAyMC0wNC0xNCAxODoxNSwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIFR1ZSwgQXByIDE0 LCAyMDIwIGF0IDk6MjcgUE0gTWF0dGlhcyBSw7ZubmJsb20NCj4gPG1hdHRpYXMucm9ubmJsb21A ZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+IE9uIDIwMjAtMDQtMTAgMTU6MDAsIEplcmluIEphY29i IHdyb3RlOg0KPj4+IE9uIFRodSwgQXByIDksIDIwMjAgYXQgNzozMiBQTSBNYXR0aWFzIFLDtm5u YmxvbQ0KPj4+IDxtYXR0aWFzLnJvbm5ibG9tQGVyaWNzc29uLmNvbT4gd3JvdGU6DQo+Pj4+IE9u IDIwMjAtMDQtMDkgMTU6MzIsIEplcmluIEphY29iIHdyb3RlOg0KPj4+Pj4gT24gVGh1LCBBcHIg OSwgMjAyMCBhdCA1OjUxIFBNIE1hdHRpYXMgUsO2bm5ibG9tDQo+Pj4+PiA8bWF0dGlhcy5yb25u YmxvbUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPj4+Pj4+IE9uIDIwMjAtMDQtMDggMjE6MzYsIEpl cmluIEphY29iIHdyb3RlOg0KPj4+Pj4+PiBPbiBXZWQsIEFwciA4LCAyMDIwIGF0IDExOjI3IFBN IE1hdHRpYXMgUsO2bm5ibG9tDQo+Pj4+Pj4+IDxtYXR0aWFzLnJvbm5ibG9tQGVyaWNzc29uLmNv bT4gd3JvdGU6DQo+Pj4+Pj4+PiBFeHRlbmQgRXZlbnRkZXYgQVBJIHRvIGFsbG93IGZvciBldmVu dCBkZXZpY2VzIHdoaWNoIHJlcXVpcmUgdmFyaW91cw0KPj4+Pj4+Pj4gZm9ybXMgb2YgaW50ZXJu YWwgcHJvY2Vzc2luZyB0byBoYXBwZW4sIGV2ZW4gd2hlbiBldmVudHMgYXJlIG5vdA0KPj4+Pj4+ Pj4gZW5xdWV1ZWQgdG8gb3IgZGVxdWV1ZWQgZnJvbSBhIHBvcnQuDQo+Pj4+Pj4+Pg0KPj4+Pj4+ Pj4gU2lnbmVkLW9mZi1ieTogTWF0dGlhcyBSw7ZubmJsb20gPG1hdHRpYXMucm9ubmJsb21AZXJp Y3Nzb24uY29tPg0KPj4+Pj4+Pj4gLS0tDQo+Pj4+Pj4+PiAgICAgIGxpYi9saWJydGVfZXZlbnRk ZXYvcnRlX2V2ZW50ZGV2LmggICAgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ Pj4+Pj4+ICAgICAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1kLmggfCAxNCAr KysrKysNCj4+Pj4+Pj4+ICAgICAgMiBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspDQo+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2 ZW50ZGV2LmggYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+Pj4+Pj4+PiBp bmRleCAyMjZmMzUyYWQuLmQ2OTE1MDc5MiAxMDA2NDQNCj4+Pj4+Pj4+IC0tLSBhL2xpYi9saWJy dGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmgNCj4+Pj4+Pj4+ICsrKyBiL2xpYi9saWJydGVfZXZl bnRkZXYvcnRlX2V2ZW50ZGV2LmgNCj4+Pj4+Pj4+IEBAIC0yODksNiArMjg5LDE1IEBAIHN0cnVj dCBydGVfZXZlbnQ7DQo+Pj4+Pj4+PiAgICAgICAqIHNpbmdsZSBxdWV1ZSB0byBlYWNoIHBvcnQg b3IgbWFwIGEgc2luZ2xlIHF1ZXVlIHRvIG1hbnkgcG9ydC4NCj4+Pj4+Pj4+ICAgICAgICovDQo+ Pj4+Pj4+Pg0KPj4+Pj4+Pj4gKyNkZWZpbmUgUlRFX0VWRU5UX0RFVl9DQVBfUkVRVUlSRVNfTUFJ TlQgKDFVTEwgPDwgOSkNCj4+Pj4+Pj4+ICsvKio8IEV2ZW50IGRldmljZSByZXF1aXJlcyBjYWxs cyB0byBydGVfZXZlbnRfbWFpbnRhaW4oKSBkdXJpbmcNCj4+Pj4+Pj4gVGhpcyBzY2hlbWUgd291 bGQgY2FsbCBmb3IgRFNXIHNwZWNpZmljIEFQSSBoYW5kbGluZyBpbiBmYXN0cGF0aC4NCj4+Pj4+ PiBJbml0aWFsbHkgdGhpcyB3b3VsZCBiZSBzbywgYnV0IGJ1ZmZlcmluZyBldmVudHMgbWlnaHQg eWllbGQgcGVyZm9ybWFuY2UNCj4+Pj4+PiBiZW5lZml0cyBmb3IgbW9yZSBldmVudCBkZXZpY2Vz IHRoYW4gRFNXLg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiBJbiBhbiBhcHBsaWNhdGlvbiwgaXQn cyBvZnRlbiBjb252ZW5pZW50LCBidXQgc3ViLW9wdGltYWwgZnJvbSBhDQo+Pj4+Pj4gcGVyZm9y bWFuY2UgcG9pbnQgb2YgdmlldywgdG8gZG8gc2luZ2xlLWV2ZW50IGVucXVldWUgb3BlcmF0aW9u cy4gVGhlDQo+Pj4+Pj4gYWx0ZXJuYXRpdmUgaXMgdG8gdXNlIGFuIGFwcGxpY2F0aW9uLWxldmVs IGJ1ZmZlciwgYW5kIHRoZSBmbHVzaCB0aGlzDQo+Pj4+Pj4gYnVmZmVyIHdpdGggcnRlX2V2ZW50 X2VucXVldWVfYnVyc3QoKS4gSWYgeW91IGFsbG93IHRoZSBldmVudCBkZXZpY2UgdG8NCj4+Pj4+ PiBidWZmZXIsIHlvdSBnZXQgdGhlIHNpbXBsaWNpdHkgb2Ygc2luZ2xlLWV2ZW50IGVucXVldWUg b3BlcmF0aW9ucywgYnV0DQo+Pj4+Pj4gd2l0aG91dCB0YWtpbmcgYW55IG5vdGljZWFibGUgcGVy Zm9ybWFuY2UgaGl0Lg0KPj4+Pj4gSU1PLCBJdCBpcyBiZXR0ZXIgdG8gYWdncmVnYXRlIHRoZSBi dXJzdCBieSB0aGUgYXBwbGljYXRpb24sICBhcyBzZW5kaW5nDQo+Pj4+PiBldmVudCBieSBldmVu dCB0byB0aGUgZHJpdmVyIHRvIGFnZ3JlZ2F0ZSBoYXMgcGVyZm9ybWFuY2UgZHVlIHRvIGNvc3QN Cj4+Pj4+IGZ1bmN0aW9uIHBvaW50ZXIgb3ZlcmhlYWQuDQo+Pj4+IFRoYXQncyBhIHZlcnkgc2xp Z2h0IG92ZXJoZWFkIC0gYnV0IGZvciBvcHRpbWFsIHBlcmZvcm1hbmNlLCBzdXJlLiBJdCdsbA0K Pj4+PiBjb21lIGF0IGEgY29zdCBpbiB0ZXJtcyBvZiBjb2RlIGNvbXBsZXhpdHkuIEp1c3QgbG9v ayBhdCB0aGUgYWRhcHRlcnMuDQo+Pj4+IFRoZXkgZG8gdGhpcyBhbHJlYWR5LiBJIHRoaW5rIHNv bWUgYXBwbGljYXRpb25zIGFyZSByZWFkeSB0byB0YWtlIHRoZQ0KPj4+PiBleHRyYSA1LTEwIGNs b2NrIGN5Y2xlcyBvciBzbyBpdCdsbCBjb3N0IHRoZW0gdG8gZG8gdGhlIGZ1bmN0aW9uIGNhbGwN Cj4+Pj4gKHByb3ZpZGVkIHRoZSBldmVudCBkZXZpY2UgaGFkIGJ1ZmZlcmluZyBzdXBwb3J0KS4N Cj4+PiBTbyBJcyB0aGVyZSBhbnkgYWR2YW50YWdlIG9mIG1vdmluZyBhZ2dyZWdhdGlvbiBsb2dp YyB0byBQTUQ/IGl0IGlzIGNvc3RseS4NCj4+DQo+PiBXaGF0IGRvIHlvdSBtZWFuIGJ5IGFnZ3Jl Z2F0aW9uIGxvZ2ljPw0KPiBhZ2dyZWdhdGlvbiA9PSBidWZmZXJpbmcuDQoNCg0KVGhlIHJlYXNv biBJIHB1dCBpdCBpbnRvIERTVyB0byBiZWdpbiB3aXRoIHdhcyB0aGF0IGl0IHlpZWxkZWQgYSAN CnNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGJlbmVmaXQsIGZvciBzaXR1YXRpb25zIHdoZXJlIHRo ZSBhcHBsaWNhdGlvbiANCndvdWxkIGVucXVldWUoKSBmZXcgb3IgZXZlbiBzaW5nbGUgZXZlbnRz IHBlciBjYWxsLiBGb3IgRFNXIGl0IHdpbGwgDQp0cmFuc2xhdGUgdG8gbG93ZXIgRFBESyBldmVu dCByaW5nIG92ZXJoZWFkLiBJIHdvdWxkIGltYWdpbmUgaXQgY291bGQgDQppbXByb3ZlIHBlcmZv cm1hbmNlIGZvciBoYXJkd2FyZS1iYXNlZCBldmVudCBkZXZpY2VzIGFzIHdlbGwuDQoNCg0KPj4N Cj4+Pj4+IEFub3RoZXIgY29uY2VybiBpcyB0aGUgZnJlcXVlbmN5IG9mIGNhbGxpbmcgcnRlX2V2 ZW50X21haW50YWluKCkgZnVuY3Rpb24gYnkNCj4+Pj4+IHRoZSBhcHBsaWNhdGlvbiwgYXMgdGhl IHRpbWluZyByZXF1aXJlbWVudHMgd2lsbCB2YXJ5IGRpZmZlcmVudGx5IGJ5DQo+Pj4+PiB0aGUg ZHJpdmVyIHRvIGRyaXZlciBhbmQgYXBwbGljYXRpb24gdG8gYXBwbGljYXRpb24uDQo+Pj4+PiBJ TU8sIEl0IGlzIG5vdCBwb3J0YWJsZSBhbmQgSSBiZWxpZXZlIHRoZSBhcHBsaWNhdGlvbiBzaG91 bGQgbm90IGJlDQo+Pj4+PiBhd2FyZSBvZiB0aG9zZSBkZXRhaWxzLiBJZiB0aGUgZHJpdmVyIG5l ZWRzIHNwZWNpZmljIG1haW50ZW5hbmNlDQo+Pj4+PiBmdW5jdGlvbiBmb3IgYW55IG90aGVyIHJl YXNvbiB0aGVuIGJldHRlciB0byB1c2UgRFBESyBTRVJWSUNFIGNvcmUgaW5mcmEuDQo+Pj4+IFRo ZSBvbmx5IHRoaW5nIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBiZSBhd2FyZSBvZiwgaXMgdGhh dCBpdCBuZWVkcyB0bw0KPj4+PiBjYWxsIHJ0ZV9ldmVudF9tYWludGFpbigpIGFzIG9mdGVuIGFz IGl0IHdvdWxkIGhhdmUgY2FsbGVkIGRlcXVldWUoKSBpbg0KPj4+PiB5b3VyICJ0eXBpY2FsIHdv cmtlciIgZXhhbXBsZS4gVG8gbWFrZSBzdXJlIHRoaXMgY2FsbCBpcyBjaGVhcC1lbm91Z2ggaXMN Cj4+Pj4gdXAgdG8gdGhlIGRyaXZlciwgYW5kIHRoaXMgbmVlZHMgdG8gaG9sZCB0cnVlIGZvciBh bGwgZXZlbnQgZGV2aWNlcyB0aGF0DQo+Pj4+IG5lZWRzIG1haW50ZW5hbmNlLg0KPj4+IFdoeSBu b3QgcnRlX2V2ZW50X21haW50YWluKCkgY2FuJ3QgZG8gZWl0aGVyIGluIGRlcXVldWUoKSBvciBl bnF1ZXVlKCkNCj4+PiBpbiB0aGUgZHJpdmVyIGNvbnRleHQ/IEVpdGhlciBvbmUgb2YgdGhlbSBo YXMgdG8gYmUgY2FsbGVkDQo+Pj4gcGVyaW9kaWNhbGx5IGJ5IGFwcGxpY2F0aW9uDQo+Pj4gaW4g YW55IGNhc2U/DQo+Pg0KPj4gTm8sIHByb2R1Y2VyLW9ubHkgcG9ydHMgY2FuIGdvIGlkbGUgZm9y IGxvbmcgdGltZXMuIEZvciBhcHBsaWNhdGlvbnMNCj4+IHRoYXQgZG9uJ3QgImdvIGlkbGUiIG5l ZWQgbm90IHdvcnJ5IGFib3V0IHRoZSBtYWludGFpbiBmdW5jdGlvbi4NCj4gSWYgSSB1bmRlcnN0 YW5kIGl0IGNvcnJlY3RseSwgSWYgdGhlIHdvcmtlciBkb2VzIG5vdCBjYWxsIGVucXVldWUoKSBv ciBkZXF1ZXVlKCkNCj4gZm9yIGEgbG9uZyB0aW1lIHRoZW4gbWFpbnRhaW4oKSBuZWVkcyB0byBi ZSBjYWxsZWQgYnkgdGhlIGFwcGxpY2F0aW9uLg0KPg0KPiBUaGF0J3Mgd2hlcmUgSSBjb25jZXJu IHdpdGggdGhpcyBBUEkuIFdoYXQgaXMgdGhlIGRlZmluaXRpb24gb2YgbG9uZw0KPiB0aW1lIGZy YW1lPyhucyBvciB0aWNrcz8pDQo+IFdpbGwgaXQgYmUgY2hhbmdpbmcgZHJpdmVyIHRvIGRyaXZl ciBhbmQgYXJjaCB0byBhcmNoPyBBbmQgaXQgaXMNCj4gbGVha2luZyB0aGUgZHJpdmVyIHJlcXVp cmVtZW50cyB0byB0aGUgYXBwbGljYXRpb24uDQo+DQoNCkl0J3MgZGlmZmljdWx0IHRvIHF1YW50 aWZ5IGV4YWN0bHksIGJ1dCB0aGUgcmF0ZSBzaG91bGQgYmUgb24gdGhlIHNhbWUgDQpvcmRlciBv ZiBtYWduaXR1ZGUgYXMgeW91IHdvdWxkIGNhbGwgZGVxdWV1ZSgpIG9uIGEgY29uc3VtZXItdHlw ZSB3b3JrZXIgDQpwb3J0LiBBbGwgdGhlIFJURV9FVkVOVF9ERVZfQ0FQXyogYXJlIGVzc2VudGlh bGx5IHJlcHJlc2VudHMgc3VjaCANCmxlYWthZ2UsIHdoZXJlIHRoZSBldmVudCBkZXZpY2UgZHJp dmVyIGFuZC9vciB0aGUgdW5kZXJseWluZyBoYXJkd2FyZSANCmV4cHJlc3MgdmFyaW91cyBjYXBh YmlsaXRpZXMgYW5kIGxpbWl0YXRpb25zLg0KDQoNCkknbSBub3Qgc3VyZSBpdCBuZWVkcyB0byBi ZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgZm9yIHRoZSBhcHBsaWNhdGlvbiB0byANCmhhbmRsZSB0 aGFuIHRoZSBjaGFuZ2UgdG8gdGhlIGV2ZW50IGFkYXB0ZXJzIEkgaW5jbHVkZWQgaW4gdGhlIHBh dGNoLiANClRoZXJlLCBpdCBib2lscyBkb3duIHRoZSBzZXJ2aWNlIGZ1bmN0aW9uIGNhbGwgcmF0 ZSwgd2hpY2ggd291bGQgYmUgaGlnaCANCmR1cmluZyBsb3cgbG9hZCAoY2F1c2luZyBidWZmZXJz IHRvIGJlIGZsdXNoIHF1aWNrbHkgZXRjKSwgYW5kIGEgbGl0dGxlIA0KbG93ZXIgZHVyaW5nIGhp Z2ggbGNvcmUgbG9hZC4NCg0KDQo+Pg0KPj4+PiBJZiB5b3UgcGxhbiB0byB1c2UgYSBub24tYnVm ZmVyaW5nIGhhcmR3YXJlIGRldmljZSBkcml2ZXIgb3IgYSBzb2Z0LA0KPj4+PiBjZW50cmFsaXpl ZCBzY2hlZHVsZXIgdGhhdCBkb2Vzbid0IG5lZWQgdGhpcywgaXQgd2lsbCBhbHNvIG5vdCBzZXQg dGhlDQo+Pj4+IGZsYWcsIGFuZCB0aHVzIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyBub3QgY2FyZSBh Ym91dCB0aGUNCj4+Pj4gcnRlX2V2ZW50X21haW50YWluKCkgZnVuY3Rpb24uIERQREsgY29kZSBz dWNoIGFzIHRoZSBldmVudGRldiBhZGFwdGVycw0KPj4+PiBkbyBuZWVkIHRvIGNhcmUsIGJ1dCB0 aGUgaW5jcmVhc2UgaW4gY29tcGxleGl0eSBpcyBzbGlnaHQsIGFuZCB0aGUgY29zdA0KPj4+PiBv ZiBjYWxsaW5nIHJ0ZV9tYWludGFpbl9ldmVudCgpIG9uIGEgbWFpbnRlbmFuY2UtZnJlZSBkZXZp Y2VzIGlzIHZlcnkNCj4+Pj4gbG93IChzaW5jZSB0aGUgdGhlbi1OVUxMIGZ1bmN0aW9uIHBvaW50 ZXIgaXMgaW4gdGhlIGV2ZW50ZGV2IHN0cnVjdCwNCj4+Pj4gbGlrZWx5IG9uIGEgY2FjaGUtbGlu ZSBhbHJlYWR5IGRyYWdnZWQgaW4pLg0KPj4+Pg0KPj4+Pg0KPj4+PiBVbmZvcnR1bmF0ZWx5LCBE UERLIGRvZXNuJ3QgaGF2ZSBhIHBlci1jb3JlIGRlbGF5ZWQtd29yayBtZWNoYW5pc20uDQo+Pj4+ IEZsdXNoaW5nIGV2ZW50IGJ1ZmZlcnMgKGFuZCBvdGhlciBEU1cgImJhY2tncm91bmQgd29yayIp IGNhbid0IGJlIGRvbmUNCj4+Pj4gb24gYSBzZXJ2aWNlIGNvcmUsIHNpbmNlIHRoZXkgd291bGQg d29yayBvbiBub24tTVQtc2FmZSBkYXRhIHN0cnVjdHVyZXMNCj4+Pj4gb24gdGhlIHdvcmtlciB0 aHJlYWQncyBldmVudCBwb3J0cy4NCj4+PiBZZXMuIE90aGVyd2lzZSwgRFNXIG5lZWRzIHRvIHVw ZGF0ZSB0byBzdXBwb3J0IE1UIHNhZmUuDQo+Pg0KPj4gSSBoYXZlbid0IGJlZW4gbG9va2luZyBh dCB0aGlzIGluIGRldGFpbCwgYnV0IEkgc3VzcGVjdCBpdCB3aWxsIGJlIGJvdGgNCj4+IGNvbXBs ZXggYW5kIG5vdCB2ZXJ5IHBlcmZvcm1hbnQuIE9uZSBvZiBwcm9ibGVtcyB0aGF0IG5lZWQgdG8g YmUgc29sdmVkDQo+PiBpbiBzdWNoIGEgc29sdXRpb24sIGlzIHRoZSAicGF1c2luZyIgb2YgZmxv d3MgZHVyaW5nIG1pZ3JhdGlvbi4gQWxsDQo+PiBwYXJ0aWNpcGF0aW5nIGxjb3JlcyBuZWVkcyB0 byBBQ0sgdGhhdCBhIGZsb3cgaXMgcGF1c2VkLg0KPiBDb3VsZCB5b3Ugc2hhcmUgdGhlIHBhdGNo IG9uIHRoZSBkZXRhaWxzIG9uIGhvdyBtdWNoIGl0IGNvc3RzPw0KDQoNCkkgZG9uJ3QgaGF2ZSBh IHJlYWR5LW1hZGUgc29sdXRpb24gZm9yIG1ha2luZyBsY29yZSBwb3J0cyB0aHJlYWQtc2FmZS4N Cg0KDQo+DQo+Pg0KPj4+Pj4+Pj4gKyAqIHBlcmlvZHMgd2hlbiBuZWl0aGVyIHJ0ZV9ldmVudF9k ZXF1ZXVlX2J1cnN0KCkgbm9yDQo+Pj4+Pj4+IFRoZSB0eXBpY2FsIHdvcmtlciB0aHJlYWQgd2ls bCBiZQ0KPj4+Pj4+PiB3aGlsZSAoMSkgew0KPj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgIHJ0 ZV9ldmVudF9kZXF1ZXVlX2J1cnN0KCk7DQo+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgIC4u cHJvZXNzLi4NCj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICBydGVfZXZlbnRfZW5xdWV1ZV9i dXJzdCgpOw0KPj4+Pj4+PiB9DQo+Pj4+Pj4+IElmIHNvLCBXaHkgRFNXIGRyaXZlciBjYW4ndCBk byB0aGUgbWFpbnRlbmFuY2UgaW4gZHJpdmVyIGNvbnRleHQgaW4NCj4+Pj4+Pj4gZGVxdWV1ZSgp IGNhbGwuDQo+Pj4+Pj4+DQo+Pj4+Pj4gRFNXIGFscmVhZHkgZG9lcyBtYWludGVuYW5jZSBvbiBk ZXF1ZXVlLCBhbmQgd29ya3Mgd2VsbCBpbiB0aGUgYWJvdmUNCj4+Pj4+PiBzY2VuYXJpby4gVGhl IHR5cGljYWwgd29ya2VyIGRvZXMgbm90IG5lZWQgdG8gY2FyZSBhYm91dCB0aGUNCj4+Pj4+PiBy dGVfZXZlbnRfbWFpbnRhaW4oKSBmdW5jdGlvbnMsIHNpbmNlIGl0IGRlcXVldWVzIGV2ZW50cyBv biBhIHJlZ3VsYXIgYmFzaXMuDQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IFdoYXQgdGhpcyBSRkMg YWRkcmVzc2VzIGlzIHRoZSBtb3JlIGF0eXBpY2FsIChidXQgc3RpbGwgZmFpcmx5IGNvbW1vbikN Cj4+Pj4+PiBjYXNlIG9mIGEgcG9ydCBiZWluZyBuZWl0aGVyIGRlcXVldWVkIHRvIG9yIGVucXVl dWVkIGZyb20gb24gYSByZWd1bGFyDQo+Pj4+Pj4gYmFzaXMuIFRoZSB0aW1lciBhbmQgZXRoZXJu ZXQgcnggYWRhcHRlcnMgYXJlIGV4YW1wbGVzIG9mIHN1Y2guDQo+Pj4+PiBJZiBpdCBpcyBhbiBB ZGFwdGVyIHNwZWNpZmljIHVzZSBjYXNlIHByb2JsZW0gdGhlbiBtYXliZSwgd2UgaGF2ZQ0KPj4+ Pj4gYW4gb3B0aW9uIHRvIGZpeCB0aGUgcHJvYmxlbSBpbiBhZGFwdGVyIHNwZWNpZmljIEFQSSB1 c2FnZSBvciBpbiB0aGF0IGFyZWEuDQo+Pj4+Pg0KPj4+PiBJdCdzIG5vdCBhZGFwdGVyIHNwZWNp ZmljLCBJIHRoaW5rLiBUaGVyZSBtaWdodCBiZSBwcm9kdWNlci1vbmx5IHBvcnRzLA0KPj4+PiBm b3IgZXhhbXBsZSwgd2hpY2ggZG9lc24ndCBwcm92aWRlIGEgY29uc3RhbnQgc3RyZWFtIG9mIGV2 ZW50cywgYnV0DQo+Pj4+IHJhdGhlciBpbnRlcm1pdHRlbnQgYnVyc3RzLiBBIHRyYWZmaWMgZ2Vu ZXJhdG9yIGlzIG9uZSBleGFtcGxlIG9mIHN1Y2gNCj4+Pj4gYW4gYXBwbGljYXRpb24sIGFuZCB0 aGVyZSBtaWdodCBiZSBvdGhlciwgbGVzcyBzeW50aGV0aWMgb25lcyBhcyB3ZWxsLg0KPj4+IElu IHRoYXQgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIGtub3dzIHRoZSBwdXJwb3NlIG9mIHRoZSBldmVu dGRldiBwb3J0Lg0KPj4+IElzIGNoYW5naW5nIGV2ZW50ZGV2IHNwZWMgdG8gY29uZmlndXJlICJw b3J0IiBvciAicXVldWUiIGZvciB0aGF0IHVzZQ0KPj4+IGNhc2UgaGVscD8gTWVhbmluZywgRFNX IG9yDQo+Pj4gQW55IGRyaXZlciBjYW4gZ2V0IHRoZSBoaW50IGFuZCBjaGFuZ2UgdGhlIGZ1bmN0 aW9uIHBvaW50ZXJzDQo+Pj4gYWNjb3JkaW5nbHkgZm9yIGZhc3RwYXRoLg0KPj4+IEZvciBpbnN0 YW5jZSwgZG8gbWFpbnRlbmFuY2Ugb24gZW5xdWV1ZSgpIGZvciBzdWNoIHBvcnRzIG9yIHNvLg0K Pj4NCj4+IFRoaXMgaXMgd2hhdCBEU1cgZG9lcyBhbHJlYWR5IHRvZGF5LiBBIGRlcXVldWUoKSBj YWxsIHdpdGggYSB6ZXJvLWxlbmd0aA0KPj4gZXZlbnQgYXJyYXkgc2VydmVzIHRoZSBwdXJwb3Nl IG9mIHJ0ZV9ldmVudF9tYWludGFpbigpLiBJdCdzIGEgYml0IG9mIGENCj4+IGhhY2ssIGluIG15 IG9waW5pb24uDQo+IEkgYWdyZWUgdGhhdCBpdCBpcyB0aGUgaGFjay4NCj4NCj4gT25lIG1vcmUg Y29uY2VybiB3ZSBoYXZlIHdlIGFyZSBhZGRpbmcgQVBJIGZvciB0aGUgbmV3IGRyaXZlciByZXF1 aXJlbWVudHMgYW5kDQo+IG5vdCB1cGRhdGluZyB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4gU2hh cmluZyB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbg0KPiBwYXRjaCB3b3VsZA0KPiBlbmFibGUgdXMg dG8gdW5kZXJzdGFuZCB0aGUgY29zdCBhbmQgdXNhZ2UuKGkuZSBDb3N0IHdydCB0byBvdGhlciBT VyBkcml2ZXJzKQ0KDQoNCkdvb2QgcG9pbnQuDQoNCg0KDQo+DQo+Pg0KPj4+Pj4+Pj4gKyAqIHJ0 ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KCkgYXJlIGNhbGxlZCBvbiBhIHBvcnQuIFRoaXMgd2lsbCBh bGxvdyB0aGUNCj4+Pj4+Pj4+ICsgKiBldmVudCBkZXZpY2UgdG8gcGVyZm9ybSBpbnRlcm5hbCBw cm9jZXNzaW5nLCBzdWNoIGFzIGZsdXNoaW5nDQo+Pj4+Pj4+PiArICogYnVmZmVyZWQgZXZlbnRz LCByZXR1cm4gY3JlZGl0cyB0byBhIGdsb2JhbCBwb29sLCBvciBwcm9jZXNzDQo+Pj4+Pj4+PiAr ICogc2lnbmFsaW5nIHJlbGF0ZWQgdG8gbG9hZCBiYWxhbmNpbmcuDQo+Pj4+Pj4+PiArICovDQo+ Pg0KDQo=