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 9151C4242B; Fri, 20 Jan 2023 11:46:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3D04E40150; Fri, 20 Jan 2023 11:46:29 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2080.outbound.protection.outlook.com [40.107.93.80]) by mails.dpdk.org (Postfix) with ESMTP id 4BC71400D5 for ; Fri, 20 Jan 2023 11:46:27 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=US8fOwGYo5KI9R2fvFtMQLwOHjj2NqBYr9TgsXrLScvnEX3lJ5DGS4u5ZXb4Tybp15n/tPlTgMl3y4/XzSKjkrXans24Nr5xEmtspwkX/wYcX3E2NB4ed0Z4aFhAgFxbgaAt4coUd8uOHVG7YOCtrnT1ubiVwpV0EfkPBum90wYcjNvzVhIwgqPjUIRcOtgMUc4kyGxKlE0hFkfu6EUdJyDsetkXV0/E/oarQjBFCKTuoF9GG6hw1gXTRBRr5IRuPZgS+aCWwIhcWTtdC+EjD5o0see9qAJzOtOtQmhIDnRkVPZI6DExu+R67pzlrE2Wt83LpkE34oiWnz8EHrq7mw== 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=kQjrjIuNy5jWrjREbtR50J3+6XYkF0ttO78D8rN0dOg=; b=YcIBTZP8TI14najqHjrM0KpxvRdMHR0/9D3f8+zWAdogy/i+Rif/28rPClL2BK4t7YC4/7THBkXhVtjePrvsmVjfKKAMRJdJuifgTgOhNI0bKKpRDl7PaePwznQFrzCN2ek60Hi2ia8BQV3A9o8lcjRi/k83Dhpgek2cSXLbnvSibe5AjSnf2VvMyGsD7vzWh15xEkj/EpcU0bj5ibm22Y7xiqkA3auoEkN1f34peMtNqRIBkj2hm6jSqsJr5yipP2/T8s9cF2BzeyleC7UuItWAP6yXvLOnWRvG0RaQs32ZngacekiQZoE26t870Vrv3kLNzUS/+Yl/OEvH3MWysw== 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=kQjrjIuNy5jWrjREbtR50J3+6XYkF0ttO78D8rN0dOg=; b=lZeW7jzqPIj0h7PqUx8IJ2nQn6bkjeucOOsXOffb7J1JEcfV70ptC2VkfPKGKKiISSQ16MxPkrlmrixcrUb8f+kv5naTXDBekCHqNZwxN8bbU7pfWoMORdIRtG0B0qE6RpCajjcrF9VJaAUvE6JThPY81J3uy/K4jN7khTrL2gfPXkb/QP097/1GG6xLPw9HzWAOVN4vMBLqDTu/778Hdb5GBK3HgiakhInuSPtMZ+6cd4aPFC26J2UuoXJwdr8kfDOaS7oB3s7O6GfL2YP36cRthL4bQXdNlfNo5MwN9QQCCQ1CIj8Q3f4Y9QyNbC+FnyGChqyRGHQrg3XVv3vYkw== Received: from IA1PR12MB6332.namprd12.prod.outlook.com (2603:10b6:208:3e2::13) by BY5PR12MB4068.namprd12.prod.outlook.com (2603:10b6:a03:203::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.27; Fri, 20 Jan 2023 10:46:22 +0000 Received: from IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::be18:9845:3676:784e]) by IA1PR12MB6332.namprd12.prod.outlook.com ([fe80::be18:9845:3676:784e%7]) with mapi id 15.20.6002.027; Fri, 20 Jan 2023 10:46:22 +0000 From: Gregory Etelson To: Andrew Rybchenko , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit Subject: RE: [PATCH v6 1/2] ethdev: add query_update sync and async function calls Thread-Topic: [PATCH v6 1/2] ethdev: add query_update sync and async function calls Thread-Index: AQHZLCW+BoMIipDjikSGSEM0ehHwFK6m/A8AgAAW1OA= Date: Fri, 20 Jan 2023 10:46:22 +0000 Message-ID: References: <20221221073547.988-1-getelson@nvidia.com> <20230119164713.7164-1-getelson@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA1PR12MB6332:EE_|BY5PR12MB4068:EE_ x-ms-office365-filtering-correlation-id: 1c34a263-06da-4db6-094b-08dafad39250 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QwQkyYZYe/MpT5iZwTg3V8GfkUBGWq0iF0eu38ONWqnujnPCEpwbGeaX1cXyukxSSq/6JQKZ09XEHxxDorgoMlShAxjNcldsSxb0LlwRceSq6pHW1tWCrPmE9+ENiZU9wU3YofaCWa8dJW270cdjF/HMH3V97AtzqMlOQ4gVaZKNvqDtISTYxza5/liSttXDSqVUkZZZIScPwD7WGHaB6DEQKAp64HQpAQlePPHLq+Y0kXC3E6obJHDTYC51P61+WYOFWHXrzgr9jbuQk8olU4Dcww5dZoq7E2rwjXEfxaNYPeWpF6btnHKyDcrq3fuHgbC7mv2EDyCesTo7GFbbZC8DUFjQ3dh0AQixj3SOs6lvPH6iMkwjGE6Bmpb4TTuxuomH/W0QoPZjTt29QnO66qfysTWQr+7wZrKmKdSnkXv2Ak5c27qBcUJQ5SZg6GRAqkMbg06SWLKddJ1LeIjfTnxcZlY9TXl4zGyDKezhC4YiklMDNLSAxYxF1OmYu0lwhJt4EZ2lFa/xFWb70DcIwCeQHmloYjmFMlC35AOVWj9LpJFhtVtIuJREHjiNyfuANbZv0gokr/07jv2h0IbftGAX0+mQ/CwgAnwUwvZlAmA31Qx8VlOas7YJQBsKF4cdPZ/u6klM36q4NsI0im3wdH+Qo/LEPza4txEdeArC+2sQ+D9AZHG2WqooxC+D3PoR6QAFbGAA2Y+J4XjkLUczVw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA1PR12MB6332.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(451199015)(2906002)(186003)(9686003)(54906003)(110136005)(6506007)(316002)(478600001)(7696005)(71200400001)(122000001)(38100700002)(38070700005)(55016003)(86362001)(33656002)(83380400001)(41300700001)(4326008)(5660300002)(8936002)(52536014)(76116006)(66946007)(66446008)(66476007)(66556008)(64756008)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b081azIwb0wzQVhtcXk4RWZ4WTBCVTg4RWYxcGZxSTB1L2xCOHFmdkxBWkVl?= =?utf-8?B?MmlpMFVYTTkvT2lUajR0QU5hR2NjT1NmQzRNU04yb3U1UjhCWGZjVWNlMGR2?= =?utf-8?B?TUJBS1JpN0g4SWlOTHcwL3FtYzBEMnZGZjlVWHhYWnNQampkb0hOS0x0RTE5?= =?utf-8?B?M0FSazdMUHZWakEwdFF1SVFWZkd1VHhIdFRFK1dyVG1mVyswbEo4UWFHRFRp?= =?utf-8?B?NHR3Q0xqWCtVY0E5czd6cEM5NHlScS9sRk05SW5NVDcyakJRUERYMVlMUTVO?= =?utf-8?B?Sm84bnRubjRlU2l2TVpjQjlHSSthek1NcjF5bnNXN1UyMCtuWk5Jd0tRbnlk?= =?utf-8?B?WFdPWHZQRHNrNmc4Kys3V1Z1RU5mdTd4YzhWWlJzTVBTU1lScDVPLytCRVFq?= =?utf-8?B?c3F2dzZ5TDJiaFV4aElERGxEa2poQjc0WU93ai83VVZLMVVFTW5EVDk3dUQ5?= =?utf-8?B?YmhQeVF4TGRjMGUxbkZFa25wNnloZ2FIekpWa3ZKbmJZVDVnbDl5UDUwK28y?= =?utf-8?B?ajcxdE1mSUZRd1JONTEvbFlHOEtmbGtlTGdrTE50WGVhU1BlNkxWeWxWS1E3?= =?utf-8?B?YlhUWFA5Q0pPakNqbXl6WFdPekRHN2pPVXh2ZDNxTWtDRnlHU2M3YVBqSnRZ?= =?utf-8?B?SE1uRnlPS04yYkduR0ZRaGlSQWFEUm1uRmZaYlhCSVk0Q0VqdThvcmZFelpO?= =?utf-8?B?OWI5QmJ5VFZNQnlnb1FPUDJheGNFOS80ZllqbXJJSk9RbVVxNlgyVmpNZ1ZC?= =?utf-8?B?Wng2UmZGaFlDcHVaL0pIdS9OdHFRcWJTelVVNXJVZG44K0R6MC9RQS9seVFQ?= =?utf-8?B?YThhRnJ0Q3FoNTkzTnFkNjJudzZMQ2ZPTldQeHdHR2FSeVNGMldIR3dGeStR?= =?utf-8?B?eU9HQ1Vnd3FJamQwdWhyZFBJRFdNcHZHcFdjWFdSWUdHRk9aeS9jZ1pqZm1m?= =?utf-8?B?WXJUa24xWkZYcjd2ODduTS9hWm5CNFQ5OEF2ZGZVRW4yeDZIRFZ2WTh6c3BY?= =?utf-8?B?cGhWcnNsQWpzQVFJUitOYzlpUEhCMnp0VlRPUllTTlpsSlczMFNBdS9zK1ZN?= =?utf-8?B?eXZ3UVRVQWNZZnVURlV1Y0V3SkRYb3B5VTN1dzM5NDVTelB6Z2poS1h4UXJF?= =?utf-8?B?ZkgvRTk0WmNvaXMrSVBKUWVIak5TYzJQSlF5VTFTK01nUUQrL1JZbCtPWmx0?= =?utf-8?B?ajEwNW1VbUQ4NFFBTW9relFDbVFzUEJRQUJBQ2FHZjZ2TjdFV3FJWDF5Mk5z?= =?utf-8?B?bkNRNEI5Z0hvTllOVUx6VGsxc3hNNGg4K3FtcTJUYk1ydnV6SG5TQkFERWlx?= =?utf-8?B?bDBwaHJFTEJFSnlKZE9vd01YNEliRGJGQUdXVnM1b3VZZm5kZ1JvelVNSHJG?= =?utf-8?B?Y043QnFxclNIV0k0WG94YkVod09sSVpVZ3g3TE9hY3VEekJFamtLcGRVandq?= =?utf-8?B?bXMzSmU5QWszQTZkLzZGTUtaWlFNUVZka2tsZWJhUHdCMFRRK3hZandvMTll?= =?utf-8?B?dUN4N1VWbVRLR2RmbnIwcy9NT291UDRacVdFYXJNZU9IWTU0SDl5bUpXRi9R?= =?utf-8?B?TDhuYTlEV3A1ZkhrUngzL2wrZVF0ZnpRcTUwcm5oRGJPOXpTZVNSMVFZR0tw?= =?utf-8?B?OHpQZWdmeHBuSXR6c1g2aXM1WEJRZElKUnQ2T3JCNmh1cllkdnFEY3ExMG4y?= =?utf-8?B?cjU5RnpPYTJPVzhCdDNDWlRxdUovbHR3eGVha25zV1Yrb1BGRksvVlZmRmw5?= =?utf-8?B?WjlKNHQ2Rll0c2JEMWlYc2FwRGw5YkFLZ1pQRS8yMjhzYVdHbGhIMGluN1ZZ?= =?utf-8?B?WmQxeUlQMkIzR2sreXJsVDREejY0d1hXcHRQaE93cnNRb3ZBMWtmckJhc3Rz?= =?utf-8?B?NFUwK2oyaVBrWUVxdjNHOFdFZlN5SGhEYnc1NGZuZ3VDKzZrc1cxWkdKZGRr?= =?utf-8?B?SXNEUDBYVm5UdjkwOERtV2VTUStWTWtBMjBETXdjZjcvMnBDVWtIV1c0Q212?= =?utf-8?B?TDhOb0dMQUFESjY0K0p6RnozUUtzZ09iSlVucWNJK3lCWElwWWRIdTlPaFFG?= =?utf-8?B?dEVmTVloUHZ2bUdPcFpFTkhMU2ZLTGN1aVR1SDI2OEpwbUJJenVQWEx5b2FF?= =?utf-8?B?RklLNktJZUtyODdaMkhnNUE3c2lqUlNmT3RQb2tKUG5KZHZLNkhrM3JsclJ5?= =?utf-8?Q?nuOjeJ2xoMBZl49t8tTO9eu/HH11Vo+b8rConB/O6NWP?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA1PR12MB6332.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c34a263-06da-4db6-094b-08dafad39250 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2023 10:46:22.5640 (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: llTm5bHo1QQNZtMbs/C/MnW8qRlppfYhY0Q5hLVFTqCwKxrJjRgkEgnIJ6GnrpgJSrq+SHLHkUu9t6xWhzfGqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4068 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 SGVsbG8gQW5kcmV3LA0KDQpbXQ0KDQo+ID4gVGhlIHBhdGNoIGFkZHMgYHJ0ZV9mbG93X2FjdGlv bl9oYW5kbGVfcXVlcnlfdXBkYXRlYCBmdW5jdGlvbiBjYWxsLA0KPiANCj4gIlRoaXMgcGF0Y2gg YWRkcyAuLi4iIC0+ICJBZGQgLi4uIg0KPiANCg0KV2lsbCBmaXggaW4gdjcuDQoNCj4gPiBhbmQg aXQncyBhc3luYyB2ZXJzaW9uIGBydGVfZmxvd19hc3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5X3Vw ZGF0ZWANCj4gPiB0byBhdG9taWNhbGx5IHF1ZXJ5IGFuZCB1cGRhdGUgZmxvdyBhY3Rpb24uDQo+ IA0KPiBTb3JyeSwgbWF5IGJlIEknbSBtaXNzaW5nIHNvbWV0aGluZywgYnV0IGFmdGVyIHJlYWRp bmcgcHJldmlvdXMNCj4gZGlzY3Vzc2lvbiBJIGhhdmUgYSBmZWVsaW5nIHRoYXQgdXBkYXRlIGNv dWxkIGJlIHF1ZXJpZWQgZGF0YQ0KPiBkZXBlbmRlbnQuIEhvd2V2ZXIsIEkgZG9uJ3QgdW5kZXJz dGFuZCBob3cgaXQgY291bGQgYmUgcG9zc2libGUNCj4gd2l0aCBBUEkgYmVsb3cuIEp1c3QgbXkg bWlzdW5kZXJzdGFuZGluZz8NCj4gDQoNClRoZSBnb2FsIG9mIGBydGVfZmxvd19hY3Rpb25faGFu ZGxlX3F1ZXJ5X3VwZGF0ZSgpYCBpcyB0byBleGVjdXRlIHF1ZXJ5IGFuZCB1cGRhdGUgYWN0aW9u cyBhdG9taWNhbGx5Lg0KVGhlIGZ1bmN0aW9uIGd1YXJhbnRpZXMgdGhhdCBhY3Rpb24gc3RhdGUg d2lsbCBub3QgY2hhbmdlIGJ5IGFueSBldmVudCBiZWZvcmUgYm90aCB1cGRhdGUgYW5kIHF1ZXJ5 IGNvbXBsZXRlLg0KSWYgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2l0aCB0aGUgYCBSVEVfRkxP V19RVV9RVUVSWV9GSVJTVCBgIGBtb2RlYCBhcmd1bWVudCwgdGhlbiB1cGRhdGUgZXhlY3V0aW9u IGNhbiBkZXBlbmQNCm9uIHF1ZXJ5IHJlc3VsdC4gVGhhdCdzIHVwIHRvIHF1ZXJ5IGZvcm1hdCwg UE1EIGltcGxlbWVudGF0aW9uIGFuZCBoYXJkd2FyZSBjYXBhYmlsaXRpZXMuDQpJIGhvcGUgdGhh dCBhbnN3ZXJlZCB5b3VyIHF1ZXN0aW9uLg0KICANCj4gPg0KPiA+IEFwcGxpY2F0aW9uIGNhbiBj b250cm9sIHF1ZXJ5IGFuZCB1cGRhdGUgb3JkZXIsIGlmIHRoYXQgaXMgc3VwcG9ydGVkDQo+ID4g YnkgcG9ydCBoYXJkd2FyZSwgYnkgc2V0dGluZyBgcXVfbW9kZWAgcGFyYW1ldGVyIHRvDQo+ID4g UlRFX0ZMT1dfUVVfUVVFUllfRklSU1Qgb3IgUlRFX0ZMT1dfUVVfVVBEQVRFX0ZJUlNULg0KPiA+ DQo+ID4gU2lnbmVkLW9mZi1ieTogR3JlZ29yeSBFdGVsc29uIDxnZXRlbHNvbkBudmlkaWEuY29t Pg0KPiA+IC0tLQ0KPiA+IHYyOiBSZW1vdmUgUlRFX0ZMT1dfUVVfREVGQVVMVCBxdWVyeS11cGRh dGUgbW9kZS4NCj4gPiB2MzogVXBkYXRlIHJlbGVhc2UgcmVsZWFzZSBub3Rlcy4NCj4gPiAgICAg IEZpeCBkb3h5Z2VuIGVycm9ycy4NCj4gPiB2NDogQWRkIHJldHVybmVkIGVycm5vIGNvZGVzLg0K PiA+IHY1OiBVcGRhdGUgdGhlIHBhdGNoIGRlc2NyaXB0aW9uLg0KPiA+ICAgICAgRml4IHR5cG9z Lg0KPiA+IHY2OiBSZXNvbHZlIG1lcmdlIGNvbmZsaWN0IHdpdGggdGhlIG1haW4gYnJhbmNoLg0K PiA+IC0tLQ0KPiA+ICAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yM18wMy5yc3QgfCAg NyArKw0KPiA+ICAgbGliL2V0aGRldi9ydGVfZmxvdy5jICAgICAgICAgICAgICAgICAgfCAzOSAr KysrKysrKysrDQo+ID4gICBsaWIvZXRoZGV2L3J0ZV9mbG93LmggICAgICAgICAgICAgICAgICB8 IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gICBsaWIvZXRoZGV2L3J0ZV9mbG93 X2RyaXZlci5oICAgICAgICAgICB8IDE1ICsrKysNCj4gPiAgIGxpYi9ldGhkZXYvdmVyc2lvbi5t YXAgICAgICAgICAgICAgICAgIHwgIDUgKysNCj4gPiAgIDUgZmlsZXMgY2hhbmdlZCwgMTY1IGlu c2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y ZWxlYXNlXzIzXzAzLnJzdA0KPiBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjNfMDMu cnN0DQo+ID4gaW5kZXggYzE1ZjZmYmI5Zi4uNjk0MWQyMGFiYyAxMDA2NDQNCj4gPiAtLS0gYS9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIzXzAzLnJzdA0KPiA+ICsrKyBiL2RvYy9ndWlk ZXMvcmVsX25vdGVzL3JlbGVhc2VfMjNfMDMucnN0DQo+ID4gQEAgLTY5LDYgKzY5LDEzIEBAIE5l dyBGZWF0dXJlcw0KPiA+ICAgICAgIGBgcnRlX2V2ZW50X2Rldl9jb25maWc6Om5iX3NpbmdsZV9s aW5rX2V2ZW50X3BvcnRfcXVldWVzYGANCj4gcGFyYW1ldGVyDQo+ID4gICAgICAgcmVxdWlyZWQg Zm9yIGV0aF9yeCwgZXRoX3R4LCBjcnlwdG8gYW5kIHRpbWVyIGV2ZW50ZGV2IGFkYXB0ZXJzLg0K PiA+DQo+ID4gKyogKipBZGRlZCBmdW5jdGlvbnMgdG8gYXRvbWljYWxseSBxdWVyeSBhbmQgdXBk YXRlIGluZGlyZWN0IGZsb3cNCj4gYWN0aW9uLioqDQo+ID4gKw0KPiA+ICsgIEFkZGVkIHN5bmNo cm9ub3VzIGFuZCBhc3luY2hyb25vdXMgZnVuY3Rpb25zIHRvIGF0b21pY2FsbHkgcXVlcnkNCj4g YW5kIHVwZGF0ZQ0KPiA+ICsgIGluZGlyZWN0IGZsb3cgYWN0aW9uOg0KPiA+ICsNCj4gPiArICAt IGBgcnRlX2Zsb3dfYWN0aW9uX2hhbmRsZV9xdWVyeV91cGRhdGVgYA0KPiA+ICsgIC0gYGBydGVf Zmxvd19hc3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZWBgDQo+IA0KPiBQbGVhc2UsIGFk ZCBvbmUgbW9yZSBlbXB0eSBsaW5lIHNpbmNlIHR3byBzaG91bGQgc2VwYXJhdGUNCj4gc2VjdGlv bnMuDQo+IA0KDQpXaWxsIGZpeCBpbiB2Ny4NCg0KPiA+DQo+ID4gICBSZW1vdmVkIEl0ZW1zDQo+ ID4gICAtLS0tLS0tLS0tLS0tDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cu YyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuYw0KPiA+IGluZGV4IDdkMGMyNDM2NmMuLjhiOGFhOTQw YmUgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5jDQo+ID4gKysrIGIvbGli L2V0aGRldi9ydGVfZmxvdy5jDQo+ID4gQEAgLTE4ODMsMyArMTg4Myw0MiBAQCBydGVfZmxvd19h c3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5KHVpbnQxNl90DQo+IHBvcnRfaWQsDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbl9oYW5kbGUsIGRhdGEsIHVz ZXJfZGF0YSwgZXJyb3IpOw0KPiA+ICAgICAgIHJldHVybiBmbG93X2Vycihwb3J0X2lkLCByZXQs IGVycm9yKTsNCj4gPiAgIH0NCj4gPiArDQo+ID4gK2ludA0KPiA+ICtydGVfZmxvd19hY3Rpb25f aGFuZGxlX3F1ZXJ5X3VwZGF0ZSh1aW50MTZfdCBwb3J0X2lkLA0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3dfYWN0aW9uX2hhbmRsZSAqaGFuZGxl LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICp1cGRh dGUsIHZvaWQgKnF1ZXJ5LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl bnVtIHJ0ZV9mbG93X3F1ZXJ5X3VwZGF0ZV9tb2RlIG1vZGUsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpDQo+ID4gK3sN Cj4gPiArICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9ICZydGVfZXRoX2RldmljZXNbcG9y dF9pZF07DQo+IA0KPiBJIGtub3cgdGhhdCBuZWFyYnkgY29kZSBkb2VzIHRoZSBzYW1lLCBidXQg SSBzdGlsbCBkaXNsaWtlIGl0Lg0KPiBJZiBwb3J0X2lkIGlzIGludmFsaWQsIGl0IGNvdWxkIGJl IG91dC1vZi1ib3VuZGFyeSBhY2Nlc3MuDQo+IFllcywgcG9ydF9pZCBpcyBjaGVja2VkIG9uIG9w cyBnZXQsIGJ1dCBpdCB3b3VsZCBiZSBzYWZlciB0bw0KPiBkbyB0aGUgYXNzaWdubWVudCBhZnRl ciBvcHMgY2hlY2sgYmVsb3cuDQo+IFJpZ2h0IG5vdyB0aGVyZSBpcyBubyBidWdzLCBidXQgdGhl IGZ1dHVyZSBtb2RpZmljYXRpb25zDQo+IGNvdWxkIGJyZWFrIGl0Lg0KPiANCg0KV2lsbCBmaXgg aW4gdjcuDQoNCj4gPiArICAgICBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfb3BzICpvcHMgPSBydGVf Zmxvd19vcHNfZ2V0KHBvcnRfaWQsIGVycm9yKTsNCj4gPiArICAgICBpbnQgcmV0Ow0KPiA+ICsN Cj4gPiArICAgICBpZiAoIW9wcyB8fCAhb3BzLT5hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZSkN Cj4gPiArICAgICAgICAgICAgIHJldHVybiAtRU5PVFNVUDsNCj4gPiArICAgICByZXQgPSBvcHMt PmFjdGlvbl9oYW5kbGVfcXVlcnlfdXBkYXRlKGRldiwgaGFuZGxlLCB1cGRhdGUsIHF1ZXJ5LA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSwgZXJy b3IpOw0KPiA+ICsgICAgIHJldHVybiBmbG93X2Vycihwb3J0X2lkLCByZXQsIGVycm9yKTsNCj4g PiArfQ0KPiA+ICsNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2FzeW5jX2FjdGlvbl9oYW5kbGVf cXVlcnlfdXBkYXRlKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQzMl90DQo+IHF1ZXVlX2lkLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRl X2Zsb3dfb3BfYXR0ciAqYXR0ciwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9oYW5kbGUgKmhhbmRsZSwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqdXBkYXRlLCB2 b2lkICpxdWVyeSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW51bSBydGVfZmxvd19xdWVyeV91cGRhdGVfbW9kZSBtb2RlLA0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX2RhdGEsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJy b3IpDQo+ID4gK3sNCj4gPiArICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9ICZydGVfZXRo X2RldmljZXNbcG9ydF9pZF07DQo+IA0KPiBzYW1lIGhlcmUNCj4gDQoNCldpbGwgZml4IGluIHY3 Lg0KDQo+ID4gKyAgICAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93X29wcyAqb3BzID0gcnRlX2Zsb3df b3BzX2dldChwb3J0X2lkLCBlcnJvcik7DQo+ID4gKyAgICAgaW50IHJldDsNCj4gPiArDQo+ID4g KyAgICAgaWYgKCFvcHMgfHwgIW9wcy0+YXN5bmNfYWN0aW9uX2hhbmRsZV9xdWVyeV91cGRhdGUp DQo+ID4gKyAgICAgICAgICAgICByZXR1cm4gLUVOT1RTVVA7DQo+ID4gKyAgICAgcmV0ID0gb3Bz LT5hc3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZShkZXYsIHF1ZXVlX2lkLCBhdHRyLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFu ZGxlLCB1cGRhdGUsIHF1ZXJ5LCBtb2RlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9kYXRhLCBlcnJvcik7DQo+ID4gKyAgICAgcmV0 dXJuIGZsb3dfZXJyKHBvcnRfaWQsIHJldCwgZXJyb3IpOw0KPiA+ICt9DQo+ID4gZGlmZiAtLWdp dCBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaCBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+IGlu ZGV4IGI2MDk4N2RiNGIuLjI4MDU2N2EzYWUgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9y dGVfZmxvdy5oDQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gQEAgLTU2MjIs NiArNTYyMiwxMDUgQEANCj4gcnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV9xdWVyeSh1aW50 MTZfdCBwb3J0X2lkLA0KPiA+ICAgICAgICAgICAgICAgdm9pZCAqdXNlcl9kYXRhLA0KPiA+ICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4NCj4gPiArLyoq DQo+ID4gKyAqIEB3YXJuaW5nDQo+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5 IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPiArICoNCj4gPiArICogUXVlcnlfdXBk YXRlIG9wZXJhdGlvbmFsIG1vZGUuDQo+IA0KPiBNYXkgYmUgIlF1ZXJ5IGFuZCB1cGRhdGUgb3Bl cmF0aW9uIG1vZGUuIj8NCj4gDQoNCkxvb2tzIGdvb2QuIFdpbGwgZml4IGluIHY3Lg0KDQo+ID4g KyAqDQo+ID4gKyAqIFJURV9GTE9XX1FVX1FVRVJZX0ZJUlNUDQo+ID4gKyAqICAgRm9yY2UgcG9y dCB0byBxdWVyeSBhY3Rpb24gYmVmb3JlIHVwZGF0ZS4NCj4gPiArICogUlRFX0ZMT1dfUVVfVVBE QVRFX0ZJUlNUDQo+ID4gKyAqICAgRm9yY2UgcG9ydCB0byB1cGRhdGUgYWN0aW9uIGJlZm9yZSBx dWVyeS4NCj4gPiArICoNCj4gPiArICogQHNlZSBydGVfZmxvd19hY3Rpb25faGFuZGxlX3F1ZXJ5 X3VwZGF0ZSgpDQo+ID4gKyAqIEBzZWUgcnRlX2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV9xdWVy eV91cGRhdGUoKQ0KPiA+ICsgKi8NCj4gPiArZW51bSBydGVfZmxvd19xdWVyeV91cGRhdGVfbW9k ZSB7DQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVfUVVFUllfRklSU1QsICAvKiBxdWVyeSBiZWZvcmUg dXBkYXRlICovDQo+ID4gKyAgICAgUlRFX0ZMT1dfUVVfVVBEQVRFX0ZJUlNULCAvKiBxdWVyeSBh ZnRlciAgdXBkYXRlICovDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogQHdhcm5p bmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQg cHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBRdWVyeSBhbmQvb3IgdXBkYXRlIGluZGly ZWN0IGZsb3cgYWN0aW9uLg0KPiA+ICsgKiBJZiB1cGRhdGUgcGFyYW1ldGVyIGlzIE5VTEwgdGhl IGZ1bmN0aW9uIHF1ZXJpZXMgaW5kaXJlY3QgYWN0aW9uLg0KPiA+ICsgKiBJZiBxdWVyeSBwYXJh bWV0ZXIgaXMgTlVMTCB0aGUgZnVuY3Rpb24gdXBkYXRlcyBpbmRpcmVjdCBhY3Rpb24uDQo+IA0K PiBJTUhPIGl0IGlzIGJldHRlciB0byBoaWdobGlnaHQgaW4gdGhlIHBhcmFtZXRlciBkZXNjcmlw dGlvbg0KPiBiZWxvdyB0aGF0IHBhcmFtZXRlciBtYXkgYmUgTlVMTC4gU2VlIGJlbG93Lg0KPiAN Cg0KV2lsbCBmaXggaW4gdjcuDQoNCj4gPiArICogSWYgYm90aCBxdWVyeSBhbmQgdXBkYXRlIG5v dCBOVUxMLCB0aGUgZnVuY3Rpb24gYXRvbWljYWxseQ0KPiA+ICsgKiBxdWVyaWVzIGFuZCB1cGRh dGVzIGluZGlyZWN0IGFjdGlvbi4gUXVlcnkgYW5kIHVwZGF0ZSBhcmUgY2FycmllZCBpbg0KPiBv cmRlcg0KPiA+ICsgKiBzcGVjaWZpZWQgaW4gdGhlIG1vZGUgcGFyYW1ldGVyLg0KPiANCj4gSSdk IGxpa2UgdG8gZG91YmxlLWNoZWNrIHdoYXQgaGFwcGVucyBpZiBib3RoIG9wcyBhcmUgTlVMTC4N Cj4gSSBndWVzcyBpdCBpcyBqdXN0IE5PUC4NCg0KSWYgYm90aCBxdWVyeSBhbmQgdXBkYXRlIHBh cmFtZXRlcnMgd2VyZSBOVUxMLCB0aGUgZnVuY3Rpb24gd2lsbCBmYWlsIHdpdGggRUlOVkFMIGVy cm9yDQpXaWxsIGZpeCBpbiB2Ny4NCg0KPiBBbHNvIGl0IHNob3VsZCBub3QgYmUgYSBwcm9ibGVt IGlzIFFVRVJZX0ZJUlNUIGlzIHNwZWNpZmllZCwNCj4gYnV0IHF1ZXJ5IGlzIE5VTEwuIFNhbWUg Zm9yIHVwZGF0ZS4NCj4gSWYgeWVzIGluIGJvdGggY2FzZXMsIG5vIGV4dHJhIGRvY3VtZW50YXRp b24gaXMgcmVxdWlyZWQuDQo+IElmIGl0IGlzIGFuIGVycm9yLCBpdCBzaG91bGQgYmUgZG9jdW1l bnRlZC4NCj4gDQoNCkJvdGggUlRFX0ZMT1dfUVVfUVVFUllfRklSU1QgYW5kIFJURV9GTE9XX1FV X1VQREFURV9GSVJTVCByZXF1aXJlDQpxdWVyeSBhbmQgdXBkYXRlIHBhcmFtZXRlcnMuDQpXaWxs IGZpeCBpbiB2Ny4NCg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+ICsgKiAg IFBvcnQgaWRlbnRpZmllciBvZiBFdGhlcm5ldCBkZXZpY2UuDQo+ID4gKyAqIEBwYXJhbSBoYW5k bGUNCj4gPiArICogICBIYW5kbGUgZm9yIHRoZSBpbmRpcmVjdCBhY3Rpb24gb2JqZWN0IHRvIGJl IHVwZGF0ZWQuDQo+ID4gKyAqIEBwYXJhbSB1cGRhdGUNCj4gPiArICogICBVcGRhdGUgcHJvZmls ZSBzcGVjaWZpY2F0aW9uIHVzZWQgdG8gbW9kaWZ5IHRoZSBhY3Rpb24gcG9pbnRlZCBieQ0KPiBo YW5kbGUuDQo+IA0KPiBJZiBub3QgTlVMTCwgdXBkYXRlIC4uLg0KPiANCg0KV2lsbCBmaXggaW4g djcuDQoNCj4gPiArICogQHBhcmFtIHF1ZXJ5DQo+ID4gKyAqICAgUG9pbnRlciB0byBzdG9yYWdl IGZvciB0aGUgYXNzb2NpYXRlZCBxdWVyeSBkYXRhIHR5cGUuDQo+IA0KPiBJZiBub3QgTlVMTCwg cXVlcnkgYWN0aW9uIGRhdGEgYW5kIHN0b3JlIGluIHByb3ZpZGVkIGxvY2F0aW9uLg0KPiANCg0K V2lsbCBmaXggaW4gdjcuDQoNCj4gPiArICogQHBhcmFtIG1vZGUNCj4gPiArICogICBPcGVyYXRp b25hbCBtb2RlLg0KPiA+ICsgKiBAcGFyYW0gZXJyb3INCj4gPiArICogICBQZXJmb3JtIHZlcmJv c2UgZXJyb3IgcmVwb3J0aW5nIGlmIG5vdCBOVUxMLg0KPiA+ICsgKiAgIFBNRHMgaW5pdGlhbGl6 ZSB0aGlzIHN0cnVjdHVyZSBpbiBjYXNlIG9mIGVycm9yIG9ubHkuDQo+ID4gKyAqDQo+ID4gKyAq IEByZXR1cm4NCj4gPiArICogMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVycm5vIHZhbHVlIG90 aGVyd2lzZSBhbmQgcnRlX2Vycm5vIGlzIHNldC4NCj4gPiArICogLSAoRU5PVFNVUCkgaWYgdW5k ZXJseWluZyBkZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGZ1bmN0aW9uYWxpdHkuDQo+ID4g KyAqIC0gKEVJTlZBTCkgLSBpZiAqaGFuZGxlKiBpbnZhbGlkDQo+ID4gKyAqLw0KPiA+ICtfX3J0 ZV9leHBlcmltZW50YWwNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2FjdGlvbl9oYW5kbGVfcXVl cnlfdXBkYXRlKHVpbnQxNl90IHBvcnRfaWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfZmxvd19hY3Rpb25faGFuZGxlICpoYW5kbGUsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZvaWQgKnVwZGF0ZSwgdm9pZCAq cXVlcnksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcnRlX2Zs b3dfcXVlcnlfdXBkYXRlX21vZGUgbW9kZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4gKw0KPiA+ICsvKioN Cj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkg Y2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBFbnF1ZXVlIGFz eW5jIGluZGlyZWN0IGZsb3cgYWN0aW9uIHF1ZXJ5IGFuZC9vciB1cGRhdGUNCj4gPiArICoNCj4g PiArICogQHBhcmFtIHBvcnRfaWQNCj4gPiArICogICBQb3J0IGlkZW50aWZpZXIgb2YgRXRoZXJu ZXQgZGV2aWNlLg0KPiA+ICsgKiBAcGFyYW0gcXVldWVfaWQNCj4gPiArICogICBGbG93IHF1ZXVl IHdoaWNoIGlzIHVzZWQgdG8gdXBkYXRlIHRoZSBydWxlLg0KPiA+ICsgKiBAcGFyYW0gYXR0cg0K PiA+ICsgKiAgIEluZGlyZWN0IGFjdGlvbiB1cGRhdGUgb3BlcmF0aW9uIGF0dHJpYnV0ZXMuDQo+ ID4gKyAqIEBwYXJhbSBoYW5kbGUNCj4gPiArICogICBIYW5kbGUgZm9yIHRoZSBpbmRpcmVjdCBh Y3Rpb24gb2JqZWN0IHRvIGJlIHVwZGF0ZWQuDQo+ID4gKyAqIEBwYXJhbSB1cGRhdGUNCj4gPiAr ICogICBVcGRhdGUgcHJvZmlsZSBzcGVjaWZpY2F0aW9uIHVzZWQgdG8gbW9kaWZ5IHRoZSBhY3Rp b24gcG9pbnRlZCBieQ0KPiBoYW5kbGUuDQo+IA0KPiBJdCBzaG91bGQgYmUgZG9jdW1lbnRlZCB0 aGF0IE5VTEwgaXMgYWxsb3dlZA0KPiANCg0KV2lsbCBmaXggaW4gdjcuDQoNCj4gPiArICogQHBh cmFtIHF1ZXJ5DQo+ID4gKyAqICAgUG9pbnRlciB0byBzdG9yYWdlIGZvciB0aGUgYXNzb2NpYXRl ZCBxdWVyeSBkYXRhIHR5cGUuDQo+ID4gKyAqICAgUXVlcnkgcmVzdWx0IHJldHVybmVkIG9uIGFz eW5jIGNvbXBsZXRpb24gZXZlbnQuDQo+IA0KPiBJdCBzaG91bGQgYmUgZG9jdW1lbnRlZCB0aGF0 IE5VTEwgaXMgYWxsb3dlZA0KPiANCg0KV2lsbCBmaXggaW4gdjcuDQoNCj4gPiArICogQHBhcmFt IG1vZGUNCj4gPiArICogICBPcGVyYXRpb25hbCBtb2RlLg0KPiA+ICsgKiBAcGFyYW0gdXNlcl9k YXRhDQo+ID4gKyAqICAgVGhlIHVzZXIgZGF0YSB0aGF0IHdpbGwgYmUgcmV0dXJuZWQgb24gYXN5 bmMgY29tcGxldGlvbiBldmVudC4NCj4gPiArICogQHBhcmFtIGVycm9yDQo+ID4gKyAqICAgUGVy Zm9ybSB2ZXJib3NlIGVycm9yIHJlcG9ydGluZyBpZiBub3QgTlVMTC4NCj4gPiArICogICBQTURz IGluaXRpYWxpemUgdGhpcyBzdHJ1Y3R1cmUgaW4gY2FzZSBvZiBlcnJvciBvbmx5Lg0KPiA+ICsg Kg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIGVy cm5vIHZhbHVlIG90aGVyd2lzZSBhbmQgcnRlX2Vycm5vIGlzIHNldC4NCj4gPiArICogLSAoRU5P VFNVUCkgaWYgdW5kZXJseWluZyBkZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGZ1bmN0aW9u YWxpdHkuDQo+ID4gKyAqIC0gKEVJTlZBTCkgLSBpZiAqaGFuZGxlKiBpbnZhbGlkDQo+ID4gKyAq Lw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2FzeW5j X2FjdGlvbl9oYW5kbGVfcXVlcnlfdXBkYXRlKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQzMl90DQo+ IHF1ZXVlX2lkLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBzdHJ1Y3QgcnRlX2Zsb3dfb3BfYXR0ciAqYXR0ciwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbl9oYW5kbGUgKmhh bmRsZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg dm9pZCAqdXBkYXRlLCB2b2lkICpxdWVyeSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZW51bSBydGVfZmxvd19xdWVyeV91cGRhdGVfbW9kZSBtb2RlLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyX2RhdGEs DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVf Zmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICsNCj4gPiAgICNpZmRlZiBfX2NwbHVzcGx1cw0KPiA+ ICAgfQ0KPiA+ICAgI2VuZGlmDQo+IA0KPiBbc2tpcF0NCg0K