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.web12.12409.1636035926982783991 for ; Thu, 04 Nov 2021 07:25:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=ahNhhkLF; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10157"; a="317915721" X-IronPort-AV: E=Sophos;i="5.87,209,1631602800"; d="scan'208";a="317915721" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Nov 2021 07:25:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,209,1631602800"; d="scan'208";a="729299020" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga006.fm.intel.com with ESMTP; 04 Nov 2021 07:25:26 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 4 Nov 2021 07:25:25 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 4 Nov 2021 07:25:25 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 4 Nov 2021 07:25:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C90YLwP3iwOUQE/7eW4sX32e0/FURhDetrFCGzJI0l6sQAD9B+ZM8cABrsgdNBNOeKEzw3yuAugoLPNDjxSXrjgOEqGb60ciKd28LAn7iCnUKrDlOZXOUqOnnPWHMrH5k3NbX7sWxR82txS1kRGo3cUSaeOkl7hdVLUoaAyIdsMEOZLeut5ltOVrENJkMBotYfV0UjrcZEitAYfbVfq0iOebyWEW/PbHEiyBbgiwANByuxL0LXi0xMbbrBQYSLBVrmyDBB2Osn1eiGCAOKOsuNp9JV/QYow1UHGIabtfLQy5sZDeO0FitI5R9F+sK393O0/lZCdtmWqiuAdyhHApfw== 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=0CFHthSQ+A8HWKrw/uuxQP3fjxTBZyYZ00qMS6x0JfY=; b=mJ6/pLkBNjZHighvgw72aPhVMb60iQp0M4+6HIATCqj7myHsRBAMnr2e0fVY4vYvvNWoB4SDDSgwm/6JcwhZYsyN3OJkbz32GHosNZ83kJieK4ORbiG1GFqtjzLSemoJTMU8XZeBiVL1spjMpO76M9Z4vHpnu0FuUt110L/Dli9yK/qK0IOLhPLC1+si/SMBf+9+6LInU2/jxROva9Zm4mVZiOg4si88T3/VNfGrpzbpWK5pRTETSuPYEKHCX6rRnNI0vm2YKU3W3gxw74OgpTK6qbOGpLe8YemTin+Ecu90YzvWzpVjxOkkgiG4wET+LkY2begi6M0IK1yJYLRTzQ== 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=0CFHthSQ+A8HWKrw/uuxQP3fjxTBZyYZ00qMS6x0JfY=; b=ahNhhkLFEt2EHVeqK6v/BRJmAcyccRjkEukTV/OEWXx4S5WBiZ/Ivm3ZmerbvMQZtW/es55XFt5CWjYvikHZpKS9TVFVBCIShqblwrvgZzUU/NI//O68o8M7aXYN/q50f7VAZ7yvlivuyAVfNtaQRasyn+ow5O+XTgT8zhNlEcY= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH7PR11MB5864.namprd11.prod.outlook.com (2603:10b6:510:136::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Thu, 4 Nov 2021 14:25:24 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80%5]) with mapi id 15.20.4649.019; Thu, 4 Nov 2021 14:25:24 +0000 From: "Yao, Jiewen" To: Sami Mujawar , "Xu, Min M" , "devel@edk2.groups.io" , "kraxel@redhat.com" CC: "Kinney, Michael D" , Liming Gao , "Liu, Zhiguang" , "Wang, Jian J" , nd Subject: Re: [edk2-devel] [PATCH V4 3/3] SecurityPkg: Support CcMeasurementProtocol in DxeTpmMeasurementLib Thread-Topic: [edk2-devel] [PATCH V4 3/3] SecurityPkg: Support CcMeasurementProtocol in DxeTpmMeasurementLib Thread-Index: AQHX0VTnv5ntHBpRTkmybGLhucAp5KvzXvwAgAADzwCAAAgjgIAAARgQ Date: Thu, 4 Nov 2021 14:25:24 +0000 Message-ID: References: <44a80d4605e02dcf5fed85c5669aedbff3a283a1.1635818903.git.min.m.xu@intel.com> <3f1ba671-cb5f-7849-9439-9af6326de84a@arm.com> <20211104082041.dlkl52izdlo7c4uh@sirius.home.kraxel.org> <316386e6-8da1-a48b-cecb-82d4a9afb85c@arm.com> In-Reply-To: <316386e6-8da1-a48b-cecb-82d4a9afb85c@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 74b6f03b-38fb-4d3b-1757-08d99f9ef11c x-ms-traffictypediagnostic: PH7PR11MB5864: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TkxiMpqBkjQrnoo5DaceMgVyT8ZyF3H0J9rrAZBws6C9jsa44fdsqj1DveYcGJnEzXZRXv5ocv+73MwcyEhJ4jCyUOTkAtqC5F+WHzMThb+3A/rubBttluXs6wxxNDG0wvgSGAlRCWtdQ9tLW6Q9Kotb94pmxoLPAbEoTAq5BRz8zjsJlG4IDN3yKZCOeUoBYlutgR/XGH5fh6Rsz7yOgC+nyfGakq3w+1fObgRnfPuZedJVfjQKPe4N+0CWOzStW690s1U8JN6IVPRQ83MEViWXBeLiSPEEud2F7+ojfGZsgMjPDUGHlpKlKhGXAEOLGr68Fsq+Blcvy37gROnhc3kEBbU+kXHVdwxeeumAhH8pZOIbXiVAmkPFYAo82OtAACNimKUcAQX+TaqqoiT7ARYuzbNrhqXM8/7GBqBecMaIDzwQB55Aed6/TgygUULmBxl1Mxppsp5zbcRMO4XNL1tPAsyuOiEt9vZmEHEyWuS0DkQboXT7ng7Ifus3jFMfxhfxJPf5dWr6kNk0h/J0jIklRz1bmvG0TzHaDkPJUAjxnFHSnQawgMIfNjKoXyNTvljKZWF4zwPZ2/kujDnsvjoWxJKyDzArjTTGMpdLlA3fpASGv9SVP1CEtNSonzWQz14Ym5iALLUQJtf4a7t7JyT/MksjV3tyHsfR/teME7zSq3sQPHCFT81xdunUsJl+j5jnUQXQLjNMJw2dKzvOAQ== 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:(6029001)(366004)(86362001)(316002)(55016002)(4326008)(52536014)(6506007)(38070700005)(83380400001)(33656002)(5660300002)(38100700002)(71200400001)(66946007)(54906003)(2906002)(66476007)(66446008)(15650500001)(64756008)(66556008)(508600001)(8936002)(82960400001)(8676002)(186003)(7696005)(26005)(53546011)(122000001)(76116006)(110136005)(19627235002)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aVFQc1VOTHY4SkZRVWs1QmlNbkozakRBRlVtRkJNVnNNTnVSaWFYQndnNWxY?= =?utf-8?B?M1IzZDV5RUpaWmJlTmdlZEdQT3BleG9zZnNCVFpzaXh0K1lhMEZ3dEJWbU5u?= =?utf-8?B?Mk9xcE5YUjhwWURvQWd2dzFCR1lqNno1ZkZQQjcwZ0NzRXlwTlZkT09TVGVs?= =?utf-8?B?TDVjUTBoTTJNZk1QbGRJZ0pIbmF3WUZHRkV5akYrTWFZQm4ySlF0S2N4ME1B?= =?utf-8?B?a0x5VmY2L01kZWxOdm0xZkh6VDdZQVpDc1h0cTF6aGJxMm5kVzJmUW1hQnlq?= =?utf-8?B?bFhRVUZWaW92bFNiRmF5OGwxZEJUMzkwMEw5QnVFc1RFT0JyZHdZZEk5aGhV?= =?utf-8?B?SCtzZFo2d1RGazZFdnRjWUtURW1najEva0gzS2UzWnNvNVd3U3J4cXRvN3RQ?= =?utf-8?B?YUZEV1I4RW84S0o5OEJwajVFYkZ4amlnSkh2Skg1NDRFcjV3c0o3S09HVUJy?= =?utf-8?B?N2dvVjVXbStNanptVGx6aWhibnd1bEJaLzJXOFpsWmxCcnRQNjdvZG9OQ3RP?= =?utf-8?B?MEJESEdzQ2ZyY3VYN1RxbDF2S1JCWW83RVh0WmUzdWFMT1FKQkVmMWoyV3Fu?= =?utf-8?B?MDFkZ0Z3NzgvWURmYVk4WDBTWG5CbSs5WTIzUmsxVk8vSXo2ZkhhQWpHOUQ5?= =?utf-8?B?SCthS3dEeXRUVGNybXRlWlU5T3dwaFZ2bTgwbTloQTV5NUVzMTRGVHFrdkJO?= =?utf-8?B?RktGNHgrZ2VxeWpxaDdJR1gxcjl2T3VMZ0RMd3E4RmF3TXF0cTFNSHVsSk4x?= =?utf-8?B?YklPWmNRRlhoRWZJWkVsOWpEQk0vL3d1ay8rWGJscEpBcVZZVERLRElsVERR?= =?utf-8?B?OCtCMEtWdWpQd3F6SnlQV0VWcVNmY2sxdUdSRXNMOEtIcC9zM2FwcUNrdWJx?= =?utf-8?B?OCtUcDJsL0VMYm1BZDQwL2g1Ui8renk1eFJDYjJzbi9zWk02Z0s3SXdGQ281?= =?utf-8?B?QXB6OWh3Z1VWeEtOUmJ6UnFOZFVITlBJaVNVa1lTZlJLSk15ME5yUDFWcDZF?= =?utf-8?B?SXNxbUM1VGorOTJGVmpYQjJrVFBFQStSNUFnL3hOeitpWjJrU3dpdDhCOXlJ?= =?utf-8?B?b25sbFFsN3lETGIrcTZaSEo0UHJrODFNSU0vZ05QKzVmb251eHQxajBPVUNx?= =?utf-8?B?ZnJRcE9iM28zVjBwTEFlNXA0NkQzamk1ZnRTOHJYSWpuaVl0amc4b1lDb0k3?= =?utf-8?B?anVjb2N1dEoyVWlxWTJxWm1zOHROQUJ2SElGWkVPejc4YnlxdDlYWGpSL3FX?= =?utf-8?B?L2lBWGJDKzY0UWo5cTNXZVgvZzlRaTZpdVZUTjg1NWdCU2RQQUdaOXNWaEdz?= =?utf-8?B?aDk5YmtxQVZ0amsweWVOTC8zMURoTVJ6ZGNOOVNYOTVyamxnOEJZSmJYUUdM?= =?utf-8?B?cjBDN2V6N202MlFvSGJnTmZrVWdnZWtMczVsRFFsbkM3Wjl2WTQxdGNyZXh4?= =?utf-8?B?NHNJc0NVTkpka3BJQUc1c0RxSVNqMFhBVDI2WnFjOHc1NmpDejltcXlNeXp0?= =?utf-8?B?MzE2WUF2YkE0TWN0QWdjaVhXRmlLdjQ0NHdMcncrNWxGYm9XTEY0cGFvRHFs?= =?utf-8?B?U2lMUldNM2Jwai9hMjlsZkh5N2d0RUxDbU8zOXVCL2VwaVN5dFA0Nm9JcXJL?= =?utf-8?B?b05yTnJ4Uk9WK0dpaXdHVm5hUndOTCtrazJBQTJuZDNvekR4NEw0cjJqVVdm?= =?utf-8?B?MVc4WVY2NTdaN0FJYUF0WW5DbTNyUVUvU01oVGpmVXhZN3VBaU9JYkZhaktz?= =?utf-8?B?aUMxRElkNUZMK09ydlcxd0VGb1RlY3BFVjI5RXc4WHZnTjdYcEhQL3l5RkZq?= =?utf-8?B?Ym5VWGYrMzc4SGpTdVZzVnliZTUzdThjMlhHUWJmdUkvWUZoVml3VCtsOW5O?= =?utf-8?B?cnZQelZjeW9WQ25JYjdxOHF2ZC9ielY4SlJjRjY4aURXc3JtL2l1TklVa2pp?= =?utf-8?B?cWNIWFJrbm1zOHVaZ0NDY1IxNFBURW1hZzVqT1c0YmJRNndsemx3OWZUTTdo?= =?utf-8?B?NUdKcVdTc0pLZndRK0xsRHI1MUJCWndMVW5tNjMzQ1JNNFFsV0RvdStiRXpn?= =?utf-8?B?d0ZMWWM0RUdCVU5IdktSR05hRmVVQTFISmdwdTdKdHVDWEQxUkVkdzZMVHN6?= =?utf-8?B?N2hiRlJRWjhYaWxDVHhBNnI0ZXNZRlppZVBDY1BZSDRjbXFDNGo3VG04QkdE?= =?utf-8?Q?z9ePNxGYPinNp7w2hwL/VKs=3D?= 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: 74b6f03b-38fb-4d3b-1757-08d99f9ef11c X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2021 14:25:24.6145 (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: e56YqxoYHMZbq1BmR07Yc2jA/MIUrlKL/r0lcI5yDpSibfSZWxSc0RXfqQwEiw9j18DK4VG4n+ZwM8dFF7Jm5g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB5864 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 SSBiZWxpZXZlIGEgcGxhdGZvcm0gc2hvdWxkIGhhdmUgb25seSBvbmUgUlRTL1JUUi4NCg0KT25s eSBvbmUgb2YgKHZpcnR1YWwpVFBNMS4yLCAodmlydHVhbClUUE0yLjAgYW5kIENDIE1SIGV4aXN0 cy4gVGhlbiBvbmx5IG9uZSBUQ0dfU0VSVklDRV9QUk9UT0NPTCwgVENHMl9QUk9UT0NPTCwgQ0Nf TUVBU1VSRU1FTlRfUFJPVE9DT0wgaXMgZXhwb3NlZC4NCg0KSW4gdGhlIGNhc2UgdGhhdCwgYSB2 VFBNIGlzIHByZXNlbnQgdG8gZW11bGF0ZSB0aGUgQ0MgTVIsIHRoZW4gYSBURFZGIHNob3VsZCBv bmx5IGV4cG9zZSBUQ0cyX1BST1RPQ09MLiBPdGhlcndpc2UsIHRoZXJlIHdpbGwgYmUgY29uZnVz aW5nIG9uIHRoZSBmaW5hbCBldmVudCBsb2cuDQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFNhbWkgTXVqYXdhciA8c2FtaS5t dWphd2FyQGFybS5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciA0LCAyMDIxIDEwOjE4 IFBNDQo+IFRvOiBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvOw0KPiBrcmF4ZWxAcmVkaGF0LmNvbQ0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGltaW5nIEdhbw0KPiA8Z2FvbGltaW5nQGJ5b3Nv ZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47IFlhbywN Cj4gSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSiA8amlhbi5qLndh bmdAaW50ZWwuY29tPjsgbmQNCj4gPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1k ZXZlbF0gW1BBVENIIFY0IDMvM10gU2VjdXJpdHlQa2c6IFN1cHBvcnQNCj4gQ2NNZWFzdXJlbWVu dFByb3RvY29sIGluIER4ZVRwbU1lYXN1cmVtZW50TGliDQo+IA0KPiBIaSBNaW4sDQo+IA0KPiBQ bGVhc2UgZmluZCBteSByZXNwb25zZSBpbmxpbmUgbWFya2VkIFtTQU1JXS4NCj4gDQo+IFJlZ2Fy ZHMsDQo+IA0KPiBTYW1pIE11amF3YXINCj4gDQo+IA0KPiBPbiAwNC8xMS8yMDIxIDAxOjQ5IFBN LCBYdSwgTWluIE0gd3JvdGU6DQo+ID4gT24gTm92ZW1iZXIgNCwgMjAyMSA5OjM1IFBNLCBYdSBN aW4gd3JvdGU6DQo+ID4+IE9uIE5vdmVtYmVyIDQsIDIwMjEgNDoyMSBQTSwgR2VyZCBIb2ZmbWFu biB3cm90ZToNCj4gPj4+ICAgIEhpLA0KPiA+Pj4NCj4gPj4+PiBbU0FNSV0gQXBvbG9naWVzLCBJ IG1pc3NlZCB0aGlzIGluIG15IHByZXZpb3VzIHJldmlldy4gSSB0aGluayB0aGUNCj4gPj4+PiBi ZWhhdmlvdXIgaWYgYm90aCB0aGUgVENHMiBhbmQgQ0MgbWVhc3VyZW1lbnQgcHJvdG9jb2xzIGFy ZQ0KPiA+Pj4+IGluc3RhbGxlZCB3b3VsZCBiZSBpbmNvbnNpc3RlbnQgYmV0d2VlbiBEeGVUcG1N ZWFzdXJlbWVudExpYiBhbmQNCj4gPj4+PiBEeGVUcG0yTWVhc3VyZUJvb3RMaWIuIFRoZSBtYWlu IGRpZmZlcmVuY2UgYmVpbmcgaW4gdGhlIGxhdGVyLCB0aGUNCj4gPj4+PiBUQ0cyIHByb3RvY29s IHRha2VzIHByZWNlZGVuY2UgZm9yIGV4dGVuZGluZyB0aGUgbWVhc3VyZW1lbnQuDQo+ID4+PiBZ ZXMsIHdlIHNob3VsZCBoYXZlIGNvbnNpc3RlbnQgYmVoYXZpb3IgaW4gYm90aCBjYXNlcy4NCj4g Pj4gSW4gRHhlVHBtTWVhc3VyZW1lbnRMaWIsIENjIG1lYXN1cmVtZW50IHByb3RvY29sIGlzIHVz ZWQgYXMgdGhlIGZpcnN0IHRyeS4NCj4gSWYNCj4gPj4gaXQgZmFpbHMsIHRoZW4gaXQgdHJ5IHRv IG1lYXN1cmUgd2l0aCBUQ0cyIC8gVENHIHByb3RvY29sIGluIHR1cm4uDQo+ID4+IEluIER4ZVRw bTJNZWFzdXJlQm9vdExpYiwgVENHMiBwcm90b2NvbCBpcyB1c2VkIHRoZSBhcyB0aGUgZmlyc3Qg dHJ5LiBJZiBpdA0KPiBmYWlscywNCj4gPj4gQ0MgbWVhc3VyZW1lbnQgcHJvdG9jb2wgaXMgdHJp ZWQgaW4gdHVybi4NCj4gPj4gWWVzLCB0aGlzIGlzIGluY29uc2lzdGVudC4gSSB3aWxsIHVwZGF0 ZSBEeGVUcG0yTWVhc3VyZUJvb3RMaWIgdG8gdHJ5IENjDQo+ID4+IG1lYXN1cmVtZW50IHByb3Rv Y29sIGZpcnN0LCB0aGVuIHRyeSBUQ0cyIHByb3RvY29sIGlmIENjIG1lYXN1cmVtZW50DQo+IHBy b3RvY29sDQo+ID4+IGZhaWxzLiBJbiB0aGlzIHdheSwgb25seSBvbmUgcHJvdG9jb2wgd2lsbCBi ZSBjYWxsZWQgdG8gZG8gdGhlIG1lYXN1cmVtZW50LiBCdXQNCj4gPj4gVENHMiBwcm90b2NvbCBp cyB0aGUgZmlyc3QgdHJ5LCBDQyBtZWFzdXJlbWVudCBwcm90b2NvbCBpcyB0aGUgc2Vjb25kIHRy eS4NCj4gPj4NCj4gPj4+PiBJIHRoaW5rIGl0IHdvdWxkIGJlIGdvb2QgdG8gbW9kaWZ5IER4ZVRw bTJNZWFzdXJlQm9vdExpYiBzbyB0aGF0IHRoZQ0KPiA+Pj4+IENDIG1lYXN1cmVtZW50IHByb3Rv Y29sIGlzIHVzZWQgaWYgYm90aCBwcm90b2NvbHMgYXJlIGluc3RhbGxlZC4NCj4gPj4+PiBXaGF0 IGRvIHlvdSB0aGluaz8NCj4gPj4+IERvZXMgaXQgbWFrZXMgc2Vuc2UgdG8gdXNlIGJvdGggcHJv dG9jb2xzPw0KPiA+PiBBZ3JlZSB3aXRoIEdlcmQuIEkgZG9uJ3QgdGhpbmsgd2Ugc2hvdWxkIHVz ZSBib3RoIHByb3RvY29scyB0byBkbyB0aGUNCj4gPj4gbWVhc3VyZW1lbnQuDQo+ID4+IE15IHN1 Z2dlc3Rpb24gaXMgdGhhdCwgZmlyc3QgdHJ5IENDIHByb3RvY29sLCBpZiBpdCBmYWlscywgdGhl biB0cnkgVENHMiBwcm90b2NvbC4NCj4gSnVzdA0KPiA+PiBhcyBJIGV4cGxhaW5lZCBhYm92ZS4N Cj4gPiBBbm90aGVyIG9wdGlvbiB3aWxsIGJlIHRoYXQ6DQo+ID4gSW4gRHhlVHBtTWVhc3VyZW1l bnRMaWIgdGhlIHBzZXVkbyB3b3VsZCBsb29rIGxpa2U6DQo+ID4gSWYgKENDIFByb3RvY29sIGlz IGluc3RhbGxlZCkgew0KPiA+ICAgIFN0YXR1cyA9IENjTWVhc3VyZUFuZExvZ0RhdGEgKC4uLikN Cj4gPiB9IGVsc2UgeyAgLy8gYmVsb3cgaXMgdGhlIG9yaWdpbmFsIGNvZGUNCj4gPiAgIFN0YXR1 cyA9IFRwbTIwTWVhc3VyZUFuZExvZ0RhdGEgKC4uLikNCj4gPiAgIElmIChFRklfRVJST1IgKFN0 YXR1cykpIHsNCj4gPiAgICAgIFN0YXR1cyA9IFRwbTEyTWVhc3VyZUFuZExvZ0RhdGEgKC4uLikN Cj4gPiAgIH0NCj4gPiB9DQo+ID4NCj4gPiBJbiBEeGVUcG0yTWVhc3VyZUJvb3RMaWIsIHRoZSBw c2V1ZG8gd291bGQgbG9vayBsaWtlOg0KPiA+IElmIChDQyBQcm90b2NvbCBpcyBpbnN0YWxsZWQp IHsNCj4gPiAgICAgIFN0YXR1cyA9IERvQ2NNZWFzdXJlQm9vdCguLi4pDQo+ID4gfSBlbHNlIGlm IChUQ0cyIHByb3RvY29sIGlzIGluc3RhbGxlZCkgew0KPiA+ICAgICAgU3RhdHVzID0gRG9UY2cy TWVhc3VyZUJvb3QoLi4uKQ0KPiA+IH0NCj4gW1NBTUldIFlvdXIgcHNldWRvIGNvZGUgbG9va3Mg Z29vZCB0byBtZS4gSXQgbWFrZXMgdGhlIG1lYXN1cmVtZW50IGxvZ2ljDQo+IG11Y2ggY2xlYXJl ci4NCj4gICBBbHNvLCBJIGFtIG5vdCBhd2FyZSBpZiB0aGVyZSBpcyBhIHVzZS1jYXNlIGZvciBi b3RoIHRoZSBDQyBQcm90b2NvbA0KPiBhbmQgdGhlIFRDRzIgcHJvdG9jb2xzIHRvIGJlIGluc3Rh bGxlZCBhdCB0aGUgc2FtZSB0aW1lLg0KPiBbL1NBTUldDQo+ID4gU2FtaSAmIEdlcmQNCj4gPiBX aGF0J3MgeW91ciB0aG91Z3RoPw0KPiA+DQo+ID4gVGhhbmtzDQo+ID4gTWluDQoNCg==