From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id DACCBA0C46;
	Tue, 31 Aug 2021 14:34:58 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 9DB534013F;
	Tue, 31 Aug 2021 14:34:58 +0200 (CEST)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 (mail-eopbgr40068.outbound.protection.outlook.com [40.107.4.68])
 by mails.dpdk.org (Postfix) with ESMTP id B941C40041
 for <dev@dpdk.org>; Tue, 31 Aug 2021 14:34:56 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f6mvalC+Szbm3KvujssYxPqCqqU2mYp/yzS7XXv9CbvDlrxInw2VoXWuJ0HdvZilUhuhztBDK4OmZZvcVLdI156XVj8Q4xMFdH5U4FDc7+qjZJOY38GzWT06X3pfQemUxLDkdDcffmqjAC7ajSdSrtsD4DDC+fTNp/6DWqXlQ1N5JH9IBTroIbGOT7tLSvj4WyrUzwceRd2GUbjrp5FFtaZM8fnYplngZgipaYQ5DR+yg1Ifp5nXZ5o7Xch/iIWFMdPe3HQuqfik6928QWpEHHk085ZbPWahD5sYSct/dVK3pqkXUoH3OKuCYVWi/5+8RmWwoENRnJf2tysNz3+0TA==
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; 
 bh=0brBFrEeqw2lVAaIEAIC1hgPWRmbptBmqN1M8gV02ss=;
 b=CiavURE1EYx6C20hbgPCip+uiR4sOY3gnckTVeIXaXnA0xqZcHLjvXf/8pzH9KqTMmrqJ9swTzvqIHeArdv0M5SD4CyBmliKqGY01FDbzcFsNypaITuYtUkSaG+2uJwA2HYOMWhGbMhNsuVG2MuIH4U2hogK/TAZ2GVnP0PuMJ6UGg/LwOIf5M6wsXzWN66h8EQzXbg71v99tL+EpvveUx0fuQMVSBJ/PRZk5ZExLmVgYIU2DBq4k0w2BYTXtadGDpWjhjXDqcrfRc3ykwOwCN7bo9VypoceGIaGT2ZLb+xtaaOubE69EwYf8WkysfP7zS1D+WxXU9WZuGdfFF1nXA==
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=0brBFrEeqw2lVAaIEAIC1hgPWRmbptBmqN1M8gV02ss=;
 b=ZDheBy7pyGSEQrDmLx7I2SZy83yUfa1TqrXxpjLeto78UwUOYfIYs3CP+wYEE5JG9c2HExIVy66jLAaQWfrW68umhzkEHkCyAZk5PbJhG53sRipwvDlYq4/VuDbr0y7p3yE1fEOG6PVxAvKtHzhZtJMSZuH+VKvty8ScS9zb9A8=
Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15)
 by DB7PR07MB5625.eurprd07.prod.outlook.com (2603:10a6:10:7d::30) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.15; Tue, 31 Aug
 2021 12:34:55 +0000
Received: from DB7PR07MB5978.eurprd07.prod.outlook.com
 ([fe80::ec68:26a5:1e31:f400]) by DB7PR07MB5978.eurprd07.prod.outlook.com
 ([fe80::ec68:26a5:1e31:f400%7]) with mapi id 15.20.4478.017; Tue, 31 Aug 2021
 12:34:55 +0000
From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= <mattias.ronnblom@ericsson.com>
To: Jerin Jacob <jerinjacobk@gmail.com>
CC: Jerin Jacob <jerinj@marvell.com>, Pavan Nikhilesh
 <pbhagavatula@marvell.com>, dpdk-dev <dev@dpdk.org>, Bogdan Tanasa
 <bogdan.tanasa@ericsson.com>
Thread-Topic: [dpdk-dev] [RFC] eventdev: uninline inline API functions
Thread-Index: AQHXnbgySBLB5381yUKWVbELNVW3DKuNjBUAgAABrQA=
Date: Tue, 31 Aug 2021 12:34:55 +0000
Message-ID: <af045cd0-6b6c-b595-fe91-d9f3f73fc227@ericsson.com>
References: <316159da-d56d-7a25-00e5-c2004f4e77f7@ericsson.com>
 <20210830160020.3225-1-mattias.ronnblom@ericsson.com>
 <CALBAE1OMuiEmmLUxA_2J4SLW5tGFVxdOgoT3+GdiXf9JOqwyow@mail.gmail.com>
In-Reply-To: <CALBAE1OMuiEmmLUxA_2J4SLW5tGFVxdOgoT3+GdiXf9JOqwyow@mail.gmail.com>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.13.0
authentication-results: gmail.com; dkim=none (message not signed)
 header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 04858d0d-45bb-413c-af73-08d96c7bbcc2
x-ms-traffictypediagnostic: DB7PR07MB5625:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DB7PR07MB562502CE1A6CBDE91A17BDC7E1CC9@DB7PR07MB5625.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 1v9c/K8EyyjdH7xDTm2Sa/NAR+GeSTmR1KYiNgwspgVGp/jzSqy7N+aelrJdxUnuzWPci99grZ1FkELji21NxObTyJRW+rEK3phT2Ev7p1hIYQHnlZxIPUPQT2q237Nft9d7d9YckLqtXxArHucxHx1DWxfdwbEDO0vY9UEwfch6RAmifEF+xvNbZBtotgAVXiYflHt5rt5t72LWRR0IOnHnohh8n9lP0gaHDUyL+uoG4HgWNP6koMpbGh7YUUMwWf9Opoxl3p4d7pnMzJkMt2HOXerJ3JuOgGJ6Ab1MewZ7HkEluRyKd4MbCerbONydBG6npA6+2Pmp7/wpF6GMRb6Od7BFG1ZTonVe6MIDJ8dVsvHoBOb31oS2Yr9kzzEPzFvTzEQhzQkiRxLU7BR5ilQI4LnD+BMcpPJNMjKbQTbQUII/MKU5gkUnJHOrCMKzz5Ph4YV7QUJcRPLtqQ7lgJ9T7DLeHXmNdRIi8ZvaopzBsGTQVthxt6OgxNuzwcWy/2JkG1VYNYpvdY6ugo2AiFvkRUd1id7p5Et0SYiGo/dWAN8YQ+GGN13M/KRc055rNBZQL7z6vjCRk4jdHQ+/2XW+2gWXF3UDYg3GGD6w8JWhf0LkIXy25fMwXz0jCI6jbK6iBsXxsrib2fKkHsED+qoCVzqlmFrdnvLO/mYw2HjAEhk1pIVG/OPI/JaoTP7aNXGTtj246KNqbfYW4QjoY/TDgcRZ4QacL9yoXSHC9S5jE0+MvSkHPcV+qzOe6z2RU9EsV4ToLzKOSz+5K66l06JfG7dtMo9piikj2p2SwHQzcu06Dso2NQ/9aGM5aoU5D9+v2/mg/5b9hqKv/S409dPEtFnC1qdvQcgjj59/vcA=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(346002)(396003)(376002)(136003)(366004)(39860400002)(6506007)(85202003)(83380400001)(2906002)(26005)(5660300002)(2616005)(31696002)(86362001)(85182001)(478600001)(66574015)(107886003)(53546011)(54906003)(30864003)(36756003)(186003)(64756008)(66446008)(8676002)(6512007)(316002)(66946007)(71200400001)(38100700002)(38070700005)(76116006)(66476007)(91956017)(4326008)(6486002)(31686004)(122000001)(8936002)(966005)(66556008)(6916009)(43740500002)(45980500001);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NFN1NDczTHViVTBHajBDdHNTSm5yakwxSVROVGNuaEZEeStva1UraTlqWWVa?=
 =?utf-8?B?MnhrL3ErMkNVTzdjODgzQWRoaUNFWHpFY20yT2NQbCtIL1NSb0I0eVlSaUJu?=
 =?utf-8?B?aGhIaWpCQ2xhcFp5Q0N2S3ZveTZvaTMrbHVaUGx5R2p3Rk93SHdIOVZTYmRT?=
 =?utf-8?B?dS9TbVZpTXI3Rml6MjU5QUl3UUZCNmkvb2xvWFh2OHF5dUFId0U1Sk5MTmpk?=
 =?utf-8?B?bWY2dzNSQ2RpR2dXTmh4MS9RTWhZUVRjL29BZytSbW1HSTkrUXpheXYvVEM4?=
 =?utf-8?B?OVc2Z0h6emx6ZVRmR0IwTUxDUnhtQUp1ZnRaU00xVUxIWDV6QzM0Vm16TEhq?=
 =?utf-8?B?S29ZMCtqLytOQ2tTZm80Z3VnaXF5NW9WRWMzVG9ZZXFKbHdXSW9qNXFoei8v?=
 =?utf-8?B?NmF4ajdwWU4rVGtGdm1TbGtVbkpPWmpQb2VWYUY4T25HVjN3QjY1K1ZTWkJx?=
 =?utf-8?B?S1VTc280NUV3QXJyRTZlc0lWdjBUay81WEEwTUlSN2pSZTk4Y3VLKzMvSnpx?=
 =?utf-8?B?aXVSVzA5b1V4QUxOcTAwS0hxMXVJc21aSGM5eDU4NzJuUkl5Wml5amxJQUFY?=
 =?utf-8?B?WXJQWXE5Q2FrZXAxM3QrbW81cGJxaTgzd0wzTVRzYS9KQnpqUERLMloxcFVS?=
 =?utf-8?B?MitNYVMzZlNTQUpmYXVkNDl2TGhUL3hpVXNJZzVod0lFdDVUTVpUeGtOenZR?=
 =?utf-8?B?VjV2cWE4U2lHWEFiR0lkdmZjMDZ3MlYwT2NPcjZUVi9LMDBBSmxnU2lrNU9X?=
 =?utf-8?B?a3VyT0VnUHJETGtZZ0phZVJMS1B3RGNqUUdjT3FVN1h1anRpTGo0aTdPYXdo?=
 =?utf-8?B?T1FQMWlxeEQ2dzBaK1RVQkE5KzZoUHR3V1h3blFlckNpQVBQRTYyNWxCZ2F4?=
 =?utf-8?B?MG9sMGdVQU85cElQOS9ZSVFCRFhKTHZUaisvWlNLaXkvanBVU0lldWRzeTBx?=
 =?utf-8?B?RmtOMGs1WFZnMG1rM0JpcUFkN3gzbFg1dVB4U3d0VHpNZUNLSWlSblRad0pD?=
 =?utf-8?B?WEdyZEI2RDhPTk1hK1FoSVB6S3JXczdIbFIwTHJvOVhkNm41Wjd4TTNTeWJi?=
 =?utf-8?B?NkZQeGVlNVdoOTVRRmhDUEEvOTUvTGZwQ2hKdXVqY0NwUEd2RFhhSVBIQVpj?=
 =?utf-8?B?eU82UVplQW5WenNNaGxiQmlUcmR0MXFGUTlwOXNzakJNT1FNenFpUDZlQS9p?=
 =?utf-8?B?Ujk1TXg1bGpzSFNLU0svWURkaEdMTXJtcHFGZ1RyWmthWG1VN2x5dGNIRzEr?=
 =?utf-8?B?RXVZOGJoVERRSUtKVG5sQkRUZUMrczRpbFlvQUczYXJmbG9iUkkveW0rR01C?=
 =?utf-8?B?OVpOZ1lvaTJNN0R4OTl3cTBWUVZSYVV2cURka0VqZndPOWkyMS9rY0ljSkpY?=
 =?utf-8?B?SHlIZXFNeWJtMjB4RmxPNW10dWhwa0EvSFU5MHpqVXgrdzJjVlBRVThrSVFP?=
 =?utf-8?B?UkpBcWJkUWZyV2tBS3BaeVF1NmFHdCt5eXdHWmZGZVpOLzBwWEFkVUdjY3c2?=
 =?utf-8?B?YkpTbkhYOWZoNi95MjZaT3oxdGFlbjFNekt3ZFB1YXFMdFZxcm5iRE83SEpn?=
 =?utf-8?B?MDViRXE1L2xCU0c4bVBCK1ZPMkY4S1h2SkE2Y1pCTDU2TUtpSVF5cWZEUWdL?=
 =?utf-8?B?UnlNeUFEY2M2UHM2SjRJS0ovVE9Pa3VHT2srL1puVUVxekxId3BZSWdRWjh5?=
 =?utf-8?B?d2pvcWYyWjM2eFJkRFI2QjhNYWZLbXdHTC8zeWhsSEsyYlV2dzNqeStHWUFi?=
 =?utf-8?Q?E9fNXBxEAJQK2CGwyE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A0FAEEF7FFDA204A91EE0EB1824420AF@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04858d0d-45bb-413c-af73-08d96c7bbcc2
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 12:34:55.2578 (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: RxNlQN9NcIOHJ27iUKlzK7ryLmvPESov9PHYs7JKHe09GGV6+hibHJ58PePYiUJeCGRm3nOFUIlJQdhdZcDQftMUoGHxTer59GXTAjMzQQU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR07MB5625
Subject: Re: [dpdk-dev] [RFC] eventdev: uninline inline API functions
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

T24gMjAyMS0wOC0zMSAxNDoyOCwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIE1vbiwgQXVnIDMw
LCAyMDIxIGF0IDk6MzAgUE0gTWF0dGlhcyBSw7ZubmJsb20NCj4gPG1hdHRpYXMucm9ubmJsb21A
ZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+IFJlcGxhY2UgdGhlIGlubGluZSBmdW5jdGlvbnMgaW4g
dGhlIGV2ZW50ZGV2IHVzZXIgYXBwbGljYXRpb24gQVBJIHdpdGgNCj4+IHJlZ3VsYXIgbm9uLWlu
bGluZSBBUEkgY2FsbHMuIFRoaXMgYWxsb3dzIGZvciBhIGNsZWFuZXIgYW5kIG1vcmUNCj4+IHNp
bXBsZSBBUEkvQUJJLCBidXQgbWlnaHQgd2VsbCBhbHNvIGNhdXNlIHBlcmZvcm1hbmNlIHJlZ3Jl
c3Npb25zLg0KPj4NCj4+IFRoZSBwdXJwb3NlIG9mIHRoaXMgUkZDIHBhdGNoIGlzIHRvIGFsbG93
IGZvciBwZXJmb3JtYW5jZSB0ZXN0aW5nLg0KPj4NCj4+IFRoZSBydGVfZXZlbnRkZXYgc3RydWN0
IGRlY2xhcmF0aW9uIHNob3VsZCBiZSBtb3ZlZCBvZmYgdGhlIHB1YmxpYw0KPj4gQVBJLg0KPj4N
Cj4+IFNpZ25lZC1vZmYtYnk6IE1hdHRpYXMgUsO2bm5ibG9tIDxtYXR0aWFzLnJvbm5ibG9tQGVy
aWNzc29uLmNvbT4NCj4gSSB0aGluayB3ZSBuZWVkIHRvIGFsaWduIGFsbCBEUERLIHN1YnN5c3Rl
bXMgdG8gYSBzaW1pbGFyIHNjaGVtZS5bMV0NCg0KDQpUaGF0IG1ha2VzIHBlcmZlY3Qgc2Vuc2Uu
DQoNCg0KPiBJIHNlZSAtNSUga2luZCBvZiByZWdyZXNzaW9uLWJhc2VkIG9uIHdvcmtsb2FkLg0K
Pg0KPiBbMV0NCj4gaHR0cHM6Ly9wcm90ZWN0Mi5maXJlZXllLmNvbS92MS91cmw/az01MDkwMGI3
NC0wZjBiMzI1Zi01MDkwNGJlZi04NjYwMzg5NzNhMTUtZTNkMWRkZDI4ODhhNmI1OCZxPTEmZT05
NjE4NGNkNi1mNGIxLTRlZDktOThhMy1hZTkyMWM3NDdjN2UmdT1odHRwcyUzQSUyRiUyRnBhdGNo
ZXMuZHBkay5vcmclMkZwcm9qZWN0JTJGZHBkayUyRnBhdGNoJTJGMjAyMTA4MjAxNjI4MzQuMTI1
NDQtMi1rb25zdGFudGluLmFuYW55ZXYlNDBpbnRlbC5jb20lMkYNCj4NCj4+IC0tLQ0KPj4gICBk
cml2ZXJzL25ldC9vY3Rlb250eC9vY3Rlb250eF9ldGhkZXYuaCAgfCAgMSArDQo+PiAgIGxpYi9l
dmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaCB8ICAxICsNCj4+ICAgbGliL2V2ZW50
ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jIHwgMzEgKysrKysrKysNCj4+ICAgbGliL2V2
ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oIHwgMzUgKystLS0tLS0tDQo+PiAgIGxp
Yi9ldmVudGRldi9ydGVfZXZlbnRkZXYuYyAgICAgICAgICAgICB8IDgyICsrKysrKysrKysrKysr
KysrKysrKw0KPj4gICBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmggICAgICAgICAgICAgfCA5
NCArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiAgIGxpYi9ldmVudGRldi92ZXJzaW9uLm1h
cCAgICAgICAgICAgICAgICB8ICA0ICsrDQo+PiAgIDcgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2Vy
dGlvbnMoKyksIDExNCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u
ZXQvb2N0ZW9udHgvb2N0ZW9udHhfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9vY3Rlb250eC9vY3Rl
b250eF9ldGhkZXYuaA0KPj4gaW5kZXggYjczNTE1ZGUzNy4uOTQwMjEwNWZjZiAxMDA2NDQNCj4+
IC0tLSBhL2RyaXZlcnMvbmV0L29jdGVvbnR4L29jdGVvbnR4X2V0aGRldi5oDQo+PiArKysgYi9k
cml2ZXJzL25ldC9vY3Rlb250eC9vY3Rlb250eF9ldGhkZXYuaA0KPj4gQEAgLTksNiArOSw3IEBA
DQo+Pg0KPj4gICAjaW5jbHVkZSA8cnRlX2NvbW1vbi5oPg0KPj4gICAjaW5jbHVkZSA8ZXRoZGV2
X2RyaXZlci5oPg0KPj4gKyNpbmNsdWRlIDxldmVudGRldl9wbWQuaD4NCj4+ICAgI2luY2x1ZGUg
PHJ0ZV9ldmVudGRldi5oPg0KPj4gICAjaW5jbHVkZSA8cnRlX21lbXBvb2wuaD4NCj4+ICAgI2lu
Y2x1ZGUgPHJ0ZV9tZW1vcnkuaD4NCj4+IGRpZmYgLS1naXQgYS9saWIvZXZlbnRkZXYvcnRlX2V2
ZW50X2V0aF9yeF9hZGFwdGVyLmggYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFw
dGVyLmgNCj4+IGluZGV4IDE4MmRkMmU1ZGQuLjc5ZjQ4MjJmYjAgMTAwNjQ0DQo+PiAtLS0gYS9s
aWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4+ICsrKyBiL2xpYi9ldmVu
dGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaA0KPj4gQEAgLTg0LDYgKzg0LDcgQEAgZXh0
ZXJuICJDIiB7DQo+PiAgICNpbmNsdWRlIDxydGVfc2VydmljZS5oPg0KPj4NCj4+ICAgI2luY2x1
ZGUgInJ0ZV9ldmVudGRldi5oIg0KPj4gKyNpbmNsdWRlICJldmVudGRldl9wbWQuaCINCj4+DQo+
PiAgICNkZWZpbmUgUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX01BWF9JTlNUQU5DRSAzMg0KPj4N
Cj4+IGRpZmYgLS1naXQgYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMg
Yi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMNCj4+IGluZGV4IDE4YzAz
NTlkYjcuLjc0Zjg4ZTYxNDcgMTAwNjQ0DQo+PiAtLS0gYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50
X2V0aF90eF9hZGFwdGVyLmMNCj4+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4
X2FkYXB0ZXIuYw0KPj4gQEAgLTExNTQsNiArMTE1NCwzNyBAQCBydGVfZXZlbnRfZXRoX3R4X2Fk
YXB0ZXJfc3RhcnQodWludDhfdCBpZCkNCj4+ICAgICAgICAgIHJldHVybiByZXQ7DQo+PiAgIH0N
Cj4+DQo+PiArdWludDE2X3QNCj4+ICtydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1ZSh1
aW50OF90IGRldl9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4
X3QgcG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy
dGVfZXZlbnQgZXZbXSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQx
Nl90IG5iX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHVpbnQ4X3QgZmxhZ3MpDQo+PiArew0KPj4gKyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50
ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPj4gKw0KPj4gKyNpZmRlZiBSVEVf
TElCUlRFX0VWRU5UREVWX0RFQlVHDQo+PiArICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VWRU5U
X01BWF9ERVZTIHx8DQo+PiArICAgICAgICAgICAgICAgIXJ0ZV9ldmVudGRldnNbZGV2X2lkXS5h
dHRhY2hlZCkgew0KPj4gKyAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4+ICsg
ICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICBp
ZiAocG9ydF9pZCA+PSBkZXYtPmRhdGEtPm5iX3BvcnRzKSB7DQo+PiArICAgICAgICAgICAgICAg
cnRlX2Vycm5vID0gRUlOVkFMOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAg
ICAgICB9DQo+PiArI2VuZGlmDQo+PiArICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9ldGhfdHhf
YWRhcHRlcl9lbnF1ZXVlKGRldl9pZCwgcG9ydF9pZCwgZXYsDQo+PiArICAgICAgICAgICAgICAg
bmJfZXZlbnRzLCBmbGFncyk7DQo+PiArICAgICAgIGlmIChmbGFncykNCj4+ICsgICAgICAgICAg
ICAgICByZXR1cm4gZGV2LT50eGFfZW5xdWV1ZV9zYW1lX2Rlc3QoZGV2LT5kYXRhLT5wb3J0c1tw
b3J0X2lkXSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZXYsIG5iX2V2ZW50cyk7DQo+PiArICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAg
ICByZXR1cm4gZGV2LT50eGFfZW5xdWV1ZShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwN
Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYl9ldmVudHMpOw0K
Pj4gK30NCj4+ICsNCj4+ICAgaW50DQo+PiAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9zdGF0
c19nZXQodWludDhfdCBpZCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdCBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfc3RhdHMgKnN0YXRzKQ0KPj4gZGlmZiAtLWdp
dCBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaCBiL2xpYi9ldmVudGRl
di9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaA0KPj4gaW5kZXggOGM1OTU0NzE2NS4uM2NkNjVl
OGEwOSAxMDA2NDQNCj4+IC0tLSBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0
ZXIuaA0KPj4gKysrIGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oDQo+
PiBAQCAtNzksNiArNzksNyBAQCBleHRlcm4gIkMiIHsNCj4+ICAgI2luY2x1ZGUgPHJ0ZV9tYnVm
Lmg+DQo+Pg0KPj4gICAjaW5jbHVkZSAicnRlX2V2ZW50ZGV2LmgiDQo+PiArI2luY2x1ZGUgImV2
ZW50ZGV2X3BtZC5oIg0KPj4NCj4+ICAgLyoqDQo+PiAgICAqIEFkYXB0ZXIgY29uZmlndXJhdGlv
biBzdHJ1Y3R1cmUNCj4+IEBAIC0zNDgsMzYgKzM0OSwxMiBAQCBydGVfZXZlbnRfZXRoX3R4X2Fk
YXB0ZXJfZXZlbnRfcG9ydF9nZXQodWludDhfdCBpZCwgdWludDhfdCAqZXZlbnRfcG9ydF9pZCk7
DQo+PiAgICAqICAgICAgICAgICAgICBvbmUgb3IgbW9yZSBldmVudHMuIFRoaXMgZXJyb3IgY29k
ZSBpcyBvbmx5IGFwcGxpY2FibGUgdG8NCj4+ICAgICogICAgICAgICAgICAgIGNsb3NlZCBzeXN0
ZW1zLg0KPj4gICAgKi8NCj4+IC1zdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+PiArdWludDE2X3QN
Cj4+ICAgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVldWUodWludDhfdCBkZXZfaWQsDQo+
PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcG9ydF9pZCwNCj4+IC0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldmVudCBldltdLA0KPj4g
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMsDQo+PiAt
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgZmxhZ3MpDQo+PiAt
ew0KPj4gLSAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50
ZGV2c1tkZXZfaWRdOw0KPj4gLQ0KPj4gLSNpZmRlZiBSVEVfTElCUlRFX0VWRU5UREVWX0RFQlVH
DQo+PiAtICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VWRU5UX01BWF9ERVZTIHx8DQo+PiAtICAg
ICAgICAgICAgICAgIXJ0ZV9ldmVudGRldnNbZGV2X2lkXS5hdHRhY2hlZCkgew0KPj4gLSAgICAg
ICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4g
MDsNCj4+IC0gICAgICAgfQ0KPj4gLQ0KPj4gLSAgICAgICBpZiAocG9ydF9pZCA+PSBkZXYtPmRh
dGEtPm5iX3BvcnRzKSB7DQo+PiAtICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOw0K
Pj4gLSAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gLSAgICAgICB9DQo+PiAtI2VuZGlmDQo+
PiAtICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKGRldl9p
ZCwgcG9ydF9pZCwgZXYsDQo+PiAtICAgICAgICAgICAgICAgbmJfZXZlbnRzLCBmbGFncyk7DQo+
PiAtICAgICAgIGlmIChmbGFncykNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gZGV2LT50eGFf
ZW5xdWV1ZV9zYW1lX2Rlc3QoZGV2LT5kYXRhLT5wb3J0c1twb3J0X2lkXSwNCj4+IC0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXYsIG5iX2V2ZW50cyk7
DQo+PiAtICAgICAgIGVsc2UNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gZGV2LT50eGFfZW5x
dWV1ZShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwNCj4+IC0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuYl9ldmVudHMpOw0KPj4gLX0NCj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwNCj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG5iX2V2ZW50cywNCj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgZmxhZ3MpOw0KPj4NCj4+ICAgLyoq
DQo+PiAgICAqIFJldHJpZXZlIHN0YXRpc3RpY3MgZm9yIGFuIGFkYXB0ZXINCj4+IGRpZmYgLS1n
aXQgYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMgYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50
ZGV2LmMNCj4+IGluZGV4IDU5NGRkNWU3NTkuLmUyZGFkOGE4MzggMTAwNjQ0DQo+PiAtLS0gYS9s
aWIvZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4+ICsrKyBiL2xpYi9ldmVudGRldi9ydGVfZXZl
bnRkZXYuYw0KPj4gQEAgLTExMTksNiArMTExOSw2NSBAQCBydGVfZXZlbnRfcG9ydF9saW5rc19n
ZXQodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICAgICAgICAgIHJldHVybiBj
b3VudDsNCj4+ICAgfQ0KPj4NCj4+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB1aW50MTZf
dA0KPj4gK19fcnRlX2V2ZW50X2VucXVldWVfYnVyc3QodWludDhfdCBkZXZfaWQsIHVpbnQ4X3Qg
cG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZl
bnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgZXZlbnRfZW5xdWV1ZV9idXJzdF90IGZuKQ0KPj4gK3sNCj4+ICsgICAgICAgY29uc3Qg
c3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudGRldnNbZGV2X2lkXTsNCj4+ICsN
Cj4+ICsjaWZkZWYgUlRFX0xJQlJURV9FVkVOVERFVl9ERUJVRw0KPj4gKyAgICAgICBpZiAoZGV2
X2lkID49IFJURV9FVkVOVF9NQVhfREVWUyB8fCAhcnRlX2V2ZW50ZGV2c1tkZXZfaWRdLmF0dGFj
aGVkKSB7DQo+PiArICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOw0KPj4gKyAgICAg
ICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiArICAgICAgIGlmIChw
b3J0X2lkID49IGRldi0+ZGF0YS0+bmJfcG9ydHMpIHsNCj4+ICsgICAgICAgICAgICAgICBydGVf
ZXJybm8gPSBFSU5WQUw7DQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+PiArICAgICAg
IH0NCj4+ICsjZW5kaWYNCj4+ICsgICAgICAgcnRlX2V2ZW50ZGV2X3RyYWNlX2VucV9idXJzdChk
ZXZfaWQsIHBvcnRfaWQsIGV2LCBuYl9ldmVudHMsIGZuKTsNCj4+ICsgICAgICAgLyoNCj4+ICsg
ICAgICAgICogQWxsb3cgemVybyBjb3N0IG5vbiBidXJzdCBtb2RlIHJvdXRpbmUgaW52b2NhdGlv
biBpZiBhcHBsaWNhdGlvbg0KPj4gKyAgICAgICAgKiByZXF1ZXN0cyBuYl9ldmVudHMgYXMgY29u
c3Qgb25lDQo+PiArICAgICAgICAqLw0KPj4gKyAgICAgICBpZiAobmJfZXZlbnRzID09IDEpDQo+
PiArICAgICAgICAgICAgICAgcmV0dXJuICgqZGV2LT5lbnF1ZXVlKShkZXYtPmRhdGEtPnBvcnRz
W3BvcnRfaWRdLCBldik7DQo+PiArICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAgICByZXR1
cm4gZm4oZGV2LT5kYXRhLT5wb3J0c1twb3J0X2lkXSwgZXYsIG5iX2V2ZW50cyk7DQo+PiArfQ0K
Pj4gKw0KPj4gK3VpbnQxNl90DQo+PiArcnRlX2V2ZW50X2VucXVldWVfYnVyc3QodWludDhfdCBk
ZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPj4gK3sNCj4+ICsg
ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudGRldnNbZGV2
X2lkXTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJuIF9fcnRlX2V2ZW50X2VucXVldWVfYnVyc3Qo
ZGV2X2lkLCBwb3J0X2lkLCBldiwgbmJfZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXYtPmVucXVldWVfYnVyc3QpOw0KPj4gK30NCj4+ICsNCj4+
ICt1aW50MTZfdA0KPj4gK3J0ZV9ldmVudF9lbnF1ZXVlX25ld19idXJzdCh1aW50OF90IGRldl9p
ZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPj4gK3sNCj4+ICsg
ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudF9kZXZpY2Vz
W2Rldl9pZF07DQo+PiArDQo+PiArICAgICAgIHJldHVybiBfX3J0ZV9ldmVudF9lbnF1ZXVlX2J1
cnN0KGRldl9pZCwgcG9ydF9pZCwgZXYsIG5iX2V2ZW50cywNCj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5lbnF1ZXVlX25ld19idXJzdCk7DQo+PiArfQ0K
Pj4gKw0KPj4gK3VpbnQxNl90DQo+PiArcnRlX2V2ZW50X2VucXVldWVfZm9yd2FyZF9idXJzdCh1
aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50
cykNCj4+ICt7DQo+PiArICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiA9ICZy
dGVfZXZlbnRkZXZzW2Rldl9pZF07DQo+PiArDQo+PiArICAgICAgIHJldHVybiBfX3J0ZV9ldmVu
dF9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgcG9ydF9pZCwgZXYsIG5iX2V2ZW50cywNCj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgIGRldi0+ZW5xdWV1ZV9mb3J3YXJkX2J1cnN0KTsNCj4+ICt9DQo+
PiArDQo+PiAgIGludA0KPj4gICBydGVfZXZlbnRfZGVxdWV1ZV90aW1lb3V0X3RpY2tzKHVpbnQ4
X3QgZGV2X2lkLCB1aW50NjRfdCBucywNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1aW50NjRfdCAqdGltZW91dF90aWNrcykNCj4+IEBAIC0xMTM1LDYgKzExOTQsMjkgQEAg
cnRlX2V2ZW50X2RlcXVldWVfdGltZW91dF90aWNrcyh1aW50OF90IGRldl9pZCwgdWludDY0X3Qg
bnMsDQo+PiAgICAgICAgICByZXR1cm4gKCpkZXYtPmRldl9vcHMtPnRpbWVvdXRfdGlja3MpKGRl
diwgbnMsIHRpbWVvdXRfdGlja3MpOw0KPj4gICB9DQo+Pg0KPj4gK3VpbnQxNl90DQo+PiArcnRl
X2V2ZW50X2RlcXVldWVfYnVyc3QodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwgc3Ry
dWN0IHJ0ZV9ldmVudCBldltdLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qg
bmJfZXZlbnRzLCB1aW50NjRfdCB0aW1lb3V0X3RpY2tzKQ0KPj4gK3sNCj4+ICsgICAgICAgc3Ry
dWN0IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudF9kZXZpY2VzW2Rldl9pZF07DQo+PiAr
DQo+PiArI2lmZGVmIFJURV9MSUJSVEVfRVZFTlRERVZfREVCVUcNCj4+ICsgICAgICAgaWYgKGRl
dl9pZCA+PSBSVEVfRVZFTlRfTUFYX0RFVlMgfHwgIXJ0ZV9ldmVudGRldnNbZGV2X2lkXS5hdHRh
Y2hlZCkgew0KPj4gKyAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4+ICsgICAg
ICAgICAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICBpZiAo
cG9ydF9pZCA+PSBkZXYtPmRhdGEtPm5iX3BvcnRzKSB7DQo+PiArICAgICAgICAgICAgICAgcnRl
X2Vycm5vID0gRUlOVkFMOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAgICAg
ICB9DQo+PiArI2VuZGlmDQo+PiArICAgICAgIHJ0ZV9ldmVudGRldl90cmFjZV9kZXFfYnVyc3Qo
ZGV2X2lkLCBwb3J0X2lkLCBldiwgbmJfZXZlbnRzKTsNCj4+ICsNCj4+ICsgICAgICAgcmV0dXJu
ICgqZGV2LT5kZXF1ZXVlX2J1cnN0KShkZXYtPmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwgbmJf
ZXZlbnRzLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRf
dGlja3MpOw0KPj4gK30NCj4+ICsNCj4+ICAgaW50DQo+PiAgIHJ0ZV9ldmVudF9kZXZfc2Vydmlj
ZV9pZF9nZXQodWludDhfdCBkZXZfaWQsIHVpbnQzMl90ICpzZXJ2aWNlX2lkKQ0KPj4gICB7DQo+
PiBkaWZmIC0tZ2l0IGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oIGIvbGliL2V2ZW50ZGV2
L3J0ZV9ldmVudGRldi5oDQo+PiBpbmRleCBhOWM0OTZmYjYyLi40NTFlOWZiMGEwIDEwMDY0NA0K
Pj4gLS0tIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5oDQo+PiArKysgYi9saWIvZXZlbnRk
ZXYvcnRlX2V2ZW50ZGV2LmgNCj4+IEBAIC0xNDQ1LDM4ICsxNDQ1LDYgQEAgc3RydWN0IHJ0ZV9l
dmVudGRldiB7DQo+PiAgICAgICAgICB2b2lkICpyZXNlcnZlZF9wdHJzWzNdOyAgIC8qKjwgUmVz
ZXJ2ZWQgZm9yIGZ1dHVyZSBmaWVsZHMgKi8NCj4+ICAgfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0K
Pj4NCj4+IC1leHRlcm4gc3RydWN0IHJ0ZV9ldmVudGRldiAqcnRlX2V2ZW50ZGV2czsNCj4+IC0v
KiogQGludGVybmFsIFRoZSBwb29sIG9mIHJ0ZV9ldmVudGRldiBzdHJ1Y3R1cmVzLiAqLw0KPj4g
LQ0KPj4gLXN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHVpbnQxNl90DQo+PiAtX19ydGVfZXZl
bnRfZW5xdWV1ZV9idXJzdCh1aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gLSAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZf
dCBuYl9ldmVudHMsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBldmVudF9lbnF1
ZXVlX2J1cnN0X3QgZm4pDQo+PiAtew0KPj4gLSAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50
ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPj4gLQ0KPj4gLSNpZmRlZiBSVEVf
TElCUlRFX0VWRU5UREVWX0RFQlVHDQo+PiAtICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VWRU5U
X01BWF9ERVZTIHx8ICFydGVfZXZlbnRkZXZzW2Rldl9pZF0uYXR0YWNoZWQpIHsNCj4+IC0gICAg
ICAgICAgICAgICBydGVfZXJybm8gPSBFSU5WQUw7DQo+PiAtICAgICAgICAgICAgICAgcmV0dXJu
IDA7DQo+PiAtICAgICAgIH0NCj4+IC0NCj4+IC0gICAgICAgaWYgKHBvcnRfaWQgPj0gZGV2LT5k
YXRhLT5uYl9wb3J0cykgew0KPj4gLSAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsN
Cj4+IC0gICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+IC0gICAgICAgfQ0KPj4gLSNlbmRpZg0K
Pj4gLSAgICAgICBydGVfZXZlbnRkZXZfdHJhY2VfZW5xX2J1cnN0KGRldl9pZCwgcG9ydF9pZCwg
ZXYsIG5iX2V2ZW50cywgZm4pOw0KPj4gLSAgICAgICAvKg0KPj4gLSAgICAgICAgKiBBbGxvdyB6
ZXJvIGNvc3Qgbm9uIGJ1cnN0IG1vZGUgcm91dGluZSBpbnZvY2F0aW9uIGlmIGFwcGxpY2F0aW9u
DQo+PiAtICAgICAgICAqIHJlcXVlc3RzIG5iX2V2ZW50cyBhcyBjb25zdCBvbmUNCj4+IC0gICAg
ICAgICovDQo+PiAtICAgICAgIGlmIChuYl9ldmVudHMgPT0gMSkNCj4+IC0gICAgICAgICAgICAg
ICByZXR1cm4gKCpkZXYtPmVucXVldWUpKGRldi0+ZGF0YS0+cG9ydHNbcG9ydF9pZF0sIGV2KTsN
Cj4+IC0gICAgICAgZWxzZQ0KPj4gLSAgICAgICAgICAgICAgIHJldHVybiBmbihkZXYtPmRhdGEt
PnBvcnRzW3BvcnRfaWRdLCBldiwgbmJfZXZlbnRzKTsNCj4+IC19DQo+PiAtDQo+PiAgIC8qKg0K
Pj4gICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb3IgYW4gZXZlbnQgb2Jq
ZWN0IHN1cHBsaWVkIGluICpydGVfZXZlbnQqDQo+PiAgICAqIHN0cnVjdHVyZSBvbiBhbiAgZXZl
bnQgZGV2aWNlIGRlc2lnbmF0ZWQgYnkgaXRzICpkZXZfaWQqIHRocm91Z2ggdGhlIGV2ZW50DQo+
PiBAQCAtMTUyMCwxNSArMTQ4OCw5IEBAIF9fcnRlX2V2ZW50X2VucXVldWVfYnVyc3QodWludDhf
dCBkZXZfaWQsIHVpbnQ4X3QgcG9ydF9pZCwNCj4+ICAgICogICAgICAgICAgICAgIGNsb3NlZCBz
eXN0ZW1zLg0KPj4gICAgKiBAc2VlIHJ0ZV9ldmVudF9wb3J0X2F0dHJfZ2V0KCksIFJURV9FVkVO
VF9QT1JUX0FUVFJfRU5RX0RFUFRIDQo+PiAgICAqLw0KPj4gLXN0YXRpYyBpbmxpbmUgdWludDE2
X3QNCj4+ICt1aW50MTZfdA0KPj4gICBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCh1aW50OF90IGRl
dl9pZCwgdWludDhfdCBwb3J0X2lkLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpDQo+PiAtew0KPj4gLSAg
ICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZf
aWRdOw0KPj4gLQ0KPj4gLSAgICAgICByZXR1cm4gX19ydGVfZXZlbnRfZW5xdWV1ZV9idXJzdChk
ZXZfaWQsIHBvcnRfaWQsIGV2LCBuYl9ldmVudHMsDQo+PiAtICAgICAgICAgICAgICAgICAgICAg
ICBkZXYtPmVucXVldWVfYnVyc3QpOw0KPj4gLX0NCj4+ICsgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4+DQo+
PiAgIC8qKg0KPj4gICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb2Ygb3Bl
cmF0aW9uIHR5cGUgKlJURV9FVkVOVF9PUF9ORVcqIG9uDQo+PiBAQCAtMTU3MSwxNSArMTUzMyw5
IEBAIHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBvcnRf
aWQsDQo+PiAgICAqIEBzZWUgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQoKSwgUlRFX0VWRU5UX1BP
UlRfQVRUUl9FTlFfREVQVEgNCj4+ICAgICogQHNlZSBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgp
DQo+PiAgICAqLw0KPj4gLXN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4+ICt1aW50MTZfdA0KPj4g
ICBydGVfZXZlbnRfZW5xdWV1ZV9uZXdfYnVyc3QodWludDhfdCBkZXZfaWQsIHVpbnQ4X3QgcG9y
dF9pZCwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfZXZlbnQg
ZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQ0KPj4gLXsNCj4+IC0gICAgICAgY29uc3Qgc3RydWN0
IHJ0ZV9ldmVudGRldiAqZGV2ID0gJnJ0ZV9ldmVudGRldnNbZGV2X2lkXTsNCj4+IC0NCj4+IC0g
ICAgICAgcmV0dXJuIF9fcnRlX2V2ZW50X2VucXVldWVfYnVyc3QoZGV2X2lkLCBwb3J0X2lkLCBl
diwgbmJfZXZlbnRzLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5lbnF1ZXVlX25l
d19idXJzdCk7DQo+PiAtfQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0
cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4+DQo+PiAgIC8qKg0K
Pj4gICAgKiBFbnF1ZXVlIGEgYnVyc3Qgb2YgZXZlbnRzIG9iamVjdHMgb2Ygb3BlcmF0aW9uIHR5
cGUgKlJURV9FVkVOVF9PUF9GT1JXQVJEKg0KPj4gQEAgLTE2MjIsMTUgKzE1NzgsMTAgQEAgcnRl
X2V2ZW50X2VucXVldWVfbmV3X2J1cnN0KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBvcnRfaWQs
DQo+PiAgICAqIEBzZWUgcnRlX2V2ZW50X3BvcnRfYXR0cl9nZXQoKSwgUlRFX0VWRU5UX1BPUlRf
QVRUUl9FTlFfREVQVEgNCj4+ICAgICogQHNlZSBydGVfZXZlbnRfZW5xdWV1ZV9idXJzdCgpDQo+
PiAgICAqLw0KPj4gLXN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4+ICt1aW50MTZfdA0KPj4gICBy
dGVfZXZlbnRfZW5xdWV1ZV9mb3J3YXJkX2J1cnN0KHVpbnQ4X3QgZGV2X2lkLCB1aW50OF90IHBv
cnRfaWQsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50
IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykNCj4+IC17DQo+PiAtICAgICAgIGNvbnN0IHN0cnVj
dCBydGVfZXZlbnRkZXYgKmRldiA9ICZydGVfZXZlbnRkZXZzW2Rldl9pZF07DQo+PiAtDQo+PiAt
ICAgICAgIHJldHVybiBfX3J0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGRldl9pZCwgcG9ydF9pZCwg
ZXYsIG5iX2V2ZW50cywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGRldi0+ZW5xdWV1ZV9m
b3J3YXJkX2J1cnN0KTsNCj4+IC19DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IHN0cnVjdCBydGVfZXZlbnQgZXZbXSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRzKTsNCj4+DQo+PiAgIC8qKg0KPj4gICAgKiBDb252
ZXJ0cyBuYW5vc2Vjb25kcyB0byAqdGltZW91dF90aWNrcyogdmFsdWUgZm9yIHJ0ZV9ldmVudF9k
ZXF1ZXVlX2J1cnN0KCkNCj4+IEBAIC0xNzI3LDM2ICsxNjc4LDkgQEAgcnRlX2V2ZW50X2RlcXVl
dWVfdGltZW91dF90aWNrcyh1aW50OF90IGRldl9pZCwgdWludDY0X3QgbnMsDQo+PiAgICAqDQo+
PiAgICAqIEBzZWUgcnRlX2V2ZW50X3BvcnRfZGVxdWV1ZV9kZXB0aCgpDQo+PiAgICAqLw0KPj4g
LXN0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4+ICt1aW50MTZfdA0KPj4gICBydGVfZXZlbnRfZGVx
dWV1ZV9idXJzdCh1aW50OF90IGRldl9pZCwgdWludDhfdCBwb3J0X2lkLCBzdHJ1Y3QgcnRlX2V2
ZW50IGV2W10sDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9ldmVudHMs
IHVpbnQ2NF90IHRpbWVvdXRfdGlja3MpDQo+PiAtew0KPj4gLSAgICAgICBzdHJ1Y3QgcnRlX2V2
ZW50ZGV2ICpkZXYgPSAmcnRlX2V2ZW50ZGV2c1tkZXZfaWRdOw0KPj4gLQ0KPj4gLSNpZmRlZiBS
VEVfTElCUlRFX0VWRU5UREVWX0RFQlVHDQo+PiAtICAgICAgIGlmIChkZXZfaWQgPj0gUlRFX0VW
RU5UX01BWF9ERVZTIHx8ICFydGVfZXZlbnRkZXZzW2Rldl9pZF0uYXR0YWNoZWQpIHsNCj4+IC0g
ICAgICAgICAgICAgICBydGVfZXJybm8gPSBFSU5WQUw7DQo+PiAtICAgICAgICAgICAgICAgcmV0
dXJuIDA7DQo+PiAtICAgICAgIH0NCj4+IC0NCj4+IC0gICAgICAgaWYgKHBvcnRfaWQgPj0gZGV2
LT5kYXRhLT5uYl9wb3J0cykgew0KPj4gLSAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZB
TDsNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+IC0gICAgICAgfQ0KPj4gLSNlbmRp
Zg0KPj4gLSAgICAgICBydGVfZXZlbnRkZXZfdHJhY2VfZGVxX2J1cnN0KGRldl9pZCwgcG9ydF9p
ZCwgZXYsIG5iX2V2ZW50cyk7DQo+PiAtICAgICAgIC8qDQo+PiAtICAgICAgICAqIEFsbG93IHpl
cm8gY29zdCBub24gYnVyc3QgbW9kZSByb3V0aW5lIGludm9jYXRpb24gaWYgYXBwbGljYXRpb24N
Cj4+IC0gICAgICAgICogcmVxdWVzdHMgbmJfZXZlbnRzIGFzIGNvbnN0IG9uZQ0KPj4gLSAgICAg
ICAgKi8NCj4+IC0gICAgICAgaWYgKG5iX2V2ZW50cyA9PSAxKQ0KPj4gLSAgICAgICAgICAgICAg
IHJldHVybiAoKmRldi0+ZGVxdWV1ZSkoDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBkZXYt
PmRhdGEtPnBvcnRzW3BvcnRfaWRdLCBldiwgdGltZW91dF90aWNrcyk7DQo+PiAtICAgICAgIGVs
c2UNCj4+IC0gICAgICAgICAgICAgICByZXR1cm4gKCpkZXYtPmRlcXVldWVfYnVyc3QpKA0KPj4g
LSAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5kYXRhLT5wb3J0c1twb3J0X2lkXSwgZXYsIG5i
X2V2ZW50cywNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF90aWNr
cyk7DQo+PiAtfQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbmJfZXZlbnRz
LCB1aW50NjRfdCB0aW1lb3V0X3RpY2tzKTsNCj4+DQo+PiAgIC8qKg0KPj4gICAgKiBMaW5rIG11
bHRpcGxlIHNvdXJjZSBldmVudCBxdWV1ZXMgc3VwcGxpZWQgaW4gKnF1ZXVlcyogdG8gdGhlIGRl
c3RpbmF0aW9uDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIGIvbGli
L2V2ZW50ZGV2L3ZlcnNpb24ubWFwDQo+PiBpbmRleCA4ODYyNTYyMWVjLi44ZGE3OWNiZGMwIDEw
MDY0NA0KPj4gLS0tIGEvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwDQo+PiArKysgYi9saWIvZXZl
bnRkZXYvdmVyc2lvbi5tYXANCj4+IEBAIC0xMyw3ICsxMywxMSBAQCBEUERLXzIyIHsNCj4+ICAg
ICAgICAgIHJ0ZV9ldmVudF9jcnlwdG9fYWRhcHRlcl9zdGF0c19nZXQ7DQo+PiAgICAgICAgICBy
dGVfZXZlbnRfY3J5cHRvX2FkYXB0ZXJfc3RhdHNfcmVzZXQ7DQo+PiAgICAgICAgICBydGVfZXZl
bnRfY3J5cHRvX2FkYXB0ZXJfc3RvcDsNCj4+ICsgICAgICAgcnRlX2V2ZW50X2VucXVldWVfYnVy
c3Q7DQo+PiArICAgICAgIHJ0ZV9ldmVudF9lbnF1ZXVlX25ld19idXJzdDsNCj4+ICsgICAgICAg
cnRlX2V2ZW50X2VucXVldWVfZm9yd2FyZF9idXJzdDsNCj4+ICAgICAgICAgIHJ0ZV9ldmVudF9k
ZXF1ZXVlX3RpbWVvdXRfdGlja3M7DQo+PiArICAgICAgIHJ0ZV9ldmVudF9kZXF1ZXVlX2J1cnN0
Ow0KPj4gICAgICAgICAgcnRlX2V2ZW50X2Rldl9hdHRyX2dldDsNCj4+ICAgICAgICAgIHJ0ZV9l
dmVudF9kZXZfY2xvc2U7DQo+PiAgICAgICAgICBydGVfZXZlbnRfZGV2X2NvbmZpZ3VyZTsNCj4+
IC0tDQo+PiAyLjE3LjENCj4+DQoNCg==