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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 342BCCD3430 for ; Mon, 4 May 2026 14:39:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EEF1510E73D; Mon, 4 May 2026 14:39:01 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="ehB+mUVO"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9A9E510E725 for ; Mon, 4 May 2026 14:39:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1777905541; x=1809441541; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=biONbnijVTwcIpn8eFD26YHCGPNZKugwBwwx9yxwVhE=; b=ehB+mUVOEqOdUTKcIdOv3qPxen4ZsFeuVqJKDjX7BdQjbIiOph6cEPNI fyhYZHrqc5s+sxSFw7RHkU70a4aPoJ7i1Q1W79CjvGTE119H/404QrhgH RApAApNeWzFXY4akd3G56GPqWDszzzYmSSkP+w1Eljc3Px58FcnxsHUYA YbVCE7m4FBPdYljGQzh7Hav8PDcJuVSJscITo4dFyt+HAEfceYb6bPqyc Ce/+CRsyGVFRC5pOuBNiT9wf5VittsGR2VQAPaftBJLwbnWrCAqUWh8nC xQT/tvFW3et4jWs4Mnw1LRH92xXY3iCirsixBw3tckMAuq/0t/RJzY0lp A==; X-CSE-ConnectionGUID: L8GY8Bj0Sx6zZMm2oRmAQw== X-CSE-MsgGUID: 3jQeKUxQSmWmPe29M6SFaw== X-IronPort-AV: E=McAfee;i="6800,10657,11776"; a="96189400" X-IronPort-AV: E=Sophos;i="6.23,215,1770624000"; d="scan'208";a="96189400" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2026 07:39:00 -0700 X-CSE-ConnectionGUID: yL8MzvE+T365IHXKyXBC/g== X-CSE-MsgGUID: 6phoc8otTbOhhf/ltvtdRw== X-ExtLoop1: 1 Received: from orsmsx901.amr.corp.intel.com ([10.22.229.23]) by fmviesa003.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2026 07:38:59 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 4 May 2026 07:38:58 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Mon, 4 May 2026 07:38:58 -0700 Received: from CH1PR05CU001.outbound.protection.outlook.com (52.101.193.11) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 4 May 2026 07:38:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dLfxKh604khpCDumWnTQmPC1u8YANQVLtpWQOMB4vDYzB1q7v07fssTjgSprBBgUyMCmDxPOR2hjnNnmAVgA3i1sxM1wMIR/8+sQ8sy6k4SSlPrEDxz565z3sKca3Dn9Gcq2GJkP/26aFvsmYe+hkEmEMrzkInpgwZeyu2KJ94lU2lRKNEBT9gKcXdT+ou5hL0qeZQBzY1EOimQ8+BT9GrqI7AFuhmvrRjp8Y0x6MoXlHxsL8UZGxAy7nLiK/OnB5sphW77PK9pIUp8HTj2S+RYzvarIiyWdZTHX5YB7GNX+Rtx5tz+h/hREwo1DjUzTWFadpAH83IffW81Om5uKvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=biONbnijVTwcIpn8eFD26YHCGPNZKugwBwwx9yxwVhE=; b=NqguJyzO5FwXXVuMAcvPcYqD+Xkv29IGfE/9vOaXW6ELHwZfywllUi98N2PG0lZrx1nEeub7cA712MB2zejxUOl2qL9uhEtexLuL+StCQcLh+jo67yRZnaw+X0rVYKwwAlr3s7eCyrp0vW67+9cDyO9GIT3oklnk4fwLzhwP0QpWiijHGMwbJ04Xzt0AteBXRPjDVTS9lUvzlzh4r3jpstkjxcDk4c54QPMUmJVLCASz+E94xLTPssZgeB/Xkx9llMG+Ct5EhvgS7b1lXARJ8Ihysf2PRoX0/7sb2ZCkkb0LVOkn9zdCJjJPtBxAxvyeJo7bdemmujtorhCWjsvvbg== 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 DM8PR11MB5573.namprd11.prod.outlook.com (2603:10b6:8:3b::7) by DM3PPF5EA507B64.namprd11.prod.outlook.com (2603:10b6:f:fc00::f25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.25; Mon, 4 May 2026 14:38:54 +0000 Received: from DM8PR11MB5573.namprd11.prod.outlook.com ([fe80::6a14:6aa3:4339:4415]) by DM8PR11MB5573.namprd11.prod.outlook.com ([fe80::6a14:6aa3:4339:4415%5]) with mapi id 15.20.9870.023; Mon, 4 May 2026 14:38:54 +0000 From: "Summers, Stuart" To: "Sousa, Gustavo" CC: "intel-xe@lists.freedesktop.org" , "Lin, Shuicheng" , "Vivi, Rodrigo" , "Roper, Matthew D" , "Brost, Matthew" , "Wajdeczko, Michal" , "Nerlige Ramappa, Umesh" , "Ceraolo Spurio, Daniele" Subject: Re: [PATCH 2/9] drm/xe: Sort xe_config_device fields and defaults alphabetically Thread-Topic: [PATCH 2/9] drm/xe: Sort xe_config_device fields and defaults alphabetically Thread-Index: AQHc24CgX/hYfkGy2kGCG0D0BkTXM7X95UoAgAALKAA= Date: Mon, 4 May 2026 14:38:54 +0000 Message-ID: <9869801345a0e54643dd22836f1069c71cec6aac.camel@intel.com> References: <20260504044348.209625-1-stuart.summers@intel.com> <20260504044348.209625-3-stuart.summers@intel.com> <878q9ze0nz.fsf@intel.com> In-Reply-To: <878q9ze0nz.fsf@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 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: DM8PR11MB5573:EE_|DM3PPF5EA507B64:EE_ x-ms-office365-filtering-correlation-id: 4f8293e2-a531-4903-9223-08dea9eade31 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021|18002099003|56012099003|22082099003; x-microsoft-antispam-message-info: NVux33AfmZQ//dSBeRKdummie+9xhPYi7nS8T3eQ4WGsPw7Xxw7nUmvx1Or0dybok6jmvaMwMkkA664lAy5Ez8i/VuRLlcoRKuYGekFAFVCpt27pgC7xbk0l+72xiKGtnzRxWmWgfnlE3yOVfj0uK/M1Take9X8OKnQjDmEPBJ/6GutX/ioJhFAx6XIaT7footmzQ9fshYxl0Y6DdgVSZBCzWUAw3hzWEiqHeIpHxNlMi5g/f1pt0UxK0sRJ0ZbepuVFAtJaFGW8LLmmNyLyH6xuvF0kfeEeuyYazvW9lphSmafr3Z6vYeHURwQk5xNBfYVB/d8r6KvZCwku79OS1fM3TWnuzj1cnECaTYHahy7oRWc0aNVaDrTeD3niYdIKd8Uzv+UnB0KIsJYrdjM74D+jdleWGfuVYdU4KdT3m74/8kkl1VccN7QElp03EP7tN6+Q0ICqfNNw1ClfPs+dGnN+1gCYN8twpsj+QnIKbCRFvq6xZbEYOwt4tsEo0qhGUssukLsO/1SOFoLpFir2Y5ec2qBYMa1uvVtyqGazQd5aLIdGgT0Pp8eVtCXbHwcFaMxHZLun+jELZ79E8B3G+L7dBN46m7OC0iOvGuRq6bab+Z8EDgehx5G619SrUw8zbG6o1/boC9su0k4KgAzWkEk2a02ChfXTVTZI96iOtZw4XtMYTBl0vORVcgNSnbmHPRWFZmxBSwyRDmaM7x7Ckor+Ldov+y5U4C119S/FZNb5nguugz4y4dZjXIFvospu x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5573.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700021)(18002099003)(56012099003)(22082099003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cCtDWUQ4U0FXYm5IK0ozNFNoVzRreUpsL0RSY3NveGhlaGZIdmF6T2R5Q1Nr?= =?utf-8?B?QUhIWDRtOUVHTGZzRDJZY1hZOHZkMzR3SWR0ODBveFFZN0NtaldTSExRZHhL?= =?utf-8?B?VWwzdGszWGU4VGZrTkhkNmFjQ0NtbVNldlMyNHhHYTJsYXNham9EN0JOWjBt?= =?utf-8?B?eFZBWHF1M2JBZlBPZlA3TVczd0R2RHozZ3R3c1I5aENHL3VBU0lDNUtJcU1Q?= =?utf-8?B?S0I0Ty9CZmF5bWtlMjBjTHhLVko4UmJocGpDZ01KSzVuTW9JUER4aldlZzhT?= =?utf-8?B?ODFIUkE4MnkrQVVpdjFBK01pa2NmSnlXR2s2MG82b3JWd2hTTmkwVDkyekV2?= =?utf-8?B?MFdsV3FDdkdQRnVPSngwaG04VVR5K25taTRVSnJ5UDdOb1U0bDRtKzN0RFQr?= =?utf-8?B?NVFJbkx3TG9wOTFJelJLUXhKY2pmZ09ENnFXVGJiNW1ETUZWcUxMOFZZZFhs?= =?utf-8?B?bFhHRjNuMlFsQVJRY1JubkFpUFEwU3ZaMEt0L05wdHR0NEszdEM5VU9JMWhz?= =?utf-8?B?RVo5ZWhiWWV6MFQxR2NZZWd3NUtTY0NDOUt6Y0k1ZFVmS1R3NGVzNmthWjAy?= =?utf-8?B?a1RZT0d3U1V0djZqYTFiTFl5TDE3STNZcUN0RllMbzZULzg0MVk1dmZBR1c2?= =?utf-8?B?OTFJV1hSTFlBVm11RGxCbkVwaTlGS0p2Q25BVkRpa0UxUXpWd0NBa3NUdjVh?= =?utf-8?B?dEM0ajI0TkRxSFhqazRxUkw2a2NwOWNvd0w3QkVMVmZaeUMrR0hjZnFPZEQ3?= =?utf-8?B?dXlyUXQvV0JEa2g0N3JGUGpKZzY2MmJxdEJOUWZYQ0hWblNTL0pCcDhOdUVY?= =?utf-8?B?QlhiTmVvOGNoVU5kVks2aXM4NThZeGZORmdsUFFPSnRnR1Mra1VIMG1PanQ2?= =?utf-8?B?S1BLMUtZVkNxdEZLaVZKZWpub3YrZmtsWTZSMmErUHhYYzA1L1l4YXVQWjJP?= =?utf-8?B?OFhTZkhUY1BkL056WG5kUUFQS0YzWlFBSWZ2NlMrTDd5R2VEREJzKyt6NmN0?= =?utf-8?B?bUtkY2c2UzJaY0xmc2pjdkhHM3A4UHBNR2QwMWoxM0hGc2lLSXlNbFBYakM4?= =?utf-8?B?TERHZisvVFFVbG5wRU96QUs1RFRjWDh0MEc1dm8zbm51YjFTaHBIVkhybVpy?= =?utf-8?B?dGNWLzcyV29HeU5FbjZXSy9xZGdPUGd0eG1xdkU0RlNZbXd2T3E5OGJoR0Ni?= =?utf-8?B?SjNyOGU4RXZrTE9oa1R2bnkvZFk2TnJuZnd6NzNhV3RiSjhTVFJ4T01mdGtZ?= =?utf-8?B?dDZKakZCbnM4VGlqR0ZCcXRrS3Q3b25jWWpLNHdUMWVqR2hRQUFoRWZhQ1JY?= =?utf-8?B?dHhQcTU5eXRjTnlBQVFraVJIVVhWTWg1TlZGMVB5c2tRdlRkekJCRXpGYW1y?= =?utf-8?B?Q3pFeFpOdWlReVFISVhvSHFMVG1xVStoS3pyZGpjZDFrajVQbkttNFE5NFU3?= =?utf-8?B?VHZFV1dOMy9UTzBQWXRJdElNaC9PSHREUlh1Vy9HWEpGbFBKMFFudHJBeHdZ?= =?utf-8?B?WTVXUHJxZ2h1TXJnRndSNnpMdGtpQk1kdHQwWFNOYXdUR3FFd0VVY2lNYTRa?= =?utf-8?B?Zm1jemN2TlgwTFAyQkN3RlJoQWRocnRrbnBsdjl6aFdaTXk1U2lCQjV0SmJj?= =?utf-8?B?ejRxNnNqN0Z5WWs5NGU1REVpc3JPNEo2Y1VuL05rU1dQd3dJTFhwSjViUVV4?= =?utf-8?B?WUZTeExxZlBUNkxkeE9IOWpDSFBDd1hPZGxOa0hvVFg1UkNPSjRFbEs0bXFS?= =?utf-8?B?VC9HVDY1eER2SnJTMEdkWU9yNlJveWQ4VVh5bzZHWHBHRnRVSVRBcHlCU2RR?= =?utf-8?B?Y0x5aWNtVDd5dHpEeTBvNGJPTllkV0kwRERQQm93eTJwTDFUeDZSc3RsVEgr?= =?utf-8?B?d05lQk0rWVAvUFZzdDAvU2NaWGFSQ1k2bkJtRkR4eEc4R3F2VUw5UU9WWFI5?= =?utf-8?B?cm5VZEhwUGQyNGRGWXpYZ2dBSGxIRmFJZWorTHFoQ1AvRWVaZTR6Zm04ZGk3?= =?utf-8?B?V2tWQUoyTXkwa2tya3U4Y05Id0pwUnlrQmdUZlY5WXFtUXdaLzNwaG5RZFRN?= =?utf-8?B?Y1ZkSVMvM0g2UjBqQ2o5eVlLd04zNmVCbUV2RXRxQjVrcGpKNFhwaVJnYVF3?= =?utf-8?B?Tys3eENuZnUwNHlJUmErNlFCUjVVL1F6VGFLZ1RBbXRSRC9sS1ZiWDNJaG80?= =?utf-8?B?VWRWb1lFQzVVbFluY0FGQmFiZHJzUnhSMWdmNmo5Z29FNWYrK1VyUkh0N3I2?= =?utf-8?B?TXV0cG9NZ2g4cldrN3p3UWhZS2x6ZVhqYXF3RXNiYi9CWStvQ0hCUXpialQ1?= =?utf-8?B?cmtTWmc0cmxtb1R5c2ZmWDFLUWJkNmZvQ2hkWTRkRnUzT2U3LzJ5a2JKWi8x?= =?utf-8?Q?lotMWo0ZzeNq4o34=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <234E6356151C0248BD2159A052F9B3B3@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: eTipCEgs1zactVUjFc8ROzoxyz2MPMhjA7NbjDj6eb1EUU9AAoVnQLlXgh/adMgO8tFEcsTFGpSSta3DmBXpPTheqARqCuMPRKe5Vnd8T3VSlTNyaTyTxuRI62QugleY6lcJ5FR6T7KN+CTM5a3yMPLLsci+VqiTgphlHxtUtsaUMnDi9S+B6QBmjEYmEjn9vPzVUJgAMb4nPOTTNWpJ8h58jWv/8Bbl8JT/syt6wH8ZHb038kr5WxHY05/CtjeFzUrNB/Rd1k/2EwYcuKA/da1yk5GvmypZzMXJ/UiLfn08jh41F7JbWbLO1rjVFWtH3z1beT/wR8l70IwqX9GxRw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5573.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f8293e2-a531-4903-9223-08dea9eade31 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2026 14:38:54.8393 (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: dafoHr3cOIZ2wNUzqhKglvfuVrwMpmvytuZo4nPw6q/DyCLFoxUd/clDhNfbfPh1XR8Rt956Hk8JGo1svEP3sJQphOryg0caojlyvFw9j08= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPF5EA507B64 X-OriginatorOrg: intel.com X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gTW9uLCAyMDI2LTA1LTA0IGF0IDEwOjU4IC0wMzAwLCBHdXN0YXZvIFNvdXNhIHdyb3RlOg0K PiBTdHVhcnQgU3VtbWVycyA8c3R1YXJ0LnN1bW1lcnNAaW50ZWwuY29tPiB3cml0ZXM6DQo+IA0K PiA+IFNvcnQgdGhlIGZpZWxkcyBpbiBzdHJ1Y3QgeGVfY29uZmlnX2RldmljZSBhbmQgdGhlIGNv cnJlc3BvbmRpbmcNCj4gPiBkZXZpY2VfZGVmYXVsdHMgaW5pdGlhbGl6ZXIgaW4gYWxwaGFiZXRp Y2FsIG9yZGVyLiBOb24tU1JJT1YgZmllbGRzDQo+ID4gY29tZSBmaXJzdCAoYWxwaGFiZXRpY2Fs bHkpLCBmb2xsb3dlZCBieSB0aGUgU1JJT1Ygc3ViLXN0cnVjdCB3aXRoDQo+ID4gaXRzIG93biBm aWVsZHMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLiBBbHNvIHNvcnQgdGhlIFBSSV9DVVNUT01fQVRU Ug0KPiA+IGNhbGxzIGluIGR1bXBfY3VzdG9tX2Rldl9jb25maWcoKSB0byBtYXRjaCBhbmQgdGhl IGRvY3VtZW50YXRpb24NCj4gPiBmb3INCj4gPiBlYWNoIG9mIHRoZSBmaWVsZHMuDQo+IA0KPiBJ IHRoaW5rIHRoZSBzb3J0aW5nIGFscGhhYmV0aWNhbGx5IHNlZW1zIGZpbmUsIGJ1dCBJJ2xsIGRl ZmVyIGl0IHRvDQo+IG90aGVycyB0byB3ZWlnaCBpbiBoZXJlIG9uIHRoaXMgZGVjaXNpb24gdGhv dWdoLg0KPiANCj4gSSBndWVzcyB3ZSB3aWxsIG5vdCBoYXZlIG1hbnkgaW5zdGFuY2VzIG9mIHRo YXQgc3RydWN0LCBzbyBJIGd1ZXNzDQo+IHBvdGVudGlhbCBwYWRkaW5nIHJlc3VsdGluZyBmcm9t IHRoZSBzb3J0aW5nIHJlcXVpcmVtZW50IHNob3VsZCBiZQ0KPiBmaW5lLg0KPiANCj4gV2UgcHJv YmFibHkgd2FudCB0byBhZGQgYSBub3RlIHNvbWV3aGVyZSBpbiB0aGUgY29kZSBhc2tpbmcgdG8g a2VlcA0KPiB0aGF0DQo+IHN0dWZmIG9yZGVyZWQgYWxwaGFiZXRpY2FsbHkuDQo+IA0KPiBCeSB0 aGUgd2F5LCBmb3Igb3RoZXIgcGVvcGxlIGxvb2tpbmcgYXQgdGhpcywgSSBmaW5kIGl0IGVhc2ll ciB0bw0KPiByZXZpZXcNCj4gdGhpcyB3aXRoOiBnaXQgc2hvdyAtLWNvbG9yLW1vdmVkIC0taGlz dG9ncmFtLg0KPiANCj4gQ29kZS13aXNlLCBsb29rcyBnb29kIHRvIG1lLCBzbyBpZiB0aGlzIGlz IHRoZSBkaXJlY3Rpb24gd2UgdGFrZSwNCj4gDQo+IFJldmlld2VkLWJ5OiBHdXN0YXZvIFNvdXNh IDxndXN0YXZvLnNvdXNhQGludGVsLmNvbT4NCg0KSSBoYWQgYWNjaWRlbnRhbGx5IHJlc3BvbmRl ZCB0byB0aGUgd3JvbmcgcGF0Y2ggd2l0aCB0aGlzLi4uIEFsc28NCnRoYW5rcyBmb3IgdGhlIHJl dmlldyENCg0KWWVhaCB0aGlzIGlzIHNvbWV0aGluZyBJIHdhbnRlZCB0byBkaXNjdXNzIGhlcmUg dG9vLiBJIGtpbmQgb2YganVzdA0KYmxpbmRseSBhbHBoYWJldGl6ZWQgdGhpbmdzIGhlcmUsIGJ1 dCB3ZSBtaWdodCB3YW50IHRvIHNvcnQgYnkgZGF0YQ0KdHlwZSBvciBzb21ldGhpbmcgZWxzZS4g YWxzbywgd2Ugb25seSBoYXZlIGEgZmV3IHBhcmFtZXRlcnMgaGVyZSwgYnV0DQpJJ2QgbGlrZSB0 byBzZXQgdGhpcyB1cCB0byBzdXBwb3J0IGEgbXVjaCBsYXJnZXIgc2V0IG9mIHBhcmFtZXRlcnMg b24NCnRoZSBkZWJ1ZyBzaWRlIC0gd2UgbmVlZCBtdWNoIGZpbmVyIGdyYWluZWQgc3VwcG9ydCBm b3IgdGhpbmdzIGxpa2UNCnBvd2VyLW9uIGZvciBpbnN0YW5jZS4gQW5kIEknZCBsaWtlIGEgd2F5 IHRoYXQgZWFzaWx5IHNjYWxlcyBoZXJlLg0KDQpBbHNvIEkgYWdyZWUgb24gdGhlIGRvY3VtZW50 YXRpb24uLiBJJ2xsIG1ha2Ugc3VyZSB0byBhZGQgdGhhdCBpbiB0aGUNCm5leHQgcGF0Y2ggb25j ZSB3ZSBjb25jbHVkZSBvbiB0aGUgYXBwcm9hY2ggaGVyZS4NCg0KVGhhbmtzLA0KU3R1YXJ0DQoN Cj4gDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogU3R1YXJ0IFN1bW1lcnMgPHN0dWFydC5zdW1t ZXJzQGludGVsLmNvbT4NCj4gPiBBc3Npc3RlZC1ieTogQ29waWxvdDpjbGF1ZGUtb3B1cy00LjcN Cj4gPiAtLS0NCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS94ZS94ZV9jb25maWdmcy5jIHwgMTkyICsr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0NCj4gPiDCoDEgZmlsZSBjaGFuZ2Vk LCA5NiBpbnNlcnRpb25zKCspLCA5NiBkZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2NvbmZpZ2ZzLmMNCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS94ZS94ZV9jb25maWdmcy5jDQo+ID4gaW5kZXggNjlhYmM2OWVjMGYzLi4xZTEzNDA1N2ZhZTgg MTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3hlL3hlX2NvbmZpZ2ZzLmMNCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfY29uZmlnZnMuYw0KPiA+IEBAIC03Myw1MyArNzMs NzkgQEANCj4gPiDCoCAqIENvbmZpZ3VyZSBBdHRyaWJ1dGVzDQo+ID4gwqAgKiA9PT09PT09PT09 PT09PT09PT09PQ0KPiA+IMKgICoNCj4gPiAtICogU3Vydml2YWJpbGl0eSBtb2RlOg0KPiA+IC0g KiAtLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKyAqIENvbnRleHQgcmVzdG9yZSBCQg0KPiA+ICsg KiAtLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiDCoCAqDQo+ID4gLSAqIEVuYWJsZSBzdXJ2aXZhYmls aXR5IG1vZGUgb24gc3VwcG9ydGVkIGNhcmRzLiBUaGlzIHNldHRpbmcgb25seQ0KPiA+IHRha2Vz DQo+ID4gLSAqIGVmZmVjdCB3aGVuIHByb2JpbmcgdGhlIGRldmljZS4gRXhhbXBsZSB0byBlbmFi bGUgaXQ6Og0KPiA+ICsgKiBBbGxvdyB0byBleGVjdXRlIGEgYmF0Y2ggYnVmZmVyIGR1cmluZyBh bnkgY29udGV4dCBzd2l0Y2hlcy4NCj4gPiBXaGVuIHRoZQ0KPiA+ICsgKiBHUFUgaXMgcmVzdG9y aW5nIHRoZSBjb250ZXh0LCBpdCBleGVjdXRlcyBhZGRpdGlvbmFsIGNvbW1hbmRzLg0KPiA+IEl0 J3MgdXNlZnVsDQo+ID4gKyAqIGZvciB0ZXN0aW5nIGFkZGl0aW9uYWwgd29ya2Fyb3VuZHMgYW5k IHZhbGlkYXRpbmcgY2VydGFpbiBIVw0KPiA+IGJlaGF2aW9yczogaXQncw0KPiA+ICsgKiBub3Qg aW50ZW5kZWQgZm9yIG5vcm1hbCBleGVjdXRpb24gYW5kIHdpbGwgdGFpbnQgdGhlIGtlcm5lbA0K PiA+IHdpdGggVEFJTlRfVEVTVA0KPiA+ICsgKiB3aGVuIHVzZWQuDQo+ID4gwqAgKg0KPiA+IC0g KsKgwqDCoMKgwqAjIGVjaG8gMSA+DQo+ID4gL3N5cy9rZXJuZWwvY29uZmlnL3hlLzAwMDA6MDM6 MDAuMC9lbmFibGVfc3Vydml2YWJpbGl0eV9tb2RlDQo+ID4gKyAqIFRoZSBzeW50YXggYWxsb3dz IHRvIHBhc3Mgc3RyYWlnaHQgaW5zdHJ1Y3Rpb25zIHRvIGJlIGV4ZWN1dGVkDQo+ID4gYnkgdGhl IGVuZ2luZQ0KPiA+ICsgKiBpbiBhIGJhdGNoIGJ1ZmZlciBvciBzZXQgc3BlY2lmaWMgcmVnaXN0 ZXJzLg0KPiA+IMKgICoNCj4gPiAtICogVGhpcyBhdHRyaWJ1dGUgY2FuIG9ubHkgYmUgc2V0IGJl Zm9yZSBiaW5kaW5nIHRvIHRoZSBkZXZpY2UuDQo+ID4gKyAqICMuIEdlbmVyaWMgaW5zdHJ1Y3Rp b246Og0KPiA+IMKgICoNCj4gPiAtICogQWxsb3dlZCBHVCB0eXBlczoNCj4gPiAtICogLS0tLS0t LS0tLS0tLS0tLS0NCj4gPiArICrCoMKgwqDCoMKgPGVuZ2luZS1jbGFzcz4gY21kIDxpbnN0cj4g W1tkd29yZDBdIFtkd29yZDFdIFsuLi5dXQ0KPiA+IMKgICoNCj4gPiAtICogQWxsb3cgb25seSBz cGVjaWZpYyB0eXBlcyBvZiBHVHMgdG8gYmUgZGV0ZWN0ZWQgYW5kIGluaXRpYWxpemVkDQo+ID4g YnkgdGhlDQo+ID4gLSAqIGRyaXZlci7CoCBBbnkgY29tYmluYXRpb24gb2YgR1QgdHlwZXMgY2Fu IGJlIGVuYWJsZWQvZGlzYWJsZWQsDQo+ID4gYWx0aG91Z2gNCj4gPiAtICogc29tZSBzZXR0aW5n cyB3aWxsIGNhdXNlIHRoZSBkZXZpY2UgdG8gZmFpbCB0byBwcm9iZS4NCj4gPiArICogIy4gU2lt cGxlIHJlZ2lzdGVyIHNldHRpbmc6Og0KPiA+IMKgICoNCj4gPiAtICogV3JpdGVzIHN1cHBvcnQg Ym90aCBjb21tYS0gYW5kIG5ld2xpbmUtc2VwYXJhdGVkIGlucHV0IGZvcm1hdC4NCj4gPiBSZWFk cw0KPiA+IC0gKiB3aWxsIGFsd2F5cyByZXR1cm4gb25lIEdUIHR5cGUgcGVyIGxpbmUuICJwcmlt YXJ5IiBhbmQgIm1lZGlhIg0KPiA+IGFyZSB0aGUNCj4gPiAtICogR1QgdHlwZSBuYW1lcyBzdXBw b3J0ZWQgYnkgdGhpcyBpbnRlcmZhY2UuDQo+ID4gKyAqwqDCoMKgwqDCoDxlbmdpbmUtY2xhc3M+ IHJlZyA8YWRkcmVzcz4gPHZhbHVlPg0KPiA+IMKgICoNCj4gPiAtICogVGhpcyBhdHRyaWJ1dGUg Y2FuIG9ubHkgYmUgc2V0IGJlZm9yZSBiaW5kaW5nIHRvIHRoZSBkZXZpY2UuDQo+ID4gKyAqIENv bW1hbmRzIGFyZSBzYXZlZCBwZXIgZW5naW5lIGNsYXNzOiBhbGwgaW5zdGFuY2VzIG9mIHRoYXQN Cj4gPiBjbGFzcyB3aWxsIGV4ZWN1dGUNCj4gPiArICogdGhvc2UgY29tbWFuZHMgZHVyaW5nIGNv bnRleHQgc3dpdGNoLiBUaGUgaW5zdHJ1Y3Rpb24sIGR3b3JkDQo+ID4gYXJndW1lbnRzLA0KPiA+ ICsgKiBhZGRyZXNzZXMgYW5kIHZhbHVlcyBhcmUgaW4gaGV4IGZvcm1hdCBsaWtlIGluIHRoZSBl eGFtcGxlcw0KPiA+IGJlbG93Lg0KPiA+IMKgICoNCj4gPiAtICogRXhhbXBsZXM6DQo+ID4gKyAq ICMuIEV4ZWN1dGUgYSBMUkkgY29tbWFuZCB0byB3cml0ZSAweERFQURCRUVGIHRvIHJlZ2lzdGVy IDB4NGYxMA0KPiA+IGFmdGVyIHRoZQ0KPiA+ICsgKsKgwqDCoCBub3JtYWwgY29udGV4dCByZXN0 b3JlOjoNCj4gPiDCoCAqDQo+ID4gLSAqIEFsbG93IGJvdGggcHJpbWFyeSBhbmQgbWVkaWEgR1Rz IHRvIGJlIGluaXRpYWxpemVkIGFuZCB1c2VkLsKgDQo+ID4gVGhpcyBtYXRjaGVzDQo+ID4gLSAq IHRoZSBkcml2ZXIncyBkZWZhdWx0IGJlaGF2aW9yOjoNCj4gPiArICrCoMKgwqDCoMKgIyBlY2hv ICdyY3MgY21kIDExMDAwMDAxIDRGMTAwIERFQURCRUVGJyBcDQo+ID4gKyAqwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqA+DQo+ID4gL3N5cy9rZXJuZWwvY29uZmlnL3hlLzAwMDA6MDM6MDAuMC9j dHhfcmVzdG9yZV9wb3N0X2JiDQo+ID4gwqAgKg0KPiA+IC0gKsKgwqDCoMKgwqAjIGVjaG8gJ3By aW1hcnksbWVkaWEnID4NCj4gPiAvc3lzL2tlcm5lbC9jb25maWcveGUvMDAwMDowMzowMC4wL2d0 X3R5cGVzX2FsbG93ZWQNCj4gPiArICogIy4gRXhlY3V0ZSBhIExSSSBjb21tYW5kIHRvIHdyaXRl IDB4REVBREJFRUYgdG8gcmVnaXN0ZXIgMHg0ZjEwDQo+ID4gYXQgdGhlDQo+ID4gKyAqwqDCoMKg IGJlZ2lubmluZyBvZiB0aGUgY29udGV4dCByZXN0b3JlOjoNCj4gPiDCoCAqDQo+ID4gLSAqIEFs bG93IG9ubHkgdGhlIHByaW1hcnkgR1Qgb2YgZWFjaCB0aWxlIHRvIGJlIGluaXRpYWxpemVkIGFu ZA0KPiA+IHVzZWQsDQo+ID4gLSAqIGVmZmVjdGl2ZWx5IGRpc2FibGluZyB0aGUgbWVkaWEgR1Qg aWYgaXQgZXhpc3RzIG9uIHRoZQ0KPiA+IHBsYXRmb3JtOjoNCj4gPiArICrCoMKgwqDCoMKgIyBl Y2hvICdyY3MgY21kIDExMDAwMDAxIDRGMTAwIERFQURCRUVGJyBcDQo+ID4gKyAqwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqA+DQo+ID4gL3N5cy9rZXJuZWwvY29uZmlnL3hlLzAwMDA6MDM6MDAu MC9jdHhfcmVzdG9yZV9taWRfYmINCj4gPiArDQo+ID4gKyAqICMuIExvYWQgY2VydGFpbiB2YWx1 ZXMgaW4gYSBjb3VwbGUgb2YgcmVnaXN0ZXJzIChpdCBjYW4gYmUgdXNlZA0KPiA+IGFzIGEgc2lt cGxlcg0KPiA+ICsgKsKgwqDCoCBhbHRlcm5hdGl2ZSB0byB0aGUgYGNtZGApIGFjdGlvbjo6DQo+ ID4gwqAgKg0KPiA+IC0gKsKgwqDCoMKgwqAjIGVjaG8gJ3ByaW1hcnknID4NCj4gPiAvc3lzL2tl cm5lbC9jb25maWcveGUvMDAwMDowMzowMC4wL2d0X3R5cGVzX2FsbG93ZWQNCj4gPiArICrCoMKg wqDCoMKgIyBjYXQgPg0KPiA+IC9zeXMva2VybmVsL2NvbmZpZy94ZS8wMDAwOjAzOjAwLjAvY3R4 X3Jlc3RvcmVfcG9zdF9iYiA8PEVPRg0KPiA+ICsgKsKgwqDCoMKgwqByY3MgcmVnIDRGMTAwIERF QURCRUVGDQo+ID4gKyAqwqDCoMKgwqDCoHJjcyByZWcgNEYxMDQgRkZGRkZGRkYNCj4gPiArICrC oMKgwqDCoMKgRU9GDQo+ID4gwqAgKg0KPiA+IC0gKiBBbGxvdyBvbmx5IHRoZSBtZWRpYSBHVCBv ZiBlYWNoIHRpbGUgdG8gYmUgaW5pdGlhbGl6ZWQgYW5kDQo+ID4gdXNlZCwNCj4gPiAtICogZWZm ZWN0aXZlbHkgZGlzYWJsaW5nIHRoZSBwcmltYXJ5IEdULsKgICoqVGhpcyBjb25maWd1cmF0aW9u DQo+ID4gd2lsbCBjYXVzZQ0KPiA+IC0gKiBkZXZpY2UgcHJvYmUgZmFpbHVyZSBvbiBhbGwgY3Vy cmVudCBwbGF0Zm9ybXMsIGJ1dCBtYXkgYmUNCj4gPiBhbGxvd2VkIG9uDQo+ID4gLSAqIGlncHUg cGxhdGZvcm1zIGluIHRoZSBmdXR1cmUqKjo6DQo+ID4gKyAqwqDCoMKgIC4uIG5vdGU6Og0KPiA+ IMKgICoNCj4gPiAtICrCoMKgwqDCoMKgIyBlY2hvICdtZWRpYScgPg0KPiA+IC9zeXMva2VybmVs L2NvbmZpZy94ZS8wMDAwOjAzOjAwLjAvZ3RfdHlwZXNfYWxsb3dlZA0KPiA+ICsgKsKgwqDCoMKg wqDCoCBXaGVuIHVzaW5nIG11bHRpcGxlIGxpbmVzLCBtYWtlIHN1cmUgdG8gdXNlIGEgY29tbWFu ZA0KPiA+IHRoYXQgaXMNCj4gPiArICrCoMKgwqDCoMKgwqAgaW1wbGVtZW50ZWQgd2l0aCBhIHNp bmdsZSB3cml0ZSBzeXNjYWxsLCBsaWtlIEhFUkVET0MuDQo+ID4gwqAgKg0KPiA+IC0gKiBEaXNh YmxlIGFsbCBHVHMuwqAgT25seSBvdGhlciBHUFUgSVAgKHN1Y2ggYXMgZGlzcGxheSkgaXMNCj4g PiBwb3RlbnRpYWxseSB1c2FibGUuDQo+ID4gLSAqICoqVGhpcyBjb25maWd1cmF0aW9uIHdpbGwg Y2F1c2UgZGV2aWNlIHByb2JlIGZhaWx1cmUgb24gYWxsDQo+ID4gY3VycmVudA0KPiA+IC0gKiBw bGF0Zm9ybXMsIGJ1dCBtYXkgYmUgYWxsb3dlZCBvbiBpZ3B1IHBsYXRmb3JtcyBpbiB0aGUNCj4g PiBmdXR1cmUqKjo6DQo+ID4gKyAqIEN1cnJlbnRseSB0aGlzIGlzIGltcGxlbWVudGVkIG9ubHkg Zm9yIHBvc3QgYW5kIG1pZCBjb250ZXh0DQo+ID4gcmVzdG9yZSBhbmQNCj4gPiArICogdGhlc2Ug YXR0cmlidXRlcyBjYW4gb25seSBiZSBzZXQgYmVmb3JlIGJpbmRpbmcgdG8gdGhlIGRldmljZS4N Cj4gPiDCoCAqDQo+ID4gLSAqwqDCoMKgwqDCoCMgZWNobyAnJyA+DQo+ID4gL3N5cy9rZXJuZWwv Y29uZmlnL3hlLzAwMDA6MDM6MDAuMC9ndF90eXBlc19hbGxvd2VkDQo+ID4gKyAqIFBTTUkNCj4g PiArICogLS0tLQ0KPiA+ICsgKg0KPiA+ICsgKiBFbmFibGUgZXh0cmEgZGVidWdnaW5nIGNhcGFi aWxpdGllcyB0byB0cmFjZSBlbmdpbmUgZXhlY3V0aW9uLg0KPiA+IE9ubHkgdXNlZnVsDQo+ID4g KyAqIGR1cmluZyBlYXJseSBwbGF0Zm9ybSBlbmFibGluZyBhbmQgcmVxdWlyZXMgYWRkaXRpb25h bCBoYXJkd2FyZQ0KPiA+IGNvbm5lY3RlZC4NCj4gPiArICogT25jZSBpdCdzIGVuYWJsZWQsIGFk ZGl0aW9uYWxzIFdBcyBhcmUgYWRkZWQgYW5kIHJ1bnRpbWUNCj4gPiBjb25maWd1cmF0aW9uIGlz DQo+ID4gKyAqIGRvbmUgdmlhIGRlYnVnZnMuIEV4YW1wbGUgdG8gZW5hYmxlIGl0OjoNCj4gPiAr ICoNCj4gPiArICrCoMKgwqDCoMKgIyBlY2hvIDEgPiAvc3lzL2tlcm5lbC9jb25maWcveGUvMDAw MDowMzowMC4wL2VuYWJsZV9wc21pDQo+ID4gKyAqDQo+ID4gKyAqIFRoaXMgYXR0cmlidXRlIGNh biBvbmx5IGJlIHNldCBiZWZvcmUgYmluZGluZyB0byB0aGUgZGV2aWNlLg0KPiA+ICsgKg0KPiA+ ICsgKiBTdXJ2aXZhYmlsaXR5IG1vZGU6DQo+ID4gKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g PiArICoNCj4gPiArICogRW5hYmxlIHN1cnZpdmFiaWxpdHkgbW9kZSBvbiBzdXBwb3J0ZWQgY2Fy ZHMuIFRoaXMgc2V0dGluZyBvbmx5DQo+ID4gdGFrZXMNCj4gPiArICogZWZmZWN0IHdoZW4gcHJv YmluZyB0aGUgZGV2aWNlLiBFeGFtcGxlIHRvIGVuYWJsZSBpdDo6DQo+ID4gKyAqDQo+ID4gKyAq wqDCoMKgwqDCoCMgZWNobyAxID4NCj4gPiAvc3lzL2tlcm5lbC9jb25maWcveGUvMDAwMDowMzow MC4wL2VuYWJsZV9zdXJ2aXZhYmlsaXR5X21vZGUNCj4gPiArICoNCj4gPiArICogVGhpcyBhdHRy aWJ1dGUgY2FuIG9ubHkgYmUgc2V0IGJlZm9yZSBiaW5kaW5nIHRvIHRoZSBkZXZpY2UuDQo+ID4g wqAgKg0KPiA+IMKgICogQWxsb3dlZCBlbmdpbmVzOg0KPiA+IMKgICogLS0tLS0tLS0tLS0tLS0t LQ0KPiA+IEBAIC0xNDcsNjkgKzE3Myw0MyBAQA0KPiA+IMKgICoNCj4gPiDCoCAqIFRoaXMgYXR0 cmlidXRlIGNhbiBvbmx5IGJlIHNldCBiZWZvcmUgYmluZGluZyB0byB0aGUgZGV2aWNlLg0KPiA+ IMKgICoNCj4gPiAtICogUFNNSQ0KPiA+IC0gKiAtLS0tDQo+ID4gKyAqIEFsbG93ZWQgR1QgdHlw ZXM6DQo+ID4gKyAqIC0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gwqAgKg0KPiA+IC0gKiBFbmFibGUg ZXh0cmEgZGVidWdnaW5nIGNhcGFiaWxpdGllcyB0byB0cmFjZSBlbmdpbmUgZXhlY3V0aW9uLg0K PiA+IE9ubHkgdXNlZnVsDQo+ID4gLSAqIGR1cmluZyBlYXJseSBwbGF0Zm9ybSBlbmFibGluZyBh bmQgcmVxdWlyZXMgYWRkaXRpb25hbCBoYXJkd2FyZQ0KPiA+IGNvbm5lY3RlZC4NCj4gPiAtICog T25jZSBpdCdzIGVuYWJsZWQsIGFkZGl0aW9uYWxzIFdBcyBhcmUgYWRkZWQgYW5kIHJ1bnRpbWUN Cj4gPiBjb25maWd1cmF0aW9uIGlzDQo+ID4gLSAqIGRvbmUgdmlhIGRlYnVnZnMuIEV4YW1wbGUg dG8gZW5hYmxlIGl0OjoNCj4gPiArICogQWxsb3cgb25seSBzcGVjaWZpYyB0eXBlcyBvZiBHVHMg dG8gYmUgZGV0ZWN0ZWQgYW5kIGluaXRpYWxpemVkDQo+ID4gYnkgdGhlDQo+ID4gKyAqIGRyaXZl ci7CoCBBbnkgY29tYmluYXRpb24gb2YgR1QgdHlwZXMgY2FuIGJlIGVuYWJsZWQvZGlzYWJsZWQs DQo+ID4gYWx0aG91Z2gNCj4gPiArICogc29tZSBzZXR0aW5ncyB3aWxsIGNhdXNlIHRoZSBkZXZp Y2UgdG8gZmFpbCB0byBwcm9iZS4NCj4gPiDCoCAqDQo+ID4gLSAqwqDCoMKgwqDCoCMgZWNobyAx ID4gL3N5cy9rZXJuZWwvY29uZmlnL3hlLzAwMDA6MDM6MDAuMC9lbmFibGVfcHNtaQ0KPiA+ICsg KiBXcml0ZXMgc3VwcG9ydCBib3RoIGNvbW1hLSBhbmQgbmV3bGluZS1zZXBhcmF0ZWQgaW5wdXQg Zm9ybWF0Lg0KPiA+IFJlYWRzDQo+ID4gKyAqIHdpbGwgYWx3YXlzIHJldHVybiBvbmUgR1QgdHlw ZSBwZXIgbGluZS4gInByaW1hcnkiIGFuZCAibWVkaWEiDQo+ID4gYXJlIHRoZQ0KPiA+ICsgKiBH VCB0eXBlIG5hbWVzIHN1cHBvcnRlZCBieSB0aGlzIGludGVyZmFjZS4NCj4gPiDCoCAqDQo+ID4g wqAgKiBUaGlzIGF0dHJpYnV0ZSBjYW4gb25seSBiZSBzZXQgYmVmb3JlIGJpbmRpbmcgdG8gdGhl IGRldmljZS4NCj4gPiDCoCAqDQo+ID4gLSAqIENvbnRleHQgcmVzdG9yZSBCQg0KPiA+IC0gKiAt LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAtICoNCj4gPiAtICogQWxsb3cgdG8gZXhlY3V0ZSBhIGJh dGNoIGJ1ZmZlciBkdXJpbmcgYW55IGNvbnRleHQgc3dpdGNoZXMuDQo+ID4gV2hlbiB0aGUNCj4g PiAtICogR1BVIGlzIHJlc3RvcmluZyB0aGUgY29udGV4dCwgaXQgZXhlY3V0ZXMgYWRkaXRpb25h bCBjb21tYW5kcy4NCj4gPiBJdCdzIHVzZWZ1bA0KPiA+IC0gKiBmb3IgdGVzdGluZyBhZGRpdGlv bmFsIHdvcmthcm91bmRzIGFuZCB2YWxpZGF0aW5nIGNlcnRhaW4gSFcNCj4gPiBiZWhhdmlvcnM6 IGl0J3MNCj4gPiAtICogbm90IGludGVuZGVkIGZvciBub3JtYWwgZXhlY3V0aW9uIGFuZCB3aWxs IHRhaW50IHRoZSBrZXJuZWwNCj4gPiB3aXRoIFRBSU5UX1RFU1QNCj4gPiAtICogd2hlbiB1c2Vk Lg0KPiA+IC0gKg0KPiA+IC0gKiBUaGUgc3ludGF4IGFsbG93cyB0byBwYXNzIHN0cmFpZ2h0IGlu c3RydWN0aW9ucyB0byBiZSBleGVjdXRlZA0KPiA+IGJ5IHRoZSBlbmdpbmUNCj4gPiAtICogaW4g YSBiYXRjaCBidWZmZXIgb3Igc2V0IHNwZWNpZmljIHJlZ2lzdGVycy4NCj4gPiAtICoNCj4gPiAt ICogIy4gR2VuZXJpYyBpbnN0cnVjdGlvbjo6DQo+ID4gLSAqDQo+ID4gLSAqwqDCoMKgwqDCoDxl bmdpbmUtY2xhc3M+IGNtZCA8aW5zdHI+IFtbZHdvcmQwXSBbZHdvcmQxXSBbLi4uXV0NCj4gPiAt ICoNCj4gPiAtICogIy4gU2ltcGxlIHJlZ2lzdGVyIHNldHRpbmc6Og0KPiA+IC0gKg0KPiA+IC0g KsKgwqDCoMKgwqA8ZW5naW5lLWNsYXNzPiByZWcgPGFkZHJlc3M+IDx2YWx1ZT4NCj4gPiAtICoN Cj4gPiAtICogQ29tbWFuZHMgYXJlIHNhdmVkIHBlciBlbmdpbmUgY2xhc3M6IGFsbCBpbnN0YW5j ZXMgb2YgdGhhdA0KPiA+IGNsYXNzIHdpbGwgZXhlY3V0ZQ0KPiA+IC0gKiB0aG9zZSBjb21tYW5k cyBkdXJpbmcgY29udGV4dCBzd2l0Y2guIFRoZSBpbnN0cnVjdGlvbiwgZHdvcmQNCj4gPiBhcmd1 bWVudHMsDQo+ID4gLSAqIGFkZHJlc3NlcyBhbmQgdmFsdWVzIGFyZSBpbiBoZXggZm9ybWF0IGxp a2UgaW4gdGhlIGV4YW1wbGVzDQo+ID4gYmVsb3cuDQo+ID4gKyAqIEV4YW1wbGVzOg0KPiA+IMKg ICoNCj4gPiAtICogIy4gRXhlY3V0ZSBhIExSSSBjb21tYW5kIHRvIHdyaXRlIDB4REVBREJFRUYg dG8gcmVnaXN0ZXIgMHg0ZjEwDQo+ID4gYWZ0ZXIgdGhlDQo+ID4gLSAqwqDCoMKgIG5vcm1hbCBj b250ZXh0IHJlc3RvcmU6Og0KPiA+ICsgKiBBbGxvdyBib3RoIHByaW1hcnkgYW5kIG1lZGlhIEdU cyB0byBiZSBpbml0aWFsaXplZCBhbmQgdXNlZC7CoA0KPiA+IFRoaXMgbWF0Y2hlcw0KPiA+ICsg KiB0aGUgZHJpdmVyJ3MgZGVmYXVsdCBiZWhhdmlvcjo6DQo+ID4gwqAgKg0KPiA+IC0gKsKgwqDC oMKgwqAjIGVjaG8gJ3JjcyBjbWQgMTEwMDAwMDEgNEYxMDAgREVBREJFRUYnIFwNCj4gPiAtICrC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoD4NCj4gPiAvc3lzL2tlcm5lbC9jb25maWcveGUvMDAw MDowMzowMC4wL2N0eF9yZXN0b3JlX3Bvc3RfYmINCj4gPiArICrCoMKgwqDCoMKgIyBlY2hvICdw cmltYXJ5LG1lZGlhJyA+DQo+ID4gL3N5cy9rZXJuZWwvY29uZmlnL3hlLzAwMDA6MDM6MDAuMC9n dF90eXBlc19hbGxvd2VkDQo+ID4gwqAgKg0KPiA+IC0gKiAjLiBFeGVjdXRlIGEgTFJJIGNvbW1h bmQgdG8gd3JpdGUgMHhERUFEQkVFRiB0byByZWdpc3RlciAweDRmMTANCj4gPiBhdCB0aGUNCj4g PiAtICrCoMKgwqAgYmVnaW5uaW5nIG9mIHRoZSBjb250ZXh0IHJlc3RvcmU6Og0KPiA+ICsgKiBB bGxvdyBvbmx5IHRoZSBwcmltYXJ5IEdUIG9mIGVhY2ggdGlsZSB0byBiZSBpbml0aWFsaXplZCBh bmQNCj4gPiB1c2VkLA0KPiA+ICsgKiBlZmZlY3RpdmVseSBkaXNhYmxpbmcgdGhlIG1lZGlhIEdU IGlmIGl0IGV4aXN0cyBvbiB0aGUNCj4gPiBwbGF0Zm9ybTo6DQo+ID4gwqAgKg0KPiA+IC0gKsKg wqDCoMKgwqAjIGVjaG8gJ3JjcyBjbWQgMTEwMDAwMDEgNEYxMDAgREVBREJFRUYnIFwNCj4gPiAt ICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoD4NCj4gPiAvc3lzL2tlcm5lbC9jb25maWcveGUv MDAwMDowMzowMC4wL2N0eF9yZXN0b3JlX21pZF9iYg0KPiA+IC0NCj4gPiAtICogIy4gTG9hZCBj ZXJ0YWluIHZhbHVlcyBpbiBhIGNvdXBsZSBvZiByZWdpc3RlcnMgKGl0IGNhbiBiZSB1c2VkDQo+ ID4gYXMgYSBzaW1wbGVyDQo+ID4gLSAqwqDCoMKgIGFsdGVybmF0aXZlIHRvIHRoZSBgY21kYCkg YWN0aW9uOjoNCj4gPiArICrCoMKgwqDCoMKgIyBlY2hvICdwcmltYXJ5JyA+DQo+ID4gL3N5cy9r ZXJuZWwvY29uZmlnL3hlLzAwMDA6MDM6MDAuMC9ndF90eXBlc19hbGxvd2VkDQo+ID4gwqAgKg0K PiA+IC0gKsKgwqDCoMKgwqAjIGNhdCA+DQo+ID4gL3N5cy9rZXJuZWwvY29uZmlnL3hlLzAwMDA6 MDM6MDAuMC9jdHhfcmVzdG9yZV9wb3N0X2JiIDw8RU9GDQo+ID4gLSAqwqDCoMKgwqDCoHJjcyBy ZWcgNEYxMDAgREVBREJFRUYNCj4gPiAtICrCoMKgwqDCoMKgcmNzIHJlZyA0RjEwNCBGRkZGRkZG Rg0KPiA+IC0gKsKgwqDCoMKgwqBFT0YNCj4gPiArICogQWxsb3cgb25seSB0aGUgbWVkaWEgR1Qg b2YgZWFjaCB0aWxlIHRvIGJlIGluaXRpYWxpemVkIGFuZA0KPiA+IHVzZWQsDQo+ID4gKyAqIGVm ZmVjdGl2ZWx5IGRpc2FibGluZyB0aGUgcHJpbWFyeSBHVC7CoCAqKlRoaXMgY29uZmlndXJhdGlv bg0KPiA+IHdpbGwgY2F1c2UNCj4gPiArICogZGV2aWNlIHByb2JlIGZhaWx1cmUgb24gYWxsIGN1 cnJlbnQgcGxhdGZvcm1zLCBidXQgbWF5IGJlDQo+ID4gYWxsb3dlZCBvbg0KPiA+ICsgKiBpZ3B1 IHBsYXRmb3JtcyBpbiB0aGUgZnV0dXJlKio6Og0KPiA+IMKgICoNCj4gPiAtICrCoMKgwqAgLi4g bm90ZTo6DQo+ID4gKyAqwqDCoMKgwqDCoCMgZWNobyAnbWVkaWEnID4NCj4gPiAvc3lzL2tlcm5l bC9jb25maWcveGUvMDAwMDowMzowMC4wL2d0X3R5cGVzX2FsbG93ZWQNCj4gPiDCoCAqDQo+ID4g LSAqwqDCoMKgwqDCoMKgIFdoZW4gdXNpbmcgbXVsdGlwbGUgbGluZXMsIG1ha2Ugc3VyZSB0byB1 c2UgYSBjb21tYW5kDQo+ID4gdGhhdCBpcw0KPiA+IC0gKsKgwqDCoMKgwqDCoCBpbXBsZW1lbnRl ZCB3aXRoIGEgc2luZ2xlIHdyaXRlIHN5c2NhbGwsIGxpa2UgSEVSRURPQy4NCj4gPiArICogRGlz YWJsZSBhbGwgR1RzLsKgIE9ubHkgb3RoZXIgR1BVIElQIChzdWNoIGFzIGRpc3BsYXkpIGlzDQo+ ID4gcG90ZW50aWFsbHkgdXNhYmxlLg0KPiA+ICsgKiAqKlRoaXMgY29uZmlndXJhdGlvbiB3aWxs IGNhdXNlIGRldmljZSBwcm9iZSBmYWlsdXJlIG9uIGFsbA0KPiA+IGN1cnJlbnQNCj4gPiArICog cGxhdGZvcm1zLCBidXQgbWF5IGJlIGFsbG93ZWQgb24gaWdwdSBwbGF0Zm9ybXMgaW4gdGhlDQo+ ID4gZnV0dXJlKio6Og0KPiA+IMKgICoNCj4gPiAtICogQ3VycmVudGx5IHRoaXMgaXMgaW1wbGVt ZW50ZWQgb25seSBmb3IgcG9zdCBhbmQgbWlkIGNvbnRleHQNCj4gPiByZXN0b3JlIGFuZA0KPiA+ IC0gKiB0aGVzZSBhdHRyaWJ1dGVzIGNhbiBvbmx5IGJlIHNldCBiZWZvcmUgYmluZGluZyB0byB0 aGUgZGV2aWNlLg0KPiA+ICsgKsKgwqDCoMKgwqAjIGVjaG8gJycgPg0KPiA+IC9zeXMva2VybmVs L2NvbmZpZy94ZS8wMDAwOjAzOjAwLjAvZ3RfdHlwZXNfYWxsb3dlZA0KPiA+IMKgICoNCj4gPiDC oCAqIE1heCBTUi1JT1YgVmlydHVhbCBGdW5jdGlvbnMNCj4gPiDCoCAqIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gPiBAQCAtMjU2LDE1ICsyNTYsMTUgQEAgc3RydWN0IHhlX2NvbmZp Z19ncm91cF9kZXZpY2Ugew0KPiA+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY29uZmlnX2dyb3Vw IHNyaW92Ow0KPiA+IMKgDQo+ID4gwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB4ZV9jb25maWdfZGV2 aWNlIHsNCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdTY0IGd0X3R5cGVzX2Fs bG93ZWQ7DQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHU2NCBlbmdpbmVzX2Fs bG93ZWQ7DQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB3YV9iYg0K PiA+IGN0eF9yZXN0b3JlX3Bvc3RfYmJbWEVfRU5HSU5FX0NMQVNTX01BWF07DQo+ID4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgd2FfYmINCj4gPiBjdHhfcmVzdG9yZV9t aWRfYmJbWEVfRU5HSU5FX0NMQVNTX01BWF07DQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGJvb2wgZW5hYmxlX3N1cnZpdmFiaWxpdHlfbW9kZTsNCj4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHdhX2JiDQo+ID4gY3R4X3Jlc3RvcmVfcG9zdF9iYltY RV9FTkdJTkVfQ0xBU1NfTUFYXTsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGJvb2wgZW5hYmxlX3BzbWk7DQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGJv b2wgZW5hYmxlX3N1cnZpdmFiaWxpdHlfbW9kZTsNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgdTY0IGVuZ2luZXNfYWxsb3dlZDsNCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgdTY0IGd0X3R5cGVzX2FsbG93ZWQ7DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBzdHJ1Y3Qgew0KPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgdW5zaWduZWQgaW50IG1heF92ZnM7DQo+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYm9vbCBhZG1pbl9vbmx5X3BmOw0KPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdW5zaWduZWQg aW50IG1heF92ZnM7DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9IHNyaW92 Ow0KPiA+IMKgwqDCoMKgwqDCoMKgwqB9IGNvbmZpZzsNCj4gPiDCoA0KPiA+IEBAIC0yNzcsMTMg KzI3NywxMyBAQCBzdHJ1Y3QgeGVfY29uZmlnX2dyb3VwX2RldmljZSB7DQo+ID4gwqB9Ow0KPiA+ IMKgDQo+ID4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IHhlX2NvbmZpZ19kZXZpY2UgZGV2aWNlX2Rl ZmF1bHRzID0gew0KPiA+IC3CoMKgwqDCoMKgwqDCoC5ndF90eXBlc19hbGxvd2VkID0gVTY0X01B WCwNCj4gPiAtwqDCoMKgwqDCoMKgwqAuZW5naW5lc19hbGxvd2VkID0gVTY0X01BWCwNCj4gPiAt wqDCoMKgwqDCoMKgwqAuZW5hYmxlX3N1cnZpdmFiaWxpdHlfbW9kZSA9IGZhbHNlLA0KPiA+IMKg wqDCoMKgwqDCoMKgwqAuZW5hYmxlX3BzbWkgPSBmYWxzZSwNCj4gPiArwqDCoMKgwqDCoMKgwqAu ZW5hYmxlX3N1cnZpdmFiaWxpdHlfbW9kZSA9IGZhbHNlLA0KPiA+ICvCoMKgwqDCoMKgwqDCoC5l bmdpbmVzX2FsbG93ZWQgPSBVNjRfTUFYLA0KPiA+ICvCoMKgwqDCoMKgwqDCoC5ndF90eXBlc19h bGxvd2VkID0gVTY0X01BWCwNCj4gPiDCoMKgwqDCoMKgwqDCoMKgLnNyaW92ID0gew0KPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubWF4X3ZmcyA9IFhFX0RFRkFVTFRfTUFYX1ZG UywNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5hZG1pbl9vbmx5X3BmID0g WEVfREVGQVVMVF9BRE1JTl9PTkxZX1BGLA0KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAubWF4X3ZmcyA9IFhFX0RFRkFVTFRfTUFYX1ZGUywNCj4gPiDCoMKgwqDCoMKgwqDCoMKg fSwNCj4gPiDCoH07DQo+ID4gwqANCj4gPiBAQCAtODE0LDE3ICs4MTQsMTcgQEAgc3RhdGljIHNz aXplX3QNCj4gPiBjdHhfcmVzdG9yZV9wb3N0X2JiX3N0b3JlKHN0cnVjdCBjb25maWdfaXRlbSAq aXRlbSwNCj4gPiDCoENPTkZJR0ZTX0FUVFIoLCBjdHhfcmVzdG9yZV9taWRfYmIpOw0KPiA+IMKg Q09ORklHRlNfQVRUUigsIGN0eF9yZXN0b3JlX3Bvc3RfYmIpOw0KPiA+IMKgQ09ORklHRlNfQVRU UigsIGVuYWJsZV9wc21pKTsNCj4gPiArQ09ORklHRlNfQVRUUigsIGVuYWJsZV9zdXJ2aXZhYmls aXR5X21vZGUpOw0KPiA+IMKgQ09ORklHRlNfQVRUUigsIGVuZ2luZXNfYWxsb3dlZCk7DQo+ID4g wqBDT05GSUdGU19BVFRSKCwgZ3RfdHlwZXNfYWxsb3dlZCk7DQo+ID4gLUNPTkZJR0ZTX0FUVFIo LCBlbmFibGVfc3Vydml2YWJpbGl0eV9tb2RlKTsNCj4gPiDCoA0KPiA+IMKgc3RhdGljIHN0cnVj dCBjb25maWdmc19hdHRyaWJ1dGUgKnhlX2NvbmZpZ19kZXZpY2VfYXR0cnNbXSA9IHsNCj4gPiDC oMKgwqDCoMKgwqDCoMKgJmF0dHJfY3R4X3Jlc3RvcmVfbWlkX2JiLA0KPiA+IMKgwqDCoMKgwqDC oMKgwqAmYXR0cl9jdHhfcmVzdG9yZV9wb3N0X2JiLA0KPiA+IMKgwqDCoMKgwqDCoMKgwqAmYXR0 cl9lbmFibGVfcHNtaSwNCj4gPiArwqDCoMKgwqDCoMKgwqAmYXR0cl9lbmFibGVfc3Vydml2YWJp bGl0eV9tb2RlLA0KPiA+IMKgwqDCoMKgwqDCoMKgwqAmYXR0cl9lbmdpbmVzX2FsbG93ZWQsDQo+ ID4gwqDCoMKgwqDCoMKgwqDCoCZhdHRyX2d0X3R5cGVzX2FsbG93ZWQsDQo+ID4gLcKgwqDCoMKg wqDCoMKgJmF0dHJfZW5hYmxlX3N1cnZpdmFiaWxpdHlfbW9kZSwNCj4gPiDCoMKgwqDCoMKgwqDC oMKgTlVMTCwNCj4gPiDCoH07DQo+ID4gwqANCj4gPiBAQCAtOTI5LDEyICs5MjksMTIgQEAgc3Rh dGljIHNzaXplX3QNCj4gPiBzcmlvdl9hZG1pbl9vbmx5X3BmX3N0b3JlKHN0cnVjdCBjb25maWdf aXRlbSAqaXRlbSwgY29uc3QgY2hhciAqcA0KPiA+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gbGVu Ow0KPiA+IMKgfQ0KPiA+IMKgDQo+ID4gLUNPTkZJR0ZTX0FUVFIoc3Jpb3ZfLCBtYXhfdmZzKTsN Cj4gPiDCoENPTkZJR0ZTX0FUVFIoc3Jpb3ZfLCBhZG1pbl9vbmx5X3BmKTsNCj4gPiArQ09ORklH RlNfQVRUUihzcmlvdl8sIG1heF92ZnMpOw0KPiA+IMKgDQo+ID4gwqBzdGF0aWMgc3RydWN0IGNv bmZpZ2ZzX2F0dHJpYnV0ZSAqeGVfY29uZmlnX3NyaW92X2F0dHJzW10gPSB7DQo+ID4gLcKgwqDC oMKgwqDCoMKgJnNyaW92X2F0dHJfbWF4X3ZmcywNCj4gPiDCoMKgwqDCoMKgwqDCoMKgJnNyaW92 X2F0dHJfYWRtaW5fb25seV9wZiwNCj4gPiArwqDCoMKgwqDCoMKgwqAmc3Jpb3ZfYXR0cl9tYXhf dmZzLA0KPiA+IMKgwqDCoMKgwqDCoMKgwqBOVUxMLA0KPiA+IMKgfTsNCj4gPiDCoA0KPiA+IEBA IC0xMDk2LDEwICsxMDk2LDEwIEBAIHN0YXRpYyB2b2lkIGR1bXBfY3VzdG9tX2Rldl9jb25maWco c3RydWN0DQo+ID4gcGNpX2RldiAqcGRldiwNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRldi0+Y29uZmlnLmF0dHJf KTsgXA0KPiA+IMKgwqDCoMKgwqDCoMKgwqB9IHdoaWxlICgwKQ0KPiA+IMKgDQo+ID4gLcKgwqDC oMKgwqDCoMKgUFJJX0NVU1RPTV9BVFRSKCIlbGx4IiwgZ3RfdHlwZXNfYWxsb3dlZCk7DQo+ID4g LcKgwqDCoMKgwqDCoMKgUFJJX0NVU1RPTV9BVFRSKCIlbGx4IiwgZW5naW5lc19hbGxvd2VkKTsN Cj4gPiDCoMKgwqDCoMKgwqDCoMKgUFJJX0NVU1RPTV9BVFRSKCIlZCIsIGVuYWJsZV9wc21pKTsN Cj4gPiDCoMKgwqDCoMKgwqDCoMKgUFJJX0NVU1RPTV9BVFRSKCIlZCIsIGVuYWJsZV9zdXJ2aXZh YmlsaXR5X21vZGUpOw0KPiA+ICvCoMKgwqDCoMKgwqDCoFBSSV9DVVNUT01fQVRUUigiJWxseCIs IGVuZ2luZXNfYWxsb3dlZCk7DQo+ID4gK8KgwqDCoMKgwqDCoMKgUFJJX0NVU1RPTV9BVFRSKCIl bGx4IiwgZ3RfdHlwZXNfYWxsb3dlZCk7DQo+ID4gwqDCoMKgwqDCoMKgwqDCoFBSSV9DVVNUT01f QVRUUigiJXUiLCBzcmlvdi5hZG1pbl9vbmx5X3BmKTsNCj4gPiDCoA0KPiA+IMKgI3VuZGVmIFBS SV9DVVNUT01fQVRUUg0KPiA+IC0tIA0KPiA+IDIuNDMuMA0KDQo=