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 04A4B42A68 for ; Fri, 5 May 2023 04:31:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F23F7410EA; Fri, 5 May 2023 04:31:36 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 5E3CC40ED7; Fri, 5 May 2023 04:31:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683253894; x=1714789894; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=LYdgcrCRDqRSuwjUUJJs8QXFzprORqbJL+OGErZgCC4=; b=At8f9O/cGTqahKExNtFtgl+hsWpiCG6tOVMj7W/AlQlH40G+xH+Zk7Ds nQc2AmDQ2ztmDDWUbvTKH3h5yLMJ088NP8a3vSEWGIa7q/smis+Y1e+OX ByAKNytuOHKm7jDNN/9ZionJnggL1OFvuBZjOfGI49Xl4N7O0DQ9hc7PK 3jqgffZPvhGsvFy1/azR4zNMpUWPZyMG25UWubStjRcw9fLeZWs7WUhLd Za4gIncMi+PoW/d0Q0dhY1teF4ePm1IFr91sRYK4QkXcgCN71S+oVyDZy iGykUsi4rXkdmYnrJlljMXeOh5d6i+CuE5qH0lNxAf4LOb02TE0wC2OLh Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="329471762" X-IronPort-AV: E=Sophos;i="5.99,250,1677571200"; d="scan'208";a="329471762" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2023 19:31:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="1027233360" X-IronPort-AV: E=Sophos;i="5.99,250,1677571200"; d="scan'208";a="1027233360" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga005.fm.intel.com with ESMTP; 04 May 2023 19:31:31 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 4 May 2023 19:31:31 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.2507.23 via Frontend Transport; Thu, 4 May 2023 19:31:31 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.47) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 4 May 2023 19:31:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BPvpTiwcXy7wqab17N209TOBvd/WjjmAF40qwSA74z4c3n242z1gtEzq1uYwTKboieikerzsm/0ETu7I3YVyVTswFHTTsPuP+nN+mQ1kiiHh0C93MKRCQ7t4+2CPdOts9BIm1CDPYSRzJsMCDa9Gf1To2dklq27Pd4QXGe+4NLZP1pzfincwtwkC7noDNO2szpeUegmx/q3sPV/C1sjOfnUp0n/yKNiMKt80IWMg2S9yFid1NIOB/coyDCMHkUkUH042RBVuVQee9XXfiIWRHCNLYaQR+1DAl5SWzt1xV5wB1OW5gmk5SQCC3RsGoDVnATXZRQLVp1DC4Zotu0BxtA== 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=LYdgcrCRDqRSuwjUUJJs8QXFzprORqbJL+OGErZgCC4=; b=MIiU8av3Vw95TGAgNXtKMcsL4EoKu0lfRXN0unJYeDY4murTSpBGR0NIjq72XTnExLq83ZSJDHOw2iiW4aW/SzE6WPNYisCCIJJf7kCaqa3mm8fZeiO6UqH0xBISO9z3cYdI9RO8eku/F+WdSbywhiysypgGj8S4nInuFKKWgglMy8QzrrRqXpT576psHyQm6ZpnFNz2YmCB6b0X3qyrtAfBF/rTU8YuOkjP5centxUcjNVeBTXRc5ATLMhkyoq5hKqqkH0lQsRI5xnMh9JapM8sQG2c1qPwqadQ9wuEDrlv0lzqQ1SaRMZxHT1Tfoti6En6SEt1jFYH1M0kAjzX6Q== 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 Received: from BYAPR11MB2903.namprd11.prod.outlook.com (2603:10b6:a03:89::31) by CO1PR11MB5043.namprd11.prod.outlook.com (2603:10b6:303:96::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.26; Fri, 5 May 2023 02:31:23 +0000 Received: from BYAPR11MB2903.namprd11.prod.outlook.com ([fe80::6506:a525:6de7:7b1]) by BYAPR11MB2903.namprd11.prod.outlook.com ([fe80::6506:a525:6de7:7b1%2]) with mapi id 15.20.6363.022; Fri, 5 May 2023 02:31:23 +0000 From: "Deng, KaiwenX" To: Ferruh Yigit , "dev@dpdk.org" CC: "stable@dpdk.org" , "Yang, Qiming" , "Zhou, YidingX" , "Chas Williams" , "Min Hu (Connor)" , "Wu, Jingjing" , "Xing, Beilei" , Mike Pattrick , "Zhang, Qi Z" , "Doherty, Declan" , "Mrzyglod, Daniel T" , Dapeng Yu , "Zhang, Helin" , "Mcnamara, John" , Thomas Monjalon Subject: RE: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Topic: [PATCH v3] net/iavf: fix iavf query stats in intr thread Thread-Index: AQHZXJQHR5SkzTBC30aFA7rxtJ2YFa8IghcAgAWdr2CAAHdFgIAAAaaAgDyg8CA= Date: Fri, 5 May 2023 02:31:23 +0000 Message-ID: References: <20230307025533.1950861-1-kaiwenx.deng@intel.com> <20230322072615.179196-1-kaiwenx.deng@intel.com> <0f1ae3b9-f378-9a75-65f7-fcd6e2630414@amd.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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR11MB2903:EE_|CO1PR11MB5043:EE_ x-ms-office365-filtering-correlation-id: 6743c1c0-1577-440c-b725-08db4d10d1a9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oZhWt822xirLxfCzxRzc/2eIq2vdqIOA7WLWPpvs/4O2cq1CJGYpBGxZ+Sm4Nxrl0GRA9bp9cMPRleUDOvtT09T+t/HrecOCycLE8s4zV412vgHvoNuxiraSx7pzST8dGPGwTNdpWUW4h9SLqDhVXod5mlSfHM++rRJk2bgtq6xQQVSl6YZ0wf7l8QP78VEfq+a5mXUNVsJyX5Yge9HkInY6dQh5tbpZYH5h84hWG2QPWPcf7z3ormx4IXs+GJpZ5n1HuGa9LOJ9BYhGiayQUejUBgbbGVo1gE5pWG0hVgKPowP+F6AZt/xT49vAcus05z0Rvq0kNtKyooV6zbk8LVhcL9WHWDc4sYgkvcuadGsRzxPKX8zMDS5rzPL/9Yu1tqKA26xWGWgTxcgEl1ns6YRmVUQv5z7DG0EjkCDU00s+OgomXQ2BjSZ+m/OWy/wK7ds/4DdQdHgoD0TApry59ZQn32/TRrJbZ4g2wwKwr/e1ZN09WK5rwNVdTlD2q2/FBq4vjT/hygnQlri0ZeTEc7+4V/5qVH8PBs+J1oKKmoKyg+KwlWxi1zFTMmkdssvfGrvomHAsJYLEBOzxuFVyclcZgNUZlRb68s9DRurb8wY+EFDe1znnw/cOMyeG9RLl x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2903.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(366004)(376002)(396003)(346002)(136003)(39860400002)(451199021)(64756008)(66446008)(66946007)(4326008)(66476007)(66556008)(316002)(83380400001)(5660300002)(186003)(76116006)(7696005)(2906002)(30864003)(52536014)(82960400001)(54906003)(41300700001)(122000001)(71200400001)(86362001)(110136005)(6506007)(9686003)(33656002)(53546011)(8676002)(8936002)(38100700002)(478600001)(38070700005)(55016003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3AwK3RpaDFQV2VQakVxWndMZ0ljakVVUjFGM3YvYmMxU25lYk5KenovQ0Ir?= =?utf-8?B?RWNGMEgrZnRiQUNrVGxXbFI3VkkvVU53Q1A2ekI3TmJ2SGlvODRDaXJIdjdG?= =?utf-8?B?b3ZGUEdzQmV1QVY4ZkU2QjRnSjNVU3Eydkl2V09aaDlaZkdrMFdDNU1oZzda?= =?utf-8?B?dmhnanJYSUNUYTQ4TWV0USthNm85Q2JxRTNrSmswUUxwSHdtSFp1ZHFuTWVp?= =?utf-8?B?MW5jdUFrRTYwOCtFcDNNT1pGamRKYUpwT3l5VVR4bys2RGR0UmNMU1VlNkVP?= =?utf-8?B?MlBaNkU4M3FjMGduOEVoWmhOemZxeFpKM2JPYTlBcFRoRGFIK3hNSE5qZGVU?= =?utf-8?B?YUd1VjBweWhYUm8xTyt5U1RsYm9xYlcwb29PTUNaNUU1VG4xSzJMOWhVWjJT?= =?utf-8?B?RjQwUjd4RisxN2FMNC9GdVZ2dCtwUCs2cDM2Z09RMHJwSjcrS1grckVwZU1Y?= =?utf-8?B?ODU2WVBtRmxVNFF5MGxOaitwOGdZNkJrRGRnMHVON09vczc3TmZPM3dzTm54?= =?utf-8?B?S3pkU2pzaTA1WGdiY3BYNmxqZnMwQm5ES3VQQnJXcGxtbUlXaCt6eDlsQ09y?= =?utf-8?B?d1RKWmx5b1BDNlJFd0EyMWlPMkhYYVZWSGZ5YlpxN2o1UXNRbGhXVkRnc1Iy?= =?utf-8?B?MWFBT21sTktUd2N4Y01IM0JjNW1UUUFiZ1JuRFZBU08yNTZTQUdSSE5wTnND?= =?utf-8?B?WFNwZ2JTQ1c4S2JZN0ltUTZacHVKMnJaUE9adExRWEcwUXBrdTNDQ1JzTWFK?= =?utf-8?B?d0VUempUcVNlV0c2QWZGZm5EYmN1OGx3aHo1b3JsOVduUTZpTVBtSWFLWjZu?= =?utf-8?B?Tnd3SFk4NGUycEdOMzZFSlh5dnZycnFWM1pDckhZbms0Y2o2aXMwNDVDRjJv?= =?utf-8?B?SWNJdTZVelNTZnlPNFZ3S3NhVGZRbnhGOG5YVXpIK0NVZmNYQjl0TW9lOXF5?= =?utf-8?B?cTV3NHpzSXllb01oa1FmcmhmMG1PZXA5eWZyT3lWN3RzekRDaHFCV21Kc3NE?= =?utf-8?B?NTh1akVQdkMrVUlhVzdRVGpVN0R6SzZZV2EvdWVVMkRJOUtqc1psaEFMUzB5?= =?utf-8?B?QkYySGxHRjBiVCs4MmtoNjYydzlRYmQ2b3NEZk83QjhISkJmckZLTTVzRThM?= =?utf-8?B?SXg4TE5EMTYwb2VDbnR3Rmt0MnNFMzRxTXVHVkJySTJuaUIyTUVQZzJUOXE4?= =?utf-8?B?Rm1EbjNoTkM4UFV3REVOblFON3Bqdm1JNFFxaEgzNlRINTI5U3ZPSW96dDRF?= =?utf-8?B?cS9vYVBtZmF0eUNCOWkxK3luekJScm1ERERkZVFFVGZlTjdIbkpiYmkvWFJL?= =?utf-8?B?Z0lzcG9SN29lRHl2Z2ZUVFRHVEF0SStDT0hyaEU4dG11QWpFYWRpMmFRUElo?= =?utf-8?B?eHExVEZMZEdKS0VnVEtuSWVWdGF4U0NkMUxvRUp5L1BlMWZkL3lKMkhBc3ZL?= =?utf-8?B?azFBYlVjbXhQUVJ0RXN4b2VqT29YSXR0djRNSWlPTWhFTVo2cGRONjYxRTUx?= =?utf-8?B?MnNJRnZqaERvZzE4SXpBaE0yQlNyUTRHbEVLZS9rb3JYQmE1S2N0OC9pUzFB?= =?utf-8?B?N0RTbnM1UWdFcVJYbW5EckI0RGpuOTAwcU5MbnRCWStNdTVmSkE0KzVkWDRx?= =?utf-8?B?VjlNdDZBeVl6QTV2WUcxYkFiN0loYXVETW91VUJobVZHVmoxN0ZHckg2cnJF?= =?utf-8?B?UVdTWHEyRVJFWWN4REc0Vmhydm05YThqcXBKTENXYzlyVkNVMnIxNW4xamRW?= =?utf-8?B?aTRVR0d0M2l3VTk1T0F5UDFkR25nSmV2b21JRWg0bnNFZS9OcStXNG5uM1Q0?= =?utf-8?B?WERUTEhYeEpQV2txY0pEK2l6Q0FaWWVVeFdzZW5oOHJiWFNzaTZxR3dyOXZp?= =?utf-8?B?VjZJUnAwK3NRZmgralRvT3AyeU1OdzBnT3V4K3lnQ1lmbE1zQjVMNHZXOWJ5?= =?utf-8?B?UXB6N1pxZHJKbnZiSlp0VEdueTBiQzVaRjRiN2Z4QzUzNUhLUmlRZEJlSk4v?= =?utf-8?B?VzFPMnpxZm82eEZWdzQvd0RodUdzRlJqdStKTS9WMXlXbHFja242Wm9xNXBK?= =?utf-8?B?VVNnb3hpS2hXQ0tiSFUyODBwYmFpMXI0dGVvditvWnhxd09ZWXZFMVh6cjZX?= =?utf-8?Q?81QE=3D?= 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: BYAPR11MB2903.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6743c1c0-1577-440c-b725-08db4d10d1a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2023 02:31:23.4990 (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: qy1XxZmVTiwScgqJirV+wXrTS1qiYluz46tjk1GHhCQjRdxCuml4kfARbGT2xo4HUjn4XWPZP7f54vHV4UIQhg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5043 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogTW9uZGF5LCBNYXJjaCAyNywgMjAyMyA4OjM4 IFBNDQo+IFRvOiBEZW5nLCBLYWl3ZW5YIDxrYWl3ZW54LmRlbmdAaW50ZWwuY29tPjsgZGV2QGRw ZGsub3JnDQo+IENjOiBzdGFibGVAZHBkay5vcmc7IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdA aW50ZWwuY29tPjsgWmhvdSwgWWlkaW5nWA0KPiA8eWlkaW5neC56aG91QGludGVsLmNvbT47IENo YXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+OyBNaW4gSHUgKENvbm5vcikNCj4gPGh1bWluMjlA aHVhd2VpLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgWGluZywg QmVpbGVpDQo+IDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBNaWtlIFBhdHRyaWNrIDxta3BAcmVk aGF0LmNvbT47IFpoYW5nLCBRaSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IERvaGVydHks IERlY2xhbiA8ZGVjbGFuLmRvaGVydHlAaW50ZWwuY29tPjsNCj4gTXJ6eWdsb2QsIERhbmllbCBU IDxkYW5pZWwudC5tcnp5Z2xvZEBpbnRlbC5jb20+OyBEYXBlbmcgWXUNCj4gPGRhcGVuZ3gueXVA aW50ZWwuY29tPjsgWmhhbmcsIEhlbGluIDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+Ow0KPiBNY25h bWFyYSwgSm9obiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4g PHRob21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjNdIG5ldC9pYXZm OiBmaXggaWF2ZiBxdWVyeSBzdGF0cyBpbiBpbnRyIHRocmVhZA0KPiANCj4gT24gMy8yNy8yMDIz IDE6MzEgUE0sIEZlcnJ1aCBZaWdpdCB3cm90ZToNCj4gPiBPbiAzLzI3LzIwMjMgNjozMSBBTSwg RGVuZywgS2Fpd2VuWCB3cm90ZToNCj4gPj4NCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBhbWQuY29t Pg0KPiA+Pj4gU2VudDogVGh1cnNkYXksIE1hcmNoIDIzLCAyMDIzIDExOjM5IFBNDQo+ID4+PiBU bzogRGVuZywgS2Fpd2VuWCA8a2Fpd2VueC5kZW5nQGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0K PiA+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZzsgWWFuZywgUWltaW5nIDxxaW1pbmcueWFuZ0BpbnRl bC5jb20+OyBaaG91LA0KPiA+Pj4gWWlkaW5nWCA8eWlkaW5neC56aG91QGludGVsLmNvbT47IENo YXMgV2lsbGlhbXMgPGNoYXMzQGF0dC5jb20+OyBNaW4NCj4gPj4+IEh1IChDb25ub3IpIDxodW1p bjI5QGh1YXdlaS5jb20+OyBXdSwgSmluZ2ppbmcNCj4gPj4+IDxqaW5namluZy53dUBpbnRlbC5j b20+OyBYaW5nLCBCZWlsZWkgPGJlaWxlaS54aW5nQGludGVsLmNvbT47IE1pa2UNCj4gPj4+IFBh dHRyaWNrIDxta3BAcmVkaGF0LmNvbT47IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNv bT47DQo+ID4+PiBEb2hlcnR5LCBEZWNsYW4gPGRlY2xhbi5kb2hlcnR5QGludGVsLmNvbT47IE1y enlnbG9kLCBEYW5pZWwgVA0KPiA+Pj4gPGRhbmllbC50Lm1yenlnbG9kQGludGVsLmNvbT47IERh cGVuZyBZdSA8ZGFwZW5neC55dUBpbnRlbC5jb20+DQo+ID4+PiBTdWJqZWN0OiBSZTogW1BBVENI IHYzXSBuZXQvaWF2ZjogZml4IGlhdmYgcXVlcnkgc3RhdHMgaW4gaW50cg0KPiA+Pj4gdGhyZWFk DQo+ID4+Pg0KPiA+Pj4gT24gMy8yMi8yMDIzIDc6MjYgQU0sIEthaXdlbiBEZW5nIHdyb3RlOg0K PiA+Pj4+IFdoZW4gaWF2ZiBzZW5kIHF1ZXJ5LXN0YXRzIGNvbW1hbmQgaW4gZWFsLWludHItdGhy ZWFkIHRocm91Z2gNCj4gPj4+PiB2aXJ0dWFsIGNoYW5uZWwsIHRoZXJlIHdpbGwgYmUgbm8gcmVz cG9uc2UgcmVjZWl2ZWQgZnJvbQ0KPiA+Pj4+IGlhdmZfZGV2X3ZpcnRjaG5sX2hhbmRsZXIgZm9y IHRoaXMgY29tbWFuZCBkdXJpbmcgYmxvY2sgYW5kIHdhaXQuDQo+ID4+Pj4gQmVjYXVzZSBpYXZm X2Rldl92aXJ0Y2hubF9oYW5kbGVyIGlzIGFsc28gcmVnaXN0ZXJlZCBpbiBlYWwtaW50ci10aHJl YWQuDQo+ID4+Pj4NCj4gPj4+PiBXaGVuIHZmIGRldmljZSBpcyBib25kZWQgYXMgQk9ORElOR19N T0RFX1RMQiBtb2RlLCB0aGUgc2xhdmUNCj4gZGV2aWNlDQo+ID4+Pj4gdXBkYXRlIGNhbGxiYWNr IHdpbGwgcmVnaXN0ZXJlZCBpbiBhbGFybSBhbmQgY2FsbGVkIGJ5DQo+ID4+Pj4gZWFsLWludHIt dGhyZWFkLCBpdCB3b3VsZCBhbHNvIHJhaXNlIHRoZSBhYm92ZSBpc3N1ZS4NCj4gPj4+Pg0KPiA+ Pj4+IFRoaXMgY29tbWl0IGFkZCB0byBwb2xsIHRoZSByZXNwb25zZSBmb3IgVklSVENITkxfT1Bf R0VUX1NUQVRTDQo+IHdoZW4NCj4gPj4+IGl0DQo+ID4+Pj4gaXMgY2FsbGVkIGJ5IGVhbC1pbnRy LXRocmVhZCB0byBmaXggdGhpcyBpc3N1ZS4NCj4gPj4+Pg0KPiA+Pj4+IEZpeGVzOiA5MWJmMzdk MjUwYWEgKCJuZXQvaWF2ZjogYWRkIGxvY2sgZm9yIFZGIGNvbW1hbmRzIikNCj4gPj4+PiBGaXhl czogMjJiMTIzYTM2ZDA3ICgibmV0L2F2ZjogaW5pdGlhbGl6ZSBQTUQiKQ0KPiA+Pj4+IEZpeGVz OiA3Yzc2YTc0N2U2OGMgKCJib25kOiBhZGQgbW9kZSA1IikNCj4gPj4+PiBGaXhlczogNDM1ZDUy MzExMmNjICgibmV0L2lhdmY6IGZpeCBtdWx0aS1wcm9jZXNzIHNoYXJlZCBkYXRhIikNCj4gPj4+ PiBGaXhlczogY2I1YzFiOTFmNzZmICgibmV0L2lhdmY6IGFkZCB0aHJlYWQgZm9yIGV2ZW50IGNh bGxiYWNrcyIpDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IEhpIEthaXdlbiwNCj4gPj4+DQo+ID4+PiBB Ym92ZSBjb21taXQgYWxyZWFkeSBzZWVtcyB0cnlpbmcgdG8gYWRkcmVzcyBzYW1lIGlzc3VlLCBp dCBjcmVhdGVzDQo+ID4+PiAiaWF2Zi0gZXZlbnQtdGhyZWFkIiBjb250cm9sIHRocmVhZCB0byBh c3luY3JvbmlvdXNseSBoYW5kbGUgdGhlDQo+ID4+PiBpbnRlcnJ1cHRzLCBpbiBub24tIGludGVy cnVwdCBjb250ZXh0LCB3aHkgaXQgaXMgbm90IHdvcmtpbmc/DQo+ID4+Pg0KPiA+Pj4gSW5zdGVh ZCBvZiBhZGRpbmcgJ3J0ZV90aHJlYWRfaXNfaW50cigpJyBjaGVja3MsIGNhbid0IHlvdSBtYWtl IHN1cmUNCj4gPj4+IGFsbCBpbnRlcnJ1cHRzIGhhbmRsZWQgaW4gY29udHJvbCB0cmVhZD8NCj4g Pj4+DQo+ID4+PiBBbmQgY2FuIHlvdSBwbGVhc2UgcHJvdmlkZSBhIHN0YWNrIHRyYWNlIGluIGNv bW1pdCBsb2csIHRvIGRlc2NyaWJlDQo+ID4+PiB0aGUgaXNzdWUgYmV0dGVyPw0KPiA+PiBIaSBG ZXJydSwNCj4gPj4gU29ycnkgZm9yIG15IGxhdGUgcmVwbHksIEFuZCB0aGFua3MgZm9yIHlvdXIg cmV2aWV3Lg0KPiA+Pg0KPiA+PiBUaGUgYWJvdmUgY29tbWl0IGRvZXMgbm90IGZpeCB0aGlzIGlz c3VlIHdoZW4gd2UgbmVlZCB0byBnZXQgdGhlDQo+IHJldHVybmVkIGRhdGEuDQo+ID4+IElmIHdl IGNhbGwgaWF2Zl9xdWVyeV9zdGF0cyBhbmQgd2FpdCBmb3IgcmVzcG9uc2Ugc3RhdGlzdGljcyBp biB0aGUgaW50ci0NCj4gdGhyZWFkLg0KPiA+PiBpYXZmX2hhbmRsZV92aXJ0Y2hubF9tc2cgaXMg YWxzbyByZWdpc3RlcmVkIGluIHRoZSBpbnRyX3RocmVhZCBhbmQNCj4gPj4gd2lsbCBub3QgYmUg ZXhlY3V0ZWQgd2hpbGUgd2FpdGluZy4NCj4gPj4NCj4gPg0KPiA+IEdvdCBpdCwgc2luY2UgcmV0 dXJuIHZhbHVlIGlzIHJlcXVpcmVkLCBBUEkgY2FuJ3QgYmUgY2FsbGVkIGFzeW5jcm9uaW91c2x5 Lg0KPiA+DQo+ID4NCj4gPg0KPiA+IEkgdGhpbmsgJ3J0ZV90aHJlYWRfaXNfaW50cigpJyBjaGVj a3MgbWF5IGNhdXNlIG1vcmUgdHJvdWJsZSBmb3IgeW91DQo+ID4gaW4gbG9uZyB0ZXJtLA0KPiA+ DQo+ID4gLSB3aHkgJ2lhdmZfcXVlcnlfc3RhdHMoKScgaXMgY2FsbGVkIGluIHRoZSBpdGVycnVw dCB0aHJlYWQsIGNhbiBpdCBiZQ0KPiA+IHByZXZlbnRlZD8NCj4gPg0KPiA+IC0gZG9lcyBpdCBt YWtlIHNlbnNlIHRvIGFsbHdheXMgcG9sbCBtZXNzYWdlcyBmcm9tIFBGIChmb3Igc2ltcGxpZmlj YXRpb24pPw0KPiA+DQo+ID4NCj4gPiBJZiBhbnN3ZXIgdG8gYm90aCBhcmUgJ05vJywgSSBhbSBP SyB0byBjb250aW51ZSB3aXRoIGN1cnJlbnQgcHJvcG9zYWwNCj4gPiBpZiB5b3UgYXJlIGhhcHB5 IHdpdGggaXQuDQo+ID4NCj4gDQo+IA0KPiBidHcsIGhvdyBjcml0aWNhbCBpcyB0aGlzIGlzc3Vl Pw0KPiANCj4gSWYgaXQgaXMgY3JpdGljYWwsIEkgYW0gT0sgdG8gZ2V0IGl0IGFzIGl0IGlzIGZv ciB0aGlzIHJlbGVhc2UgYW5kIGludmVzdGlnYXRlIGl0IGZ1cnRoZXINCj4gZm9yIG5leHQgcmVs ZWFzZSwgc2luY2Ugb25seSBhIGZldyBkYXlzIGxlZnQgZm9yIHRoaXMgcmVsZWFzZS4NCj4NCkhp IEZlcnJ1aCwNCg0KSSBkaWRuJ3QgZmluZCBhIG1vcmUgc3VpdGFibGUgc29sdXRpb24gYWZ0ZXIg Y29uc2lkZXJhdGlvbiwgaWYgeW91IGhhdmUgYSBiZXR0ZXIgc3VnZ2VzdGlvbiwgDQpwbGVhc2Ug bGV0IG1lIGtub3csIHRoYW5rcy4NCj4gDQo+ID4NCj4gPj4gVGhpcyBjb21taXQgSSBjaGFuZ2Vk IGl0IHRvIHBvbGxpbmcgZm9yIHJlcGxpZXMgdG8gY29tbWFuZHMgZXhlY3V0ZWQgaW4NCj4gdGhl IGludGVycnVwdCB0aHJlYWQuDQo+ID4+DQo+ID4+IG1haW4gdGhyZWFkICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0DQo+IHRocmVhZA0KPiA+PiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfA0KPiA+PiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+PiBpYXZmX3F1ZXJ5 X3N0YXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ ID4+IGlhdmZfZXhlY3V0ZV92Zl9jbWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwNCj4gPj4gaWF2Zl9hcV9zZW5kX21zZ190b19wZiAgYW5kIHdhaXQgaGFuZGxlIGNvbXBs ZXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+PiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8DQo+ID4+ICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g LS0tLS0tLT58DQo+ID4+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4gICAgICB8DQo+IGlhdmZf aGFuZGxlX3ZpcnRjaG5sX21zZw0KPiA+PiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gPj4gICAgICB8 PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLXwNCj4gPj4gICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8DQo+ID4+IGlhdmZfZXhlY3V0ZV92Zl9jbWQgZ2V0IHJlc3BvbnNlICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwNCj4gPj4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ID4+DQo+ID4+IFRoZSBhYm92ZSBpcyB0 aGUgc3RhY2sgdHJhY2UgZm9yIHRoZSBub3JtYWwgZXhlY3V0aW9uIG9mDQo+ID4+IGlhdmZfcXVl cnlfc3RhdHMgaW4gdGhlIG1haW4gdGhyZWFkLg0KPiA+Pg0KPiA+PiAgaW50ZXJydXB0IHRocmVh ZA0KPiA+PiAgICAgIHwNCj4gPj4gICAgICB8DQo+ID4+IGlhdmZfcXVlcnlfc3RhdHMNCj4gPj4g aWF2Zl9leGVjdXRlX3ZmX2NtZA0KPiA+PiBpYXZmX2FxX3NlbmRfbXNnX3RvX3BmIHdhaXQgaGFu ZGxlIGNvbXBsZXRlKDEgc2VjKQ0KPiA+PiBpYXZmX2V4ZWN1dGVfdmZfY21kIHRpbWVvdXQNCj4g Pj4gICAgICB8DQo+ID4+ICAgICAgfA0KPiA+PiBpYXZmX2hhbmRsZV92aXJ0Y2hubF9tc2cNCj4g Pj4gICAgICB8DQo+ID4+DQo+ID4+IFRoZSBhYm92ZSBpcyB0aGUgc3RhY2sgdHJhY2UgZm9yIHRo ZSBhYm5vcm1hbCBleGVjdXRpb24gb2YNCj4gPj4gaWF2Zl9xdWVyeV9zdGF0cyBpbiB0aGUgaW50 ZXJydXB0IHRocmVhZC4NCj4gPj4+DQo+ID4+Pj4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPiA+Pj4+ DQo+ID4+Pj4gU2lnbmVkLW9mZi1ieTogS2Fpd2VuIERlbmcgPGthaXdlbnguZGVuZ0BpbnRlbC5j b20+DQo+ID4+Pj4gLS0tDQo+ID4+Pj4gQ2hhbmdlcyBzaW5jZSB2MjoNCj4gPj4+PiAtIEFkZCB0 byBwb2xsIHRoZSByZXNwb25zZSBmb3IgVklSVENITkxfT1BfR0VUX1NUQVRTLg0KPiA+Pj4+DQo+ ID4+Pj4gQ2hhbmdlcyBzaW5jZSB2MToNCj4gPj4+PiAtIEFkZCBsb2NrIHRvIGF2b2lkIHJhY2Ug Y29uZGl0aW9uLg0KPiA+Pj4+IC0tLQ0KPiA+Pj4+IC0tLQ0KPiA+Pj4+ICBkcml2ZXJzL25ldC9i b25kaW5nL3J0ZV9ldGhfYm9uZF9wbWQuYyB8ICA3ICsrLQ0KPiA+Pj4+ICBkcml2ZXJzL25ldC9p YXZmL2lhdmZfZXRoZGV2LmMgICAgICAgICB8ICA1ICstDQo+ID4+Pj4gIGRyaXZlcnMvbmV0L2lh dmYvaWF2Zl92Y2hubC5jICAgICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0N Cj4gPj4+PiAgMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMo LSkNCj4gPj4+Pg0KPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9l dGhfYm9uZF9wbWQuYw0KPiA+Pj4+IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRf cG1kLmMNCj4gPj4+PiBpbmRleCBmMGM0ZjdkMjZiLi5lZGNlNjIxNDk2IDEwMDY0NA0KPiA+Pj4+ IC0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4+Pj4gKysr IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPj4+PiBAQCAtODk0 LDYgKzg5NCw3IEBAIGJvbmRfZXRoZGV2X3VwZGF0ZV90bGJfc2xhdmVfY2Iodm9pZCAqYXJnKQ0K PiA+Pj4+ICAJdWludDhfdCB1cGRhdGVfc3RhdHMgPSAwOw0KPiA+Pj4+ICAJdWludDE2X3Qgc2xh dmVfaWQ7DQo+ID4+Pj4gIAl1aW50MTZfdCBpOw0KPiA+Pj4+ICsJaW50IHJldDsNCj4gPj4+Pg0K PiA+Pj4+ICAJaW50ZXJuYWxzLT5zbGF2ZV91cGRhdGVfaWR4Kys7DQo+ID4+Pj4NCj4gPj4+PiBA QCAtOTAzLDcgKzkwNCwxMCBAQCBib25kX2V0aGRldl91cGRhdGVfdGxiX3NsYXZlX2NiKHZvaWQg KmFyZykNCj4gPj4+Pg0KPiA+Pj4+ICAJZm9yIChpID0gMDsgaSA8IGludGVybmFscy0+YWN0aXZl X3NsYXZlX2NvdW50OyBpKyspIHsNCj4gPj4+PiAgCQlzbGF2ZV9pZCA9IGludGVybmFscy0+YWN0 aXZlX3NsYXZlc1tpXTsNCj4gPj4+PiAtCQlydGVfZXRoX3N0YXRzX2dldChzbGF2ZV9pZCwgJnNs YXZlX3N0YXRzKTsNCj4gPj4+PiArCQlyZXQgPSBydGVfZXRoX3N0YXRzX2dldChzbGF2ZV9pZCwg JnNsYXZlX3N0YXRzKTsNCj4gPj4+PiArCQlpZiAocmV0KQ0KPiA+Pj4+ICsJCQlnb3RvIE9VVDsN Cj4gPj4+PiArDQo+ID4+Pj4gIAkJdHhfYnl0ZXMgPSBzbGF2ZV9zdGF0cy5vYnl0ZXMgLSB0bGJf bGFzdF9vYnl0ZXRzW3NsYXZlX2lkXTsNCj4gPj4+PiAgCQliYW5kd2lkdGhfbGVmdChzbGF2ZV9p ZCwgdHhfYnl0ZXMsDQo+ID4+Pj4gIAkJCQlpbnRlcm5hbHMtPnNsYXZlX3VwZGF0ZV9pZHgsICZi d2dfYXJyYXlbaV0pOw0KPiA+Pj4gQEAgLTkyMiw2ICs5MjYsNyBAQA0KPiA+Pj4+IGJvbmRfZXRo ZGV2X3VwZGF0ZV90bGJfc2xhdmVfY2Iodm9pZCAqYXJnKQ0KPiA+Pj4+ICAJZm9yIChpID0gMDsg aSA8IHNsYXZlX2NvdW50OyBpKyspDQo+ID4+Pj4gIAkJaW50ZXJuYWxzLT50bGJfc2xhdmVzX29y ZGVyW2ldID0gYndnX2FycmF5W2ldLnNsYXZlOw0KPiA+Pj4+DQo+ID4+Pj4gK09VVDoNCj4gPj4+ PiAgCXJ0ZV9lYWxfYWxhcm1fc2V0KFJFT1JERVJfUEVSSU9EX01TICogMTAwMCwNCj4gPj4+IGJv bmRfZXRoZGV2X3VwZGF0ZV90bGJfc2xhdmVfY2IsDQo+ID4+Pj4gIAkJCShzdHJ1Y3QgYm9uZF9k ZXZfcHJpdmF0ZSAqKWludGVybmFscyk7ICB9IGRpZmYgLS1naXQNCj4gPj4+PiBhL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYw0K PiA+Pj4+IGluZGV4IDMxOTYyMTBmMmMuLmQ2ZTFmMWE3ZjQgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEv ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jDQo+ID4+Pj4gKysrIGIvZHJpdmVycy9uZXQv aWF2Zi9pYXZmX2V0aGRldi5jDQo+ID4+Pj4gQEAgLTI2MDcsNiArMjYwNyw5IEBAIGlhdmZfZGV2 X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KQ0KPiA+Pj4+ICAJYWRhcHRlci0+ZGV2 X2RhdGEgPSBldGhfZGV2LT5kYXRhOw0KPiA+Pj4+ICAJYWRhcHRlci0+c3RvcHBlZCA9IDE7DQo+ ID4+Pj4NCj4gPj4+PiArCWlmIChpYXZmX2Rldl9ldmVudF9oYW5kbGVyX2luaXQoKSkNCj4gPj4+ PiArCQlnb3RvIGluaXRfdmZfZXJyOw0KPiA+Pj4+ICsNCj4gPj4+PiAgCWlmIChpYXZmX2luaXRf dmYoZXRoX2RldikgIT0gMCkgew0KPiA+Pj4+ICAJCVBNRF9JTklUX0xPRyhFUlIsICJJbml0IHZm IGZhaWxlZCIpOw0KPiA+Pj4+ICAJCXJldHVybiAtMTsNCj4gPj4+PiBAQCAtMjYzNCw4ICsyNjM3 LDYgQEAgaWF2Zl9kZXZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ID4+Pj4g IAlydGVfZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgKilody0+bWFjLmFk ZHIsDQo+ID4+Pj4gIAkJCSZldGhfZGV2LT5kYXRhLT5tYWNfYWRkcnNbMF0pOw0KPiA+Pj4+DQo+ ID4+Pj4gLQlpZiAoaWF2Zl9kZXZfZXZlbnRfaGFuZGxlcl9pbml0KCkpDQo+ID4+Pj4gLQkJZ290 byBpbml0X3ZmX2VycjsNCj4gPj4+Pg0KPiA+Pj4+ICAJaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9m bGFncyAmIFZJUlRDSE5MX1ZGX09GRkxPQURfV0JfT05fSVRSKQ0KPiA+Pj4gew0KPiA+Pj4+ICAJ CS8qIHJlZ2lzdGVyIGNhbGxiYWNrIGZ1bmMgdG8gZWFsIGxpYiAqLyBkaWZmIC0tZ2l0DQo+ID4+ Pj4gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl92Y2hubC5jDQo+ID4+Pj4gaW5kZXggOWFkYWFkYjE3My4uYWVmZmIwN2NjYSAxMDA2NDQNCj4g Pj4+PiAtLS0gYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYw0KPiA+Pj4+ICsrKyBiL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jDQo+ID4+Pj4gQEAgLTI1Niw2ICsyNTYsNyBAQCBp YXZmX3JlYWRfbXNnX2Zyb21fcGYoc3RydWN0IGlhdmZfYWRhcHRlcg0KPiA+Pj4gKmFkYXB0ZXIs IHVpbnQxNl90IGJ1Zl9sZW4sDQo+ID4+Pj4gIAkJCQl2Zi0+bGlua19zcGVlZCA9DQo+ID4+PiBp YXZmX2NvbnZlcnRfbGlua19zcGVlZChzcGVlZCk7DQo+ID4+Pj4gIAkJCX0NCj4gPj4+PiAgCQkJ aWF2Zl9kZXZfbGlua191cGRhdGUodmYtPmV0aF9kZXYsIDApOw0KPiA+Pj4+ICsJCQlpYXZmX2Rl dl9ldmVudF9wb3N0KHZmLT5ldGhfZGV2LA0KPiA+Pj4gUlRFX0VUSF9FVkVOVF9JTlRSX0xTQywg TlVMTCwgMCk7DQo+ID4+Pj4gIAkJCVBNRF9EUlZfTE9HKElORk8sICJMaW5rIHN0YXR1cyB1cGRh dGU6JXMiLA0KPiA+Pj4+ICAJCQkJCXZmLT5saW5rX3VwID8gInVwIiA6ICJkb3duIik7DQo+ID4+ Pj4gIAkJCWJyZWFrOw0KPiA+Pj4+IEBAIC0zNjgsMjggKzM2OSw0OCBAQCBpYXZmX2V4ZWN1dGVf dmZfY21kKHN0cnVjdCBpYXZmX2FkYXB0ZXINCj4gPj4+ICphZGFwdGVyLCBzdHJ1Y3QgaWF2Zl9j bWRfaW5mbyAqYXJncywNCj4gPj4+PiAgCQlfY2xlYXJfY21kKHZmKTsNCj4gPj4+PiAgCQlicmVh azsNCj4gPj4+PiAgCWRlZmF1bHQ6DQo+ID4+Pj4gLQkJLyogRm9yIG90aGVyIHZpcnRjaG5sIG9w cyBpbiBydW5uaW5nIHRpbWUsDQo+ID4+Pj4gLQkJICogd2FpdCBmb3IgdGhlIGNtZCBkb25lIGZs YWcuDQo+ID4+Pj4gLQkJICovDQo+ID4+Pj4gLQkJZG8gew0KPiA+Pj4+IC0JCQlpZiAodmYtPnBl bmRfY21kID09IFZJUlRDSE5MX09QX1VOS05PV04pDQo+ID4+Pj4gLQkJCQlicmVhazsNCj4gPj4+ PiAtCQkJaWF2Zl9tc2VjX2RlbGF5KEFTUV9ERUxBWV9NUyk7DQo+ID4+Pj4gLQkJCS8qIElmIGRv bid0IHJlYWQgbXNnIG9yIHJlYWQgc3lzIGV2ZW50LCBjb250aW51ZSAqLw0KPiA+Pj4+IC0JCX0g d2hpbGUgKGkrKyA8IE1BWF9UUllfVElNRVMpOw0KPiA+Pj4+IC0NCj4gPj4+PiAtCQlpZiAoaSA+ PSBNQVhfVFJZX1RJTUVTKSB7DQo+ID4+Pj4gLQkJCVBNRF9EUlZfTE9HKEVSUiwgIk5vIHJlc3Bv bnNlIGZvciBjbWQgJWQiLA0KPiA+Pj4gYXJncy0+b3BzKTsNCj4gPj4+PiArCQlpZiAocnRlX3Ro cmVhZF9pc19pbnRyKCkpIHsNCj4gPj4+PiArCQkJLyogRm9yIHZpcnRjaG5sIG9wcyB3ZXJlIGV4 ZWN1dGVkIGluIGVhbF9pbnRyX3RocmVhZCwNCj4gPj4+PiArCQkJICogbmVlZCB0byBwb2xsIHRo ZSByZXNwb25zZS4NCj4gPj4+PiArCQkJICovDQo+ID4+Pj4gKwkJCWRvIHsNCj4gPj4+PiArCQkJ CXJlc3VsdCA9IGlhdmZfcmVhZF9tc2dfZnJvbV9wZihhZGFwdGVyLA0KPiA+Pj4gYXJncy0+b3V0 X3NpemUsDQo+ID4+Pj4gKwkJCQkJCQlhcmdzLT5vdXRfYnVmZmVyKTsNCj4gPj4+PiArCQkJCWlm IChyZXN1bHQgPT0gSUFWRl9NU0dfQ01EKQ0KPiA+Pj4+ICsJCQkJCWJyZWFrOw0KPiA+Pj4+ICsJ CQkJaWF2Zl9tc2VjX2RlbGF5KEFTUV9ERUxBWV9NUyk7DQo+ID4+Pj4gKwkJCX0gd2hpbGUgKGkr KyA8IE1BWF9UUllfVElNRVMpOw0KPiA+Pj4+ICsJCQlpZiAoaSA+PSBNQVhfVFJZX1RJTUVTIHx8 DQo+ID4+Pj4gKwkJCQl2Zi0+Y21kX3JldHZhbCAhPQ0KPiA+Pj4gVklSVENITkxfU1RBVFVTX1NV Q0NFU1MpIHsNCj4gPj4+PiArCQkJCWVyciA9IC0xOw0KPiA+Pj4+ICsJCQkJUE1EX0RSVl9MT0co RVJSLCAiTm8gcmVzcG9uc2Ugb3IgcmV0dXJuDQo+ID4+PiBmYWlsdXJlICglZCkiDQo+ID4+Pj4g KwkJCQkJCSIgZm9yIGNtZCAlZCIsIHZmLQ0KPiA+Pj4+IGNtZF9yZXR2YWwsIGFyZ3MtPm9wcyk7 DQo+ID4+Pj4gKwkJCX0NCj4gPj4+PiAgCQkJX2NsZWFyX2NtZCh2Zik7DQo+ID4+Pj4gLQkJCWVy ciA9IC1FSU87DQo+ID4+Pj4gLQkJfSBlbHNlIGlmICh2Zi0+Y21kX3JldHZhbCA9PQ0KPiA+Pj4+ IC0JCQkgICBWSVJUQ0hOTF9TVEFUVVNfRVJSX05PVF9TVVBQT1JURUQpIHsNCj4gPj4+PiAtCQkJ UE1EX0RSVl9MT0coRVJSLCAiQ21kICVkIG5vdCBzdXBwb3J0ZWQiLCBhcmdzLQ0KPiA+Pj4+IG9w cyk7DQo+ID4+Pj4gLQkJCWVyciA9IC1FTk9UU1VQOw0KPiA+Pj4+IC0JCX0gZWxzZSBpZiAodmYt PmNtZF9yZXR2YWwgIT0gVklSVENITkxfU1RBVFVTX1NVQ0NFU1MpIHsNCj4gPj4+PiAtCQkJUE1E X0RSVl9MT0coRVJSLCAiUmV0dXJuIGZhaWx1cmUgJWQgZm9yIGNtZCAlZCIsDQo+ID4+Pj4gLQkJ CQkgICAgdmYtPmNtZF9yZXR2YWwsIGFyZ3MtPm9wcyk7DQo+ID4+Pj4gLQkJCWVyciA9IC1FSU5W QUw7DQo+ID4+Pj4gKwkJfSBlbHNlIHsNCj4gPj4+PiArCQkJLyogRm9yIG90aGVyIHZpcnRjaG5s IG9wcyBpbiBydW5uaW5nIHRpbWUsDQo+ID4+Pj4gKwkJCSAqIHdhaXQgZm9yIHRoZSBjbWQgZG9u ZSBmbGFnLg0KPiA+Pj4+ICsJCQkgKi8NCj4gPj4+PiArCQkJZG8gew0KPiA+Pj4+ICsJCQkJaWYg KHZmLT5wZW5kX2NtZCA9PQ0KPiA+Pj4gVklSVENITkxfT1BfVU5LTk9XTikNCj4gPj4+PiArCQkJ CQlicmVhazsNCj4gPj4+PiArCQkJCWlhdmZfbXNlY19kZWxheShBU1FfREVMQVlfTVMpOw0KPiA+ Pj4+ICsJCQkJLyogSWYgZG9uJ3QgcmVhZCBtc2cgb3IgcmVhZCBzeXMgZXZlbnQsDQo+ID4+PiBj b250aW51ZSAqLw0KPiA+Pj4+ICsJCQl9IHdoaWxlIChpKysgPCBNQVhfVFJZX1RJTUVTKTsNCj4g Pj4+PiArDQo+ID4+Pj4gKwkJCWlmIChpID49IE1BWF9UUllfVElNRVMpIHsNCj4gPj4+PiArCQkJ CVBNRF9EUlZfTE9HKEVSUiwgIk5vIHJlc3BvbnNlIGZvcg0KPiA+Pj4gY21kICVkIiwgYXJncy0+ b3BzKTsNCj4gPj4+PiArCQkJCV9jbGVhcl9jbWQodmYpOw0KPiA+Pj4+ICsJCQkJZXJyID0gLUVJ TzsNCj4gPj4+PiArCQkJfSBlbHNlIGlmICh2Zi0+Y21kX3JldHZhbCA9PQ0KPiA+Pj4+ICsJCQkJ VklSVENITkxfU1RBVFVTX0VSUl9OT1RfU1VQUE9SVEVEKSB7DQo+ID4+Pj4gKwkJCQlQTURfRFJW X0xPRyhFUlIsICJDbWQgJWQgbm90DQo+ID4+PiBzdXBwb3J0ZWQiLCBhcmdzLT5vcHMpOw0KPiA+ Pj4+ICsJCQkJZXJyID0gLUVOT1RTVVA7DQo+ID4+Pj4gKwkJCX0gZWxzZSBpZiAodmYtPmNtZF9y ZXR2YWwgIT0NCj4gPj4+IFZJUlRDSE5MX1NUQVRVU19TVUNDRVNTKSB7DQo+ID4+Pj4gKwkJCQlQ TURfRFJWX0xPRyhFUlIsICJSZXR1cm4gZmFpbHVyZSAlZCBmb3INCj4gPj4+IGNtZCAlZCIsDQo+ ID4+Pj4gKwkJCQkJCXZmLT5jbWRfcmV0dmFsLCBhcmdzLT5vcHMpOw0KPiA+Pj4+ICsJCQkJZXJy ID0gLUVJTlZBTDsNCj4gPj4+PiArCQkJfQ0KPiA+Pj4+ICAJCX0NCj4gPj4+PiAgCQlicmVhazsN Cj4gPj4+PiAgCX0NCj4gPj4+PiBAQCAtNDAzLDggKzQyNCwxNCBAQCBpYXZmX2V4ZWN1dGVfdmZf Y21kX3NhZmUoc3RydWN0DQo+IGlhdmZfYWRhcHRlcg0KPiA+Pj4+ICphZGFwdGVyLCAgew0KPiA+ Pj4+ICAJc3RydWN0IGlhdmZfaW5mbyAqdmYgPSBJQVZGX0RFVl9QUklWQVRFX1RPX1ZGKGFkYXB0 ZXIpOw0KPiA+Pj4+ICAJaW50IHJldDsNCj4gPj4+PiArCWludCBpc19pbnRyX3RocmVhZCA9IHJ0 ZV90aHJlYWRfaXNfaW50cigpOw0KPiA+Pj4+DQo+ID4+Pj4gLQlydGVfc3BpbmxvY2tfbG9jaygm dmYtPmFxX2xvY2spOw0KPiA+Pj4+ICsJaWYgKGlzX2ludHJfdGhyZWFkKSB7DQo+ID4+Pj4gKwkJ aWYgKCFydGVfc3BpbmxvY2tfdHJ5bG9jaygmdmYtPmFxX2xvY2spKQ0KPiA+Pj4+ICsJCQlyZXR1 cm4gLUVJTzsNCj4gPj4+PiArCX0gZWxzZSB7DQo+ID4+Pj4gKwkJcnRlX3NwaW5sb2NrX2xvY2so JnZmLT5hcV9sb2NrKTsNCj4gPj4+PiArCX0NCj4gPj4+PiAgCXJldCA9IGlhdmZfZXhlY3V0ZV92 Zl9jbWQoYWRhcHRlciwgYXJncywgYXN5bmMpOw0KPiA+Pj4+ICAJcnRlX3NwaW5sb2NrX3VubG9j aygmdmYtPmFxX2xvY2spOw0KPiA+Pj4+DQo+ID4+DQo+ID4NCg0K