From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web08.17728.1628477331483602726 for ; Sun, 08 Aug 2021 19:48:52 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=F3vqKjfk; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10070"; a="300201934" X-IronPort-AV: E=Sophos;i="5.84,305,1620716400"; d="scan'208";a="300201934" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Aug 2021 19:48:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,305,1620716400"; d="scan'208";a="502603559" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga001.jf.intel.com with ESMTP; 08 Aug 2021 19:48:50 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 8 Aug 2021 19:48:49 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 8 Aug 2021 19:48:49 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.10 via Frontend Transport; Sun, 8 Aug 2021 19:48:49 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Sun, 8 Aug 2021 19:48:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HYHix1wRjOLRVF3tceBEWHuEPR45o+fp8dt4+kPTOOA3uQJJcB7HR7dPcGNZKoKGqV7HEHz/j8PcnVC0M2s0tzjKfLyLEdpMqDPDbs/EVgO1l2uPfrkOsW5VFo3iEO2+5jLl0ZjEMb1VssCfyKnxbKaJ4zsAegrOWkNQzpukfX+PV1Gl4H6pjDwfJI5XpMg2bAWVJWItXHln/neieJc7hXMNRolax+4m2ULrHH1ji6aQDor4PDXyHcG4QH1vBHUtskcBDF3JRGT5AQ1kVDJ+N7qkEYNIZjbFVZN2z3IiRkWrZ0Mwl7sVkrXXKUhGRNXzfMnb5i3CUQv4hWhrZKYiQQ== 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-SenderADCheck; bh=jq2X1wkjJxXiTJPDrr0y32FviPr24aprsazwSGnTcWQ=; b=I1UrXtL/ga8C7Ysk4Mib1DqXFlmWdCRzlHOGmuKTffxf7iC9hFesYmJS3urLQGLek+svN1gIU4pr1Gou49VaFeMr9iUC91g1WCU5Tp+sPJDvuXnSq3g121jH4EoYThMr9KwHBS//eWCfekEh1vcyJLVg8QX2qzpWxKAUm7VywI0h5mh6nVdX70ty5aWrjyzy8gjcXow5iCbowHlJdS1KLL56CQncYt71/HcetKsvGR/Ay4zFXgkSYc4HQF+5efStSuWcXQ0Kluh4m9QC5A2BkpggCese+dCJNOHwZT7+rGRzAHQjNKDa+KJdkfEk3pT8QU34FBFcIiXbMuxERT8Nqw== 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=jq2X1wkjJxXiTJPDrr0y32FviPr24aprsazwSGnTcWQ=; b=F3vqKjfkxOME/DV6YWb1sJYXXbcdr95mD9qEDTWm0AjNRnYbH6//AMGq4qSzZifrXfEi4KugH4JxqLzc3nLvcD9FdsPE7IzsJLH7mFnjZkMnL6k6h4nhE5vcMIWu685g7ExP0of1L3coyduFQa+Y/EeY3cNnkPG+lZ6S5oPYDyI= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4935.namprd11.prod.outlook.com (2603:10b6:510:35::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.20; Mon, 9 Aug 2021 02:48:48 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::e97b:e466:268f:fb79]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::e97b:e466:268f:fb79%5]) with mapi id 15.20.4394.022; Mon, 9 Aug 2021 02:48:48 +0000 From: "Yao, Jiewen" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Xu, Min M" , Vitaly Cheptsov Subject: Re: [PATCH] SecurityPkg/DxeImageVerificationLib: Always lookup SHA-256 hash in dbx Thread-Topic: [PATCH] SecurityPkg/DxeImageVerificationLib: Always lookup SHA-256 hash in dbx Thread-Index: AQHXjI1OzPvHeBRAlE+h6jt4Wz1joatqbuZQ Date: Mon, 9 Aug 2021 02:48:48 +0000 Message-ID: References: <5df11a13422732b9c03c120775a2b4dd0a49182f.1628444003.git.mhaeuser@posteo.de> <6810bb96b0c7ef377680112f48bac9cd0a964a52.1628353537.git.mhaeuser@posteo.de> In-Reply-To: <6810bb96b0c7ef377680112f48bac9cd0a964a52.1628353537.git.mhaeuser@posteo.de> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: posteo.de; dkim=none (message not signed) header.d=none;posteo.de; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bfe8d6b0-6685-4db6-10dc-08d95ae036b7 x-ms-traffictypediagnostic: PH0PR11MB4935: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KpDiem9RD0u29bai+hjUGU4lUtSMUijcZ9Pc3NNKhLYj/nxFvq2yfcGlvL/tv7dvETQQh21Y/xzU7J54y1d9w0SDs9RlYLnzS3/wM37hBFTiZmATEhMxHSFLTBKDRGekza+7A5fHnCvyRICGNTfpY/EWL3oGWTAHj+0i3EJDYLvwDIVH3wZnermnSCwF9r0l9qQIuITdK2hM35JVuIqSGh3ja8ptUxNVdEb0LLycAdrgmxlNQXUtmnHslwobs14S8GbCVTIJCFKFQJCGHye08IT+3IztFViboQTtOJC/o48ym40exFU8/GwxU1Efqx28E/1iUR7UErFOjmW9uqZMswOKeoIbPhd3/4J8oAas3TzC9yhLNUqQVuiD0yEAWR+v960lEdwFhAv9sd0otSbmAdTbjCw2SjATJqa/lVKEgZ3PvcviIc0Is1PLMZE45mn/GV2sKhmy+mONhgMdXMKKTb0eqOlgtodYWUNAGYnO8Z+QPApqL/2XN1pEtSEPv8GJ/ljnKTbfsnTR4bb0u2Lzc2mc0Whx4v6Oc6fUvIntwov0feUmOpaglNJuymrKrBnKTKdwAIePO2Nos1l0VwqlWd3didZ3hNIPWHQ2ltvD/xTjCTe6UZRW2vJRuQx1dhmxhLi7ZNuk+yywFrGMlj+E3X05kLDpoGYkojRKTyAkjSyQXPJF5rik0Mjg5ZS9f1qjtqSz0m76oQc7JSSqgc2QjYp/D7OD2rxWyRrOOCeEZ0UyGZPkR91YKxy0aI4VyjtgN4Nc4ldFSRWqBV8TbtbF1PouLlldGu8Is+wWrKXkXdI= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(39860400002)(346002)(366004)(136003)(396003)(64756008)(66446008)(66556008)(110136005)(66946007)(76116006)(54906003)(66476007)(2906002)(83380400001)(26005)(53546011)(5660300002)(66574015)(15650500001)(52536014)(6506007)(186003)(4326008)(8676002)(7696005)(122000001)(86362001)(478600001)(55016002)(316002)(966005)(33656002)(38100700002)(9686003)(71200400001)(38070700005)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NERuY1I5eTB1TWprNmpqT0xLT0JaT0VTMU1acmwvdlJHOG8zMk5JUUZ0b3Ev?= =?utf-8?B?SVJOQ1VMMjJJblZJNG5OM3RaRXVhbXB6TjNkQjBJQW9uS001UXUwRXNJTS9S?= =?utf-8?B?Zk1DMEpXZXlsVUppTXUrR2FHdWlJMTZOZUF2QUZZZUR6aExBNm11Tnk0eXY3?= =?utf-8?B?MEQzbjFoK3BmZ0JDR3pHNzllMDVyM21JVzJJNjBwK1I0ekhGNDRVRy9QVjli?= =?utf-8?B?aFBwWWpCek1KMGc3NUR1dHhFUDFKMSswdzBVZnpFVkNGaVNPTVQ0bDlBUkZk?= =?utf-8?B?UDBTRjhLWGtsSER2RXRST0pSd1R6Z2JqR0JHcUxlY3ZEelo2V2RnODYxQnFi?= =?utf-8?B?cnl5UDNaeXJ0UGNnS3BCR3BWYklwVVZ6ajFNcUQ1UjBNRUFwMTRVMTQwV2dF?= =?utf-8?B?T0pEOUo1cU0rOU5jSWk3NjgwYzBKdk55RVREeDZLQTFwOG1DTDB5ak16YmRr?= =?utf-8?B?dVNURXZXUUc3SUt0MlRDSk9kc3NsRjg3amkwWHQ4MFpnYVlBZUp2RTAxY2hY?= =?utf-8?B?TFlsRWdHYTJ5bGkvS0ZObGg2K0tKZFdmaWZUb1krVVB3R2dIL3ZxOWRhSE9w?= =?utf-8?B?WldJZzM1YXc2ditmWnJhS0tqL1RyZ2hVaXorUVh3M01CZHBBY1lwWkFwWXpa?= =?utf-8?B?c0lLVm9PZG0wdVMxRkZ2K2VxZXdrejZkbG1GL2pQbzdwNDZ2TDV2bE1QMEtZ?= =?utf-8?B?R2J1T2ZOemliMmh5a21Pc2prZ3JsdlpEWG5aL2o4cWk2Q2Y0dHhBZEQ3Z2M5?= =?utf-8?B?WUNJMnRWMHd0dlFwNlZwWEtpaVZIc0ZtblhYVHBzcm5Tc2xwYVhzWVBjQUpH?= =?utf-8?B?WTEyc0VCU2Erd3lBZ0U5NW9DeVBINnA2a28zVlBVN1FZWWkwdnZHaWlUTU11?= =?utf-8?B?VXF6a1dmdlVtMjdtcjFlcUZyR0VsU0VWdzQ5cEJQZXV4dGlUMG9CTjlyRW90?= =?utf-8?B?dnBwUGttbCs3WXVleHFMQXl1VS9Ebmkwb0pVZ29SNVlPREZ1eG1NbEVHSlhN?= =?utf-8?B?R2xlMGw5dGNoUjVnOFVldzVqMzdWU1NBaEZhNGFxVnpzL1h5bjJzVG1oa3Yw?= =?utf-8?B?ajhDb1hnaVFKTkYzN1dzUFRBUkpYK0RMWG9IQTQ0YmVFM1d1SkoxU3Z3eFpU?= =?utf-8?B?NWs2VTBBUlpReE5uUmZqZWpVOHhOQ0hlZ0FGN29aRXZXalR6eHU5dlhVQ05t?= =?utf-8?B?eFdwbGJQQ3FFaEw0blkvanBvNllTV2tReVRUSXNWUVJUUkdzTGhpZ2RiN2tx?= =?utf-8?B?eGtzN3NCT1VkMVI5SXpBeVMzMm96UEVRbUwrSnZjdTRTeEVZWm5SS0lDdkl3?= =?utf-8?B?Wm9sVnkvWWtZT0JzdDVhSDZndEVIZmVVMFFmdDhZckJiYTJPUjA0OWZKRTZi?= =?utf-8?B?MktsTzZUUUxjcVFPTFE3ZlpISU9LWmFXT1FJZ1dIMjF2ZUpmaFJKd0NERDZM?= =?utf-8?B?VmdLeXM1Y05NOFZoSmJkc09zYVIwZWdjL1VTU3BXYmUvK0JZKzFZYkU2czli?= =?utf-8?B?OVlHNTh5czlDMFQ2TVRhN2k3MU4wWHk0ckJEZE4yV04rWlBHWXR3QWI0dk9Y?= =?utf-8?B?akozTXZPZ2paLy9VUTc2K0NRbnlkZ3V5WGhvajNrdndkR29Qamt2WU9tT05h?= =?utf-8?B?WlM4SW5jY0FTb0ROTWRnK3llSlhPZ3hEMGp4dzFJMXhZSE1QOUtUMzFFRE1T?= =?utf-8?B?SEI1QlNoRXAvQTV3d0VjYlJtakRWUHZDZGlxUU0zRERnYWh5TzVsay92UzdL?= =?utf-8?Q?pKNpaeEfxHn25RCo0FpzWVabn0iJFK6OXLhZ8NQ?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bfe8d6b0-6685-4db6-10dc-08d95ae036b7 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2021 02:48:48.5213 (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: Dc1xjHzRfGtABOmWGAyURAxZVTZNhZmzPG8JlMHJruhXCcu3miMQ2acAPd+A2zW7lWb6r/6gQbN5QaZcOUqorg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4935 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFydmluDQpXaXRoIHRoaXMgcGF0Y2gsIHRoZSBwYXRoICJBY3Rpb24gPT0gRUZJX0lNQUdF X0VYRUNVVElPTl9BVVRIX1NJR19GT1VORCIgbm8gbG9uZ2VyIGV4aXN0cy4NCg0KRG8geW91IHRo aW5rIHdlIHNob3VsZCByZW1vdmUgRUZJX0lNQUdFX0VYRUNVVElPTl9BVVRIX1NJR19GT1VORCBh cyB3ZWxsPw0KDQoNCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRl Pg0KPiBTZW50OiBNb25kYXksIEF1Z3VzdCA5LCAyMDIxIDM6NDAgQU0NCj4gVG86IGRldmVsQGVk azIuZ3JvdXBzLmlvDQo+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBX YW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47DQo+IFh1LCBNaW4gTSA8bWluLm0u eHVAaW50ZWwuY29tPjsgVml0YWx5IENoZXB0c292IDx2aXQ5Njk2QHByb3Rvbm1haWwuY29tPg0K PiBTdWJqZWN0OiBbUEFUQ0hdIFNlY3VyaXR5UGtnL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliOiBB bHdheXMgbG9va3VwIFNIQS0yNTYNCj4gaGFzaCBpbiBkYngNCj4gDQo+IFJFRjogaHR0cHM6Ly9i dWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDYxDQo+IA0KPiBUaGUgVUVG SSBzcGVjaWZpY2F0aW9uIHByb2hpYml0cyBsb2FkaW5nIGFueSBVRUZJIGltYWdlIG9mIHdoaWNo IGENCj4gbWF0Y2hpbmcgU0hBLTI1NiBoYXNoIGlzIGNvbnRhaW5lZCBpbiAiZGJ4IiAoVUVGSSAy LjksIDMyLjUuMy4zDQo+ICJBdXRob3JpemF0aW9uIFByb2Nlc3MiLCAzLkEpLiBDdXJyZW50bHks IHRoaXMgaXMgb25seSBleHBsaWNpdGx5DQo+IGNoZWNrZWQgd2hlbiB0aGUgaW1hZ2UgaXMgdW5z aWduZWQgYW5kIG90aGVyd2lzZSB0aGUgaGFzaCBhbGdvcml0aG1zDQo+IG9mIHRoZSBjZXJ0aWZp Y2F0ZXMgYXJlIHVzZWQuDQo+IA0KPiBBbGlnbiB3aXRoIHRoZSBVRUZJIHNwZWNpZmljYXRpb24g Ynkgc3BlY2lmaWNhbGx5IGxvb2tpbmcgdXAgdGhlDQo+IFNIQS0yNTYgaGFzaCBvZiB0aGUgaW1h Z2UgaW4gImRieCIuDQo+IA0KPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+ DQo+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiBDYzogTWluIFh1 IDxtaW4ubS54dUBpbnRlbC5jb20+DQo+IENjOiBWaXRhbHkgQ2hlcHRzb3YgPHZpdDk2OTZAcHJv dG9ubWFpbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBw b3N0ZW8uZGU+DQo+IC0tLQ0KPiAgU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVJbWFnZVZlcmlmaWNh dGlvbkxpYi9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi5jIHwgNjANCj4gKysrKysrKystLS0tLS0t LS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQNCj4gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVy aWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMNCj4gYi9TZWN1cml0eVBrZy9M aWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMN Cj4gaW5kZXggYzQ4ODYxY2Q2NDk2Li4xZjliYjMzZTg2YzMgMTAwNjQ0DQo+IC0tLSBhL1NlY3Vy aXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1hZ2VWZXJpZmljYXRp b25MaWIuYw0KPiArKysgYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9u TGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMNCj4gQEAgLTE4MDMsMzQgKzE4MDMsMzYgQEAg RHhlSW1hZ2VWZXJpZmljYXRpb25IYW5kbGVyICgNCj4gICAgICB9DQo+IA0KPiAgICB9DQo+IA0K PiANCj4gDQo+ICsgIC8vDQo+IA0KPiArICAvLyBUaGUgU0hBMjU2IGhhc2ggdmFsdWUgb2YgdGhl IGltYWdlIG11c3Qgbm90IGJlIHJlZmxlY3RlZCBpbiB0aGUgc2VjdXJpdHkNCj4gZGF0YSBiYXNl ICJkYngiLg0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIGlmICghSGFzaFBlSW1hZ2UgKEhBU0hBTEdf U0hBMjU2KSkgew0KPiANCj4gKyAgICBERUJVRyAoKERFQlVHX0lORk8sICJEeGVJbWFnZVZlcmlm aWNhdGlvbkxpYjogRmFpbGVkIHRvIGhhc2ggdGhpcyBpbWFnZQ0KPiB1c2luZyAlcy5cbiIsIG1I YXNoVHlwZVN0cikpOw0KPiANCj4gKyAgICBnb3RvIEZhaWxlZDsNCj4gDQo+ICsgIH0NCj4gDQo+ ICsNCj4gDQo+ICsgIERiU3RhdHVzID0gSXNTaWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0KPiAN Cj4gKyAgICAgICAgICAgICAgIEVGSV9JTUFHRV9TRUNVUklUWV9EQVRBQkFTRTEsDQo+IA0KPiAr ICAgICAgICAgICAgICAgbUltYWdlRGlnZXN0LA0KPiANCj4gKyAgICAgICAgICAgICAgICZtQ2Vy dFR5cGUsDQo+IA0KPiArICAgICAgICAgICAgICAgbUltYWdlRGlnZXN0U2l6ZSwNCj4gDQo+ICsg ICAgICAgICAgICAgICAmSXNGb3VuZA0KPiANCj4gKyAgICAgICAgICAgICAgICk7DQo+IA0KPiAr ICBpZiAoRUZJX0VSUk9SIChEYlN0YXR1cykgfHwgSXNGb3VuZCkgew0KPiANCj4gKyAgICAvLw0K PiANCj4gKyAgICAvLyBJbWFnZSBIYXNoIGlzIGluIGZvcmJpZGRlbiBkYXRhYmFzZSAoREJYKS4N Cj4gDQo+ICsgICAgLy8NCj4gDQo+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiRHhlSW1hZ2VW ZXJpZmljYXRpb25MaWI6IEltYWdlIGlzIG5vdCBzaWduZWQNCj4gYW5kICVzIGhhc2ggb2YgaW1h Z2UgaXMgZm9yYmlkZGVuIGJ5IERCWC5cbiIsIG1IYXNoVHlwZVN0cikpOw0KPiANCj4gKyAgICBn b3RvIEZhaWxlZDsNCj4gDQo+ICsgIH0NCj4gDQo+ICsNCj4gDQo+ICAgIC8vDQo+IA0KPiAgICAv LyBTdGFydCBJbWFnZSBWYWxpZGF0aW9uLg0KPiANCj4gICAgLy8NCj4gDQo+ICAgIGlmIChTZWNE YXRhRGlyID09IE5VTEwgfHwgU2VjRGF0YURpci0+U2l6ZSA9PSAwKSB7DQo+IA0KPiAgICAgIC8v DQo+IA0KPiAtICAgIC8vIFRoaXMgaW1hZ2UgaXMgbm90IHNpZ25lZC4gVGhlIFNIQTI1NiBoYXNo IHZhbHVlIG9mIHRoZSBpbWFnZSBtdXN0IG1hdGNoDQo+IGEgcmVjb3JkIGluIHRoZSBzZWN1cml0 eSBkYXRhYmFzZSAiZGIiLA0KPiANCj4gLSAgICAvLyBhbmQgbm90IGJlIHJlZmxlY3RlZCBpbiB0 aGUgc2VjdXJpdHkgZGF0YSBiYXNlICJkYngiLg0KPiANCj4gKyAgICAvLyBUaGlzIGltYWdlIGlz IG5vdCBzaWduZWQuIFRoZSBTSEEyNTYgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbXVzdCBtYXRj aA0KPiBhIHJlY29yZCBpbiB0aGUgc2VjdXJpdHkgZGF0YWJhc2UgImRiIi4NCj4gDQo+ICAgICAg Ly8NCj4gDQo+IC0gICAgaWYgKCFIYXNoUGVJbWFnZSAoSEFTSEFMR19TSEEyNTYpKSB7DQo+IA0K PiAtICAgICAgREVCVUcgKChERUJVR19JTkZPLCAiRHhlSW1hZ2VWZXJpZmljYXRpb25MaWI6IEZh aWxlZCB0byBoYXNoIHRoaXMgaW1hZ2UNCj4gdXNpbmcgJXMuXG4iLCBtSGFzaFR5cGVTdHIpKTsN Cj4gDQo+IC0gICAgICBnb3RvIEZhaWxlZDsNCj4gDQo+IC0gICAgfQ0KPiANCj4gLQ0KPiANCj4g LSAgICBEYlN0YXR1cyA9IElzU2lnbmF0dXJlRm91bmRJbkRhdGFiYXNlICgNCj4gDQo+IC0gICAg ICAgICAgICAgICAgIEVGSV9JTUFHRV9TRUNVUklUWV9EQVRBQkFTRTEsDQo+IA0KPiAtICAgICAg ICAgICAgICAgICBtSW1hZ2VEaWdlc3QsDQo+IA0KPiAtICAgICAgICAgICAgICAgICAmbUNlcnRU eXBlLA0KPiANCj4gLSAgICAgICAgICAgICAgICAgbUltYWdlRGlnZXN0U2l6ZSwNCj4gDQo+IC0g ICAgICAgICAgICAgICAgICZJc0ZvdW5kDQo+IA0KPiAtICAgICAgICAgICAgICAgICApOw0KPiAN Cj4gLSAgICBpZiAoRUZJX0VSUk9SIChEYlN0YXR1cykgfHwgSXNGb3VuZCkgew0KPiANCj4gLSAg ICAgIC8vDQo+IA0KPiAtICAgICAgLy8gSW1hZ2UgSGFzaCBpcyBpbiBmb3JiaWRkZW4gZGF0YWJh c2UgKERCWCkuDQo+IA0KPiAtICAgICAgLy8NCj4gDQo+IC0gICAgICBERUJVRyAoKERFQlVHX0lO Rk8sICJEeGVJbWFnZVZlcmlmaWNhdGlvbkxpYjogSW1hZ2UgaXMgbm90IHNpZ25lZA0KPiBhbmQg JXMgaGFzaCBvZiBpbWFnZSBpcyBmb3JiaWRkZW4gYnkgREJYLlxuIiwgbUhhc2hUeXBlU3RyKSk7 DQo+IA0KPiAtICAgICAgZ290byBGYWlsZWQ7DQo+IA0KPiAtICAgIH0NCj4gDQo+IC0NCj4gDQo+ ICAgICAgRGJTdGF0dXMgPSBJc1NpZ25hdHVyZUZvdW5kSW5EYXRhYmFzZSAoDQo+IA0KPiAgICAg ICAgICAgICAgICAgICBFRklfSU1BR0VfU0VDVVJJVFlfREFUQUJBU0UsDQo+IA0KPiAgICAgICAg ICAgICAgICAgICBtSW1hZ2VEaWdlc3QsDQo+IA0KPiBAQCAtMTkzMiwyMCArMTkzNCw2IEBAIER4 ZUltYWdlVmVyaWZpY2F0aW9uSGFuZGxlciAoDQo+ICAgICAgLy8NCj4gDQo+ICAgICAgLy8gQ2hl Y2sgdGhlIGltYWdlJ3MgaGFzaCB2YWx1ZS4NCj4gDQo+ICAgICAgLy8NCj4gDQo+IC0gICAgRGJT dGF0dXMgPSBJc1NpZ25hdHVyZUZvdW5kSW5EYXRhYmFzZSAoDQo+IA0KPiAtICAgICAgICAgICAg ICAgICBFRklfSU1BR0VfU0VDVVJJVFlfREFUQUJBU0UxLA0KPiANCj4gLSAgICAgICAgICAgICAg ICAgbUltYWdlRGlnZXN0LA0KPiANCj4gLSAgICAgICAgICAgICAgICAgJm1DZXJ0VHlwZSwNCj4g DQo+IC0gICAgICAgICAgICAgICAgIG1JbWFnZURpZ2VzdFNpemUsDQo+IA0KPiAtICAgICAgICAg ICAgICAgICAmSXNGb3VuZA0KPiANCj4gLSAgICAgICAgICAgICAgICAgKTsNCj4gDQo+IC0gICAg aWYgKEVGSV9FUlJPUiAoRGJTdGF0dXMpIHx8IElzRm91bmQpIHsNCj4gDQo+IC0gICAgICBBY3Rp b24gPSBFRklfSU1BR0VfRVhFQ1VUSU9OX0FVVEhfU0lHX0ZPVU5EOw0KPiANCj4gLSAgICAgIERF QlVHICgoREVCVUdfSU5GTywgIkR4ZUltYWdlVmVyaWZpY2F0aW9uTGliOiBJbWFnZSBpcyBzaWdu ZWQgYnV0ICVzDQo+IGhhc2ggb2YgaW1hZ2UgaXMgZm91bmQgaW4gREJYLlxuIiwgbUhhc2hUeXBl U3RyKSk7DQo+IA0KPiAtICAgICAgSXNWZXJpZmllZCA9IEZBTFNFOw0KPiANCj4gLSAgICAgIGJy ZWFrOw0KPiANCj4gLSAgICB9DQo+IA0KPiAtDQo+IA0KPiAgICAgIGlmICghSXNWZXJpZmllZCkg ew0KPiANCj4gICAgICAgIERiU3RhdHVzID0gSXNTaWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0K PiANCj4gICAgICAgICAgICAgICAgICAgICBFRklfSU1BR0VfU0VDVVJJVFlfREFUQUJBU0UsDQo+ IA0KPiAtLQ0KPiAyLjMxLjENCg0K