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 09A8AA034F; Mon, 29 Mar 2021 08:09:16 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9CE4040151; Mon, 29 Mar 2021 08:09:16 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 0DDC240042 for ; Mon, 29 Mar 2021 08:09:14 +0200 (CEST) IronPort-SDR: pN3mU8u+dblE02H5XZhzU8YvJKlvB23oPhCcBJrVW27u2RTGlyfORELChYkNVKIJ4l4EH1kenC /Eqkl1YyPYbg== X-IronPort-AV: E=McAfee;i="6000,8403,9937"; a="171498574" X-IronPort-AV: E=Sophos;i="5.81,285,1610438400"; d="scan'208";a="171498574" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2021 23:09:14 -0700 IronPort-SDR: PVeY/hv3YCmYiNJgQ8IwwD7eOuEuBtvWjOyXH6BfK1Z+utSBsTMImAtHccSLcp9fqR46KwmP7f Dexrd2TGNw2g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,285,1610438400"; d="scan'208";a="454417155" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga001.jf.intel.com with ESMTP; 28 Mar 2021 23:09:13 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Sun, 28 Mar 2021 23:09:13 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Sun, 28 Mar 2021 23:09:12 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Sun, 28 Mar 2021 23:09:08 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Sun, 28 Mar 2021 23:09:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bpwfwzZHaOcwnrA5IgoDDLHJHvBxnkrsz2t7kT5VdVO8YEY+wKmJ/wr8Pf6qbi1eStBlZBSZRT2e49IfXY08qdEPDBSfXz1Ewc1hnSlMoeFIngq5fp8RWd7YnslNaD+AwJtiid9NBL73PT15ap6mAT45i1phHSQNZPhGMo+5nlH5vm30Bwo1CxEgZ1z+o5PrW4xarZLwJAk6VaBZelfIK++QUKnO4vFVTfoyEtpoBbTy+MqZS2bSvsmWvMGXLs24oGZxOAO4T41/9Gyn29dwwOs7CE2asTcbdkNMhdaKPMOHcNhka1Wpt/NGt9ie81Wy63GfCLcXokttgfZW+9eoMw== 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=RDzK/WsOjefS8Kyo4E29MMYbMSEWkIBJJv1PARwlS3s=; b=DsVjB37FjUukIDL1xII0Lalsz6WTjXCpe6tS4c32IkyCUAAzK56d2TzK6uBp16NW3KsF9CALeMrSh40ijRJ5rG8XGVlohBwVn50woDDVJSZovn/m+X0RgkJ46wueAtcpre7eYzVuF/ep00NgV8BrRRfAh2FLuQnma8bA1gXcL+KY8wcmtGd5WvSEJLHkm2Z6+yqTNFboeUActtWCRmbk2ansk+z/Tz40Ccq/TKPcVF3+OOz6DIh+G3L/NtUjWcVO057BfeRHEQ9BH7FmGtndIfWZIuyIriY/4crfeT+kE4fM93tHylkfy23jNTmj56uBKhq9MOW+Nu2gZ4XxKxjCCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RDzK/WsOjefS8Kyo4E29MMYbMSEWkIBJJv1PARwlS3s=; b=lNGRv9uUMGI06r6uol2UcrWfIWwa3F4wde38UnQxXr+JSe5vgAav+usaqioglr32W7/bscAQhpPSSQzFFMTgsmNAEzhks5Y80rH3f99Qsph5/t6yo7TYitmXZ2eQCAHZpwnPBon/VeqdSZRt7CRd/y9Xukh297J5Ckupbb9sjpM= Received: from SN6PR11MB3117.namprd11.prod.outlook.com (2603:10b6:805:d7::32) by SN6PR11MB3263.namprd11.prod.outlook.com (2603:10b6:805:c5::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.31; Mon, 29 Mar 2021 06:09:05 +0000 Received: from SN6PR11MB3117.namprd11.prod.outlook.com ([fe80::4579:2bc0:3dc8:8b37]) by SN6PR11MB3117.namprd11.prod.outlook.com ([fe80::4579:2bc0:3dc8:8b37%5]) with mapi id 15.20.3977.033; Mon, 29 Mar 2021 06:09:05 +0000 From: "Jayatheerthan, Jay" To: Jerin Jacob , Pavan Nikhilesh CC: Jerin Jacob , "Carrillo, Erik G" , "Gujjar, Abhinandan S" , "McDaniel, Timothy" , Hemant Agrawal , "Van Haaren, Harry" , mattias.ronnblom , "Ma, Liang J" , dpdk-dev Thread-Topic: [dpdk-dev] [PATCH v8 4/8] eventdev: add Rx adapter event vector support Thread-Index: AQHXIknY2wCSoASlR0uegptVj0D5YKqZEVIAgAFiWGA= Date: Mon, 29 Mar 2021 06:09:05 +0000 Message-ID: References: <20210325171057.6699-1-pbhagavatula@marvell.com> <20210326140850.7332-1-pbhagavatula@marvell.com> <20210326140850.7332-5-pbhagavatula@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [223.226.90.31] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a6a59d33-c3e0-4a9c-61e5-08d8f2792887 x-ms-traffictypediagnostic: SN6PR11MB3263: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2276; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8YyG+mnJzkydy1Ma0RkS0T/NKYhlscgMfMz3Go89Frkhx7ig63xw0x7LHRiNxgyvrH34Ucew33jIcNV7OQOCANCqBfgLmN0w9OJQ3D+qbxfCFUqS2dQLyscKhQ9iH9S077aeYrHEv9f31s+0uIK8jlEElhlod7njK/t2P06mhyJSpno+JdtL4EcMnw41QWt7YUKhaPohsTO1J9/iL1Rp5eKTmZnfgA1AS3r883PVSWDxVQ17YnOitreV67SVRw21pO7jtQCjXGCWRmaVegkNsrPLcAHiU1QyvnWEa+8nV2aKAlXoRuPf5R7orqwQMbEshqqAkLhwA7Otvob4/wVZTkz8d22mWJhqikTo+eUAuLGgtp4sa5O6GgyLWz25cIWEmgqGZ4BigwhWTVlDOT8re4CLvSzLHMHCX+ksgrxvy3ULOkwqGRrhHZAdi6akmhzI8S8tiIPRE6M840AwCN3hjPh3UuOAnDQ4kcHVSaO6cADUOOAw5z/XOxn6Mk53g8oOM3dL+bkOJMp3Fj+DEYGmNxVAjEOV1AAlUskZLn+87PukWwMvhXgx0AgbuokXlyjwHq9KxPnEZYZrThdnYIm+1WEv+TPauUNyL9fWGr7n4tTp1BUyS30GGoUpkLbhMSZYvrf693kSoTOEMA9zFyzgm8DAxJzbhDHNeQzqTMgMIBA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3117.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(376002)(396003)(39860400002)(366004)(346002)(52536014)(316002)(26005)(86362001)(30864003)(8936002)(83380400001)(33656002)(38100700001)(71200400001)(64756008)(53546011)(66476007)(110136005)(55016002)(55236004)(54906003)(6506007)(4326008)(66446008)(76116006)(9686003)(66946007)(478600001)(2906002)(8676002)(186003)(5660300002)(7696005)(66556008)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?UmpZLzYwaVpyb2lnU0tZVUdTREJ3dXlhUGUxYncrVGNSQW1EajYxK0kvMDNF?= =?utf-8?B?YmxsTGZSb0dCby9TRldtbkxKUStRMXQ2dHdzdnR2bzcyUkNrdkZ5a3I4S3BG?= =?utf-8?B?ZEpGeGU4SWk3b3l0VmdCU2FybVp0QnVjUlF6NlJzbDVFcy9DS1ZDZGJpblBy?= =?utf-8?B?N1NwMERDb2EwblNBZUFLR0lkdlZjVEQyWnQ3b0Y3R04ra2czMlIxUnpMMzF2?= =?utf-8?B?N1M5SXdOOUg0djJSM25Gelp3THNPNnRIZ1Awdm9jbE1oa2ZQY3dvNDdTMWhq?= =?utf-8?B?VGFhTzB6RXZ4VnN4ajhDWnU5VHFySHY0SWcvUlJNekt6ZDI3K1JaOXJRSkxT?= =?utf-8?B?SFpoZGRJZkxiZW9Dc0oyQ2FNSmgxVXpJT0dkQWI5RnBINXJlRmRUL0JqcDZv?= =?utf-8?B?YkdacHRVWjkzUXp3TUlib1M3U3hxL2YzMGFlVmxiZW9qRFg0WXlqQ1FKL1RZ?= =?utf-8?B?bVMwcnJIYytWS0ZpazdTSVdrT1NjRG0wMVIwTUZSZHJYcFJ3T29VQjRqWGhL?= =?utf-8?B?UVcyaUp2V1Zqd0V3Y24xNWRRV28rd0UzQk1LMUxCZzNoZEplSkFnSUVRNGdi?= =?utf-8?B?d1dQQ1lCTzJEUU93WWovQ3BqNFIwZkg3c1dzZENuZm9PSFVYcUNKMHhZTEZZ?= =?utf-8?B?YkNBT2pacFV0TS9YVytKOWRYc2crTHFjeEJRMkRiZVRHU2g4QjlzNW1kMjZv?= =?utf-8?B?S2VDTVZWT2tNWmtvMUtvbVpSTGJzQ0hPZWMrUE1YNGovRkQ4eVFKOEpiM2F0?= =?utf-8?B?aWJSY2lnaUExeUY1K0hUMUZrWmRXZjYzVXFBWnRjNlRhKzg4TkhUTytvbVBO?= =?utf-8?B?S0FrVWI3aE5RSEgvS0YrQi9veVp4d0o5YS9RRjNpdnRLd1pNclhWWk03aWdN?= =?utf-8?B?WWVwNEJocktaYVRMcmE4eXRObGtza1ZhTVRvb2s2NUx5K0kyS0NxdnF6MjV5?= =?utf-8?B?Y1hoTGVhOUNPSjRLeVptcnREYVhISFZhTUF2VTJQQThWZk84WXBBRFZWWWc3?= =?utf-8?B?ZjJkUFFrSXQxbzVvbUNYZ1ZaNEN6ZGFudjJEbTN4aWszajYvbFd3Yk9zb0Jn?= =?utf-8?B?Y2dlZHRCS3ovK0l1YzFuTjd5UE9nbEszT0xjUXAxemQ0UlM5dU5ObkFZYVYz?= =?utf-8?B?Wk5taHozQktsUUhCM3JiQ0lVVEMyZHQ5Nzk0YlV5WFhXNlhKcUR3WjgxTktu?= =?utf-8?B?b1Z2QlV1WjZUajRqNHY5UG5NazhadlJENDJ3ODNhbFVIMmZaWlh2aEcwUmIw?= =?utf-8?B?Y0VKMjFwcXplSUR5bHRkdklPY1A0MFRDbjNVN0JIaUVWR3JTKzZTMU15L0dJ?= =?utf-8?B?M1NRTEMrV1YrYXBoV2JERnQ4RGVjNXJrbmlESTJEV1NYazBXcWZNMWZmRU1R?= =?utf-8?B?NHo5T1cwUnJ0WWtIQzc1WlowcWJkZjJseWV3cC83TzlhdXFBdXNJVWpieFJG?= =?utf-8?B?YzBlT21xdVVhVzVlM0lYWDJLVDV4ZnIrb1Y5YTJiTytvb3BubElVNVIxOCtK?= =?utf-8?B?VHJhY0JON0JDT01UaDM4NWdHRkhmRW9XOTNNMU9mVDc3MFZlMDNSZWVOOE5s?= =?utf-8?B?N1dFU0NPa21WNDJrdjZ6QUFNYnVBWnkrZVdoWHlDN2FybnlkUzRTT29VU1Bk?= =?utf-8?B?ZWFGTzZkYnU2Rkg5c2hGUGE4TXA3K08zaVdnakFXSmMzMkRlaC8xOUI4SHh4?= =?utf-8?B?Y3R5NWE2TmdGWjR0eENQdVFjaHJnVVpwb3p1aGgwMnZFc1ZGbXRrUjBtY1pO?= =?utf-8?Q?FLeI1zQy2EQILUuGvF2S99E9m6XMmXt7rpENfsK?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3117.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6a59d33-c3e0-4a9c-61e5-08d8f2792887 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2021 06:09:05.6401 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 65qTBJHawQFOYeOzotC+9ZEfOs6zPzLqqefX30O+wmgQI3ltdkUNehnpc7JNzPZYcMHmn0HXuqfcXhjELGkaJrfrsVnfBfAv9i+GRAyBEwg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3263 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v8 4/8] eventdev: add Rx adapter event vector support 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5q YWNvYmtAZ21haWwuY29tPg0KPiBTZW50OiBTdW5kYXksIE1hcmNoIDI4LCAyMDIxIDE6NDkgUE0N Cj4gVG86IFBhdmFuIE5pa2hpbGVzaCA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiBDYzog SmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT47IEpheWF0aGVlcnRoYW4sIEpheSA8amF5 LmpheWF0aGVlcnRoYW5AaW50ZWwuY29tPjsgQ2FycmlsbG8sIEVyaWsgRyA8ZXJpay5nLmNhcnJp bGxvQGludGVsLmNvbT47DQo+IEd1amphciwgQWJoaW5hbmRhbiBTIDxhYmhpbmFuZGFuLmd1amph ckBpbnRlbC5jb20+OyBNY0RhbmllbCwgVGltb3RoeSA8dGltb3RoeS5tY2RhbmllbEBpbnRlbC5j b20+OyBIZW1hbnQgQWdyYXdhbA0KPiA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IFZhbiBIYWFy ZW4sIEhhcnJ5IDxoYXJyeS52YW4uaGFhcmVuQGludGVsLmNvbT47IG1hdHRpYXMucm9ubmJsb20N Cj4gPG1hdHRpYXMucm9ubmJsb21AZXJpY3Nzb24uY29tPjsgTWEsIExpYW5nIEogPGxpYW5nLmou bWFAaW50ZWwuY29tPjsgZHBkay1kZXYgPGRldkBkcGRrLm9yZz4NCj4gU3ViamVjdDogUmU6IFtk cGRrLWRldl0gW1BBVENIIHY4IDQvOF0gZXZlbnRkZXY6IGFkZCBSeCBhZGFwdGVyIGV2ZW50IHZl Y3RvciBzdXBwb3J0DQo+IA0KPiBPbiBGcmksIE1hciAyNiwgMjAyMSBhdCA3OjQwIFBNIDxwYmhh Z2F2YXR1bGFAbWFydmVsbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gRnJvbTogUGF2YW4gTmlraGls ZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+ID4NCj4gPiBBZGQgZXZlbnQgdmVjdG9y IHN1cHBvcnQgZm9yIGV2ZW50IGV0aCBSeCBhZGFwdGVyLCB0aGUgaW1wbGVtZW50YXRpb24NCj4g PiBjcmVhdGVzIHZlY3RvciBmbG93cyBiYXNlZCBvbiBwb3J0IGFuZCBxdWV1ZSBpZGVudGlmaWVy IG9mIHRoZSByZWNlaXZlZA0KPiA+IG1idWZzLg0KPiA+IFRoZSBmbG93IGlkIGZvciBTVyBSeCBl dmVudCB2ZWN0b3JpemF0aW9uIHdpbGwgdXNlIDEyLWJpdHMgb2YgcXVldWUNCj4gPiBpZGVudGlm aWVyIGFuZCA4LWJpdHMgcG9ydCBpZGVudGlmaWVyIHdoZW4gY3VzdG9tIGZsb3cgaWQgaXMgbm90 IHNldA0KPiA+IGZvciBzaW1wbGljaXR5Lg0KDQpTaW5jZSBSeCBhZGFwdGVyIGNvZGUgaW1wbGVt ZW50cyBTVyBjYXNlLCBpdCBtYXkgYmUgcmVsZXZhbnQgdG8gcHV0IHRoZSBmbG93X2lkIGRldGFp bHMgaW4gUnggYWRhcHRlciBkb2N1bWVudGF0aW9uLiBQbGVhc2UgYWxzbyBpbmNsdWRlIHRoZSBk ZXRhaWxzIG9mIGhvdyB3ZSBhcmUgZm9ybWluZyB0aGUgZmxvd19pZCB3aXRoIHF1ZXVlIGlkIGFu ZCBwb3J0LiBIYXZpbmcgaXQgaW4gY29tbWl0IGxvZywgbWF5IG5vdCBiZSByZWFkaWx5IGF2YWls YWJsZSB3aGVuIG5lZWRlZC4NCg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUGF2YW4gTmlraGls ZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+IA0KPiANCj4gQEpheWF0aGVlcnRoYW4s IEpheQ0KPiBMZXQgbWUga25vdyBpZiB5b3UgaGF2ZSBhbnkgY29tbWVudHMgb24gdGhpcyBwYXRj aC4NCj4gDQo+IA0KPiA+IC0tLQ0KPiA+ICBsaWIvbGlicnRlX2V2ZW50ZGV2L2V2ZW50ZGV2X3Bt ZC5oICAgICAgICAgICAgfCAgIDcgKy0NCj4gPiAgLi4uL3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRl ci5jICAgICAgICAgICAgICAgIHwgMjY5ICsrKysrKysrKysrKysrKystLQ0KPiA+ICBsaWIvbGli cnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jICAgICAgICAgICAgfCAgIDYgKy0NCj4gPiAgMyBm aWxlcyBjaGFuZ2VkLCAyNTggaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pDQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ldmVudGRldl9wbWQuaCBiL2xpYi9s aWJydGVfZXZlbnRkZXYvZXZlbnRkZXZfcG1kLmgNCj4gPiBpbmRleCA5Mjk3ZjE0MzMuLjBmNzI0 YWM4NSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5o DQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ldmVudGRldl9wbWQuaA0KPiA+IEBAIC02 OSw5ICs2OSwxMCBAQCBleHRlcm4gIkMiIHsNCj4gPiAgICAgICAgIH0gXA0KPiA+ICB9IHdoaWxl ICgwKQ0KPiA+DQo+ID4gLSNkZWZpbmUgUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX1NXX0NBUCBc DQo+ID4gLSAgICAgICAgICAgICAgICgoUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX0NBUF9PVkVS UklERV9GTE9XX0lEKSB8IFwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAoUlRFX0VWRU5U X0VUSF9SWF9BREFQVEVSX0NBUF9NVUxUSV9FVkVOVFEpKQ0KPiA+ICsjZGVmaW5lIFJURV9FVkVO VF9FVEhfUlhfQURBUFRFUl9TV19DQVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXA0KPiA+ICsgICAgICAgKChSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfQ0FQX09WRVJS SURFX0ZMT1dfSUQpIHwgICAgICAgICAgICAgICAgICAgICBcDQo+ID4gKyAgICAgICAgKFJURV9F VkVOVF9FVEhfUlhfQURBUFRFUl9DQVBfTVVMVElfRVZFTlRRKSB8ICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gPiArICAgICAgICAoUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX0NBUF9FVkVO VF9WRUNUT1IpKQ0KPiA+DQo+ID4gICNkZWZpbmUgUlRFX0VWRU5UX0NSWVBUT19BREFQVEVSX1NX X0NBUCBcDQo+ID4gICAgICAgICAgICAgICAgIFJURV9FVkVOVF9DUllQVE9fQURBUFRFUl9DQVBf U0VTU0lPTl9QUklWQVRFX0RBVEENCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRl di9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4gPiBpbmRleCBhYzhiYTViZjAuLmZiYTNiNWVjMyAxMDA2 NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRl ci5jDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0 ZXIuYw0KPiA+IEBAIC0yNiw2ICsyNiwxMCBAQA0KPiA+ICAjZGVmaW5lIEJBVENIX1NJWkUgICAg ICAgICAgICAgMzINCj4gPiAgI2RlZmluZSBCTE9DS19DTlRfVEhSRVNIT0xEICAgIDEwDQo+ID4g ICNkZWZpbmUgRVRIX0VWRU5UX0JVRkZFUl9TSVpFICAoNCpCQVRDSF9TSVpFKQ0KPiA+ICsjZGVm aW5lIE1BWF9WRUNUT1JfU0laRSAgICAgICAgICAgICAgICAxMDI0DQo+ID4gKyNkZWZpbmUgTUlO X1ZFQ1RPUl9TSVpFICAgICAgICAgICAgICAgIDQNCj4gPiArI2RlZmluZSBNQVhfVkVDVE9SX05T ICAgICAgICAgIDFFOQ0KPiA+ICsjZGVmaW5lIE1JTl9WRUNUT1JfTlMgICAgICAgICAgMUU1DQo+ ID4NCj4gPiAgI2RlZmluZSBFVEhfUlhfQURBUFRFUl9TRVJWSUNFX05BTUVfTEVOICAgICAgICAz Mg0KPiA+ICAjZGVmaW5lIEVUSF9SWF9BREFQVEVSX01FTV9OQU1FX0xFTiAgICAzMg0KPiA+IEBA IC01OSw2ICs2MywyMCBAQCBzdHJ1Y3QgZXRoX3J4X3BvbGxfZW50cnkgew0KPiA+ICAgICAgICAg dWludDE2X3QgZXRoX3J4X3FpZDsNCj4gPiAgfTsNCj4gPg0KPiA+ICtzdHJ1Y3QgZXRoX3J4X3Zl Y3Rvcl9kYXRhIHsNCj4gPiArICAgICAgIFRBSUxRX0VOVFJZKGV0aF9yeF92ZWN0b3JfZGF0YSkg bmV4dDsNCj4gPiArICAgICAgIHVpbnQxNl90IHBvcnQ7DQo+ID4gKyAgICAgICB1aW50MTZfdCBx dWV1ZTsNCj4gPiArICAgICAgIHVpbnQxNl90IG1heF92ZWN0b3JfY291bnQ7DQo+ID4gKyAgICAg ICB1aW50NjRfdCBldmVudDsNCj4gPiArICAgICAgIHVpbnQ2NF90IHRzOw0KPiA+ICsgICAgICAg dWludDY0X3QgdmVjdG9yX3RpbWVvdXRfdGlja3M7DQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX21l bXBvb2wgKnZlY3Rvcl9wb29sOw0KPiA+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVudF92ZWN0b3Ig KnZlY3Rvcl9ldjsNCj4gPiArfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0KPiA+ICsNCj4gPiArVEFJ TFFfSEVBRChldGhfcnhfdmVjdG9yX2RhdGFfbGlzdCwgZXRoX3J4X3ZlY3Rvcl9kYXRhKTsNCj4g PiArDQo+ID4gIC8qIEluc3RhbmNlIHBlciBhZGFwdGVyICovDQo+ID4gIHN0cnVjdCBydGVfZXRo X2V2ZW50X2VucXVldWVfYnVmZmVyIHsNCj4gPiAgICAgICAgIC8qIENvdW50IG9mIGV2ZW50cyBp biB0aGlzIGJ1ZmZlciAqLw0KPiA+IEBAIC05Miw2ICsxMTAsMTQgQEAgc3RydWN0IHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlciB7DQo+ID4gICAgICAgICB1aW50MzJfdCB3cnJfcG9zOw0KPiA+ICAg ICAgICAgLyogRXZlbnQgYnVyc3QgYnVmZmVyICovDQo+ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V0 aF9ldmVudF9lbnF1ZXVlX2J1ZmZlciBldmVudF9lbnF1ZXVlX2J1ZmZlcjsNCj4gPiArICAgICAg IC8qIFZlY3RvciBlbmFibGUgZmxhZyAqLw0KPiA+ICsgICAgICAgdWludDhfdCBlbmFfdmVjdG9y Ow0KPiA+ICsgICAgICAgLyogVGltZXN0YW1wIG9mIHByZXZpb3VzIHZlY3RvciBleHBpcnkgbGlz dCB0cmF2ZXJzYWwgKi8NCj4gPiArICAgICAgIHVpbnQ2NF90IHByZXZfZXhwaXJ5X3RzOw0KPiA+ ICsgICAgICAgLyogTWluaW11bSB0aWNrcyB0byB3YWl0IGJlZm9yZSB0cmF2ZXJzaW5nIGV4cGly eSBsaXN0ICovDQo+ID4gKyAgICAgICB1aW50NjRfdCB2ZWN0b3JfdG1vX3RpY2tzOw0KPiA+ICsg ICAgICAgLyogdmVjdG9yIGxpc3QgKi8NCj4gPiArICAgICAgIHN0cnVjdCBldGhfcnhfdmVjdG9y X2RhdGFfbGlzdCB2ZWN0b3JfbGlzdDsNCg0KV2UgYXJlIG1haW50YWluaW5nIGEgbGlzdCBvZiB2 ZWN0b3IgZGF0YSB0aGF0IGlzIGFsbG9jYXRlZCBhcyB3ZSBhcmUgcGVyZm9ybWluZyB2ZWN0b3Jp emF0aW9uLiBBbnkgbmVlZCBmb3IgZnJlZWluZyB0aGVzZSBpbiBhZGFwdGVyIHN0b3AvZnJlZSBv ciBxdWV1ZSBkZWw/IEZvciBlLmcuIHZlY3Rvcl9ldiB0aGF0IGlzIGFsbG9jYXRlZCBmcm9tIHZl Y3Rvcl9wb29sLg0KDQo+ID4gICAgICAgICAvKiBQZXIgYWRhcHRlciBzdGF0cyAqLw0KPiA+ICAg ICAgICAgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9zdGF0cyBzdGF0czsNCj4gPiAg ICAgICAgIC8qIEJsb2NrIGNvdW50LCBjb3VudHMgdXAgdG8gQkxPQ0tfQ05UX1RIUkVTSE9MRCAq Lw0KPiA+IEBAIC0xOTgsOSArMjI0LDExIEBAIHN0cnVjdCBldGhfZGV2aWNlX2luZm8gew0KPiA+ ICBzdHJ1Y3QgZXRoX3J4X3F1ZXVlX2luZm8gew0KPiA+ICAgICAgICAgaW50IHF1ZXVlX2VuYWJs ZWQ7ICAgICAgLyogVHJ1ZSBpZiBhZGRlZCAqLw0KPiA+ICAgICAgICAgaW50IGludHJfZW5hYmxl ZDsNCj4gPiArICAgICAgIHVpbnQ4X3QgZW5hX3ZlY3RvcjsNCj4gPiAgICAgICAgIHVpbnQxNl90 IHd0OyAgICAgICAgICAgIC8qIFBvbGxpbmcgd2VpZ2h0ICovDQo+ID4gICAgICAgICB1aW50MzJf dCBmbG93X2lkX21hc2s7ICAvKiBTZXQgdG8gfjAgaWYgYXBwIHByb3ZpZGVzIGZsb3cgaWQgZWxz ZSAwICovDQo+ID4gICAgICAgICB1aW50NjRfdCBldmVudDsNCj4gPiArICAgICAgIHN0cnVjdCBl dGhfcnhfdmVjdG9yX2RhdGEgdmVjdG9yX2RhdGE7DQo+ID4gIH07DQo+ID4NCj4gPiAgc3RhdGlj IHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIgKipldmVudF9ldGhfcnhfYWRhcHRlcjsN Cj4gPiBAQCAtNzIyLDYgKzc1MCw5IEBAIHJ4YV9mbHVzaF9ldmVudF9idWZmZXIoc3RydWN0IHJ0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlciAqcnhfYWRhcHRlcikNCj4gPiAgICAgICAgICAgICAmcnhf YWRhcHRlci0+ZXZlbnRfZW5xdWV1ZV9idWZmZXI7DQo+ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX3N0YXRzICpzdGF0cyA9ICZyeF9hZGFwdGVyLT5zdGF0czsNCj4g Pg0KPiA+ICsgICAgICAgaWYgKCFidWYtPmNvdW50KQ0KPiA+ICsgICAgICAgICAgICAgICByZXR1 cm4gMDsNCj4gPiArDQo+ID4gICAgICAgICB1aW50MTZfdCBuID0gcnRlX2V2ZW50X2VucXVldWVf bmV3X2J1cnN0KHJ4X2FkYXB0ZXItPmV2ZW50ZGV2X2lkLA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByeF9hZGFwdGVyLT5ldmVudF9wb3J0X2lkLA0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYtPmV2ZW50cywNCj4gPiBA QCAtNzQyLDYgKzc3Myw3NyBAQCByeGFfZmx1c2hfZXZlbnRfYnVmZmVyKHN0cnVjdCBydGVfZXZl bnRfZXRoX3J4X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIpDQo+ID4gICAgICAgICByZXR1cm4gbjsNCj4g PiAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZA0KPiA+ICtyeGFfaW5pdF92ZWN0b3Io c3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlciAqcnhfYWRhcHRlciwNCj4gPiArICAgICAg ICAgICAgICAgc3RydWN0IGV0aF9yeF92ZWN0b3JfZGF0YSAqdmVjKQ0KPiA+ICt7DQo+ID4gKyAg ICAgICB2ZWMtPnZlY3Rvcl9ldi0+bmJfZWxlbSA9IDA7DQo+ID4gKyAgICAgICB2ZWMtPnZlY3Rv cl9ldi0+cG9ydCA9IHZlYy0+cG9ydDsNCj4gPiArICAgICAgIHZlYy0+dmVjdG9yX2V2LT5xdWV1 ZSA9IHZlYy0+cXVldWU7DQo+ID4gKyAgICAgICB2ZWMtPnZlY3Rvcl9ldi0+YXR0cl92YWxpZCA9 IHRydWU7DQo+ID4gKyAgICAgICBUQUlMUV9JTlNFUlRfVEFJTCgmcnhfYWRhcHRlci0+dmVjdG9y X2xpc3QsIHZlYywgbmV4dCk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbmxpbmUgdWlu dDE2X3QNCj4gPiArcnhhX2NyZWF0ZV9ldmVudF92ZWN0b3Ioc3RydWN0IHJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlciAqcnhfYWRhcHRlciwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgZXRoX3J4X3F1ZXVlX2luZm8gKnF1ZXVlX2luZm8sDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9ldGhfZXZlbnRfZW5xdWV1ZV9idWZmZXIgKmJ1ZiwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX21idWYgKiptYnVmcywgdWludDE2X3QgbnVt KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50ICpldiA9ICZidWYtPmV2ZW50 c1tidWYtPmNvdW50XTsNCj4gPiArICAgICAgIHN0cnVjdCBldGhfcnhfdmVjdG9yX2RhdGEgKnZl YzsNCj4gPiArICAgICAgIHVpbnQxNl90IGZpbGxlZCwgc3BhY2UsIHN6Ow0KPiA+ICsNCj4gPiAr ICAgICAgIGZpbGxlZCA9IDA7DQo+ID4gKyAgICAgICB2ZWMgPSAmcXVldWVfaW5mby0+dmVjdG9y X2RhdGE7DQo+ID4gKw0KPiA+ICsgICAgICAgaWYgKHZlYy0+dmVjdG9yX2V2ID09IE5VTEwpIHsN Cj4gPiArICAgICAgICAgICAgICAgaWYgKHJ0ZV9tZW1wb29sX2dldCh2ZWMtPnZlY3Rvcl9wb29s LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZ2ZWMt PnZlY3Rvcl9ldikgPCAwKSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcnRlX3BrdG1i dWZfZnJlZV9idWxrKG1idWZzLCBudW0pOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiAwOw0KPiA+ICsgICAgICAgICAgICAgICB9DQo+ID4gKyAgICAgICAgICAgICAgIHJ4YV9p bml0X3ZlY3RvcihyeF9hZGFwdGVyLCB2ZWMpOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsgICAgICAg d2hpbGUgKG51bSkgew0KPiA+ICsgICAgICAgICAgICAgICBpZiAodmVjLT52ZWN0b3JfZXYtPm5i X2VsZW0gPT0gdmVjLT5tYXhfdmVjdG9yX2NvdW50KSB7DQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgLyogRXZlbnQgcmVhZHkuICovDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZXYt PmV2ZW50ID0gdmVjLT5ldmVudDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBldi0+dmVj ID0gdmVjLT52ZWN0b3JfZXY7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZXYrKzsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICBmaWxsZWQrKzsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICB2ZWMtPnZlY3Rvcl9ldiA9IE5VTEw7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgVEFJTFFfUkVNT1ZFKCZyeF9hZGFwdGVyLT52ZWN0b3JfbGlzdCwgdmVjLCBuZXh0KTsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAocnRlX21lbXBvb2xfZ2V0KHZlYy0+dmVjdG9y X3Bvb2wsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dm9pZCAqKikmdmVjLT52ZWN0b3JfZXYpIDwgMCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcnRlX3BrdG1idWZfZnJlZV9idWxrKG1idWZzLCBudW0pOw0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ4YV9pbml0X3ZlY3Rvcihy eF9hZGFwdGVyLCB2ZWMpOw0KPiA+ICsgICAgICAgICAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAg ICAgICAgICAgICBzcGFjZSA9IHZlYy0+bWF4X3ZlY3Rvcl9jb3VudCAtIHZlYy0+dmVjdG9yX2V2 LT5uYl9lbGVtOw0KPiA+ICsgICAgICAgICAgICAgICBzeiA9IG51bSA+IHNwYWNlID8gc3BhY2Ug OiBudW07DQo+ID4gKyAgICAgICAgICAgICAgIG1lbWNweSh2ZWMtPnZlY3Rvcl9ldi0+bWJ1ZnMg KyB2ZWMtPnZlY3Rvcl9ldi0+bmJfZWxlbSwgbWJ1ZnMsDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICBzaXplb2Yodm9pZCAqKSAqIHN6KTsNCj4gPiArICAgICAgICAgICAgICAgdmVjLT52ZWN0 b3JfZXYtPm5iX2VsZW0gKz0gc3o7DQo+ID4gKyAgICAgICAgICAgICAgIG51bSAtPSBzejsNCj4g PiArICAgICAgICAgICAgICAgbWJ1ZnMgKz0gc3o7DQo+ID4gKyAgICAgICAgICAgICAgIHZlYy0+ dHMgPSBydGVfcmR0c2MoKTsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICBpZiAo dmVjLT52ZWN0b3JfZXYtPm5iX2VsZW0gPT0gdmVjLT5tYXhfdmVjdG9yX2NvdW50KSB7DQo+ID4g KyAgICAgICAgICAgICAgIGV2LT5ldmVudCA9IHZlYy0+ZXZlbnQ7DQo+ID4gKyAgICAgICAgICAg ICAgIGV2LT52ZWMgPSB2ZWMtPnZlY3Rvcl9ldjsNCj4gPiArICAgICAgICAgICAgICAgZXYrKzsN Cj4gPiArICAgICAgICAgICAgICAgZmlsbGVkKys7DQo+ID4gKyAgICAgICAgICAgICAgIHZlYy0+ dmVjdG9yX2V2ID0gTlVMTDsNCj4gPiArICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZyeF9h ZGFwdGVyLT52ZWN0b3JfbGlzdCwgdmVjLCBuZXh0KTsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ ID4gKyAgICAgICByZXR1cm4gZmlsbGVkOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICBzdGF0aWMgaW5s aW5lIHZvaWQNCj4gPiAgcnhhX2J1ZmZlcl9tYnVmcyhzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9h ZGFwdGVyICpyeF9hZGFwdGVyLA0KPiA+ICAgICAgICAgICAgICAgICB1aW50MTZfdCBldGhfZGV2 X2lkLA0KPiA+IEBAIC03NjYsMjkgKzg2OCwzMyBAQCByeGFfYnVmZmVyX21idWZzKHN0cnVjdCBy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIsDQo+ID4gICAgICAgICB1aW50MTZf dCBuYl9jYjsNCj4gPiAgICAgICAgIHVpbnQxNl90IGRyb3BwZWQ7DQo+ID4NCj4gPiAtICAgICAg IC8qIDB4ZmZmZiBmZmZmIGlmIFBLVF9SWF9SU1NfSEFTSCBpcyBzZXQsIG90aGVyd2lzZSAwICov DQo+ID4gLSAgICAgICByc3NfbWFzayA9IH4oKChtLT5vbF9mbGFncyAmIFBLVF9SWF9SU1NfSEFT SCkgIT0gMCkgLSAxKTsNCj4gPiAtICAgICAgIGRvX3JzcyA9ICFyc3NfbWFzayAmJiAhZXRoX3J4 X3F1ZXVlX2luZm8tPmZsb3dfaWRfbWFzazsNCj4gPiAtDQo+ID4gLSAgICAgICBmb3IgKGkgPSAw OyBpIDwgbnVtOyBpKyspIHsNCj4gPiAtICAgICAgICAgICAgICAgbSA9IG1idWZzW2ldOw0KPiA+ IC0NCj4gPiAtICAgICAgICAgICAgICAgcnNzID0gZG9fcnNzID8NCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICByeGFfZG9fc29mdHJzcyhtLCByeF9hZGFwdGVyLT5yc3Nfa2V5X2JlKSA6DQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgbS0+aGFzaC5yc3M7DQo+ID4gLSAgICAgICAgICAg ICAgIGV2LT5ldmVudCA9IGV2ZW50Ow0KPiA+IC0gICAgICAgICAgICAgICBldi0+Zmxvd19pZCA9 IChyc3MgJiB+Zmxvd19pZF9tYXNrKSB8DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZXYtPmZsb3dfaWQgJiBmbG93X2lkX21hc2spOw0KPiA+IC0gICAgICAgICAgICAgICBl di0+bWJ1ZiA9IG07DQo+ID4gLSAgICAgICAgICAgICAgIGV2Kys7DQo+ID4gKyAgICAgICBpZiAo IWV0aF9yeF9xdWV1ZV9pbmZvLT5lbmFfdmVjdG9yKSB7DQo+ID4gKyAgICAgICAgICAgICAgIC8q IDB4ZmZmZiBmZmZmIGlmIFBLVF9SWF9SU1NfSEFTSCBpcyBzZXQsIG90aGVyd2lzZSAwICovDQo+ ID4gKyAgICAgICAgICAgICAgIHJzc19tYXNrID0gfigoKG0tPm9sX2ZsYWdzICYgUEtUX1JYX1JT U19IQVNIKSAhPSAwKSAtIDEpOw0KPiA+ICsgICAgICAgICAgICAgICBkb19yc3MgPSAhcnNzX21h c2sgJiYgIWV0aF9yeF9xdWV1ZV9pbmZvLT5mbG93X2lkX21hc2s7DQo+ID4gKyAgICAgICAgICAg ICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgew0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgIG0gPSBtYnVmc1tpXTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcnNz ID0gZG9fcnNzID8gcnhhX2RvX3NvZnRyc3MobSwgcnhfYWRhcHRlci0+cnNzX2tleV9iZSkNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtLT5oYXNoLnJzczsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICBldi0+ZXZlbnQgPSBldmVudDsNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICBldi0+Zmxvd19pZCA9IChyc3MgJiB+Zmxvd19pZF9tYXNrKSB8DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXYtPmZsb3dfaWQgJiBm bG93X2lkX21hc2spOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGV2LT5tYnVmID0gbTsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBldisrOw0KPiA+ICsgICAgICAgICAgICAgICB9 DQo+ID4gKyAgICAgICB9IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICBudW0gPSByeGFfY3Jl YXRlX2V2ZW50X3ZlY3RvcihyeF9hZGFwdGVyLCBldGhfcnhfcXVldWVfaW5mbywNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLCBtYnVmcywgbnVt KTsNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+IC0gICAgICAgaWYgKGRldl9pbmZvLT5jYl9mbikg ew0KPiA+ICsgICAgICAgaWYgKG51bSAmJiBkZXZfaW5mby0+Y2JfZm4pIHsNCj4gPg0KPiA+ICAg ICAgICAgICAgICAgICBkcm9wcGVkID0gMDsNCj4gPiAgICAgICAgICAgICAgICAgbmJfY2IgPSBk ZXZfaW5mby0+Y2JfZm4oZXRoX2Rldl9pZCwgcnhfcXVldWVfaWQsDQo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9FVkVOVF9CVUZGRVJfU0laRSwgYnVmLT5j b3VudCwgZXYsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51 bSwgZGV2X2luZm8tPmNiX2FyZywgJmRyb3BwZWQpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFVEhfRVZFTlRfQlVGRkVSX1NJWkUsIGJ1Zi0+Y291bnQsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZidWYtPmV2ZW50c1ti dWYtPmNvdW50XSwgbnVtLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkZXZfaW5mby0+Y2JfYXJnLCAmZHJvcHBlZCk7DQo+ID4gICAgICAgICAgICAgICAgIGlm ICh1bmxpa2VseShuYl9jYiA+IG51bSkpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0VERVZfTE9HX0VSUigiUnggQ0IgcmV0dXJuZWQgJWQgKD4gJWQpIGV2ZW50cyIsDQo+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYl9jYiwgbnVtKTsNCj4gPiBAQCAtMTEyNCw2 ICsxMjMwLDMwIEBAIHJ4YV9wb2xsKHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIgKnJ4 X2FkYXB0ZXIpDQo+ID4gICAgICAgICByZXR1cm4gbmJfcng7DQo+ID4gIH0NCj4gPg0KPiA+ICtz dGF0aWMgdm9pZA0KPiA+ICtyeGFfdmVjdG9yX2V4cGlyZShzdHJ1Y3QgZXRoX3J4X3ZlY3Rvcl9k YXRhICp2ZWMsIHZvaWQgKmFyZykNCj4gPiArew0KPiA+ICsgICAgICAgc3RydWN0IHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlciAqcnhfYWRhcHRlciA9IGFyZzsNCj4gPiArICAgICAgIHN0cnVjdCBy dGVfZXRoX2V2ZW50X2VucXVldWVfYnVmZmVyICpidWYgPQ0KPiA+ICsgICAgICAgICAgICAgICAm cnhfYWRhcHRlci0+ZXZlbnRfZW5xdWV1ZV9idWZmZXI7DQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRl X2V2ZW50ICpldjsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoYnVmLT5jb3VudCkNCj4gPiArICAg ICAgICAgICAgICAgcnhhX2ZsdXNoX2V2ZW50X2J1ZmZlcihyeF9hZGFwdGVyKTsNCj4gPiArDQo+ ID4gKyAgICAgICBpZiAodmVjLT52ZWN0b3JfZXYtPm5iX2VsZW0gPT0gMCkNCj4gPiArICAgICAg ICAgICAgICAgcmV0dXJuOw0KPiA+ICsgICAgICAgZXYgPSAmYnVmLT5ldmVudHNbYnVmLT5jb3Vu dF07DQo+ID4gKw0KPiA+ICsgICAgICAgLyogRXZlbnQgcmVhZHkuICovDQo+ID4gKyAgICAgICBl di0+ZXZlbnQgPSB2ZWMtPmV2ZW50Ow0KPiA+ICsgICAgICAgZXYtPnZlYyA9IHZlYy0+dmVjdG9y X2V2Ow0KPiA+ICsgICAgICAgYnVmLT5jb3VudCsrOw0KPiA+ICsNCj4gPiArICAgICAgIHZlYy0+ dmVjdG9yX2V2ID0gTlVMTDsNCj4gPiArICAgICAgIHZlYy0+dHMgPSAwOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICBzdGF0aWMgaW50DQo+ID4gIHJ4YV9zZXJ2aWNlX2Z1bmModm9pZCAqYXJncykNCj4g PiAgew0KPiA+IEBAIC0xMTM3LDYgKzEyNjcsMjQgQEAgcnhhX3NlcnZpY2VfZnVuYyh2b2lkICph cmdzKQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiAgICAgICAgIH0NCj4gPg0K PiA+ICsgICAgICAgaWYgKHJ4X2FkYXB0ZXItPmVuYV92ZWN0b3IpIHsNCj4gPiArICAgICAgICAg ICAgICAgaWYgKChydGVfcmR0c2MoKSAtIHJ4X2FkYXB0ZXItPnByZXZfZXhwaXJ5X3RzKSA+PQ0K PiA+ICsgICAgICAgICAgICAgICAgICAgcnhfYWRhcHRlci0+dmVjdG9yX3Rtb190aWNrcykgew0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBldGhfcnhfdmVjdG9yX2RhdGEgKnZl YzsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgVEFJTFFfRk9SRUFDSCh2ZWMs ICZyeF9hZGFwdGVyLT52ZWN0b3JfbGlzdCwgbmV4dCkgew0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDY0X3QgZWxhcHNlZF90aW1lID0gcnRlX3JkdHNjKCkgLSB2ZWMt PnRzOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGFw c2VkX3RpbWUgPj0gdmVjLT52ZWN0b3JfdGltZW91dF90aWNrcykgew0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeGFfdmVjdG9yX2V4cGlyZSh2ZWMsIHJ4X2Fk YXB0ZXIpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQUlM UV9SRU1PVkUoJnJ4X2FkYXB0ZXItPnZlY3Rvcl9saXN0LA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjLCBuZXh0KTsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICB9DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcnhfYWRhcHRlci0+cHJldl9leHBpcnlf dHMgPSBydGVfcmR0c2MoKTsNCj4gPiArICAgICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgfQ0K PiA+ICsNCj4gPiAgICAgICAgIHN0YXRzID0gJnJ4X2FkYXB0ZXItPnN0YXRzOw0KPiA+ICAgICAg ICAgc3RhdHMtPnJ4X3BhY2tldHMgKz0gcnhhX2ludHJfcmluZ19kZXF1ZXVlKHJ4X2FkYXB0ZXIp Ow0KPiA+ICAgICAgICAgc3RhdHMtPnJ4X3BhY2tldHMgKz0gcnhhX3BvbGwocnhfYWRhcHRlcik7 DQo+ID4gQEAgLTE2NDAsNiArMTc4OCwyOSBAQCByeGFfdXBkYXRlX3F1ZXVlKHN0cnVjdCBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIsDQo+ID4gICAgICAgICB9DQo+ID4gIH0N Cj4gPg0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICtyeGFfc2V0X3ZlY3Rvcl9kYXRhKHN0cnVjdCBl dGhfcnhfcXVldWVfaW5mbyAqcXVldWVfaW5mbywgdWludDE2X3QgdmVjdG9yX2NvdW50LA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgdWludDY0X3QgdmVjdG9yX25zLCBzdHJ1Y3QgcnRlX21lbXBv b2wgKm1wLCBpbnQzMl90IHFpZCwNCj4gPiArICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHBv cnRfaWQpDQo+ID4gK3sNCj4gPiArI2RlZmluZSBOU0VDMlRJQ0soX19ucywgX19mcmVxKSAoKChf X25zKSAqIChfX2ZyZXEpKSAvIDFFOSkNCj4gPiArICAgICAgIHN0cnVjdCBldGhfcnhfdmVjdG9y X2RhdGEgKnZlY3Rvcl9kYXRhOw0KPiA+ICsgICAgICAgdWludDMyX3QgZmxvd19pZDsNCj4gPiAr DQo+ID4gKyAgICAgICB2ZWN0b3JfZGF0YSA9ICZxdWV1ZV9pbmZvLT52ZWN0b3JfZGF0YTsNCj4g PiArICAgICAgIHZlY3Rvcl9kYXRhLT5tYXhfdmVjdG9yX2NvdW50ID0gdmVjdG9yX2NvdW50Ow0K PiA+ICsgICAgICAgdmVjdG9yX2RhdGEtPnBvcnQgPSBwb3J0X2lkOw0KPiA+ICsgICAgICAgdmVj dG9yX2RhdGEtPnF1ZXVlID0gcWlkOw0KPiA+ICsgICAgICAgdmVjdG9yX2RhdGEtPnZlY3Rvcl9w b29sID0gbXA7DQo+ID4gKyAgICAgICB2ZWN0b3JfZGF0YS0+dmVjdG9yX3RpbWVvdXRfdGlja3Mg PQ0KPiA+ICsgICAgICAgICAgICAgICBOU0VDMlRJQ0sodmVjdG9yX25zLCBydGVfZ2V0X3RpbWVy X2h6KCkpOw0KPiA+ICsgICAgICAgdmVjdG9yX2RhdGEtPnRzID0gMDsNCj4gPiArICAgICAgIGZs b3dfaWQgPSBxdWV1ZV9pbmZvLT5ldmVudCAmIDB4RkZGRkY7DQo+ID4gKyAgICAgICBmbG93X2lk ID0NCj4gPiArICAgICAgICAgICAgICAgZmxvd19pZCA9PSAwID8gKHFpZCAmIDB4RkZGKSB8IChw b3J0X2lkICYgMHhGRikgPDwgMTIgOiBmbG93X2lkOw0KPiA+ICsgICAgICAgdmVjdG9yX2RhdGEt PmV2ZW50ID0gKHF1ZXVlX2luZm8tPmV2ZW50ICYgfjB4RkZGRkYpIHwgZmxvd19pZDsNCj4gPiAr fQ0KPiA+ICsNCj4gPiAgc3RhdGljIHZvaWQNCj4gPiAgcnhhX3N3X2RlbChzdHJ1Y3QgcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyICpyeF9hZGFwdGVyLA0KPiA+ICAgICAgICAgc3RydWN0IGV0aF9k ZXZpY2VfaW5mbyAqZGV2X2luZm8sDQo+ID4gQEAgLTE3NDEsNiArMTkxMiw0MiBAQCByeGFfYWRk X3F1ZXVlKHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIsDQo+ID4g ICAgICAgICB9DQo+ID4gIH0NCj4gPg0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICtyeGFfc3dfZXZl bnRfdmVjdG9yX2NvbmZpZ3VyZSgNCj4gPiArICAgICAgIHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4 X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIsIHVpbnQxNl90IGV0aF9kZXZfaWQsDQo+ID4gKyAgICAgICBp bnQgcnhfcXVldWVfaWQsDQo+ID4gKyAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX2V2ZW50X3ZlY3Rvcl9jb25maWcgKmNvbmZpZykNCj4gPiArew0KPiA+ICsgICAg ICAgc3RydWN0IGV0aF9kZXZpY2VfaW5mbyAqZGV2X2luZm8gPSAmcnhfYWRhcHRlci0+ZXRoX2Rl dmljZXNbZXRoX2Rldl9pZF07DQo+ID4gKyAgICAgICBzdHJ1Y3QgZXRoX3J4X3F1ZXVlX2luZm8g KnF1ZXVlX2luZm87DQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX2V2ZW50ICpxaV9ldjsNCj4gPiAr DQo+ID4gKyAgICAgICBpZiAocnhfcXVldWVfaWQgPT0gLTEpIHsNCj4gPiArICAgICAgICAgICAg ICAgdWludDE2X3QgbmJfcnhfcXVldWVzOw0KPiA+ICsgICAgICAgICAgICAgICB1aW50MTZfdCBp Ow0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgbmJfcnhfcXVldWVzID0gZGV2X2luZm8tPmRl di0+ZGF0YS0+bmJfcnhfcXVldWVzOw0KPiA+ICsgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBp IDwgbmJfcnhfcXVldWVzOyBpKyspDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgcnhhX3N3 X2V2ZW50X3ZlY3Rvcl9jb25maWd1cmUocnhfYWRhcHRlciwgZXRoX2Rldl9pZCwgaSwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25m aWcpOw0KPiA+ICsgICAgICAgICAgICAgICByZXR1cm47DQo+ID4gKyAgICAgICB9DQo+ID4gKw0K PiA+ICsgICAgICAgcXVldWVfaW5mbyA9ICZkZXZfaW5mby0+cnhfcXVldWVbcnhfcXVldWVfaWRd Ow0KPiA+ICsgICAgICAgcWlfZXYgPSAoc3RydWN0IHJ0ZV9ldmVudCAqKSZxdWV1ZV9pbmZvLT5l dmVudDsNCj4gPiArICAgICAgIHF1ZXVlX2luZm8tPmVuYV92ZWN0b3IgPSAxOw0KPiA+ICsgICAg ICAgcWlfZXYtPmV2ZW50X3R5cGUgPSBSVEVfRVZFTlRfVFlQRV9FVEhfUlhfQURBUFRFUl9WRUNU T1I7DQo+ID4gKyAgICAgICByeGFfc2V0X3ZlY3Rvcl9kYXRhKHF1ZXVlX2luZm8sIGNvbmZpZy0+ dmVjdG9yX3N6LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWctPnZlY3Rv cl90aW1lb3V0X25zLCBjb25maWctPnZlY3Rvcl9tcCwNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgcnhfcXVldWVfaWQsIGRldl9pbmZvLT5kZXYtPmRhdGEtPnBvcnRfaWQpOw0KPiA+ ICsgICAgICAgcnhfYWRhcHRlci0+ZW5hX3ZlY3RvciA9IDE7DQo+ID4gKyAgICAgICByeF9hZGFw dGVyLT52ZWN0b3JfdG1vX3RpY2tzID0NCj4gPiArICAgICAgICAgICAgICAgcnhfYWRhcHRlci0+ dmVjdG9yX3Rtb190aWNrcyA/DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X01JTihjb25maWctPnZlY3Rvcl90aW1lb3V0X25zID4+IDEsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByeF9hZGFwdGVyLT52ZWN0b3JfdG1vX3RpY2tzKSA6DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLT52ZWN0b3JfdGltZW91dF9ucyA+PiAx Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICBzdGF0aWMgaW50IHJ4YV9zd19hZGQoc3RydWN0IHJ0ZV9l dmVudF9ldGhfcnhfYWRhcHRlciAqcnhfYWRhcHRlciwNCj4gPiAgICAgICAgICAgICAgICAgdWlu dDE2X3QgZXRoX2Rldl9pZCwNCj4gPiAgICAgICAgICAgICAgICAgaW50IHJ4X3F1ZXVlX2lkLA0K PiA+IEBAIC0xOTY3LDYgKzIxNzQsNyBAQCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY3JlYXRl X2V4dCh1aW50OF90IGlkLCB1aW50OF90IGRldl9pZCwNCj4gPiAgICAgICAgIHJ4X2FkYXB0ZXIt PmNvbmZfY2IgPSBjb25mX2NiOw0KPiA+ICAgICAgICAgcnhfYWRhcHRlci0+Y29uZl9hcmcgPSBj b25mX2FyZzsNCj4gPiAgICAgICAgIHJ4X2FkYXB0ZXItPmlkID0gaWQ7DQo+ID4gKyAgICAgICBU QUlMUV9JTklUKCZyeF9hZGFwdGVyLT52ZWN0b3JfbGlzdCk7DQo+ID4gICAgICAgICBzdHJjcHko cnhfYWRhcHRlci0+bWVtX25hbWUsIG1lbV9uYW1lKTsNCj4gPiAgICAgICAgIHJ4X2FkYXB0ZXIt PmV0aF9kZXZpY2VzID0gcnRlX3ptYWxsb2Nfc29ja2V0KHJ4X2FkYXB0ZXItPm1lbV9uYW1lLA0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfTUFYX0VUSFBP UlRTICoNCj4gPiBAQCAtMjA4MSw2ICsyMjg5LDE1IEBAIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl cl9xdWV1ZV9hZGQodWludDhfdCBpZCwNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiArICAgICAgIGlmICgoY2FwICYgUlRFX0VWRU5U X0VUSF9SWF9BREFQVEVSX0NBUF9FVkVOVF9WRUNUT1IpID09IDAgJiYNCj4gPiArICAgICAgICAg ICAocXVldWVfY29uZi0+cnhfcXVldWVfZmxhZ3MgJg0KPiA+ICsgICAgICAgICAgICBSVEVfRVZF TlRfRVRIX1JYX0FEQVBURVJfUVVFVUVfRVZFTlRfVkVDVE9SKSkgew0KPiA+ICsgICAgICAgICAg ICAgICBSVEVfRURFVl9MT0dfRVJSKCJFdmVudCB2ZWN0b3JpemF0aW9uIGlzIG5vdCBzdXBwb3J0 ZWQsIg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgZXRoIHBvcnQ6ICUi IFBSSXUxNiAiIGFkYXB0ZXIgaWQ6ICUiIFBSSXU4LA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV0aF9kZXZfaWQsIGlkKTsNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7DQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICAgICAgICAgaWYgKChjYXAgJiBS VEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfQ0FQX01VTFRJX0VWRU5UUSkgPT0gMCAmJg0KPiA+ICAg ICAgICAgICAgICAgICAocnhfcXVldWVfaWQgIT0gLTEpKSB7DQo+ID4gICAgICAgICAgICAgICAg IFJURV9FREVWX0xPR19FUlIoIlJ4IHF1ZXVlcyBjYW4gb25seSBiZSBjb25uZWN0ZWQgdG8gc2lu Z2xlICINCj4gPiBAQCAtMjE0Myw2ICsyMzYwLDE3IEBAIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl cl9xdWV1ZV9hZGQodWludDhfdCBpZCwNCj4gPiAgICAgICAgIHJldHVybiAwOw0KPiA+ICB9DQo+ ID4NCj4gPiArc3RhdGljIGludA0KPiA+ICtyeGFfc3dfdmVjdG9yX2xpbWl0cyhzdHJ1Y3QgcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX3ZlY3Rvcl9saW1pdHMgKmxpbWl0cykNCj4gPiArew0KPiA+ ICsgICAgICAgbGltaXRzLT5tYXhfc3ogPSBNQVhfVkVDVE9SX1NJWkU7DQo+ID4gKyAgICAgICBs aW1pdHMtPm1pbl9zeiA9IE1JTl9WRUNUT1JfU0laRTsNCj4gPiArICAgICAgIGxpbWl0cy0+bWF4 X3RpbWVvdXRfbnMgPSBNQVhfVkVDVE9SX05TOw0KPiA+ICsgICAgICAgbGltaXRzLT5taW5fdGlt ZW91dF9ucyA9IE1JTl9WRUNUT1JfTlM7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ ID4gK30NCj4gPiArDQo+ID4gIGludA0KPiA+ICBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVl dWVfZGVsKHVpbnQ4X3QgaWQsIHVpbnQxNl90IGV0aF9kZXZfaWQsDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHJ4X3F1ZXVlX2lkKQ0KPiA+IEBAIC0yMzMzLDcg KzI1NjEsOCBAQCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfZXZlbnRfdmVjdG9yX2Nv bmZpZygNCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gZGV2LT5kZXZfb3BzLT5ldGhfcnhfYWRh cHRlcl9ldmVudF92ZWN0b3JfY29uZmlnKA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGRl diwgJnJ0ZV9ldGhfZGV2aWNlc1tldGhfZGV2X2lkXSwgcnhfcXVldWVfaWQsIGNvbmZpZyk7DQo+ ID4gICAgICAgICB9IGVsc2Ugew0KPiA+IC0gICAgICAgICAgICAgICByZXQgPSAtRU5PVFNVUDsN Cj4gPiArICAgICAgICAgICAgICAgcnhhX3N3X2V2ZW50X3ZlY3Rvcl9jb25maWd1cmUocnhfYWRh cHRlciwgZXRoX2Rldl9pZCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcnhfcXVldWVfaWQsIGNvbmZpZyk7DQo+ID4gICAgICAgICB9DQo+ID4NCj4g PiAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gQEAgLTIzNzEsNyArMjYwMCw3IEBAIHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl92ZWN0b3JfbGltaXRzX2dldCgNCj4gPiAgICAgICAgICAgICAgICAg cmV0ID0gZGV2LT5kZXZfb3BzLT5ldGhfcnhfYWRhcHRlcl92ZWN0b3JfbGltaXRzX2dldCgNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICBkZXYsICZydGVfZXRoX2RldmljZXNbZXRoX3BvcnRf aWRdLCBsaW1pdHMpOw0KPiA+ICAgICAgICAgfSBlbHNlIHsNCj4gPiAtICAgICAgICAgICAgICAg cmV0ID0gLUVOT1RTVVA7DQo+ID4gKyAgICAgICAgICAgICAgIHJldCA9IHJ4YV9zd192ZWN0b3Jf bGltaXRzKGxpbWl0cyk7DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgIHJldHVybiBy ZXQ7DQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMg Yi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jDQo+ID4gaW5kZXggYmUwNDk5YzUy Li42MjgyNDY1NGIgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZl bnRkZXYuYw0KPiA+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4g PiBAQCAtMTIyLDcgKzEyMiwxMSBAQCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfY2Fwc19nZXQo dWludDhfdCBkZXZfaWQsIHVpbnQxNl90IGV0aF9wb3J0X2lkLA0KPiA+DQo+ID4gICAgICAgICBp ZiAoY2FwcyA9PSBOVUxMKQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4g PiAtICAgICAgICpjYXBzID0gMDsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoZGV2LT5kZXZfb3Bz LT5ldGhfcnhfYWRhcHRlcl9jYXBzX2dldCA9PSBOVUxMKQ0KPiA+ICsgICAgICAgICAgICAgICAq Y2FwcyA9IFJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9TV19DQVA7DQo+ID4gKyAgICAgICBlbHNl DQo+ID4gKyAgICAgICAgICAgICAgICpjYXBzID0gMDsNCj4gPg0KPiA+ICAgICAgICAgcmV0dXJu IGRldi0+ZGV2X29wcy0+ZXRoX3J4X2FkYXB0ZXJfY2Fwc19nZXQgPw0KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKCpkZXYtPmRldl9vcHMtPmV0aF9yeF9hZGFwdGVyX2NhcHNf Z2V0KShkZXYsDQo+ID4gLS0NCj4gPiAyLjE3LjENCj4gPg0KDQoNCg==