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 97A9B42677; Wed, 4 Oct 2023 23:18:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 699E9402AB; Wed, 4 Oct 2023 23:18:08 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 2EE024029A for ; Wed, 4 Oct 2023 23:18:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696454286; x=1727990286; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Sb5MHelfZzBZtS1F8O43u34ggpfXF7K2pPcnYWTXxqw=; b=U3V+ATmEWt2bzzvGthJUJsPmdZk+MkK+7fVTRbxolJusRKTDBxVWFgZw d8neeZr87EqwfzYmzMkbuA6IvQJ+DZsJSUZFPCr1CIPMs4bjtmuSLICkU u3zS6DXmnVzlg66CYwZ32ViNm53K900FhWkx7yG2lnWp27/9+Umc7Aw6G zrF5MmS/ZIPuAbskks9lfb8DDGTA8D7C4vxTzOmzwMVFYuyDjrs5vn8jC GvO1/gnx/8X9VkUOD3Kys9FJmWCpnCn63UyZSF5RPafTjMaJBfepqbTxw 3AZmtVYpV4AvgVMFNMRq7ianyNDIU6ZkBFXILSiqQMFSQl+tBd/iw9Z5l w==; X-IronPort-AV: E=McAfee;i="6600,9927,10853"; a="373649611" X-IronPort-AV: E=Sophos;i="6.03,201,1694761200"; d="scan'208";a="373649611" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2023 14:18:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10853"; a="745154264" X-IronPort-AV: E=Sophos;i="6.03,201,1694761200"; d="scan'208";a="745154264" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 04 Oct 2023 14:18:05 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Wed, 4 Oct 2023 14:18:04 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Wed, 4 Oct 2023 14:18:04 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Wed, 4 Oct 2023 14:18:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AcXQJ1iGR2SoMD7JBUfOQMCAzPOtNsEj5BF2GMF3n7uUZjRfBbrY2eA2/+/mf4Djw61uFGJUGnstmB8gM0gR64YWXJWxrH72+94140N56897KkTPo/coB80an1RC2YZCT5WrDSR/gW2F2EH5Xbe+v3S/k4zF6StHRdBoX1g0PA4q3XRhY+qjTU9ss2i5R7WgpX0N9J7kZUGw0QDV7S1VFFsUAteFfx0nIApakZNj3dzVv0awDjLApE9H6Iy5edwxBCMIIwuCjXWsaTpQYq8Uq4HEHv9WKpglnJsBXqQyh2K0aat4qus+CeFDFYrIkNSEok0rUr/OPmcNia5b4TgWTg== 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=Sb5MHelfZzBZtS1F8O43u34ggpfXF7K2pPcnYWTXxqw=; b=LaB0ixWb5rzu4gF2g/si5Hg17mpqBNG7L0xQ+ohLB8CZDcMjtaL0DQMHz6R+LsV4I+JWxYSLN2qeg0/MKJrnoM9MhXJEBLwl6q1Lb1XWOaEnwe0Y3emOQkuNwPAOolZ99MnKz+X5miQgsD8c1msiyFRvO5LrIalZwo/wFP91XcxSMPepb23Jgo/f6Gm6QiAEVM1B6wxNzVu3wjbY9D8n6jeVfVj8D05vhERpCiXPZmBLlD5EEJtYWnbn+EOt2IBiub+GLIne4ykk4fwo5YX7TmlSoQChDDR/0bOdsDUkUaeYggSB/OCa9pwtlLjRu7v+cXEEs8svUKJCEWJjfyfrzg== 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 DM6PR11MB4457.namprd11.prod.outlook.com (2603:10b6:5:203::22) by SA1PR11MB8254.namprd11.prod.outlook.com (2603:10b6:806:251::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.28; Wed, 4 Oct 2023 21:18:00 +0000 Received: from DM6PR11MB4457.namprd11.prod.outlook.com ([fe80::3207:2893:cd81:30a7]) by DM6PR11MB4457.namprd11.prod.outlook.com ([fe80::3207:2893:cd81:30a7%3]) with mapi id 15.20.6838.033; Wed, 4 Oct 2023 21:18:00 +0000 From: "Chautru, Nicolas" To: Maxime Coquelin , "dev@dpdk.org" CC: "hemant.agrawal@nxp.com" , "david.marchand@redhat.com" , "Vargas, Hernan" Subject: RE: [PATCH v3 09/12] baseband/acc: add FFT support to VRB2 variant Thread-Topic: [PATCH v3 09/12] baseband/acc: add FFT support to VRB2 variant Thread-Index: AQHZ8vNW+MPrMblvskisqHkYQNCUuLA4KC0AgAA96jCAANfmAIAA67QA Date: Wed, 4 Oct 2023 21:18:00 +0000 Message-ID: References: <20230929163516.3636499-1-nicolas.chautru@intel.com> <20230929163516.3636499-10-nicolas.chautru@intel.com> <32b6b788-eae3-8540-07da-ff528b06de2b@redhat.com> In-Reply-To: <32b6b788-eae3-8540-07da-ff528b06de2b@redhat.com> 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: DM6PR11MB4457:EE_|SA1PR11MB8254:EE_ x-ms-office365-filtering-correlation-id: 43bab3cf-6560-4280-a7b9-08dbc51f634b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hAQNwGri6DtpfmdJc8lBUewm4m4egxj/dlBcVPovp2YIqSKvIioC6/xD45uLyfjolMrndLa7+Di39SuRQctM86M8JvZDmsRELwNu1oI5S0spgTtj8KVOtbUf1sx1HcubT+hP/ngs+zwHpwf5XwWHedUPNTkNfRGuhAiWdZMYkuY4JyaOq3BHdxAyBRsdM2dHESLI2Vgk50XOY6Y8J6WROofoC0LYmNAjbI0puLArwGT7qTkspwVS2MHX5FF+1B8u1AlWQL/E6ECbZVcyMu6uRadNEesPt3nEW1jEi4c/RmOr8F8DwB8Z/5deghEJ1yx8uXJnX3n5IukxIPngkFex30kcQVczMhPVB/HuJVzq36qMp6f3sIX26EDFI2+32r6Oc6+Un9NC4Wb9l2iQZtYa19V/LG5dhINj1V9JJk3IEjkmLJ0V1Zxs4g69ufOfC0M+eLB/kLpOEFzUNRVN55hqo6a88B9QqLgIKFQDsX/rW05ycu4Rk7bbzvKOHFeyesHXcAKzItjogTmX/ooOePWUqIgi3LyikUhAWnRfjeNEtdSvSXabwWLGJsOzNjEFWHfyzN7yX70yWtSTHhPthGokl92RDvJYjNhfjxfEIsU9Jzu/AIpMCnhZsmp6knf2UWPE x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4457.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(396003)(39860400002)(376002)(136003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(83380400001)(52536014)(33656002)(5660300002)(4326008)(8676002)(8936002)(26005)(71200400001)(107886003)(53546011)(9686003)(7696005)(82960400001)(6506007)(122000001)(86362001)(55016003)(66556008)(38100700002)(2906002)(478600001)(38070700005)(110136005)(66446008)(66946007)(64756008)(76116006)(316002)(54906003)(41300700001)(66476007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cWFTTVMva29abnRCQVF0Vi9WczJVQmsrYnJtbUx6YmRqajhRTWZrbGdVZWpQ?= =?utf-8?B?SHRzbUN6TERnSUkranYzTlo2NjdudWY3blVZTDNjVUVxbmYydk9GekZvZDJC?= =?utf-8?B?L0hWd1NYUkNVaGpKckhyQVZVTm5tVk8vbExINENBNEpwZnd1UDdFSVpMc3Rj?= =?utf-8?B?a21WL3RPQUJRRzREQ0owdjdIZ05qVkhCaTJJMGgyQU9wVTJUT29JWEhOTy9Y?= =?utf-8?B?clAxRk8rRHhndzAzOXNXVFZ0eHZreUdvcmRRSXVqakNwdVBKTTlxWWRLTTZU?= =?utf-8?B?NUxhejBpOGU0QzRUZ2xuMyswT1BLMGdDclc1RE5aQ2tDMFB3OUFOb1pQMzFP?= =?utf-8?B?NUpoVWZtSFN0UkcxSHNnZ21ZS3lwZWp0ekU5S0lJdzk4YXZPbnRxS1hkeFpk?= =?utf-8?B?aHNzSENDc2N5RzJzRVpWQ1FTclFkdjNuNmM1TmxrZFFINEViYk9PK2FKNHFz?= =?utf-8?B?Rjl4NTJCVENrQnI4Q1dFSGZEVmNPRmpTZTVGS0RDZzBaeWxYZkNxQXllUEhK?= =?utf-8?B?RHE5TVF1Sys3UVBNL3Z2U2lnVmRuV3UvdHZtc3BWVllSbERndFhFZGM5RnV0?= =?utf-8?B?V201YnNWSGdSQmU4ejRYcURabENTbFBEME1UVVJOeDI2WkpRTEphKzVEUlN1?= =?utf-8?B?QmJoN0trUUFPelZidlpNUWhOQ2tDb2daUnVoUG92ZWpnNXFmM2xwREZWcEdr?= =?utf-8?B?emdMSGFZbkZiV1EwZmdmTGNnaXRqWS9lWWxaTEtNYktWOEtxNm5HeE5mcjRM?= =?utf-8?B?cnBwQjVpQWcreXc0YU5rVzU5L3AxRHlCN09yaUszTmphZVBjTE1MV2hQUXd5?= =?utf-8?B?N1p1TjJ1NjRMdkRLNFVCVUl3bCtrM0swUEg0a2Myd3l6enA2QW80RGM4SVlO?= =?utf-8?B?cWZ5NEo1dGtOdnQ2R0ZNVGdlTkZweldKbldMRGF5SzE0dnhWUUZOY1ZPRGwz?= =?utf-8?B?VCtvZFpSSkJkTW9VNldha1FpOVVxWFh2WlZCN2xQNXZDUmczcDZCOXN5eC9T?= =?utf-8?B?Z2hDdmZQUm5wQU5XdTFpSWY5OElNR0REeURveXRQN1dmOFB0cmtQWHBPT3dY?= =?utf-8?B?VDJZcFBURC80b0YwUmJVajkrTzIydmM0OExxR3h3K3c0WHczd01Idm1YTUt6?= =?utf-8?B?TVhBYk1RR3FQSEhqTE14aXQ0NGJMSVpNUzhmeGxIWTQvZ2dNYlpZNTZtOTcx?= =?utf-8?B?NTlselV4SFhOTVo2bDBzbUdtbXAzTGIwRkhJLzFvd1B5SFFoWTNFakdEc2Zs?= =?utf-8?B?SjdDSkU0NDNVbVVUc0VwRmpsV3VESjNCbmE0TkF1VXJVZzE5d1hKSWRMc0xF?= =?utf-8?B?Nk4wOXhicEpxYm1zZTBaTFdnai9QL28zcW5yRE51QUoyMDA1UnBWejJ3STI3?= =?utf-8?B?ei9Ud3A2TnVXVzhoVkp5RXVLK1FmaWw4T0h2ckFnRGdBSWhYcnR0VCtKZHlV?= =?utf-8?B?ZHBla3JrWERUMVJ2Z2xzMmdtMURFNzh4NUg0RFl0ZU1EbEFwbjU5dFNTQlJ2?= =?utf-8?B?YXNwT2R3ZWJZVnFnMGtvYkNIa2htaVpRMFloS1BVSnVhQWZ4a1BNTlp1d2dP?= =?utf-8?B?bmNidG5UQjBGUy9INEw0WWxUWVRKN21xTmtZTndNVVVTVTBkOXQzUnBodlFW?= =?utf-8?B?UmE3d0JNeGtxQmduUGRTYXp4RnN3bDg0YWUwbEtOOXh0ZGhuMm8zZk13WTRS?= =?utf-8?B?bFVVaWV0WEhCZzdhYllaZCs5WHovK0NWVmJGZmN3aFdNcklBMWF0ZE5wR092?= =?utf-8?B?WEF0UlZBRXZuRnJQM2lFNkJaZHlQd1ZQbmNjaVd2UWFoRHZ0OFEyaTh2R0NB?= =?utf-8?B?VkVQZzN3YVorUHdnZVpOY3FXWnd2NDhVdXJoeXFFZzA1aWtRcXZ2YzlDMmZv?= =?utf-8?B?Yi9XMnJtU3pWcG1nMWQ1eUdjckQ0UkRXWkZNUWFmNWNZU2ZDbVByeFVraEVU?= =?utf-8?B?Zm01VEpkSURxWVVQMERIQWVEZXhqUEFvMUl5K25hNVBuZzR4RU56SEg5VE1l?= =?utf-8?B?VXlua2s5aFc2T1pEN2txbmtJbHhRcm8xZXZMMTc3UDBUdTk0UWNlVU1JSHdQ?= =?utf-8?B?V3Y3aHJGOVArZTdRaFFYN01iaGJkNTZydlRBamNaWTF3Zi9BcW1UZWRVLzhR?= =?utf-8?Q?TqKLxnKbBIcbVHrGXHESqiplN?= 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: DM6PR11MB4457.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43bab3cf-6560-4280-a7b9-08dbc51f634b X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2023 21:18:00.3603 (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: 3TWhk+9zqvQM+wQKp7rszov/m530j+2b95rxugVei3Y2PXEE5cSK8/gbH1NK6wIoxy+9SSU12Q7/fUVSvKKx3vpHGDuEeshg7L4H2ehZUl0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8254 X-OriginatorOrg: intel.com 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 SGkgTWF4aW1lLCANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhp bWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNk YXksIE9jdG9iZXIgNCwgMjAyMyAxMjoxMSBBTQ0KPiBUbzogQ2hhdXRydSwgTmljb2xhcyA8bmlj b2xhcy5jaGF1dHJ1QGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogaGVtYW50LmFncmF3 YWxAbnhwLmNvbTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgVmFyZ2FzLCBIZXJuYW4NCj4g PGhlcm5hbi52YXJnYXNAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDA5LzEy XSBiYXNlYmFuZC9hY2M6IGFkZCBGRlQgc3VwcG9ydCB0byBWUkIyIHZhcmlhbnQNCj4gDQo+IA0K PiANCj4gT24gMTAvMy8yMyAyMDoyMCwgQ2hhdXRydSwgTmljb2xhcyB3cm90ZToNCj4gPiBIaSBN YXhpbWUsDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTog TWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPj4gU2VudDog VHVlc2RheSwgT2N0b2JlciAzLCAyMDIzIDc6MzcgQU0NCj4gPj4gVG86IENoYXV0cnUsIE5pY29s YXMgPG5pY29sYXMuY2hhdXRydUBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4gQ2M6IGhl bWFudC5hZ3Jhd2FsQG54cC5jb207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207IFZhcmdhcywN Cj4gSGVybmFuDQo+ID4+IDxoZXJuYW4udmFyZ2FzQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDog UmU6IFtQQVRDSCB2MyAwOS8xMl0gYmFzZWJhbmQvYWNjOiBhZGQgRkZUIHN1cHBvcnQgdG8gVlJC Mg0KPiA+PiB2YXJpYW50DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9uIDkvMjkvMjMgMTg6MzUs IE5pY29sYXMgQ2hhdXRydSB3cm90ZToNCj4gPj4+IFN1cHBvcnQgZm9yIHRoZSBGRlQgdGhlIHBy b2Nlc3Npbmcgc3BlY2lmaWMgdG8gdGhlDQo+ID4+PiBWUkIyIHZhcmlhbnQuDQo+ID4+Pg0KPiA+ Pj4gU2lnbmVkLW9mZi1ieTogTmljb2xhcyBDaGF1dHJ1IDxuaWNvbGFzLmNoYXV0cnVAaW50ZWwu Y29tPg0KPiA+Pj4gLS0tDQo+ID4+PiAgICBkcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jIHwgMTMyDQo+ID4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4+PiAgICAx IGZpbGUgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+ID4+Pg0K PiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMNCj4g Pj4+IGIvZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYw0KPiA+Pj4gaW5kZXggOTNh ZGQ4Mjk0Ny4uY2U0YjkwZDhlNyAxMDA2NDQNCj4gPj4+IC0tLSBhL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmMNCj4gPj4+ICsrKyBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmMNCj4gPj4+IEBAIC05MDMsNiArOTAzLDkgQEAgdnJiX3F1ZXVlX3NldHVwKHN0cnVj dCBydGVfYmJkZXYgKmRldiwgdWludDE2X3QNCj4gPj4gcXVldWVfaWQsDQo+ID4+PiAgICAJCQlB Q0NfRkNXX0xEX0JMRU4gOiAoY29uZi0+b3BfdHlwZSA9PQ0KPiA+PiBSVEVfQkJERVZfT1BfRkZU ID8NCj4gPj4+ICAgIAkJCUFDQ19GQ1dfRkZUX0JMRU4gOiBBQ0NfRkNXX01MRFRTX0JMRU4pKSkp Ow0KPiA+Pj4NCj4gPj4+ICsJaWYgKChxLT5kLT5kZXZpY2VfdmFyaWFudCA9PSBWUkIyX1ZBUklB TlQpICYmIChjb25mLT5vcF90eXBlID09DQo+ID4+IFJURV9CQkRFVl9PUF9GRlQpKQ0KPiA+Pj4g KwkJZmN3X2xlbiA9IEFDQ19GQ1dfRkZUX0JMRU5fMzsNCj4gPj4+ICsNCj4gPj4+ICAgIAlmb3Ig KGRlc2NfaWR4ID0gMDsgZGVzY19pZHggPCBkLT5zd19yaW5nX21heF9kZXB0aDsgZGVzY19pZHgr Kykgew0KPiA+Pj4gICAgCQlkZXNjID0gcS0+cmluZ19hZGRyICsgZGVzY19pZHg7DQo+ID4+PiAg ICAJCWRlc2MtPnJlcS53b3JkMCA9IEFDQ19ETUFfREVTQ19UWVBFOyBAQCAtMTMyMyw2DQo+ID4+ ICsxMzI2LDI0IEBADQo+ID4+PiB2cmJfZGV2X2luZm9fZ2V0KHN0cnVjdCBydGVfYmJkZXYgKmRl diwgc3RydWN0IHJ0ZV9iYmRldl9kcml2ZXJfaW5mbw0KPiA+PiAqZGV2X2luZm8pDQo+ID4+PiAg ICAJCQkubnVtX2J1ZmZlcnNfc29mdF9vdXQgPSAwLA0KPiA+Pj4gICAgCQkJfQ0KPiA+Pj4gICAg CQl9LA0KPiA+Pj4gKwkJew0KPiA+Pj4gKwkJCS50eXBlCT0gUlRFX0JCREVWX09QX0ZGVCwNCj4g Pj4+ICsJCQkuY2FwLmZmdCA9IHsNCj4gPj4+ICsJCQkJLmNhcGFiaWxpdHlfZmxhZ3MgPQ0KPiA+ Pj4gKw0KPiA+PiAJUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcgfA0KPiA+Pj4gKw0KPiA+PiAJUlRF X0JCREVWX0ZGVF9DU19BREpVU1RNRU5UIHwNCj4gPj4+ICsNCj4gPj4gCVJURV9CQkRFVl9GRlRf REZUX0JZUEFTUyB8DQo+ID4+PiArDQo+ID4+IAlSVEVfQkJERVZfRkZUX0lERlRfQllQQVNTIHwN Cj4gPj4+ICsJCQkJCQlSVEVfQkJERVZfRkZUX0ZQMTZfSU5QVVQNCj4gPj4gfA0KPiA+Pj4gKw0K PiA+PiAJUlRFX0JCREVWX0ZGVF9GUDE2X09VVFBVVCB8DQo+ID4+PiArDQo+ID4+IAlSVEVfQkJE RVZfRkZUX1BPV0VSX01FQVMgfA0KPiA+Pj4gKw0KPiA+PiAJUlRFX0JCREVWX0ZGVF9XSU5ET1dJ TkdfQllQQVNTLA0KPiA+Pj4gKwkJCQkubnVtX2J1ZmZlcnNfc3JjID0NCj4gPj4+ICsJCQkJCQkx LA0KPiA+Pj4gKwkJCQkubnVtX2J1ZmZlcnNfZHN0ID0NCj4gPj4+ICsJCQkJCQkxLA0KPiA+Pj4g KwkJCX0NCj4gPj4+ICsJCX0sDQo+ID4+PiAgICAJCVJURV9CQkRFVl9FTkRfT0ZfQ0FQQUJJTElU SUVTX0xJU1QoKQ0KPiA+Pj4gICAgCX07DQo+ID4+Pg0KPiA+Pj4gQEAgLTM4NDksNiArMzg3MCw0 NyBAQCB2cmIxX2Zjd19mZnRfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcA0KPiA+Pj4gKm9w LA0KPiA+PiBzdHJ1Y3QgYWNjX2Zjd19mZnQgKmZjdykNCj4gPj4+ICAgIAkJZmN3LT5ieXBhc3Mg PSAwOw0KPiA+Pj4gICAgfQ0KPiA+Pj4NCj4gPj4+ICsvKiBGaWxsIGluIGEgZnJhbWUgY29udHJv bCB3b3JkIGZvciBGRlQgcHJvY2Vzc2luZy4gKi8gc3RhdGljDQo+ID4+PiAraW5saW5lIHZvaWQg dnJiMl9mY3dfZmZ0X2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9mZnRfb3AgKm9wLCBzdHJ1Y3QNCj4g Pj4+ICthY2NfZmN3X2ZmdF8zICpmY3cpIHsNCj4gPj4+ICsJZmN3LT5pbl9mcmFtZV9zaXplID0g b3AtPmZmdC5pbnB1dF9zZXF1ZW5jZV9zaXplOw0KPiA+Pj4gKwlmY3ctPmxlYWRpbmdfcGFkX3Np emUgPSBvcC0+ZmZ0LmlucHV0X2xlYWRpbmdfcGFkZGluZzsNCj4gPj4+ICsJZmN3LT5vdXRfZnJh bWVfc2l6ZSA9IG9wLT5mZnQub3V0cHV0X3NlcXVlbmNlX3NpemU7DQo+ID4+PiArCWZjdy0+bGVh ZGluZ19kZXBhZF9zaXplID0gb3AtPmZmdC5vdXRwdXRfbGVhZGluZ19kZXBhZGRpbmc7DQo+ID4+ PiArCWZjdy0+Y3Nfd2luZG93X3NlbCA9IG9wLT5mZnQud2luZG93X2luZGV4WzBdICsNCj4gPj4+ ICsJCQkob3AtPmZmdC53aW5kb3dfaW5kZXhbMV0gPDwgOCkgKw0KPiA+Pj4gKwkJCShvcC0+ZmZ0 LndpbmRvd19pbmRleFsyXSA8PCAxNikgKw0KPiA+Pj4gKwkJCShvcC0+ZmZ0LndpbmRvd19pbmRl eFszXSA8PCAyNCk7DQo+ID4+PiArCWZjdy0+Y3Nfd2luZG93X3NlbDIgPSBvcC0+ZmZ0LndpbmRv d19pbmRleFs0XSArDQo+ID4+PiArCQkJKG9wLT5mZnQud2luZG93X2luZGV4WzVdIDw8IDgpOw0K PiA+Pj4gKwlmY3ctPmNzX2VuYWJsZV9ibWFwID0gb3AtPmZmdC5jc19iaXRtYXA7DQo+ID4+PiAr CWZjdy0+bnVtX2FudGVubmFzID0gb3AtPmZmdC5udW1fYW50ZW5uYXNfbG9nMjsNCj4gPj4+ICsJ ZmN3LT5pZGZ0X3NpemUgPSBvcC0+ZmZ0LmlkZnRfbG9nMjsNCj4gPj4+ICsJZmN3LT5kZnRfc2l6 ZSA9IG9wLT5mZnQuZGZ0X2xvZzI7DQo+ID4+PiArCWZjdy0+Y3Nfb2Zmc2V0ID0gb3AtPmZmdC5j c190aW1lX2FkanVzdG1lbnQ7DQo+ID4+PiArCWZjdy0+aWRmdF9zaGlmdCA9IG9wLT5mZnQuaWRm dF9zaGlmdDsNCj4gPj4+ICsJZmN3LT5kZnRfc2hpZnQgPSBvcC0+ZmZ0LmRmdF9zaGlmdDsNCj4g Pj4+ICsJZmN3LT5jc19tdWx0aXBsaWVyID0gb3AtPmZmdC5uY3NfcmVjaXByb2NhbDsNCj4gPj4+ ICsJZmN3LT5wb3dlcl9zaGlmdCA9IG9wLT5mZnQucG93ZXJfc2hpZnQ7ID4gKwlmY3ctPmV4cF9h ZGogPSBvcC0NCj4gPj4+IGZmdC5mcDE2X2V4cF9hZGp1c3Q7DQo+ID4+PiArCWZjdy0+ZnAxNl9p biA9IGNoZWNrX2JpdChvcC0+ZmZ0Lm9wX2ZsYWdzLA0KPiA+PiBSVEVfQkJERVZfRkZUX0ZQMTZf SU5QVVQpOw0KPiA+Pj4gKwlmY3ctPmZwMTZfb3V0ID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxh Z3MsDQo+ID4+IFJURV9CQkRFVl9GRlRfRlAxNl9PVVRQVVQpOw0KPiA+Pj4gKwlmY3ctPnBvd2Vy X2VuID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4+IFJURV9CQkRFVl9GRlRfUE9X RVJfTUVBUyk7DQo+ID4+PiArCWlmIChjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywNCj4gPj4+ ICsJCQlSVEVfQkJERVZfRkZUX0lERlRfQllQQVNTKSkgew0KPiA+Pj4gKwkJaWYgKGNoZWNrX2Jp dChvcC0+ZmZ0Lm9wX2ZsYWdzLA0KPiA+Pj4gKwkJCQlSVEVfQkJERVZfRkZUX1dJTkRPV0lOR19C WVBBU1MpKQ0KPiA+Pj4gKwkJCWZjdy0+YnlwYXNzID0gMjsNCj4gPj4+ICsJCWVsc2UNCj4gPj4+ ICsJCQlmY3ctPmJ5cGFzcyA9IDE7DQo+ID4+PiArCX0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5m ZnQub3BfZmxhZ3MsDQo+ID4+PiArCQkJUlRFX0JCREVWX0ZGVF9ERlRfQllQQVNTKSkNCj4gPj4+ ICsJCWZjdy0+YnlwYXNzID0gMzsNCj4gPj4+ICsJZWxzZQ0KPiA+Pj4gKwkJZmN3LT5ieXBhc3Mg PSAwOw0KPiA+Pg0KPiA+PiBUaGUgb25seSBkaWZmZXJlbmNlIEkgc2VlIHdpdGggVlJCMSBhcmUg YmFja2VkIGJ5IGNvcnJlc3BvbmRpbmcNCj4gPj4gb3BfZmxhZ3MgKFBPV0VSICYgRlAxNiksIGlz IHRoYXQgY29ycmVjdD8gSWYgc28sIGl0IGRvZXMgbm90IG1ha2UNCj4gPj4gc2Vuc2UgdG8gbWUg dG8gaGF2ZSBhIHNwZWNpZmljIGZ1bmN0aW9uIGZvciBWUkIyLg0KPiA+DQo+ID4gVGhlcmUgYXJl IG1vcmUgY2hhbmdlcyBidXQgdGhlc2UgYXJlIG9ubHkgZm9ybWFsbHkgZW5hYmxlZCBpbiB0aGUg bmV4dA0KPiA+IHN0ZXBwaW5nIGhlbmNlIHNvbWUgb2YgdGhlIHJlbGF0ZWQgY29kZSBpcyBub3Qg aW5jbHVkZWQgeWV0LiBNb3JlIGdlbmVyYWxseQ0KPiB0aGUgRkNXIGFuZCBJUCBpcyBkaWZmZXJl bnQgZnJvbSBWUkIxIGltcGxlbWVudGF0aW9uLg0KPiANCj4gQ3VycmVudGx5LCB0aGUgY29kZSBp cyBhbG1vc3QgaWRlbnRpY2FsIHNvIHZyYjEgaW1wbGVtZW50YXRpb24gc2hvdWxkIGJlDQo+IHJl dXNlZC4gSWYgc29tZSBsYXRlciBjaGFuZ2VzIG1ha2VzIHRoZSB0d28gaW1wbGVtZW50YXRpb25z IGRpdmVyZ2UsIHRoZW4gd2UNCj4gY2FuIGNvbnNpZGVyIGhhdmluZyBhIGRlZGljYXRlZCBmdW5j dGlvbiBmb3IgVlJCMiBhdCB0aGF0IHRpbWUuDQoNCklmIEkgbWF5LCBJIGJlbGlldmUgdGhpcyBp cyBiZXN0IGFzLWlzIG5vdGFibHkgZm9yIHBhdGNoZXMgYW5kIHN1cHBvcnQuIA0KVGhlIGZ1bmN0 aW9ucyBhcmUgZmFpcmx5IHNtYWxsIChub3QgbXVjaCBjb2RlIG92ZXJsYXAgcXVhbnRpdGF0aXZl bHkpIGFuZCB0aGUgdW5kZXJseWluZyBJUCBpcyBkaWZmZXJlbnQgDQood2l0aCBtb3JlIGRpZmZl cmVuY2VzIHdlIGNhbiBlbmFibGUgb3ZlciB0aW1lKS4gSSBkb27igJl0IHRoaW5rIGl0IHdvdWxk IGhlbHAgYW55b25lIHJlYWxseSB0byB0cnkgdG8gbWFrZSB0aGVtDQpjb2V4aXN0IGZvciBhIHNt YWxsIHBlcmlvZCBvZiB0aW1lLiANCkRvZXMgdGhhdCBzb3VuZCBmYWlyPyANCg0KDQo+IA0KPiA+ Pg0KPiA+Pj4gK30NCj4gPj4+ICsNCj4gPj4+ICAgIHN0YXRpYyBpbmxpbmUgaW50DQo+ID4+PiAg ICB2cmIxX2RtYV9kZXNjX2ZmdF9maWxsKHN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcCwNCj4g Pj4+ICAgIAkJc3RydWN0IGFjY19kbWFfcmVxX2Rlc2MgKmRlc2MsDQo+ID4+PiBAQCAtMzg4Miw2 ICszOTQ0LDU4IEBAIHZyYjFfZG1hX2Rlc2NfZmZ0X2ZpbGwoc3RydWN0DQo+ID4+PiBydGVfYmJk ZXZfZmZ0X29wDQo+ID4+ICpvcCwNCj4gPj4+ICAgIAlyZXR1cm4gMDsNCj4gPj4+ICAgIH0NCj4g Pj4+DQo+ID4+PiArc3RhdGljIGlubGluZSBpbnQNCj4gPj4+ICt2cmIyX2RtYV9kZXNjX2ZmdF9m aWxsKHN0cnVjdCBydGVfYmJkZXZfZmZ0X29wICpvcCwNCj4gPj4+ICsJCXN0cnVjdCBhY2NfZG1h X3JlcV9kZXNjICpkZXNjLA0KPiA+Pj4gKwkJc3RydWN0IHJ0ZV9tYnVmICppbnB1dCwgc3RydWN0 IHJ0ZV9tYnVmICpvdXRwdXQsIHN0cnVjdA0KPiA+PiBydGVfbWJ1ZiAqd2luX2lucHV0LA0KPiA+ Pj4gKwkJc3RydWN0IHJ0ZV9tYnVmICpwd3IsIHVpbnQzMl90ICppbl9vZmZzZXQsIHVpbnQzMl90 DQo+ID4+ICpvdXRfb2Zmc2V0LA0KPiA+Pj4gKwkJdWludDMyX3QgKndpbl9vZmZzZXQsIHVpbnQz Ml90ICpwd3Jfb2Zmc2V0KSB7DQo+ID4+PiArCWJvb2wgcHdyX2VuID0gY2hlY2tfYml0KG9wLT5m ZnQub3BfZmxhZ3MsDQo+ID4+IFJURV9CQkRFVl9GRlRfUE9XRVJfTUVBUyk7DQo+ID4+PiArCWJv b2wgd2luX2VuID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsDQo+ID4+IFJURV9CQkRFVl9G RlRfREVXSU5ET1dJTkcpOw0KPiA+Pj4gKwlpbnQgbnVtX2NzID0gMCwgaSwgYmRfaWR4ID0gMTsN Cj4gPj4+ICsNCj4gPj4+ICsJLyogRkNXIGFscmVhZHkgZG9uZSAqLw0KPiA+Pj4gKwlhY2NfaGVh ZGVyX2luaXQoZGVzYyk7DQo+ID4+PiArDQo+ID4+PiArCVJURV9TRVRfVVNFRCh3aW5faW5wdXQp Ow0KPiA+Pj4gKwlSVEVfU0VUX1VTRUQod2luX29mZnNldCk7DQo+ID4+PiArDQo+ID4+PiArCWRl c2MtPmRhdGFfcHRyc1tiZF9pZHhdLmFkZHJlc3MgPSBydGVfcGt0bWJ1Zl9pb3ZhX29mZnNldChp bnB1dCwNCj4gPj4gKmluX29mZnNldCk7DQo+ID4+PiArCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhd LmJsZW4gPSBvcC0+ZmZ0LmlucHV0X3NlcXVlbmNlX3NpemUgKg0KPiA+PiBBQ0NfSVFfU0laRTsN Cj4gPj4+ICsJZGVzYy0+ZGF0YV9wdHJzW2JkX2lkeF0uYmxraWQgPSBBQ0NfRE1BX0JMS0lEX0lO Ow0KPiA+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRfaWR4XS5sYXN0ID0gMTsNCj4gPj4+ICsJZGVz Yy0+ZGF0YV9wdHJzW2JkX2lkeF0uZG1hX2V4dCA9IDA7DQo+ID4+PiArCWJkX2lkeCsrOw0KPiA+ Pj4gKw0KPiA+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRfaWR4XS5hZGRyZXNzID0gcnRlX3BrdG1i dWZfaW92YV9vZmZzZXQob3V0cHV0LA0KPiA+PiAqb3V0X29mZnNldCk7DQo+ID4+PiArCWRlc2Mt PmRhdGFfcHRyc1tiZF9pZHhdLmJsZW4gPSBvcC0+ZmZ0Lm91dHB1dF9zZXF1ZW5jZV9zaXplICoN Cj4gPj4gQUNDX0lRX1NJWkU7DQo+ID4+PiArCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhdLmJsa2lk ID0gQUNDX0RNQV9CTEtJRF9PVVRfSEFSRDsNCj4gPj4+ICsJZGVzYy0+ZGF0YV9wdHJzW2JkX2lk eF0ubGFzdCA9IHB3cl9lbiA/IDAgOiAxOw0KPiA+Pj4gKwlkZXNjLT5kYXRhX3B0cnNbYmRfaWR4 XS5kbWFfZXh0ID0gMDsNCj4gPj4+ICsJZGVzYy0+bTJkbGVuID0gd2luX2VuID8gMyA6IDI7DQo+ ID4+PiArCWRlc2MtPmQybWxlbiA9IHB3cl9lbiA/IDIgOiAxOw0KPiA+Pj4gKwlkZXNjLT5pYl9h bnRfb2Zmc2V0ID0gb3AtPmZmdC5pbnB1dF9zZXF1ZW5jZV9zaXplOw0KPiA+Pj4gKwlkZXNjLT5u dW1fYW50ID0gb3AtPmZmdC5udW1fYW50ZW5uYXNfbG9nMiAtIDM7DQo+ID4+PiArDQo+ID4+PiAr CWZvciAoaSA9IDA7IGkgPCBSVEVfQkJERVZfTUFYX0NTOyBpKyspDQo+ID4+PiArCQlpZiAoY2hl Y2tfYml0KG9wLT5mZnQuY3NfYml0bWFwLCAxIDw8IGkpKQ0KPiA+Pj4gKwkJCW51bV9jcysrOw0K PiA+Pj4gKwlkZXNjLT5udW1fY3MgPSBudW1fY3M7DQo+ID4+PiArDQo+ID4+PiArCWlmIChwd3Jf ZW4gJiYgcHdyKSB7DQo+ID4+PiArCQliZF9pZHgrKzsNCj4gPj4+ICsJCWRlc2MtPmRhdGFfcHRy c1tiZF9pZHhdLmFkZHJlc3MgPQ0KPiA+PiBydGVfcGt0bWJ1Zl9pb3ZhX29mZnNldChwd3IsICpw d3Jfb2Zmc2V0KTsNCj4gPj4+ICsJCWRlc2MtPmRhdGFfcHRyc1tiZF9pZHhdLmJsZW4gPSBudW1f Y3MgKiAoMSA8PCBvcC0NCj4gPj4+IGZmdC5udW1fYW50ZW5uYXNfbG9nMikgKiA0Ow0KPiA+Pj4g KwkJZGVzYy0+ZGF0YV9wdHJzW2JkX2lkeF0uYmxraWQgPSBBQ0NfRE1BX0JMS0lEX09VVF9TT0ZU Ow0KPiA+Pj4gKwkJZGVzYy0+ZGF0YV9wdHJzW2JkX2lkeF0ubGFzdCA9IDE7DQo+ID4+PiArCQlk ZXNjLT5kYXRhX3B0cnNbYmRfaWR4XS5kbWFfZXh0ID0gMDsNCj4gPj4+ICsJfQ0KPiA+Pj4gKwlk ZXNjLT5vYl9jeWNfb2Zmc2V0ID0gb3AtPmZmdC5vdXRwdXRfc2VxdWVuY2Vfc2l6ZTsNCj4gPj4+ ICsJZGVzYy0+b2JfYW50X29mZnNldCA9IG9wLT5mZnQub3V0cHV0X3NlcXVlbmNlX3NpemUgKiBu dW1fY3M7DQo+ID4+PiArCWRlc2MtPm9wX2FkZHIgPSBvcDsNCj4gPj4+ICsJcmV0dXJuIDA7DQo+ ID4+PiArfQ0KPiA+Pj4NCj4gPj4+ICAgIC8qKiBFbnF1ZXVlIG9uZSBGRlQgb3BlcmF0aW9uIGZv ciBkZXZpY2UuICovDQo+ID4+PiAgICBzdGF0aWMgaW5saW5lIGludA0KPiA+Pj4gQEAgLTM4ODks MjIgKzQwMDMsMzIgQEAgdnJiX2VucXVldWVfZmZ0X29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlDQo+ ICpxLA0KPiA+PiBzdHJ1Y3QgcnRlX2JiZGV2X2ZmdF9vcCAqb3AsDQo+ID4+PiAgICAJCXVpbnQx Nl90IHRvdGFsX2VucXVldWVkX2NicykNCj4gPj4+ICAgIHsNCj4gPj4+ICAgIAl1bmlvbiBhY2Nf ZG1hX2Rlc2MgKmRlc2M7DQo+ID4+PiAtCXN0cnVjdCBydGVfbWJ1ZiAqaW5wdXQsICpvdXRwdXQ7 DQo+ID4+PiAtCXVpbnQzMl90IGluX29mZnNldCwgb3V0X29mZnNldDsNCj4gPj4+ICsJc3RydWN0 IHJ0ZV9tYnVmICppbnB1dCwgKm91dHB1dCwgKnB3ciwgKndpbjsNCj4gPj4+ICsJdWludDMyX3Qg aW5fb2Zmc2V0LCBvdXRfb2Zmc2V0LCBwd3Jfb2Zmc2V0LCB3aW5fb2Zmc2V0Ow0KPiA+Pj4gICAg CXN0cnVjdCBhY2NfZmN3X2ZmdCAqZmN3Ow0KPiA+Pj4NCj4gPj4+ICAgIAlkZXNjID0gYWNjX2Rl c2MocSwgdG90YWxfZW5xdWV1ZWRfY2JzKTsNCj4gPj4+ICAgIAlpbnB1dCA9IG9wLT5mZnQuYmFz ZV9pbnB1dC5kYXRhOw0KPiA+Pj4gICAgCW91dHB1dCA9IG9wLT5mZnQuYmFzZV9vdXRwdXQuZGF0 YTsNCj4gPj4+ICsJcHdyID0gb3AtPmZmdC5wb3dlcl9tZWFzX291dHB1dC5kYXRhOw0KPiA+Pj4g Kwl3aW4gPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0LmRhdGE7DQo+ID4+PiAgICAJaW5fb2Zm c2V0ID0gb3AtPmZmdC5iYXNlX2lucHV0Lm9mZnNldDsNCj4gPj4+ICAgIAlvdXRfb2Zmc2V0ID0g b3AtPmZmdC5iYXNlX291dHB1dC5vZmZzZXQ7DQo+ID4+PiArCXB3cl9vZmZzZXQgPSBvcC0+ZmZ0 LnBvd2VyX21lYXNfb3V0cHV0Lm9mZnNldDsNCj4gPj4+ICsJd2luX29mZnNldCA9IG9wLT5mZnQu ZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0Ow0KPiA+Pj4NCj4gPj4+ICAgIAlmY3cgPSAoc3RydWN0 IGFjY19mY3dfZmZ0ICopIChxLT5mY3dfcmluZyArDQo+ID4+PiAgICAJCQkoKHEtPnN3X3Jpbmdf aGVhZCArIHRvdGFsX2VucXVldWVkX2NicykgJiBxLQ0KPiA+Pj4gc3dfcmluZ193cmFwX21hc2sp DQo+ID4+PiAgICAJCQkqIEFDQ19NQVhfRkNXX1NJWkUpOw0KPiA+Pj4NCj4gPj4+IC0JdnJiMV9m Y3dfZmZ0X2ZpbGwob3AsIGZjdyk7DQo+ID4+PiAtCXZyYjFfZG1hX2Rlc2NfZmZ0X2ZpbGwob3As ICZkZXNjLT5yZXEsIGlucHV0LCBvdXRwdXQsICZpbl9vZmZzZXQsDQo+ID4+ICZvdXRfb2Zmc2V0 KTsNCj4gPj4+ICsJaWYgKHEtPmQtPmRldmljZV92YXJpYW50ID09IFZSQjFfVkFSSUFOVCkgew0K PiA+Pj4gKwkJdnJiMV9mY3dfZmZ0X2ZpbGwob3AsIGZjdyk7DQo+ID4+PiArCQl2cmIxX2RtYV9k ZXNjX2ZmdF9maWxsKG9wLCAmZGVzYy0+cmVxLCBpbnB1dCwgb3V0cHV0LA0KPiA+PiAmaW5fb2Zm c2V0LCAmb3V0X29mZnNldCk7DQo+ID4+PiArCX0gZWxzZSB7DQo+ID4+PiArCQl2cmIyX2Zjd19m ZnRfZmlsbChvcCwgKHN0cnVjdCBhY2NfZmN3X2ZmdF8zICopIGZjdyk7DQo+ID4+PiArCQl2cmIy X2RtYV9kZXNjX2ZmdF9maWxsKG9wLCAmZGVzYy0+cmVxLCBpbnB1dCwgb3V0cHV0LCB3aW4sDQo+ ID4+IHB3ciwNCj4gPj4+ICsJCQkJJmluX29mZnNldCwgJm91dF9vZmZzZXQsICZ3aW5fb2Zmc2V0 LA0KPiA+PiAmcHdyX29mZnNldCk7DQo+ID4+PiArCX0NCj4gPj4+ICAgICNpZmRlZiBSVEVfTElC UlRFX0JCREVWX0RFQlVHDQo+ID4+PiAgICAJcnRlX21lbWR1bXAoc3RkZXJyLCAiRkNXIiwgJmRl c2MtPnJlcS5mY3dfZmZ0LA0KPiA+Pj4gICAgCQkJc2l6ZW9mKGRlc2MtPnJlcS5mY3dfZmZ0KSk7 DQo+ID4NCg0K