From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B75B2C433EF for ; Wed, 8 Sep 2021 13:40:23 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9802861178 for ; Wed, 8 Sep 2021 13:40:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 9802861178 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id EF46516B5; Wed, 8 Sep 2021 15:39:30 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz EF46516B5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1631108421; bh=pOBvz3U4Es6LB8GjG2e1RwOjh4EyC8fYgz6d47gt7T8=; h=From:To:Subject:Date:References:In-Reply-To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=OTEgOABJZ5zavzmfklXyqYU4gtmP2/H0/YHWJ2s0H6gJbjcLD6TSQIPni/jk2fjzx exjqpF2+ecycpp5+sMbk+rLFtct0W3Ait6W+GIzB/jZEWVcjKLwrp47dFrJVpQZ8DY T1pPOF2Xl6Eh/IOLurl7+oEPwYi8JVO4udw2O2Ss= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 83AF3F8026C; Wed, 8 Sep 2021 15:39:30 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 7D3E1F802E7; Wed, 8 Sep 2021 15:39:28 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 07730F80166 for ; Wed, 8 Sep 2021 15:39:19 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 07730F80166 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key) header.d=intel.onmicrosoft.com header.i=@intel.onmicrosoft.com header.b="hJO0e+x6" X-IronPort-AV: E=McAfee;i="6200,9189,10100"; a="306046298" X-IronPort-AV: E=Sophos;i="5.85,278,1624345200"; d="scan'208";a="306046298" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2021 06:39:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,278,1624345200"; d="scan'208";a="430638749" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga006.jf.intel.com with ESMTP; 08 Sep 2021 06:39:15 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 8 Sep 2021 06:39:14 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 8 Sep 2021 06:39:14 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.42) 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.2242.12; Wed, 8 Sep 2021 06:39:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ate2TJlPSY3OvuAb/hNfTZ0Pt6E0h1vEwthiPPCGlR7SPHcfNZH92Y2xtEV9ArngUg9Cj3RJ5xsjOBDcTruEl2pTVDk+j5V70QZXznjKEbfrz6SGin4HyOXIdDrYBdfDLLmjYALrsFrS8cbX6wO97Ma49wVrKLUiBUgssqxHl5N3l2tMyHvH7uGZEq2XFEbSFQc87hMkxHgZz23iCLHFhZ5bm+zT/NfOsbxtT2m8thubIOr2ZA1Tg2pld9w8KoPnuWYNU59AyRM0e3IXieKpFp2HpdpklEscBnA8+jARPQj1PVRGtaVfqkPj/MR1co5xdmloas+ZjchzzEU9MLbKaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=pOBvz3U4Es6LB8GjG2e1RwOjh4EyC8fYgz6d47gt7T8=; b=gf6Yhce/fOEQ0SV9y8tJojrZNpqlk4U06MDv/wuf1fe4uaJTsmaRxRoU0oKL87SCxSdYufFIoLEEgW4HKYwGDbJ8trb+fvqH42D7V0adu+W/f4mduMpgTqlLwfvJOG75BsK/9YXFRvbhi29Y8D4cbxYyCN/3qbUmGMOPl0krGSOxQFo7cjErtAm/AaEtPDbqjSIAyBa0s7fEUnauyz5VuybM4UvD2wH9YrVhZx3lJlvnMsl/pKIPqceavsESeDr/5vCG6cam0kpGLy192TtJ+OrASp7raJMkIr0lzrfqCVWjzPcVZiFfQbpL3P7osQGavuYAUnsl1jC1motu7D+C7Q== 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=pOBvz3U4Es6LB8GjG2e1RwOjh4EyC8fYgz6d47gt7T8=; b=hJO0e+x6UDKRBJqN/36UfvFeIGletxVu4K2HqRsovKPPfAMCG8pIlpTAeVDkYl5FWMsfJdTTzUZrUwbmFhduGuBtK9xatLxEHbvYB/iGLn7rJZ4qfQRvITuM8bDbs/htTzBXRWy7spI6vEFsO84fk8RIxa7JVBXZRk5M5UAvN/I= Received: from DM5PR1101MB2091.namprd11.prod.outlook.com (2603:10b6:4:57::20) by DM5PR1101MB2330.namprd11.prod.outlook.com (2603:10b6:3:a8::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Wed, 8 Sep 2021 13:39:13 +0000 Received: from DM5PR1101MB2091.namprd11.prod.outlook.com ([fe80::797a:a2b0:bddb:d391]) by DM5PR1101MB2091.namprd11.prod.outlook.com ([fe80::797a:a2b0:bddb:d391%11]) with mapi id 15.20.4478.026; Wed, 8 Sep 2021 13:39:13 +0000 From: "Chiang, Mac" To: Pierre-Louis Bossart , "alsa-devel@alsa-project.org" Subject: RE: [PATCH] ASoC: Intel: boards: add max98390 2/4 speakers support Thread-Topic: [PATCH] ASoC: Intel: boards: add max98390 2/4 speakers support Thread-Index: AQHXo8tqUOrszxSrMkSsFXchFUyRYKuYtYyAgAEWgqA= Date: Wed, 8 Sep 2021 13:39:13 +0000 Message-ID: References: <20210907093329.10742-1-mac.chiang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: linux.intel.com; dkim=none (message not signed) header.d=none;linux.intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0c116c84-9769-4236-53d6-08d972ce0b98 x-ms-traffictypediagnostic: DM5PR1101MB2330: 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:5516; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GOSuvl4thb9tZUbbgqpsC4rfzHZnz1Br990l1GsWhyGETe8UCRIz2MZfWvBPC4etcU/6LmABF18/nmgTFBfZkbGcYdb5xA22MvhIpoR2ZWouWnMSUPm50BzG2npq2CW9Ez9vhi4VfNSywEdOOQTso1t6yB17nET4MRXT0g+obOMu1iOxhJitqnlP3ohSOzGys5JBa6jeneJ0f9Ou4N1RGrH8OGK6oyASESMQhQuvlorKpKrhEWuKaXogOCmpjQfxEuxy9LEBpuYRrVfi+14jSXxHEBSbJjDwjJwfwDJkuSoeBLAWGMWsydlUrPsI23zwicSzeBkdP9P+pfj48TV6k8Rj+TA/iLRzMvtOEx9l6/RKeyQUnd94L2frFNRFFAr5IiBXeLzen63HYynbpLQDubE2v6ty1x9ULGoordHW7RjRjIxARVokwzU+MkEQGUhPJFXx4lIXQluVf0nJGHLmjYcIIWMDWfc64+9MNf675S4O+pGXgs0boD1sDLCtvKoiJBxa6y5eXdok5sdSaTjR7BuP7AJWCW/LzF88O8U63yO5D7r1ObnZ7OgxSzGxYb7FA5QB9qG0E39tzNCILjHM0kAPWNklUAHJ2hy/ctCsnA5tVLtgJNCwatsWkJIjzd5sJUpWpxyXlPm5XB4YN83Bv6hIGFi52O4XLzO0cbGMyPaOlz0+qMHvEU6rWRLV81yiCX1fVuWp0j+TJoCYUrB2/A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1101MB2091.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(346002)(366004)(136003)(39860400002)(7696005)(66556008)(30864003)(9686003)(52536014)(38070700005)(8676002)(71200400001)(83380400001)(5660300002)(33656002)(478600001)(53546011)(66446008)(64756008)(316002)(54906003)(110136005)(122000001)(66946007)(186003)(2906002)(55016002)(8936002)(86362001)(26005)(4326008)(76116006)(6506007)(66476007)(38100700002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d3NmZnNZOFFoV3UrQndJQlJsbFMzM1B6Z2xGVzZyakNxYmlHR3VUOFNJRDJU?= =?utf-8?B?azk3alBweTA5MEdIUkg2eWMxOTRnRHMzOUxZaElnNjRPcXlRTWdVSE9Vdisx?= =?utf-8?B?VWFZbkUrYWxDRzFQSFNsUlRTRzBGQUxadXo3RUpvY0pzM05SVzFyK0V5TWwv?= =?utf-8?B?eDhTSVZSNnJ5b2UxOFdVQlZTNytSa2lmZWJBdzdnaDBPWE8xeGR3aEIza1ZF?= =?utf-8?B?UGljbCs1TldheGtLa05NME95amI1eVBKL01uWkhIQ09TaXo3NzhiUkNuRGFR?= =?utf-8?B?ZTVHVTRUNHBySEhhbjhFOHcyMW83cXJaL2lHYS93dzgyQkNyOVhiQWRMT2xa?= =?utf-8?B?akNDWmhKRXU5dGF6MlNCRU9tR1kvRXdQbmNhbENsNDcwaW1ES0pvV3ZiQm1P?= =?utf-8?B?TDV0VzZPUXpzOTk1K3NZeGMreVNtZEtScUYvQUlGbll4NjhYKzBRNmFsUklu?= =?utf-8?B?QzlpWElRalF1TnByYWZkaG9KVDVsajBkTzFBMnVVTXZFaEdtTTIyb1FiblBy?= =?utf-8?B?RzJsbFZlK0xUZWxndkUya2dCdEY1bUNOakpkL1pWRnM4cVBNZmlWRlE3TDl0?= =?utf-8?B?ZnczemJBM2o3M055OTN6dnJZT2U4aHgzcjJNaUdMR2lOSmxCbVRNcFVEb2Qy?= =?utf-8?B?MGFpb3J4cUdsZU1kYk5ReTJQYUZPV1lRZUdnMUExVW9DUFlmalozQ2lWUmt3?= =?utf-8?B?OEFjbU9GbEhQMURPbmd0WU1TSVIxMjZsZFhVOHJzbjI3aHZUTGU0ZGd6OGNB?= =?utf-8?B?QlpRcSt0VFdYMUFUaTZocGtyNDkzdHBSczVIbVVLMWRndDBPb0pJZmR4aUE4?= =?utf-8?B?Wjl1eHF4U1o3SlZVYU5GUEVoaG0rdzJqV3haa3o4dW4yQ1BnbXI2ZklxQ0pM?= =?utf-8?B?aFU1ZHc3T0dFVFpBZUppbUFrTUQvcElvZjc0NXlHeUh2ZlRHeWJHbjdyVTNF?= =?utf-8?B?Z2NoVXFtbnRhN3F6a0VSYWkrUFRzdmt5YUZaZmZXRHl6UjIzWmFYWjdReEhB?= =?utf-8?B?ejdaanRnbHY4VUduRWM2Q2oyNnk3QjdVcFBvS3hDTXQ4UlZmUXdqQzY2VklQ?= =?utf-8?B?R3VqczZhRTRzdHFSbmJZNlZrS09URXRFVVdVWndORTdnZzhWK3BRcG54cS9r?= =?utf-8?B?TEFpODJuQXhwUHllZ051QXBzT09kMlpPQ2pOcVcxdkNMSnJQRi9WOHhSOEF2?= =?utf-8?B?ZHl0ZE1GaWpzM0svWkZ0RElQcE53Zm5CaW42M2xPMlByN28ySURqZzVTS092?= =?utf-8?B?OHJnVVJlRnF6Z0dYSVNHbnI0UGl5bUlsNVJjQW5iL3plTnRPdVVrVDJYdTdx?= =?utf-8?B?VGFBQmRUZ1FRaHVFdFFqWndTMGFVdHkxZ0RPbkVFZUtSeURQQzltU2tDa2Ft?= =?utf-8?B?ZmVNVVRobzR0WU5EcXNaRjJoUEdxRStITDJMS3NjdU01K0JjanFqellTTjRO?= =?utf-8?B?STFGZkt5T202dUJWTmlXb2c2ZngxaTlVY0dLYXNnUjd3WDJtMVV5NGlESy9E?= =?utf-8?B?MUZjbzNwd2Vid3pVM05PSExWeGJXSjR2WG9vOW1RL0I5WEdvc3hhdXBEbkZN?= =?utf-8?B?Ry94ZEppRmtxV0NvQkducjRPZC9Xclh3bEFwbmJFRTFXNDJONFA0SUVCSlBI?= =?utf-8?B?b2UyeDUzS1QxQnpmZlQ2L2orRWdaRjlldHc2NzVFU01lcE10cXc0VVpvcGk1?= =?utf-8?B?SERwMUwrUWNNT0JtckRUNnc5VHlMd2ZJRTBkRWlWNWRTTWJHWlE3NWhiWTJQ?= =?utf-8?Q?+s/HsvfXgEGcv7ix6c=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: DM5PR1101MB2091.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c116c84-9769-4236-53d6-08d972ce0b98 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2021 13:39:13.1438 (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: NCBGHtF7+nDjzV9ymq4C3l59rXp+xErK7f19xQJiDyf37rNR8U0wI9o4IXwJQEKlYBrVs9FOOkQ889xgD6K/nQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2330 X-OriginatorOrg: intel.com Cc: "Arava, Jairaj" , "mark_hsieh@wistron.com" , "Cheng, Keith" , "broonie@kernel.org" , "Nujella, Sathyanarayana" , "Liao, Bard" X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" PiBGaXhlZCBCYXJkJ3MgYWRkcmVzcy4NCj4gDQo+IFF1aWsgc3VtbWFyeTogdGhlcmUgYXJlIG11 bHRpcGxlIGlzc3VlcyBiZWxvdyB3aXRoIHJhdGhlciB1bmNsZWFyIGhhbmRsaW5nDQo+IG9mIHR3 byBzZXBhcmF0ZSBjb25maWd1cmF0aW9ucy4NClRoZXJlIGFyZSAzIGh3IGJvYXJkcyBzdXBwb3J0 LCBJIHN1bW1hcml6ZSBhcyBiZWxvdzoNCjEuIFNTUDIgY29ubmVjdHMgOTgzOTAsIHdpdGggMiBz cGVha2Vycy4NCjIuIFNTUDEgY29ubmVjdHMgOTgzOTAsIHdpdGggMiBzcGVha2VycyBvciA0IHNw ZWFrZXJzLg0KVGhhbmtzIFBpZXJlLiBQbGVhc2UgcmV2aWV3IG15IGNvbW1lbnRzIGlmIEkgbWlz dW5kZXJzdGFuZC4NCj4gDQo+IE9uIDkvNy8yMSA0OjMzIEFNLCBNYWMgQ2hpYW5nIHdyb3RlOg0K PiA+IExlZnQvUmlnaHQgc3BlYWtlcnMgYW5kIDRjaCB0ZG0gcGxheWJhY2sgYWRkIGVjaG8gcmVm ZXJlbmNlIGNhcHR1cmUNCj4gPiBhZGQgYnQgb2ZmbG9hZCBzdXBwb3J0IGFkZCBETUlfT0VNX1NU UklORyBmb3IgYm9hcmQgdmFyaWVudHMNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1hcmsgSHNp ZWggPG1hcmtfaHNpZWhAd2lzdHJvbi5jb3JwLQ0KPiBwYXJ0bmVyLmdvb2dsZS5jb20+DQo+ID4g U2lnbmVkLW9mZi1ieTogTWFjIENoaWFuZyA8bWFjLmNoaWFuZ0BpbnRlbC5jb20+DQo+ID4gU2ln bmVkLW9mZi1ieTogS2lldGggVHplbmcgPGtlaXRoLnR6ZW5nQHF1YW50YXR3LmNvbT4NCj4gDQo+ ID4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMvS2NvbmZpZw0KPiA+IGIvc291 bmQvc29jL2ludGVsL2JvYXJkcy9LY29uZmlnIGluZGV4IDYxYjcxZDZjNDRjZi4uMmMyNGQ4YTky OWEyDQo+ID4gMTAwNjQ0DQo+ID4gLS0tIGEvc291bmQvc29jL2ludGVsL2JvYXJkcy9LY29uZmln DQo+ID4gKysrIGIvc291bmQvc29jL2ludGVsL2JvYXJkcy9LY29uZmlnDQo+ID4gQEAgLTQ3MCw2 ICs0NzAsNyBAQCBjb25maWcgU05EX1NPQ19JTlRFTF9TT0ZfUlQ1NjgyX01BQ0gNCj4gPiAgCXNl bGVjdCBTTkRfU09DX1JUMTAxNQ0KPiA+ICAJc2VsZWN0IFNORF9TT0NfUlQxMDE1UA0KPiA+ICAJ c2VsZWN0IFNORF9TT0NfUlQ1NjgyX0kyQw0KPiA+ICsJc2VsZWN0IFNORF9TT0NfTUFYOTgzOTAN Cj4gDQo+IGNhbiB5b3UgbW92ZSB0aGlzIHVwIGJlbG93IHRoZSBzZWxlY3QgU05EX1NPQ19NQVg5 ODM3M19JMkMNCk9rLg0KPiANCj4gPiAgCXNlbGVjdCBTTkRfU09DX0RNSUMNCj4gPiAgCXNlbGVj dCBTTkRfU09DX0hEQUNfSERNSQ0KPiA+ICAJc2VsZWN0IFNORF9TT0NfSU5URUxfSERBX0RTUF9D T01NT04NCj4gDQo+IFsuLi5dDQo+IA0KPiA+ICtzdGF0aWMgc3RydWN0IHNuZF9zb2NfY29kZWNf Y29uZiBtYXhfOTgzOTBfY29kZWNfY29uZltdID0gew0KPiA+ICsJew0KPiA+ICsJCS5kbGMgPSBD T01QX0NPREVDX0NPTkYoTUFYXzk4MzkwX0RFVjBfTkFNRSksDQo+ID4gKwkJLm5hbWVfcHJlZml4 ID0gIlJpZ2h0IiwNCj4gPiArCX0sDQo+ID4gKwl7DQo+ID4gKwkJLmRsYyA9IENPTVBfQ09ERUNf Q09ORihNQVhfOTgzOTBfREVWMV9OQU1FKSwNCj4gPiArCQkubmFtZV9wcmVmaXggPSAiTGVmdCIs DQo+ID4gKwl9LA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBzbmRfc29jX2Nv ZGVjX2NvbmYgbWF4Xzk4MzkwXzRzcGtfY29kZWNfY29uZltdID0gew0KPiA+ICsJew0KPiA+ICsJ CS5kbGMgPSBDT01QX0NPREVDX0NPTkYoTUFYXzk4MzkwX0RFVjBfTkFNRSksDQo+ID4gKwkJLm5h bWVfcHJlZml4ID0gIlJpZ2h0IiwNCj4gPiArCX0sDQo+ID4gKwl7DQo+ID4gKwkJLmRsYyA9IENP TVBfQ09ERUNfQ09ORihNQVhfOTgzOTBfREVWMV9OQU1FKSwNCj4gPiArCQkubmFtZV9wcmVmaXgg PSAiTGVmdCIsDQo+ID4gKwl9LA0KPiA+ICsJew0KPiA+ICsJCS5kbGMgPSBDT01QX0NPREVDX0NP TkYoTUFYXzk4MzkwX0RFVjJfTkFNRSksDQo+ID4gKwkJLm5hbWVfcHJlZml4ID0gIlR3ZWV0ZXIg UmlnaHQiLA0KPiA+ICsJfSwNCj4gPiArCXsNCj4gPiArCQkuZGxjID0gQ09NUF9DT0RFQ19DT05G KE1BWF85ODM5MF9ERVYzX05BTUUpLA0KPiA+ICsJCS5uYW1lX3ByZWZpeCA9ICJUd2VldGVyIExl ZnQiLA0KPiA+ICsJfSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0cnVjdCBzbmRfc29jX2RhaV9s aW5rX2NvbXBvbmVudCBtYXhfOTgzOTBfY29tcG9uZW50c1tdID0gew0KPiA+ICsJew0KPiA+ICsJ CS5uYW1lID0gTUFYXzk4MzkwX0RFVjBfTkFNRSwNCj4gPiArCQkuZGFpX25hbWUgPSBNQVhfOTgz OTBfQ09ERUNfREFJLA0KPiA+ICsJfSwNCj4gPiArCXsNCj4gPiArCQkubmFtZSA9IE1BWF85ODM5 MF9ERVYxX05BTUUsDQo+ID4gKwkJLmRhaV9uYW1lID0gTUFYXzk4MzkwX0NPREVDX0RBSSwNCj4g PiArCX0sDQo+ID4gK307DQo+ID4gK0VYUE9SVF9TWU1CT0xfTlMobWF4Xzk4MzkwX2NvbXBvbmVu dHMsDQo+ID4gK1NORF9TT0NfSU5URUxfU09GX01BWElNX0NPTU1PTik7DQo+ID4gKw0KPiA+ICtz dHJ1Y3Qgc25kX3NvY19kYWlfbGlua19jb21wb25lbnQgbWF4Xzk4MzkwXzRzcGtfY29tcG9uZW50 c1tdID0gew0KPiA+ICsJew0KPiA+ICsJCS5uYW1lID0gTUFYXzk4MzkwX0RFVjBfTkFNRSwNCj4g PiArCQkuZGFpX25hbWUgPSBNQVhfOTgzOTBfQ09ERUNfREFJLA0KPiA+ICsJfSwNCj4gPiArCXsN Cj4gPiArCQkubmFtZSA9IE1BWF85ODM5MF9ERVYxX05BTUUsDQo+ID4gKwkJLmRhaV9uYW1lID0g TUFYXzk4MzkwX0NPREVDX0RBSSwNCj4gPiArCX0sDQo+ID4gKwl7DQo+ID4gKwkJLm5hbWUgPSBN QVhfOTgzOTBfREVWMl9OQU1FLA0KPiA+ICsJCS5kYWlfbmFtZSA9IE1BWF85ODM5MF9DT0RFQ19E QUksDQo+ID4gKwl9LA0KPiA+ICsJew0KPiA+ICsJCS5uYW1lID0gTUFYXzk4MzkwX0RFVjNfTkFN RSwNCj4gPiArCQkuZGFpX25hbWUgPSBNQVhfOTgzOTBfQ09ERUNfREFJLA0KPiA+ICsJfSwNCj4g PiArfTsNCj4gPiArRVhQT1JUX1NZTUJPTF9OUyhtYXhfOTgzOTBfNHNwa19jb21wb25lbnRzLA0K PiA+ICtTTkRfU09DX0lOVEVMX1NPRl9NQVhJTV9DT01NT04pOw0KPiANCj4gc28gdW50aWwgbm93 IHlvdSd2ZSBkZXNjcmliZWQgdHdvIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb25zIHdpdGggMiBvciA0 DQo+IHNwZWFrZXJzLCBidXQgYmVsb3cgeW91IGFzc3VtZSA0Pw0KU2hvdWxkIGNoZWNrIDIgb3Ig NCBxdWlyayBzZXBhcmF0ZWx5LiAgDQppZiAoc29mX3J0MTAxMV9xdWlyayAmIChTT0ZfTUFYOTgz OTBfU1BFQUtFUl9QUkVTRU5UKSkgew0KCWlmICghc3RyY21wKGNvZGVjX2RhaS0+Y29tcG9uZW50 LT5uYW1lLCBNQVhfOTgzOTBfREVWMF9OQU1FKSkgew0KCWlmICghc3RyY21wKGNvZGVjX2RhaS0+ Y29tcG9uZW50LT5uYW1lLCBNQVhfOTgzOTBfREVWMV9OQU1FKSkgew0KDQo+IA0KPiA+ICtzdGF0 aWMgaW50IG1heF85ODM5MF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJz dHJlYW0sDQo+ID4gKwkJCQlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykgew0KPiA+ ICsJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9DQo+IGFzb2Nfc3Vic3RyZWFtX3Rv X3J0ZChzdWJzdHJlYW0pOw0KPiA+ICsJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWk7DQo+ ID4gKwlpbnQgajsNCj4gPiArDQo+ID4gKwlmb3JfZWFjaF9ydGRfY29kZWNfZGFpcyhydGQsIGos IGNvZGVjX2RhaSkgew0KPiA+ICsJCWlmICghc3RyY21wKGNvZGVjX2RhaS0+Y29tcG9uZW50LT5u YW1lLA0KPiBNQVhfOTgzOTBfREVWMF9OQU1FKSB8fA0KPiA+ICsJCQkhc3RyY21wKGNvZGVjX2Rh aS0+Y29tcG9uZW50LT5uYW1lLA0KPiBNQVhfOTgzOTBfREVWMl9OQU1FKSkgew0KPiA+ICsJCQlz bmRfc29jX2RhaV9zZXRfdGRtX3Nsb3QoY29kZWNfZGFpLCAweDAzLCAzLCA0LCAzMik7DQo+ID4g KwkJfQ0KPiA+ICsJCWlmICghc3RyY21wKGNvZGVjX2RhaS0+Y29tcG9uZW50LT5uYW1lLA0KPiBN QVhfOTgzOTBfREVWMV9OQU1FKSB8fA0KPiA+ICsJCQkhc3RyY21wKGNvZGVjX2RhaS0+Y29tcG9u ZW50LT5uYW1lLA0KPiBNQVhfOTgzOTBfREVWM19OQU1FKSkgew0KPiA+ICsJCQlzbmRfc29jX2Rh aV9zZXRfdGRtX3Nsb3QoY29kZWNfZGFpLCAweDBDLCAzLCA0LCAzMik7DQo+ID4gKwkJfQ0KPiA+ ICsJfQ0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gDQo+IHdoYXQgaGFwcGVucyBoZXJlIGlm IHlvdSBvbmx5IGhhdmUgMiBkZXZpY2VzIGluIHRoZSBoYXJkd2FyZSBjb25maWd1cmF0aW9uPw0K PiANCj4gVGhpcyBzZWVtcyBkaWZmZXJlbnQgdG8gd2hhdCB3YXMgZG9uZSBlLmcuIGluIGNtbF9y dDEwMTFfcnQ1NjgyIHdoZXJlIHRoZQ0KPiB0ZG0gc2xvdHMgd2VyZSBjb25kaXRpb25hbCBvbiB0 aGUgcXVpcmsuDQpUaGFua3MsIEkgc2hvdWxkIGNoZWNrIGJ5IDIgb3IgNCBxdWlyayBzZXBhcmF0 ZWx5LiANCg0KPiANCj4gPiArDQo+ID4gK2ludCBtYXhfOTgzOTBfc3BrX2NvZGVjX2luaXQoc3Ry dWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCkgew0KPiA+ICsJc3RydWN0IHNuZF9zb2NfY2Fy ZCAqY2FyZCA9IHJ0ZC0+Y2FyZDsNCj4gPiArCWludCByZXQ7DQo+ID4gKw0KPiA+ICsJcmV0ID0g c25kX3NvY19kYXBtX25ld19jb250cm9scygmY2FyZC0+ZGFwbSwNCj4gbWF4Xzk4MzkwX3R0X2Rh cG1fd2lkZ2V0cywNCj4gPiArDQo+IAlBUlJBWV9TSVpFKG1heF85ODM5MF90dF9kYXBtX3dpZGdl dHMpKTsNCj4gPiArCWlmIChyZXQpIHsNCj4gPiArCQlkZXZfZXJyKHJ0ZC0+ZGV2LCAidW5hYmxl IHRvIGFkZCBkYXBtIGNvbnRyb2xzLCByZXQgJWRcbiIsDQo+IHJldCk7DQo+ID4gKwkJLyogRG9u J3QgbmVlZCB0byBhZGQgcm91dGVzIGlmIHdpZGdldCBhZGRpdGlvbiBmYWlsZWQgKi8NCj4gPiAr CQlyZXR1cm4gcmV0Ow0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldCA9IHNuZF9zb2NfYWRkX2Nh cmRfY29udHJvbHMoY2FyZCwgbWF4Xzk4MzkwX3R0X2tjb250cm9scywNCj4gPiArDQo+IAlBUlJB WV9TSVpFKG1heF85ODM5MF90dF9rY29udHJvbHMpKTsNCj4gPiArCWlmIChyZXQpIHsNCj4gPiAr CQlkZXZfZXJyKHJ0ZC0+ZGV2LCAidW5hYmxlIHRvIGFkZCBjYXJkIGNvbnRyb2xzLCByZXQgJWRc biIsDQo+IHJldCk7DQo+ID4gKwkJcmV0dXJuIHJldDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwly ZXQgPSBzbmRfc29jX2RhcG1fYWRkX3JvdXRlcygmY2FyZC0+ZGFwbSwNCj4gbWF4Xzk4MzczX2Rh cG1fcm91dGVzLA0KPiA+ICsNCj4gCUFSUkFZX1NJWkUobWF4Xzk4MzczX2RhcG1fcm91dGVzKSk7 DQo+ID4gKwlpZiAocmV0KSB7DQo+ID4gKwkJZGV2X2VycihydGQtPmRldiwgIlNwZWFrZXIgTGVm dCwgUmlnaHQgIG1hcCBhZGRpdGlvbiBmYWlsZWQ6DQo+ICVkXG4iLCByZXQpOw0KPiA+ICsJCXJl dHVybiByZXQ7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmV0ID0gc25kX3NvY19kYXBtX2FkZF9y b3V0ZXMoJmNhcmQtPmRhcG0sDQo+IG1heF85ODM5MF90dF9kYXBtX3JvdXRlcywNCj4gPiArDQo+ IAlBUlJBWV9TSVpFKG1heF85ODM5MF90dF9kYXBtX3JvdXRlcykpOw0KPiA+ICsJaWYgKHJldCkN Cj4gPiArCQlkZXZfZXJyKHJ0ZC0+ZGV2LCAiVHdlZXRlciBTcGVha2VyIExlZnQsIFJpZ2h0IG1h cCBhZGRpdGlvbg0KPiBmYWlsZWQ6DQo+ID4gKyVkXG4iLCByZXQpOw0KPiA+ICsNCj4gPiArCXJl dHVybiByZXQ7DQo+ID4gK30NCj4gPiArRVhQT1JUX1NZTUJPTF9OUyhtYXhfOTgzOTBfc3BrX2Nv ZGVjX2luaXQsDQo+ID4gK1NORF9TT0NfSU5URUxfU09GX01BWElNX0NPTU1PTik7DQo+IA0KPiBh Z2FpbiB3aGF0IGhhcHBlbnMgaWYgeW91IGRvbid0IGhhdmUgdHdlZXRlcnMgaW4gdGhlIGNvbmZp Z3VyYXRpb24/IFdoeQ0KPiB3b3VsZCB5b3UgYWRkIERBUE0gcm91dGVzIHRvIGEgbm9uLWV4aXN0 ZW50IGNvZGVjPw0KV2l0aG91dCB0d2VldGVyIHF1aXJrLCBpdCBnb2VzIHRvIGFwcGx5IG1heF85 ODM5MF9jb2RlY19jb25mIGZyb20gbWF4Xzk4MzkwX3NldF9jb2RlY19jb25mKCkNCldpdGggdHdl ZXRlciBxdWlyaywgaXQgZ29lcyB0byBhcHBseSBtYXhfOTgzOTBfNHNwa19jb2RlY19jb25mIGZy b20gbWF4Xzk4MzkwX3NldF9jb2RlY19jb25mKCkNCj4gDQo+ID4gKw0KPiA+ICtzdHJ1Y3Qgc25k X3NvY19vcHMgbWF4Xzk4MzkwX29wcyA9IHsNCj4gPiArCS5od19wYXJhbXMgPSBtYXhfOTgzOTBf aHdfcGFyYW1zLA0KPiA+ICt9Ow0KPiA+ICtFWFBPUlRfU1lNQk9MX05TKG1heF85ODM5MF9vcHMs DQo+IFNORF9TT0NfSU5URUxfU09GX01BWElNX0NPTU1PTik7DQo+ID4gKw0KPiA+ICt2b2lkIG1h eF85ODM5MF9zZXRfY29kZWNfY29uZihzdHJ1Y3Qgc25kX3NvY19jYXJkICpjYXJkLCBpbnQgY2gp IHsNCj4gPiArCWlmIChjaCA9PSBBUlJBWV9TSVpFKG1heF85ODM5MF80c3BrX2NvZGVjX2NvbmYp KSB7DQo+ID4gKwkJY2FyZC0+Y29kZWNfY29uZiA9IG1heF85ODM5MF80c3BrX2NvZGVjX2NvbmY7 DQo+ID4gKwkJY2FyZC0+bnVtX2NvbmZpZ3MgPQ0KPiBBUlJBWV9TSVpFKG1heF85ODM5MF80c3Br X2NvZGVjX2NvbmYpOw0KPiA+ICsJfSBlbHNlIHsNCj4gPiArCQljYXJkLT5jb2RlY19jb25mID0g bWF4Xzk4MzkwX2NvZGVjX2NvbmY7DQo+ID4gKwkJY2FyZC0+bnVtX2NvbmZpZ3MgPSBBUlJBWV9T SVpFKG1heF85ODM5MF9jb2RlY19jb25mKTsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ICtFWFBPUlRf U1lNQk9MX05TKG1heF85ODM5MF9zZXRfY29kZWNfY29uZiwNCj4gPiArU05EX1NPQ19JTlRFTF9T T0ZfTUFYSU1fQ09NTU9OKTsNCj4gPiArDQo+ID4gIC8qDQo+ID4gICAqIE1heGltIE1BWDk4MzU3 QS9NQVg5ODM2MEENCj4gPiAgICovDQo+ID4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9pbnRlbC9i b2FyZHMvc29mX21heGltX2NvbW1vbi5oDQo+ID4gYi9zb3VuZC9zb2MvaW50ZWwvYm9hcmRzL3Nv Zl9tYXhpbV9jb21tb24uaA0KPiA+IGluZGV4IDNmZjVlOGZlYzRkZS4uNDEyYjlkZDA2YmFkIDEw MDY0NA0KPiA+IC0tLSBhL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMvc29mX21heGltX2NvbW1vbi5o DQo+ID4gKysrIGIvc291bmQvc29jL2ludGVsL2JvYXJkcy9zb2ZfbWF4aW1fY29tbW9uLmgNCj4g PiBAQCAtMjQsNiArMjQsMjIgQEAgaW50IG1heF85ODM3M19zcGtfY29kZWNfaW5pdChzdHJ1Y3QN Cj4gPiBzbmRfc29jX3BjbV9ydW50aW1lICpydGQpOyAgdm9pZCBtYXhfOTgzNzNfc2V0X2NvZGVj X2NvbmYoc3RydWN0DQo+ID4gc25kX3NvY19jYXJkICpjYXJkKTsgIGludCBtYXhfOTgzNzNfdHJp Z2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0NCj4gPiAqc3Vic3RyZWFtLCBpbnQgY21kKTsN Cj4gPg0KPiA+ICsvKg0KPiA+ICsgKiBNYXhpbSBNQVg5ODM5MA0KPiA+ICsgKi8NCj4gPiArI2Rl ZmluZSBNQVhfOTgzOTBfQ09ERUNfREFJICAgICAibWF4OTgzOTAtYWlmMSINCj4gPiArI2RlZmlu ZSBNQVhfOTgzOTBfREVWMF9OQU1FICAgICAiaTJjLU1YOTgzOTA6MDAiDQo+ID4gKyNkZWZpbmUg TUFYXzk4MzkwX0RFVjFfTkFNRSAgICAgImkyYy1NWDk4MzkwOjAxIg0KPiA+ICsjZGVmaW5lIE1B WF85ODM5MF9ERVYyX05BTUUgICAgICJpMmMtTVg5ODM5MDowMiINCj4gPiArI2RlZmluZSBNQVhf OTgzOTBfREVWM19OQU1FICAgICAiaTJjLU1YOTgzOTA6MDMiDQo+ID4gKw0KPiA+ICtleHRlcm4g c3RydWN0IHNuZF9zb2NfZGFpX2xpbmtfY29tcG9uZW50IG1heF85ODM5MF9jb21wb25lbnRzWzJd Ow0KPiA+ICtleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpX2xpbmtfY29tcG9uZW50DQo+ID4gK21h eF85ODM5MF80c3BrX2NvbXBvbmVudHNbNF07IGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19vcHMNCj4g PiArbWF4Xzk4MzkwX29wczsgZXh0ZXJuIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUN Cj4gPiArbWF4Xzk4MzkwX2RhcG1fcm91dGVzW107IHZvaWQgbWF4Xzk4MzkwX3NldF9jb2RlY19j b25mKHN0cnVjdA0KPiA+ICtzbmRfc29jX2NhcmQgKmNhcmQsIGludCBjaCk7IGludCBtYXhfOTgz OTBfc3BrX2NvZGVjX2luaXQoc3RydWN0DQo+ID4gK3NuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCk7 DQo+ID4gKw0KPiA+ICAvKg0KPiA+ICAgKiBNYXhpbSBNQVg5ODM1N0EvTUFYOTgzNjBBDQo+ID4g ICAqLw0KPiA+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvaW50ZWwvYm9hcmRzL3NvZl9ydDU2ODIu Yw0KPiA+IGIvc291bmQvc29jL2ludGVsL2JvYXJkcy9zb2ZfcnQ1NjgyLmMNCj4gPiBpbmRleCBm MDk2YmQ2ZDY5YmUuLmU0NjQzOGNjYTY0MyAxMDA2NDQNCj4gPiAtLS0gYS9zb3VuZC9zb2MvaW50 ZWwvYm9hcmRzL3NvZl9ydDU2ODIuYw0KPiA+ICsrKyBiL3NvdW5kL3NvYy9pbnRlbC9ib2FyZHMv c29mX3J0NTY4Mi5jDQo+ID4gQEAgLTQ5LDYgKzQ5LDggQEANCj4gPiAgI2RlZmluZSBTT0ZfUlQx MDE1UF9TUEVBS0VSX0FNUF9QUkVTRU5UCQlCSVQoMTYpDQo+ID4gICNkZWZpbmUgU09GX01BWDk4 MzczX1NQRUFLRVJfQU1QX1BSRVNFTlQJQklUKDE3KQ0KPiA+ICAjZGVmaW5lIFNPRl9NQVg5ODM2 MEFfU1BFQUtFUl9BTVBfUFJFU0VOVAlCSVQoMTgpDQo+ID4gKyNkZWZpbmUgU09GX01BWDk4Mzkw X1NQRUFLRVJfQU1QX1BSRVNFTlQJQklUKDIzKQ0KPiA+ICsjZGVmaW5lIFNPRl9NQVg5ODM5MF9U V0VFVEVSX1NQRUFLRVJfUFJFU0VOVAlCSVQoMjQpDQo+ID4NCj4gPiAgLyogQlQgYXVkaW8gb2Zm bG9hZDogcmVzZXJ2ZSAzIGJpdHMgZm9yIGZ1dHVyZSAqLw0KPiA+ICAjZGVmaW5lIFNPRl9CVF9P RkZMT0FEX1NTUF9TSElGVAkJMTkNCj4gPiBAQCAtMTc2LDYgKzE3OCwzNiBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQNCj4gc29mX3J0NTY4Ml9xdWlya190YWJsZVtdID0gew0K PiA+ICAJCQkJCVNPRl9SVDU2ODJfU1NQX0FNUCgyKSB8DQo+ID4gIAkJCQkJU09GX1JUNTY4Ml9O VU1fSERNSURFVig0KSksDQo+ID4gIAl9LA0KPiA+ICsJew0KPiA+ICsJCS5jYWxsYmFjayA9IHNv Zl9ydDU2ODJfcXVpcmtfY2IsDQo+ID4gKwkJLm1hdGNoZXMgPSB7DQo+ID4gKwkJCURNSV9NQVRD SChETUlfUFJPRFVDVF9GQU1JTFksDQo+ICJHb29nbGVfQnJ5YSIpLA0KPiA+ICsJCQlETUlfTUFU Q0goRE1JX09FTV9TVFJJTkcsICJBVURJTy0NCj4gQURMX01BWDk4MzkwX0FMQzU2ODJJX0kyUyIp LA0KPiA+ICsJCX0sDQo+ID4gKwkJLmRyaXZlcl9kYXRhID0gKHZvaWQgKikoU09GX1JUNTY4Ml9N Q0xLX0VOIHwNCj4gPiArCQkJCQlTT0ZfUlQ1NjgyX1NTUF9DT0RFQygwKSB8DQo+ID4gKwkJCQkJ U09GX1NQRUFLRVJfQU1QX1BSRVNFTlQgfA0KPiA+ICsNCj4gCVNPRl9NQVg5ODM3M19TUEVBS0VS X0FNUF9QUkVTRU5UIHwNCk15IGJhZC4gU2hvdWxkIG1vZGlmeSB0byBTT0ZfTUFYOTgzOTBfU1BF QUtFUl9BTVBfUFJFU0VOVA0KPiA+ICsJCQkJCVNPRl9SVDU2ODJfU1NQX0FNUCgyKSB8DQo+ID4g KwkJCQkJU09GX1JUNTY4Ml9OVU1fSERNSURFVig0KSksDQo+ID4gKwl9LA0KPiA+ICsJew0KPiA+ ICsJCS5jYWxsYmFjayA9IHNvZl9ydDU2ODJfcXVpcmtfY2IsDQo+ID4gKwkJLm1hdGNoZXMgPSB7 DQo+ID4gKwkJCURNSV9NQVRDSChETUlfUFJPRFVDVF9GQU1JTFksDQo+ICJHb29nbGVfQnJ5YSIp LA0KPiA+ICsJCQlETUlfTUFUQ0goRE1JX09FTV9TVFJJTkcsICJBVURJTy0NCj4gQURMX01BWDk4 MzkwX0FMQzU2ODJJX0kyU180U1BLIiksDQo+ID4gKwkJfSwNCj4gPiArCQkuZHJpdmVyX2RhdGEg PSAodm9pZCAqKShTT0ZfUlQ1NjgyX01DTEtfRU4gfA0KPiA+ICsJCQkJCVNPRl9SVDU2ODJfU1NQ X0NPREVDKDApIHwNCj4gPiArCQkJCQlTT0ZfU1BFQUtFUl9BTVBfUFJFU0VOVCB8DQo+ID4gKw0K PiAJU09GX01BWDk4MzkwX1NQRUFLRVJfQU1QX1BSRVNFTlQgfA0KPiA+ICsNCj4gCVNPRl9NQVg5 ODM5MF9UV0VFVEVSX1NQRUFLRVJfUFJFU0VOVCB8DQo+ID4gKwkJCQkJU09GX1JUNTY4Ml9TU1Bf QU1QKDEpIHwNCj4gPiArCQkJCQlTT0ZfUlQ1NjgyX05VTV9IRE1JREVWKDQpIHwNCj4gPiArCQkJ CQlTT0ZfQlRfT0ZGTE9BRF9TU1AoMikgfA0KPiA+ICsJCQkJCVNPRl9TU1BfQlRfT0ZGTE9BRF9Q UkVTRU5UKSwNCj4gPiArDQo+ID4gKwl9LA0KPiANCj4gc28gaGVyZSB0aGUgaW50ZXJlc3Rpbmcg cGFydCBpcyB0aGF0IHRoZSBhbXBsaWZpZXJzIGFyZSBub3QgcHJlc2VudCBvbiB0aGUNCj4gc2Ft ZSBsaW5rLCB3aGljaCBtZWFucyB5b3UgbmVlZCBkaWZmZXJlbnQgdG9wb2xvZ2llcy4NClllcywg eW91IGFyZSByaWdodCBieSBsb2FkaW5nIGRpZmZlcmVudCB0b3BvbG9neSBuYW1lLg0KPiANCj4g PiAgCXt9DQo+ID4gIH07DQo+ID4NCj4gPiBAQCAtNDU5LDYgKzQ5MSw3IEBAIHN0YXRpYyBpbnQg c29mX2NhcmRfbGF0ZV9wcm9iZShzdHJ1Y3Qgc25kX3NvY19jYXJkDQo+ICpjYXJkKQ0KPiA+ICAJ CWlmIChlcnIgPCAwKQ0KPiA+ICAJCQlyZXR1cm4gZXJyOw0KPiA+ICAJfQ0KPiA+ICsNCj4gPiAg CXJldHVybiBoZGFjX2hkbWlfamFja19wb3J0X2luaXQoY29tcG9uZW50LCAmY2FyZC0+ZGFwbSk7 ICB9DQo+ID4NCj4gPiBAQCAtNzQ1LDYgKzc3OCwyMSBAQCBzdGF0aWMgc3RydWN0IHNuZF9zb2Nf ZGFpX2xpbmsNCj4gKnNvZl9jYXJkX2RhaV9saW5rc19jcmVhdGUoc3RydWN0IGRldmljZSAqZGV2 LA0KPiA+ICAJCX0gZWxzZSBpZiAoc29mX3J0NTY4Ml9xdWlyayAmDQo+ID4gIAkJCQlTT0ZfUlQx MDExX1NQRUFLRVJfQU1QX1BSRVNFTlQpIHsNCj4gPiAgCQkJc29mX3J0MTAxMV9kYWlfbGluaygm bGlua3NbaWRdKTsNCj4gPiArCQl9IGVsc2UgaWYgKHNvZl9ydDU2ODJfcXVpcmsgJg0KPiA+ICsJ CQkJU09GX01BWDk4MzkwX1NQRUFLRVJfQU1QX1BSRVNFTlQpIHsNCj4gPiArCQkJaWYgKHNvZl9y dDU2ODJfcXVpcmsgJg0KPiA+ICsNCj4gCVNPRl9NQVg5ODM5MF9UV0VFVEVSX1NQRUFLRVJfUFJF U0VOVCkgew0KPiA+ICsJCQkJbGlua3NbaWRdLmNvZGVjcyA9DQo+IG1heF85ODM5MF80c3BrX2Nv bXBvbmVudHM7DQo+ID4gKwkJCQlsaW5rc1tpZF0ubnVtX2NvZGVjcyA9DQo+IEFSUkFZX1NJWkUo bWF4Xzk4MzkwXzRzcGtfY29tcG9uZW50cyk7DQo+ID4gKwkJCQlsaW5rc1tpZF0uaW5pdCA9IG1h eF85ODM5MF9zcGtfY29kZWNfaW5pdDsNCj4gPiArCQkJfSBlbHNlIHsNCj4gPiArCQkJCWxpbmtz W2lkXS5jb2RlY3MgPSBtYXhfOTgzOTBfY29tcG9uZW50czsNCj4gPiArCQkJCWxpbmtzW2lkXS5u dW1fY29kZWNzID0NCj4gQVJSQVlfU0laRShtYXhfOTgzOTBfY29tcG9uZW50cyk7DQo+ID4gKwkJ CQlsaW5rc1tpZF0uaW5pdCA9IG1heF85ODM3M19zcGtfY29kZWNfaW5pdDsNCj4gDQo+IE5vdCBz dXJlIGFnYWluIGhvdyB0aGlzIHdvcmtzIHNpbmNlIHlvdSBhcmUgdXNpbmcgdGhlIHNhbWUgaW5p dCBmdW5jdGlvbiB0aGF0DQo+IGludGVybmFsbHkgZG9lcyBub3QgY2hlY2sgaG93IG1hbnkgc3Bl YWtlcnMgdGhlcmUgYXJlLg0KMiBzcGVha2VycyBpbml0aWFsbHkgcmV1c2UgdGhlIG1heF85ODM3 M19zcGtfY29kZWNfaW5pdCwgYmVjYXVzZSB0aGUgZGFwbSByb3V0ZXMgaXMgaWRlbnRpY2FsICJM ZWZ0L1JpZ2h0IFNwayINCjQgc3BlYWtlcnMgYXBwbHkgbmV3IGluaXQgZm9yIGRhcG0gIkxlZnQv UmlnaHQgU3BrIiBhbmQgIlR3ZWV0ZXIgTGVmdC8gUmlnaHQgU3BrIiB0b2dldGhlcg0KPiANCj4g PiArCQkJfQ0KPiA+ICsJCQlsaW5rc1tpZF0ub3BzID0gJm1heF85ODM5MF9vcHM7DQo+ID4gKwkJ CWxpbmtzW2lkXS5kcGNtX2NhcHR1cmUgPSAxOw0KPiA+ICsNCj4gPiAgCQl9IGVsc2Ugew0KPiA+ ICAJCQltYXhfOTgzNTdhX2RhaV9saW5rKCZsaW5rc1tpZF0pOw0KPiA+ICAJCX0NCj4gPiBAQCAt ODgxLDYgKzkyOSwxNCBAQCBzdGF0aWMgaW50IHNvZl9hdWRpb19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlDQo+ICpwZGV2KQ0KPiA+ICAJCXNvZl9ydDEwMTFfY29kZWNfY29uZigmc29mX2F1 ZGlvX2NhcmRfcnQ1NjgyKTsNCj4gPiAgCWVsc2UgaWYgKHNvZl9ydDU2ODJfcXVpcmsgJiBTT0Zf UlQxMDE1UF9TUEVBS0VSX0FNUF9QUkVTRU5UKQ0KPiA+ICAJCXNvZl9ydDEwMTVwX2NvZGVjX2Nv bmYoJnNvZl9hdWRpb19jYXJkX3J0NTY4Mik7DQo+ID4gKwllbHNlIGlmIChzb2ZfcnQ1NjgyX3F1 aXJrICYNCj4gU09GX01BWDk4MzkwX1NQRUFLRVJfQU1QX1BSRVNFTlQpIHsNCj4gPiArCQlpZiAo c29mX3J0NTY4Ml9xdWlyayAmDQo+IFNPRl9NQVg5ODM5MF9UV0VFVEVSX1NQRUFLRVJfUFJFU0VO VCkNCj4gPiArDQo+IAltYXhfOTgzOTBfc2V0X2NvZGVjX2NvbmYoJnNvZl9hdWRpb19jYXJkX3J0 NTY4MiwNCj4gPiArDQo+IAlBUlJBWV9TSVpFKG1heF85ODM5MF80c3BrX2NvbXBvbmVudHMpKTsN Cj4gPiArCQllbHNlDQo+ID4gKw0KPiAJbWF4Xzk4MzkwX3NldF9jb2RlY19jb25mKCZzb2ZfYXVk aW9fY2FyZF9ydDU2ODIsDQo+ID4gKw0KPiAJQVJSQVlfU0laRShtYXhfOTgzOTBfY29tcG9uZW50 cykpOw0KPiA+ICsJfQ0KPiA+DQo+ID4gIAlpZiAoc29mX3J0NTY4Ml9xdWlyayAmIFNPRl9TU1Bf QlRfT0ZGTE9BRF9QUkVTRU5UKQ0KPiA+ICAJCXNvZl9hdWRpb19jYXJkX3J0NTY4Mi5udW1fbGlu a3MrKzsNCj4gPiBAQCAtMTAwNyw2ICsxMDYzLDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlX2lkDQo+IGJvYXJkX2lkc1tdID0gew0KPiA+ICAJCQkJCVNPRl9SVDU2ODJf U1NQX0FNUCgyKSB8DQo+ID4gIAkJCQkJU09GX1JUNTY4Ml9OVU1fSERNSURFVig0KSksDQo+ID4g IAl9LA0KPiA+ICsJew0KPiA+ICsJCS5uYW1lID0gImFkbF9tYXg5ODM5MF9ydDU2ODIiLA0KPiA+ ICsJCS5kcml2ZXJfZGF0YSA9IChrZXJuZWxfdWxvbmdfdCkoU09GX1JUNTY4Ml9NQ0xLX0VOIHwN Cj4gPiArCQkJCQlTT0ZfUlQ1NjgyX1NTUF9DT0RFQygwKSB8DQo+ID4gKwkJCQkJU09GX1NQRUFL RVJfQU1QX1BSRVNFTlQgfA0KPiA+ICsNCj4gCVNPRl9NQVg5ODM5MF9TUEVBS0VSX0FNUF9QUkVT RU5UIHwNCj4gPiArCQkJCQlTT0ZfUlQ1NjgyX1NTUF9BTVAoMSkgfA0KPiA+ICsJCQkJCVNPRl9S VDU2ODJfTlVNX0hETUlERVYoNCkgfA0KPiA+ICsJCQkJCVNPRl9CVF9PRkZMT0FEX1NTUCgyKSB8 DQo+ID4gKwkJCQkJU09GX1NTUF9CVF9PRkZMT0FEX1BSRVNFTlQpLA0KPiA+ICsJfSwNCj4gPiAr DQo+ID4gIAl7IH0NCj4gPiAgfTsNCj4gPiAgTU9EVUxFX0RFVklDRV9UQUJMRShwbGF0Zm9ybSwg Ym9hcmRfaWRzKTsgQEAgLTEwMjYsNiArMTA5NCw3IEBADQo+ID4gTU9EVUxFX0RFU0NSSVBUSU9O KCJTT0YgQXVkaW8gTWFjaGluZSBkcml2ZXIiKTsNCj4gTU9EVUxFX0FVVEhPUigiQmFyZA0KPiA+ IExpYW8gPGJhcmQubGlhb0BpbnRlbC5jb20+Iik7ICBNT0RVTEVfQVVUSE9SKCJTYXRoeWEgUHJh a2FzaCBNIFINCj4gPiA8c2F0aHlhLnByYWthc2gubS5yQGludGVsLmNvbT4iKTsgIE1PRFVMRV9B VVRIT1IoIkJyZW50IEx1DQo+ID4gPGJyZW50Lmx1QGludGVsLmNvbT4iKTsNCj4gPiArTU9EVUxF X0FVVEhPUigiTWFjIENoaWFuZyA8bWFjLmNoaWFuZ0BpbnRlbC5jb20+Iik7DQo+ID4gIE1PRFVM RV9MSUNFTlNFKCJHUEwgdjIiKTsNCj4gPiAgTU9EVUxFX0lNUE9SVF9OUyhTTkRfU09DX0lOVEVM X0hEQV9EU1BfQ09NTU9OKTsNCj4gPiAgTU9EVUxFX0lNUE9SVF9OUyhTTkRfU09DX0lOVEVMX1NP Rl9NQVhJTV9DT01NT04pOw0KPiA+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvaW50ZWwvY29tbW9u L3NvYy1hY3BpLWludGVsLWFkbC1tYXRjaC5jDQo+ID4gYi9zb3VuZC9zb2MvaW50ZWwvY29tbW9u L3NvYy1hY3BpLWludGVsLWFkbC1tYXRjaC5jDQo+ID4gaW5kZXggYTBmNmE2OWM3MDM4Li4yZGIx NTI5OThlNGEgMTAwNjQ0DQo+ID4gLS0tIGEvc291bmQvc29jL2ludGVsL2NvbW1vbi9zb2MtYWNw aS1pbnRlbC1hZGwtbWF0Y2guYw0KPiA+ICsrKyBiL3NvdW5kL3NvYy9pbnRlbC9jb21tb24vc29j LWFjcGktaW50ZWwtYWRsLW1hdGNoLmMNCj4gPiBAQCAtMjgwLDYgKzI4MCwxMSBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHNuZF9zb2NfYWNwaV9jb2RlY3MNCj4gYWRsX21heDk4MzU3YV9hbXAgPSB7 DQo+ID4gIAkuY29kZWNzID0geyJNWDk4MzU3QSJ9DQo+ID4gIH07DQo+ID4NCj4gPiArc3RhdGlj IGNvbnN0IHN0cnVjdCBzbmRfc29jX2FjcGlfY29kZWNzIGFkbF9tYXg5ODM5MF9hbXAgPSB7DQo+ ID4gKwkubnVtX2NvZGVjcyA9IDEsDQo+ID4gKwkuY29kZWNzID0geyJNWDk4MzkwIn0NCj4gPiAr fTsNCj4gPiArDQo+ID4gIHN0cnVjdCBzbmRfc29jX2FjcGlfbWFjaCBzbmRfc29jX2FjcGlfaW50 ZWxfYWRsX21hY2hpbmVzW10gPSB7DQo+ID4gIAl7DQo+ID4gIAkJLmlkID0gIjEwRUM1NjgyIiwN Cj4gPiBAQCAtMjk3LDYgKzMwMiwxNCBAQCBzdHJ1Y3Qgc25kX3NvY19hY3BpX21hY2gNCj4gc25k X3NvY19hY3BpX2ludGVsX2FkbF9tYWNoaW5lc1tdID0gew0KPiA+ICAJCS5zb2ZfZndfZmlsZW5h bWUgPSAic29mLWFkbC5yaSIsDQo+ID4gIAkJLnNvZl90cGxnX2ZpbGVuYW1lID0gInNvZi1hZGwt bWF4OTgzNTdhLXJ0NTY4Mi50cGxnIiwNCj4gPiAgCX0sDQo+ID4gKwl7DQo+ID4gKwkJLmlkID0g IjEwRUM1NjgyIiwNCj4gPiArCQkuZHJ2X25hbWUgPSAiYWRsX21heDk4MzkwX3J0NTY4MiIsDQo+ ID4gKwkJLm1hY2hpbmVfcXVpcmsgPSBzbmRfc29jX2FjcGlfY29kZWNfbGlzdCwNCj4gPiArCQku cXVpcmtfZGF0YSA9ICZhZGxfbWF4OTgzOTBfYW1wLA0KPiA+ICsJCS5zb2ZfZndfZmlsZW5hbWUg PSAic29mLWFkbC5yaSIsDQo+ID4gKwkJLnNvZl90cGxnX2ZpbGVuYW1lID0gInNvZi1hZGwtbWF4 OTgzOTAtcnQ1NjgyLnRwbGciLA0KPiA+ICsJfSwNCj4gDQo+IHRoYXQgc2VlbXMgdG8gYmUgcHJv YmxlbWF0aWMsIHlvdSBhcmUgdXNpbmcgdGhlICpzYW1lKiB0b3BvbG9neSBmb3IgdHdvDQo+IGRp ZmZlcmVudCBoYXJkd2FyZSBjb25maWd1cmF0aW9ucywgd2hlcmUgdGhlIGFtcGxpZmllcnMgY2Fu IGJlIG9uIFNTUCAxIG9yDQo+IFNTUDIuDQo+IA0KPiBUaGlzIGVudHJ5IHdpbGwgYmUgc2VsZWN0 ZWQgbm8gbWF0dGVyIGhvdyBtYW55IE1BWDk4MzkwIGFtcHMgYXJlIHByZXNlbnQNCj4gb24gdGhl IGJvYXJkLg0KPiANCj4gSG93IGRvZXMgdGhpcyB3b3JrPw0KVGhhbmtzLCB5b3UgYXJlIHJpZ2h0 LiBUd28gc2VwYXJhdGUgdHBsZ3MgcmVxdWlyZS4gc29mLWFkbC1tYXg5ODM5MC1ydDU2ODIudHBs ZyBhbmQgc29mLWFkbC1tYXg5ODM5MC00Y2gtcnQ1NjgyLnRwbGcuDQo+IA0KPiA+ICAJe30sDQo+ ID4gIH07DQo+ID4gIEVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfYWNwaV9pbnRlbF9hZGxfbWFj aGluZXMpOw0KPiA+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc29mL3NvZi1wY2ktZGV2LmMgYi9z b3VuZC9zb2Mvc29mL3NvZi1wY2ktZGV2LmMNCj4gPiBpbmRleCBiYzllNzA3NjU2NzguLmVlZTcz YTkxYjdmZiAxMDA2NDQNCj4gPiAtLS0gYS9zb3VuZC9zb2Mvc29mL3NvZi1wY2ktZGV2LmMNCj4g PiArKysgYi9zb3VuZC9zb2Mvc29mL3NvZi1wY2ktZGV2LmMNCj4gPiBAQCAtNTksNiArNTksMTUg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIHNvZl90cGxnX3RhYmxlW10gPSB7 DQo+ID4gIAkJfSwNCj4gPiAgCQkuZHJpdmVyX2RhdGEgPSAic29mLWFkbC1ydDU2ODItc3NwMC1t YXg5ODM3My1zc3AyLnRwbGciLA0KPiA+ICAJfSwNCj4gPiArCXsNCj4gPiArCQkuY2FsbGJhY2sg PSBzb2ZfdHBsZ19jYiwNCj4gPiArCQkubWF0Y2hlcyA9IHsNCj4gPiArCQkJRE1JX01BVENIKERN SV9QUk9EVUNUX0ZBTUlMWSwNCj4gIkdvb2dsZV9CcnlhIiksDQo+ID4gKwkJCURNSV9NQVRDSChE TUlfT0VNX1NUUklORywgIkFVRElPLQ0KPiBBRExfTUFYOTgzOTBfQUxDNTY4MklfSTJTIiksDQo+ ID4gKwkJfSwNCj4gPiArCQkuZHJpdmVyX2RhdGEgPSAic29mLWFkbC1ydDU2ODItc3NwMC1tYXg5 ODM5MC1zc3AyLnRwbGciLA0KPiA+ICsJfSwNCj4gPiArDQo+IA0KPiBBbmQgaGVyZSB5b3UgZG9u J3QgaGF2ZSBhIHF1aXJrIHRvIHNlbGVjdCB0aGUgNC1jaGFubmVsIHZlcnNpb24/DQpJIGxvc3Qg dGhlIDQgc3BlYWtlcnMgdHBsZyB2ZXJzaW9uIGhlcmUuIFdpbGwgYWRkIGl0Lg0KPiANCj4gPiAg CXt9DQo+ID4gIH07DQo+ID4NCj4gPg0KPiANCj4gSXQgcmVhbGx5IGZlZWxzIGxpa2UgcGFydCBv ZiB0aGUgY29kZSBpcyBhIHBsYWNlaG9sZGVyIHRoYXQgd2FzIG5ldmVyIHRlc3RlZC4uLg0KV2Ug dmVyaWZpZWQgdGhlIDQgc3BlYWtlcnMgYm9hcmQgYW5kIFNTUDIgMiBzcGVha2VycyBib2FyZC4g VG8gYmUgdmVyaWZpZWQgb24gbmV3IEVWVCBTU1AxIDIgc3BlYWtlcnMuDQoNCg==