From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web10.19655.1670518291972218389 for ; Thu, 08 Dec 2022 08:51:32 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=OQtGwAnn; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670518291; x=1702054291; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=5l+RH1PpOzLTCPh78iz6sgwp0PIiCGafzzOxzvgbpe4=; b=OQtGwAnna/RU2Di0wiwq4xIyupc3f+2hS44MmrC/3bp3oTLJDs0siUMx Cvgo9n1K89q1iMEtS5/G8dBCE+j5vbtTvo6qKA+7lsbYV4BLv6UgLI1kG JVGhU7Y9KQYjY2tdoI0ggPrrBAynma8F0mULNkku+3lT4/qkHJ0RAlA/g hjLIK8IAYxI66A3njP+W0nfpNf0yq0mnY+xEj50cKf0c1ERi/zDmHCnlu RbB0iZtZCsvPCVvJEg0Qq2c6W0koWtuGYyS23o8RXWG5XSweqYPE8ygdF ht/9/L+NL0R2LASlnkCQH+WLvQ0gxfPrwfWbvijMimICSGNgNpJHzBf0v w==; X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="296912018" X-IronPort-AV: E=Sophos;i="5.96,227,1665471600"; d="scan'208";a="296912018" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2022 08:51:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="624773545" X-IronPort-AV: E=Sophos;i="5.96,227,1665471600"; d="scan'208";a="624773545" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga006.jf.intel.com with ESMTP; 08 Dec 2022 08:51:31 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 8 Dec 2022 08:51:30 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.16 via Frontend Transport; Thu, 8 Dec 2022 08:51:30 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 8 Dec 2022 08:51:30 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mfhQm1FL/CbsCtZtZsRUJAIYNj9chsdOgOblfPWCAwtxgOBaJTCiU3ADLqDbmNemkYXUQIslfXz5Y8h4r0DCxV56QRWaknJ9jcL2eloVdJEv8ezsG0lAYqaXbNLvuJFvz3kYKLCPYT3H9Jn1DA4plKochy28kCNKg4E3AP1tAMQgbNdTT1l0G4LqT6Wqv7Z+64RFT6IvdvUT+uGn5PGfpOSdESlhidWfpmdrOotnmCwqkjDPd8/qPQQzZnHTfAmsaIBIzsKYadjKqrhs475hU4SLg2zu88NU1C22EyLLZxoxXfmVwHY87bvGnvtDdL/dnZI4d5PChTJfQMksH0WBhQ== 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=5l+RH1PpOzLTCPh78iz6sgwp0PIiCGafzzOxzvgbpe4=; b=bqCGkY6FelZHtu6jBWyqcpqaJsXZkngDYTPCHQAIAFDHg2F6tjbwfvmUSAxE31SatgcgLyu2Gk3nKn641hGKzIdN37NK7BvtCZP+dFtUOcc5to2syy6AocyWyNSsgS8zR5ZqXRPYCGqaAFnn6rmAhn8/WFtO1UxWcQL1w4/naUGTU4cw7ipi5pmaXjwgm1jbaVqkd/GRRHk0bpeG0McC4BsCr0OhTZpv7FyJlwWYV66lcIXwSp8Q4m7gek88ac5LdwAEvoT2ZhSDBihTjSR3CkqeYyJRE6zxGXTr2RjIKtPA0lcDFn61Tdu2P2jNWh3/YJSQQRKHJ4tf8Cdnxn1cfg== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by DS7PR11MB6295.namprd11.prod.outlook.com (2603:10b6:8:95::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec 2022 16:51:28 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b%6]) with mapi id 15.20.5880.016; Thu, 8 Dec 2022 16:51:28 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "ardb@kernel.org" , "Kinney, Michael D" CC: "Ni, Ray" , "Gao, Zhichao" Subject: Re: [edk2-devel] [PATCH] ShellPkg: Avoid corrupting installed device path protocols Thread-Topic: [edk2-devel] [PATCH] ShellPkg: Avoid corrupting installed device path protocols Thread-Index: AQHZClbUinpGwqLgmkaFxYxlqW/6X65kNccQ Date: Thu, 8 Dec 2022 16:51:28 +0000 Message-ID: References: <20221207161245.2554193-1-ardb@kernel.org> In-Reply-To: <20221207161245.2554193-1-ardb@kernel.org> Accept-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: CO1PR11MB4929:EE_|DS7PR11MB6295:EE_ x-ms-office365-filtering-correlation-id: 8faa9fc5-ffdb-44b5-50fc-08dad93c7398 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: J0hasVDItM5NJV4noVpOXmk3mm3cy0rKIfTQVaUhng+AHRWh5YkEGtIznlUSx16VSB9wxfBVpQJenCfgqrBO5+EqEbzJ2KhvV+Ig8ZIonusVqPKEgbe3/Tzua3aaVGuMEGUZU5mv7yLcy7H1Dq+tAVGilncHoIfixGgHCfq9pQRSCzd6evmPRS+ky+vEwOWkMiqAIq3B2TCU5H0q0dRBT6+mlOX/d0i2PZOozVgICdbYYb6JsB0q5KeM52EbvsBPtoWdSt3bc45q6GSI083WHIQx7kpmjiXabuZUAOVkHhoJ/qRYhOdTySnmo4DZCLIRrPeaGDVOvRvw9kAh+2IcFnfJt+riskCSzqq2xg76zJafbppp5X2b5d+8iIaYwnLs2fMbIAhsf2oryAuYRePlEmbZ+Gf7ESaNtdFSNZP8Z57oDBoOPd2Xv8ai2AWbnIaMn8VoW9jypxh6sv248awzJeIjVjPttexdpGQgnFLXImzkQhNYqx8la+KYdrHH4rSdOKpzYFwxa9VDcMwE640qIpro4wKSVvhFYPLQBJlST4Vk4kwyOX/cnzYglW3XrfO1LNhbjoYC0dIoxD39TmjMMzM02HR169OS0Ri3LYSuLTkMEZ533orrbS3gzYOZtIQf9fnFRpR8uwuRIGT68YQbZc0lRvntqLBNVg2QvHXMmzn+POAOMgfqT/AVrSc1hiG2KYKgPGOSukM1ztLEKQ/Rt59qlsdLNT6+EHXPCEc2P2xleNQCaXtLlAkS/zBsyrMdkae2pwTV1ay7Y+9j5VgEjQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(396003)(346002)(39860400002)(376002)(451199015)(55016003)(86362001)(82960400001)(33656002)(38100700002)(38070700005)(122000001)(5660300002)(66476007)(66556008)(4326008)(76116006)(66446008)(8936002)(8676002)(26005)(64756008)(2906002)(66946007)(83380400001)(107886003)(9686003)(7696005)(6506007)(53546011)(186003)(110136005)(19627235002)(478600001)(316002)(54906003)(966005)(71200400001)(52536014)(41300700001)(66899015);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eVVuL3FnbUU3VFBzSjQ4RkVGallqOHl3dzlESC9SNEZSZ2cyaTBqVmQvWlBX?= =?utf-8?B?Z0tuOGk5L2MwdzNMM3dKdm5IUkZuQ0YzMnZjYk0wVnR6SzRGKzVQQ1JzYmVr?= =?utf-8?B?cDgxblFscHRaRXQvanM4YnFRYzI0MVBmRllISmdFcC9rbXNja1NmQ3UvbTUr?= =?utf-8?B?QzZ0eFJxNS9HR3FzV0trTjhyOTQ1OS9QSWdvSCtJTzJOZk9XZW5XaHl3RWJi?= =?utf-8?B?TnBCZ0RKaVErMW4rUmMzVUcvREVHaXgrR09hMFljOXNyaWVkdjJTQllDNWRJ?= =?utf-8?B?QTRpNzhpWmp1T1haUmdaQzRzTE1PRTREM3lhdFczS1lqM0djRUpNcXR6N09R?= =?utf-8?B?SUxDT1ZYZ1pISXFvVzhLZS9QSHRvSHloaEZPdEI0RnpBQTJpWk9IZWlPY0tM?= =?utf-8?B?U1ZVTXZReVBrU213NEpXYzI2M21tVThSNXBFSjRXOG5neW5QMFFWT1l5OUZ2?= =?utf-8?B?VWFvcmoyQXl3YU1sZTVjYkFaYld5eG1wSEhPTWJzamNkS3ZHVG5RNEd6Mlhy?= =?utf-8?B?cGZWNWJ4ZVh0dThzU0lraTltT1Y3MERmeGJob1k2cUdhSE1tYmJlRitTRi96?= =?utf-8?B?eWFvd2UrcU9iNzN2bUdEK202RmxnQTdISWtabm43SU10akgzY2xDVWlQdUdU?= =?utf-8?B?Mnd4YU5oSmk0dHZYVWJ6UVhiTnNLTlZLMjlPQzMwVTl1bmtXSFdjQmNidFF6?= =?utf-8?B?SWs3VDhPckF5aHFxWVArT3JLWDZ2QWRIY3NGK2dhZXZQQVh4cUk5RVV3VnE0?= =?utf-8?B?T293ZkRSbjR0TWVaZ2NCK0NWVWRxaWR1eTB4d0hwcFI5Q29IanRYVzJaTU0r?= =?utf-8?B?ckNnYyszaTFnQmdVOW9CUndaeWRWTFovK3d6cWoyRHU4cnhMS2ZvYkVaVzBo?= =?utf-8?B?ZVk5RElMN21qeXVvRVlHOW91N09jVGJFM2xqMUZHVlBYOFMyTk4zTEhYOEpF?= =?utf-8?B?YlAzdkorVU41RVp5Nktwd1RpbkpoTW1abWVFbXViMWZUdnNWYk5QcGtHUE82?= =?utf-8?B?dFJUa2NUejYrUjJiWXRGaXBVcEpPZzZBZ2gvdTViaW1XZ09RYUhXRFZLU0pJ?= =?utf-8?B?QUI0RUFVUTloZDVybm9mdVpXUHpqTW1oQWJKSi85a2Q4b1ZtZFpIeVJaa245?= =?utf-8?B?VlFpR3FuQnZLbDNaMzZteWFXcGtKK0svT05jK0w2dkcwRUJnQWNaY3U3ZlNN?= =?utf-8?B?cStDaUdVaWp2bjZDWTM5WVZIWW0yNDY0UkZOZWFsYzNEUnRZcTZBbmR2YlJj?= =?utf-8?B?TXhZV3RtS0pmMmVBQThYQVdwZFZmRGF2SG9kdHJLWFQvS2R1aEVQRmlYYXNB?= =?utf-8?B?YUIvRFNtcmNxZ0dxY0tFK1oxc0hWc01xaVBvbnAyRXdFNi9JaEVjdUdRZHo1?= =?utf-8?B?TkRuMDdNTFRjNW1FYTVMU3h6eXRaOWhTZldqNWw0YXNmRU5hU3NXT3I0QkxV?= =?utf-8?B?T2ZOQW42bDJSVE5sNG5FZGV4K052MVkrRW54cnRyL1lwTm11WGtxbW1HQmtT?= =?utf-8?B?ejA3c2ZCbzJ0ekhXTFd3VzJvajFKK2Jobis3ektDNHZUM0M3YnFJTVZWckZt?= =?utf-8?B?S01tdVNkK3pYc1Nxb2N3KzR5SVNuRjJkWVlseHFJNWhBL1c4SGx1SEVFNUx5?= =?utf-8?B?czlLaHZoaWdjaEhtRktDR251NEc1b21lUG9xc2hpU1VlbDIweFBZanBneGxB?= =?utf-8?B?Ky95Z1I3V3dKa0dzQzBvbCtteFVvWHQ0a3dlTGI0aEZTK0ZEdjR6a05nWkRa?= =?utf-8?B?UGtPNzJRcE94UGV3czkxOEcweUZBV1l5N09yM1lqRkVEMUozaitGOTBra3gy?= =?utf-8?B?KzVNR1h4b2FaRUpsVS9sK0JPQU4xaUVCRC8vZk10VloxVDRkeUVQZWM3cDky?= =?utf-8?B?N1V5RWhkaDNJUkh3MjlSaWtPb0hxenE4elhHVk15bkp0cmVwbnVNVlI5RUVD?= =?utf-8?B?WUI4SFdkYmdxdlNxa3FDMmV5SmJCQlhNKzNaRVFobTdnS2VaUld1MmZkUFNT?= =?utf-8?B?UmxWSU5pQjRpd1BSM09BdE95dWFHZDdPUzVHTGpPOGRvRitiS09JdWJacTFV?= =?utf-8?B?YmovUDJ6V0xNYkhlRFhGL1d4d1lJMlI5S1JhcXpkU3p6dmpFaElyOWtESzlP?= =?utf-8?B?dzdqU25uMHZzOUlMU1VGeTA2MlBlV0N1MDFFOGlaWjJsTU1DZUlLT0wxOFlP?= =?utf-8?B?V1E9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8faa9fc5-ffdb-44b5-50fc-08dad93c7398 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2022 16:51:28.6505 (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: sWyDBfAnugQTUFlN5t+pT33+9z4IHrjwZ+rDDxGs/pH+jBmA6wE/0zmCM1EY3+hIxiRChZWZ6bJ1a3VXbOqUWbetUugO2KULxaWoXBq3w+w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB6295 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQXJkLA0KDQpBcmUgeW91IHNheWluZyB0aGF0IENvbnZlcnRFZmlGaWxlUHJvdG9jb2xUb1No ZWxsSGFuZGxlKCkgbW9kaWZpZXMgdGhlIGRldmljZSBwYXRoIHBhc3NlZCBpbj8NCg0KSXMgdGhh dCBhIGJ1ZyBpbiB0aGlzIEFQST8NCg0KTWlrZQ0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgQXJkIEJpZXNoZXV2ZWwNCj4gU2VudDogV2VkbmVzZGF5LCBEZWNlbWJl ciA3LCAyMDIyIDg6MTMgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBOaSwg UmF5IDxyYXkubmlAaW50ZWwuY29tPjsgR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5j b20+OyBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0KPiBTdWJqZWN0OiBbZWRrMi1k ZXZlbF0gW1BBVENIXSBTaGVsbFBrZzogQXZvaWQgY29ycnVwdGluZyBpbnN0YWxsZWQgZGV2aWNl IHBhdGggcHJvdG9jb2xzDQo+IA0KPiBUaGUgU2hlbGwgbG9jYXRlcyBkZXZpY2UgcGF0aCBwcm90 b2NvbCBpbnN0YW5jZXMgZnJvbSB0aGUgZGF0YWJhc2UgYW5kDQo+IGhhcHBpbHkgcGFzc2VzIHRo ZW0gdG8gZGVzdHJ1Y3RpdmUgZGV2aWNlIHBhdGggb3BlcmF0aW9ucywgcmVzdWx0aW5nIGluDQo+ IHRoZSBvcmlnaW5hbCBwcm90b2NvbCB0byBnZXQgY29ycnVwdGVkIGFzIHdlbGwuIFNvIHRha2Ug YSBjb3B5IGluc3RlYWQsDQo+IGFuZCBkaXNjYXJkIGl0IG9uY2Ugd2Ugbm8gbG9uZ2VyIG5lZWQg aXQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3Jn Pg0KPiAtLS0NCj4gIFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsUHJvdG9jb2wuYyAg ICB8IDEwICsrKy0NCj4gIC4uLi9MaWJyYXJ5L1VlZmlTaGVsbExldmVsMkNvbW1hbmRzTGliL01h cC5jICB8IDQ3ICsrKysrKysrKysrLS0tLS0tLS0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgMzYgaW5z ZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvU2hlbGxQa2cv QXBwbGljYXRpb24vU2hlbGwvU2hlbGxQcm90b2NvbC5jIGIvU2hlbGxQa2cvQXBwbGljYXRpb24v U2hlbGwvU2hlbGxQcm90b2NvbC5jDQo+IGluZGV4IDUwOWViNjBlNDBmNC4uNmRiZjM0NDUyMGQw IDEwMDY0NA0KPiAtLS0gYS9TaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbFByb3RvY29s LmMNCj4gKysrIGIvU2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hlbGxQcm90b2NvbC5jDQo+ IEBAIC04MzgsNyArODM4LDkgQEAgRWZpU2hlbGxPcGVuUm9vdEJ5SGFuZGxlICgNCj4gICAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiANCj4gICAgRUZJX1NJTVBM RV9GSUxFX1NZU1RFTV9QUk9UT0NPTCAgKlNpbXBsZUZpbGVTeXN0ZW07DQo+IA0KPiAgICBFRklf RklMRV9QUk9UT0NPTCAgICAgICAgICAgICAgICAqUmVhbEZpbGVIYW5kbGU7DQo+IA0KPiAtICBF RklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgICAqRGV2UGF0aDsNCj4gDQo+ICsgIENPTlNU IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICpEZXZQYXRoOw0KPiANCj4gKyAgVk9JRCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKkRldlBhdGhCdWY7DQo+IA0KPiArICBFRklfREVWSUNF X1BBVEhfUFJPVE9DT0wgICAgICAgICAqRGV2UGF0aENvcHk7DQo+IA0KPiANCj4gDQo+ICAgIC8v DQo+IA0KPiAgICAvLyBnZXQgdGhlIHNpbXBsZSBmaWxlIHN5c3RlbSBpbnRlcmZhY2UNCj4gDQo+ IEBAIC04NzUsNyArODc3LDExIEBAIEVmaVNoZWxsT3BlblJvb3RCeUhhbmRsZSAoDQo+ICAgICAg cmV0dXJuIFN0YXR1czsNCj4gDQo+ICAgIH0NCj4gDQo+IA0KPiANCj4gLSAgKkZpbGVIYW5kbGUg PSBDb252ZXJ0RWZpRmlsZVByb3RvY29sVG9TaGVsbEhhbmRsZSAoUmVhbEZpbGVIYW5kbGUsIEVm aVNoZWxsR2V0TWFwRnJvbURldmljZVBhdGggKCZEZXZQYXRoKSk7DQo+IA0KPiArICBEZXZQYXRo Q29weSA9IERldlBhdGhCdWYgPSBEdXBsaWNhdGVEZXZpY2VQYXRoIChEZXZQYXRoKTsNCj4gDQo+ ICsgICpGaWxlSGFuZGxlID0gQ29udmVydEVmaUZpbGVQcm90b2NvbFRvU2hlbGxIYW5kbGUgKFJl YWxGaWxlSGFuZGxlLA0KPiANCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWZpU2hlbGxHZXRNYXBGcm9tRGV2aWNlUGF0aCAoJkRldlBhdGhD b3B5KQ0KPiANCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gDQo+ICsgIFNIRUxMX0ZSRUVfTk9OX05VTEwgKERldlBhdGhCdWYpOw0K PiANCj4gICAgcmV0dXJuIChFRklfU1VDQ0VTUyk7DQo+IA0KPiAgfQ0KPiANCj4gDQo+IA0KPiBk aWZmIC0tZ2l0IGEvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMZXZlbDJDb21tYW5kc0xpYi9N YXAuYyBiL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsTGV2ZWwyQ29tbWFuZHNMaWIvTWFwLmMN Cj4gaW5kZXggZjNjODg4ZWRkNDhjLi4wOTRlMDhlYWI0YTUgMTAwNjQ0DQo+IC0tLSBhL1NoZWxs UGtnL0xpYnJhcnkvVWVmaVNoZWxsTGV2ZWwyQ29tbWFuZHNMaWIvTWFwLmMNCj4gKysrIGIvU2hl bGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMZXZlbDJDb21tYW5kc0xpYi9NYXAuYw0KPiBAQCAtMTM0 LDcgKzEzNCw3IEBAIFNlYXJjaExpc3QgKA0KPiAgKiovDQo+IA0KPiAgQ0hBUjE2ICoNCj4gDQo+ ICBHZXREZXZpY2VNZWRpYVR5cGUgKA0KPiANCj4gLSAgSU4gIEVGSV9ERVZJQ0VfUEFUSF9QUk9U T0NPTCAgKkRldmljZVBhdGgNCj4gDQo+ICsgIElOICBDT05TVCBFRklfREVWSUNFX1BBVEhfUFJP VE9DT0wgICpEZXZpY2VQYXRoDQo+IA0KPiAgICApDQo+IA0KPiAgew0KPiANCj4gICAgQUNQSV9I SURfREVWSUNFX1BBVEggICpBY3BpOw0KPiANCj4gQEAgLTE3OSw3ICsxNzksNyBAQCBHZXREZXZp Y2VNZWRpYVR5cGUgKA0KPiAgKiovDQo+IA0KPiAgQk9PTEVBTg0KPiANCj4gIElzUmVtb3ZlYWJs ZURldmljZSAoDQo+IA0KPiAtICBJTiBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZpY2VQ YXRoDQo+IA0KPiArICBJTiBDT05TVCBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZpY2VQ YXRoDQo+IA0KPiAgICApDQo+IA0KPiAgew0KPiANCj4gICAgaWYgKE5VTEwgPT0gRGV2aWNlUGF0 aCkgew0KPiANCj4gQEAgLTMwNywyNCArMzA3LDI5IEBAIFBlcmZvcm1TaW5nbGVNYXBwaW5nRGlz cGxheSAoDQo+ICAgIElOIENPTlNUIEVGSV9IQU5ETEUgIEhhbmRsZQ0KPiANCj4gICAgKQ0KPiAN Cj4gIHsNCj4gDQo+IC0gIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkRldlBhdGg7DQo+IA0K PiAtICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZQYXRoQ29weTsNCj4gDQo+IC0gIENP TlNUIENIQVIxNiAgICAgICAgICAgICAgKk1hcExpc3Q7DQo+IA0KPiAtICBDSEFSMTYgICAgICAg ICAgICAgICAgICAgICpDdXJyZW50TmFtZTsNCj4gDQo+IC0gIENIQVIxNiAgICAgICAgICAgICAg ICAgICAgKk1lZGlhVHlwZTsNCj4gDQo+IC0gIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKkRl dlBhdGhTdHJpbmc7DQo+IA0KPiAtICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICpUZW1wU3Bv dDsNCj4gDQo+IC0gIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKkFsaWFzOw0KPiANCj4gLSAg VUlOVE4gICAgICAgICAgICAgICAgICAgICBUZW1wTGVuOw0KPiANCj4gLSAgQk9PTEVBTiAgICAg ICAgICAgICAgICAgICBSZW1vdmFibGU7DQo+IA0KPiAtICBDT05TVCBDSEFSMTYgICAgICAgICAg ICAgICpUZW1wU3BvdDI7DQo+IA0KPiArICBDT05TVCBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wg ICpEZXZQYXRoOw0KPiANCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqRGV2 UGF0aEJ1ZjsNCj4gDQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICAgKkRldlBh dGhDb3B5Ow0KPiANCj4gKyAgQ09OU1QgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAqTWFwTGlz dDsNCj4gDQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgKkN1cnJlbnROYW1l Ow0KPiANCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqTWVkaWFUeXBlOw0K PiANCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqRGV2UGF0aFN0cmluZzsN Cj4gDQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgKlRlbXBTcG90Ow0KPiAN Cj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqQWxpYXM7DQo+IA0KPiArICBV SU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBMZW47DQo+IA0KPiArICBCT09MRUFO ICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW92YWJsZTsNCj4gDQo+ICsgIENPTlNUIENIQVIx NiAgICAgICAgICAgICAgICAgICAgKlRlbXBTcG90MjsNCj4gDQo+IA0KPiANCj4gICAgQWxpYXMg ICAgICAgPSBOVUxMOw0KPiANCj4gICAgVGVtcFNwb3QyICAgPSBOVUxMOw0KPiANCj4gICAgQ3Vy cmVudE5hbWUgPSBOVUxMOw0KPiANCj4gICAgRGV2UGF0aCAgICAgPSBEZXZpY2VQYXRoRnJvbUhh bmRsZSAoSGFuZGxlKTsNCj4gDQo+IC0gIERldlBhdGhDb3B5ID0gRGV2UGF0aDsNCj4gDQo+ICsg IERldlBhdGhCdWYgID0gRHVwbGljYXRlRGV2aWNlUGF0aCAoRGV2UGF0aCk7DQo+IA0KPiArICBE ZXZQYXRoQ29weSA9IERldlBhdGhCdWY7DQo+IA0KPiAgICBNYXBMaXN0ICAgICA9IGdFZmlTaGVs bFByb3RvY29sLT5HZXRNYXBGcm9tRGV2aWNlUGF0aCAoJkRldlBhdGhDb3B5KTsNCj4gDQo+ICsN Cj4gDQo+ICsgIFNIRUxMX0ZSRUVfTk9OX05VTEwgKERldlBhdGhCdWYpOw0KPiANCj4gKw0KPiAN Cj4gICAgaWYgKE1hcExpc3QgPT0gTlVMTCkgew0KPiANCj4gICAgICByZXR1cm4gRUZJX05PVF9G T1VORDsNCj4gDQo+ICAgIH0NCj4gDQo+IEBAIC00ODUsMTYgKzQ5MCwyMCBAQCBQZXJmb3JtU2lu Z2xlTWFwcGluZ0RlbGV0ZSAoDQo+ICAgIElOIENPTlNUIEVGSV9IQU5ETEUgIEhhbmRsZQ0KPiAN Cj4gICAgKQ0KPiANCj4gIHsNCj4gDQo+IC0gIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkRl dlBhdGg7DQo+IA0KPiAtICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZQYXRoQ29weTsN Cj4gDQo+IC0gIENPTlNUIENIQVIxNiAgICAgICAgICAgICAgKk1hcExpc3Q7DQo+IA0KPiAtICBD SEFSMTYgICAgICAgICAgICAgICAgICAgICpDdXJyZW50TmFtZTsNCj4gDQo+ICsgIENPTlNUIEVG SV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkRldlBhdGg7DQo+IA0KPiArICBWT0lEICAgICAgICAg ICAgICAgICAgICAgICAgICAgICpEZXZQYXRoQnVmOw0KPiANCj4gKyAgRUZJX0RFVklDRV9QQVRI X1BST1RPQ09MICAgICAgICAqRGV2UGF0aENvcHk7DQo+IA0KPiArICBDT05TVCBDSEFSMTYgICAg ICAgICAgICAgICAgICAgICpNYXBMaXN0Ow0KPiANCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAg ICAgICAgICAgICAqQ3VycmVudE5hbWU7DQo+IA0KPiANCj4gDQo+ICAgIERldlBhdGggICAgID0g RGV2aWNlUGF0aEZyb21IYW5kbGUgKEhhbmRsZSk7DQo+IA0KPiAtICBEZXZQYXRoQ29weSA9IERl dlBhdGg7DQo+IA0KPiArICBEZXZQYXRoQnVmICA9IER1cGxpY2F0ZURldmljZVBhdGggKERldlBh dGgpOw0KPiANCj4gKyAgRGV2UGF0aENvcHkgPSBEZXZQYXRoQnVmOw0KPiANCj4gICAgTWFwTGlz dCAgICAgPSBnRWZpU2hlbGxQcm90b2NvbC0+R2V0TWFwRnJvbURldmljZVBhdGggKCZEZXZQYXRo Q29weSk7DQo+IA0KPiAgICBDdXJyZW50TmFtZSA9IE5VTEw7DQo+IA0KPiANCj4gDQo+ICsgIFNI RUxMX0ZSRUVfTk9OX05VTEwgKERldlBhdGhCdWYpOw0KPiANCj4gKw0KPiANCj4gICAgaWYgKE1h cExpc3QgPT0gTlVMTCkgew0KPiANCj4gICAgICByZXR1cm4gKEVGSV9OT1RfRk9VTkQpOw0KPiAN Cj4gICAgfQ0KPiANCj4gLS0NCj4gMi4zNS4xDQo+IA0KPiANCj4gDQo+IC09LT0tPS09LT0tPQ0K PiBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMg Z3JvdXAuDQo+IFZpZXcvUmVwbHkgT25saW5lICgjOTcwOTApOiBodHRwczovL2VkazIuZ3JvdXBz LmlvL2cvZGV2ZWwvbWVzc2FnZS85NzA5MA0KPiBNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vZ3Jv dXBzLmlvL210Lzk1NTE4MzczLzE2NDM0OTYNCj4gR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVk azIuZ3JvdXBzLmlvDQo+IFVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2 ZWwvdW5zdWIgW21pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tXQ0KPiAtPS09LT0tPS09LT0NCj4g DQoNCg==