From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.1799.1623200302364984190 for ; Tue, 08 Jun 2021 17:58:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=MoAvmVRp; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: min.m.xu@intel.com) IronPort-SDR: /7tq8D/sBPSQD+L0zInuGrJ7YeIondw2++hYLz/59PMxAhq/Q9RW7b4bKf7JuBL9BzN5WWXLkA E9bmZCN3YWGQ== X-IronPort-AV: E=McAfee;i="6200,9189,10009"; a="203123401" X-IronPort-AV: E=Sophos;i="5.83,259,1616482800"; d="scan'208";a="203123401" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2021 17:58:20 -0700 IronPort-SDR: Bo7Ar0Ke8oa+u6ucYpSRNeXX+N7vIHKI1hVVFqm9fphYVbTfsUlVQzpGPDngB00+AkZE+lzyz/ CrRjTKYdSjZw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,259,1616482800"; d="scan'208";a="469699878" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga004.fm.intel.com with ESMTP; 08 Jun 2021 17:58:20 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2242.4; Tue, 8 Jun 2021 17:58:19 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 8 Jun 2021 17:58:18 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 8 Jun 2021 17:58:18 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.107) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Tue, 8 Jun 2021 17:58:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i4a+OLaoIbFbaB3HI/vFNRXsq7MuVxa71TXPsMpI7/vzeJDhfOPvgJcjdKD8zCPRpTUPjWME69sJZnhGKyNU3JqiIv+8FfvmeMSw5xI6vuSSr6/NWxYyTXGgkbYenOAgMLa9UJ/RSnyjofGtpJs2x0vYKoc64eoxQ2c89TRXg/mR6ck9SfKN0arFQFFVrnMG8iDBcnV2DhKE6dIq/iCB/qSx8h+DZRg90qq8ud+fFBefFH7QVuTc6C8ADXL3wiD0wxG09l/vFcaGqof0G8d6iVPDA4aRTkFdvD8j7vuksmKjp10OYF1YWgGHW/7tcPjuU71AywiI3udKCphBMDMxGg== 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=3rWNP4O1V9HxTQ6c+orM5SYLeRgR/N9+0pn4umr8g9g=; b=hg6NoopfpW51ke6PA76ia/rhkufJlvTtEdJMyzcvDYgrVw2RfyMeckjyjhRqMUEZwSBJ7T0pDAm7HdGonuLQ9Tv6An3udAcmt5mrzLt373tD6Km+ToHZClzrX5r82+iSZHyu/GsrRpnHLX6i/lHsjSWzOm8NEjyQcaJUSyWMul9pSsPiPjhbpjem7fqt1NgkmumtPebgFg+o/XpPRQAAMS2OomPQULJsXXLQWerHe3AEpS4AnC07AAjoPm0i7od/8TuP3Ib+IHyN81GR8vHnUZ+EC92Ob3nGa6TYSUKEzdKvbKjgy90ELxn+cV4wlr7tBDMPxEGkFkdUUO60TyJesg== 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=3rWNP4O1V9HxTQ6c+orM5SYLeRgR/N9+0pn4umr8g9g=; b=MoAvmVRpcen3ksdX8k0/UVwUkFND9ZWM7apCP+l8EK5hMjvBO5VeeHFevDjOWknCC8lAVvrKNJXIQscr6QHxnpshcCxDNz5Xwr+5LPgW1ijtxGsMgATgDXmhhx+z+I6LkenOjhu1hyD8Y6B0yR/CXmp1x5rbF9Cq6rNQ3J1mtYQ= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB5175.namprd11.prod.outlook.com (2603:10b6:510:3d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21; Wed, 9 Jun 2021 00:58:03 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::b4be:3994:dd4d:7b9d]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::b4be:3994:dd4d:7b9d%8]) with mapi id 15.20.4195.030; Wed, 9 Jun 2021 00:58:03 +0000 From: "Min Xu" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "jejb@linux.ibm.com" , "Yao, Jiewen" , "rfc@edk2.groups.io" CC: Brijesh Singh , Tom Lendacky , "erdemaktas@google.com" , "cho@microsoft.com" , "bret.barkelew@microsoft.com" , Jon Lange , Karen Noel , Paolo Bonzini , Nathaniel McCallum , "Dr. David Alan Gilbert" , Ademar de Souza Reis Jr. Subject: Re: [edk2-rfc] [edk2-devel] RFC: design review for TDVF in OVMF Thread-Topic: [edk2-rfc] [edk2-devel] RFC: design review for TDVF in OVMF Thread-Index: AddYf4DUPECuZ9ubQaOwhq0M0PgYbAD//sQAAAdoeYAACh6tkA== Date: Wed, 9 Jun 2021 00:58:02 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.143.25] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 74fe8228-1463-47bb-bc99-08d92ae1a277 x-ms-traffictypediagnostic: PH0PR11MB5175: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Jmd37utrQkhCng+oQfhtyjoBXfXPaUA1s4ImpPMYFztxe4FwefRTYBGMmO3Y40SFI1qVdFt2BbXN6xJDK8F0UVRMz8BhHO+MKnpkmnaNWd/VdOeQvpOu8ZKkJdBxd7VIa9mHmczMWO2DPYoVcMCX0NKuhBa5YDLikz6PKxkhJblrRzKFkSy0x0qlBZwyP0Brqgc3rJUkoIV8viQpUcWV9DiWbEiCJUxsVuJzVQ73OKp94evjNcW+IfdgTbPbmgo4on3rMBd0tyRsGiW3jg0Kfs98SrM8UkcShfYFNYVyh1RilQNOoYtxNIe1gp+FqQ0CP+cW7jEp8vJoijlWgJR9By1ZHr41+r1ZeOAmmb6fGwLVvi7+GZPoAeeWuna4d0jKkVi5SQ82Zfz9J58Xq2+SA3wW2qNe1F8aa4V6/65UvyFiCjI45jVAlD+5nqtRLRTHRmxJsQa3N58WqLXwKddbokX/GG/suy9NMqHlVUd+Q59Tf5Mc3Nl3WYwKyDAQXQA9H69g+UcvWrh81Z4viNnan8y0SVR37GkLorat2pKIk7pNc8qjLVdltfCMCQ2fbp3Qk13pNVOmv6LzponpZdHl9mG/faBxZFl2baHhak04jDvRRsucKt0Q6e/i7yUFMzuQhHZlF3io0soL6ivXYB+ehAJaSEuWwPDCiR/cUBkCqAGyGdiw4HRvugGRNhfa6cA61ycIqEvT178r4GQffxl2T8EEr2bPcYZU4lFOJ6EKikzGaJkLCXey9Qky/F3ozRq1VdXRWPT8jQjRaFqQvKhxwQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(376002)(39860400002)(346002)(136003)(122000001)(76116006)(66946007)(64756008)(66556008)(66476007)(33656002)(4001150100001)(83380400001)(66446008)(53546011)(26005)(86362001)(186003)(8676002)(7416002)(6506007)(4326008)(478600001)(110136005)(54906003)(316002)(9686003)(55016002)(7696005)(5660300002)(71200400001)(52536014)(2906002)(38100700002)(8936002)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dHBPZjl5WUhkNUErN2liSDlLOWZuL2hXdGFjVm5FbHkzbE4rL3JWS0xEdU94?= =?utf-8?B?bVpyV0x1ZzN0ZDgyZnpsbFpmZGEza24rZnNveURNdzJaYSswWVdRN1A1UzVk?= =?utf-8?B?NDB4UERJeHJTMGhUTmIySjJNellCWldPZ2MzeEdhN3ljeWdHRTkrVFlCVlpq?= =?utf-8?B?ZFU4dUZ5UjBLU3k5aXBRZmpGTWlLWGh3S29RbEh2UWFOV3N2ZmY0TGRKdFFR?= =?utf-8?B?ekFrWEFqaEJ3THVvc0RmQWZhdGtQekpkKzN6dTZ5MWphcTROT1pkM05VQ01z?= =?utf-8?B?Yko2NjdNdC9jaWVibENyZ09tTm05aTlzb2h1aEV3WGNYbTFJMWJUM0ZmM2Jo?= =?utf-8?B?Vm00N28rNW8rWTg1UkZkcEJTOVhpWlFJc1R4a2lQdWh0MGY5aWRzTll2eHoy?= =?utf-8?B?d1JoR0hqU1N4elE3WURxUm5RMm9LVFpnOUFjeXZmT242VFRJcFF6TU9uOVM2?= =?utf-8?B?bVpsQ0N6V25TNmJiUkhmWFcrL01oM2RnWW5hMmtNblg5MDJEei8yL0VyOEZ0?= =?utf-8?B?SThxUTc5T08vV3RXOThzS2ppYklrT2liVjQ2WFpFeDB2Y0hiMEtYM2R4UDNs?= =?utf-8?B?N3BCZVJyaEZqUzkvZEZiUGZLcFNtNzJPZ3F0T0VaZmdndCtoMS85T2t4ankv?= =?utf-8?B?b1JJd0dmNUttVHoxUmpKa0pYbGZCYXRKRzduT0tUams5OXgyQnljQnptOS9X?= =?utf-8?B?QXIyVjJyNTZvSVVyZy9LNWwzLzFBSXpYS3hKMnIvUyt5Zm1wcUVNTGd0Z2Na?= =?utf-8?B?cEJ0a1haNUNLVjh6ejE5NUtSVHJzdFh3aWxlcEU3eCtkNk1lSnplWUc5NU1G?= =?utf-8?B?VHlvUlhxKzJ6dng1L3VUcU9lb3Y5OWNQaUNqdEh6WFg3K1dVQ0ZsSUtmWmtq?= =?utf-8?B?VjdsbTVzdFRIRnR5UHc0K0tuNmVtcVN0T0s1Y1FpNEEvbU93cm9UNjdhMkdj?= =?utf-8?B?UXB1VmpWemI4RjFMcmtPd20xK2ZaaysveE1DWDVFSG40eHlBRnZ4RERmOG1m?= =?utf-8?B?U1A0dzFaQVlnMFNweHpHM3h1Rm84WlF3eVJaMFN1empaNTYzN2xvb3ZlZ3Nm?= =?utf-8?B?alpETVl1V2lQSEt5dzRjdGlkOUMwQnJ6OEJiU3EyYjF1OGoxTTNha2E3ZjVS?= =?utf-8?B?dHdaanBaZThNdytjUHdPZUcyeUYyZEl0VEVzWkdSVVpBcXdNRCtyUTNXZmFB?= =?utf-8?B?eUJNUTVpc2VUMXZYcTZFbDc1VENtai9kQ0tocnRBNEYySmV0OFRuN1ZjaTRQ?= =?utf-8?B?aHhGa1hhdHI4MzA4S1NNUHFyLzh1b2xhMnpqbzVvc2gvVDlYL3BTc1QzZ2xh?= =?utf-8?B?L1dWNzB0emxhaVFpRDVxUW44b1VyTHRNa2Y0L1BEK1ZHc3RUTEppSnlLYmtR?= =?utf-8?B?NTkvNmlDV0U0c2RVN3F5anpsZjlnRXZmYyt0dk0rUmcxeHFnbmVpOEw0TjEy?= =?utf-8?B?aEd0RVhnalppL2FXZEVycmZtbEdSYW0zTm11NW5XOElnVnI1Q0pRS3p0SFFm?= =?utf-8?B?aVJkQ1M5a1dPOVJ1REtLRmhFVFl3aCttZ0dRdElmL0NRTXpTVjc0NDJUWXJL?= =?utf-8?B?WGxnV2pENFBLamMzUTU3ZGdseTczd1hCTGhnWjM2cmVKdzNvTDNDVytwaDlp?= =?utf-8?B?N0w0cHRzTWZ0RjV5cHRVVVdua080YTV6SkFiK2x6UEFZTkE1YXEzUnRqcnpG?= =?utf-8?B?YkFlRnpXeGZEU2VKQzRQdThTOWpjKzBOYzdCZzlWNEJ1cmhjTjlGaVk1N1gz?= =?utf-8?Q?Wb9zIsivl1BAYzNBXyuTgYcbOaYiqK+d+q9nYKv?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74fe8228-1463-47bb-bc99-08d92ae1a277 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2021 00:58:02.9687 (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: V0S1Ho3q/C8JGwilYzRawUNXCNxcjznEZq1/ZCoqi+KjB6INRBNUfpwLprk2A5u4ag8Cy6IjjbhTGtzgkmeibw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5175 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gMDYvMDkvMjAyMSAzOjMzIEFNLCBMYXN6bG8gd3JvdGU6DQo+IChNaW4gWHUgZ290IGRyb3Bw ZWQgZnJvbSB0aGUgQ0MgbGlzdCBmb3Igc29tZSByZWFzb24sIGF0ICpzb21lKiBwb2ludCBpbiB0 aGlzDQo+IHN1Yi10aHJlYWQhIE5vdCBzdXJlIHdoZW4uIFJlLWFkZGluZyBoaW0uKQ0KPiANCj4g Q29tbWVudGluZyBvbiBleGNlcnB0czoNCj4gDQo+IE9uIDA2LzA4LzIxIDE4OjAxLCBKYW1lcyBC b3R0b21sZXkgd3JvdGU6DQo+IA0KPiA+IE9uIFRkTWFpbGJveCBhbmQgVGRIb2IsIHdlIGFscmVh ZHkgaGF2ZSB0d28gU0VWIHBhZ2VzIGluIHRoZSBNRU1GRCBhbmQNCj4gPiBzaW5jZSBURFggYW5k IFNFViBpcyBhbiBlaXRoZXIvb3IsIGNvdWxkIHdlIHNpbXBseSBub3QgcmVuYW1lIGJvdGgNCj4g PiBwYWdlcyBhbmQgdXNlIHRoZW0gZm9yIGVpdGhlciBib290IGRlcGVuZGluZyBvbiB3aGF0IENQ VSB0eXBlIGlzDQo+ID4gZGV0ZWN0ZWQsIHNvIHdlIG9ubHkgaGF2ZSB0d28gTUVNRkQgcGFnZXMs IG5vdCBmb3VyPw0KPiANCj4gR3JlYXQgaWRlYSwgaW4gbXkgb3Bpbmlvbi4NCj4gDQpBZ3JlZSwg aXQncyBhIGdvb2QgaWRlYS4NCj4gDQo+ID4gT24geW91ciBzbGlkZSAxMyBRdWVzdGlvbjogIk9w ZW46IEhvdyB3aWxsIHRoZSBRRU1VIGZpbmQgdGhlIG1ldGFkYXRhDQo+ID4gbG9jYXRpb24/IiBj YW4ndCB5b3UganVzdCB1c2UgdGhlIG1lY2hhbmlzbSBmb3IgU0VWIHRoYXQncyBhbHJlYWR5DQo+ ID4gdXBzdHJlYW0gaW4gYm90aCBRRU1VIGFuZCBPVk1GPw0KPiANCj4gSSB0aGluayBJIG1hZGUg dGhlIHNhbWUgY29tbWVudCwgaW4gZGlmZmVyZW50IHdvcmRzLiAoUG9pbnQgKDEyKSBhdA0KPiA8 aHR0cHM6Ly9saXN0bWFuLnJlZGhhdC5jb20vYXJjaGl2ZXMvZWRrMi1kZXZlbC1hcmNoaXZlLzIw MjEtDQo+IEp1bmUvbXNnMDAxNDMuaHRtbD4uKQ0KPiANClNvIG15IHVuZGVyc3RhbmRpbmcgdG8g dGhpcyBzb2x1dGlvbiBpcyB0aGF0OiANCjEpIEdVSUQtZWQgc3RydWN0dXJlIGNoYWluIGlzIHN0 YXJ0ZWQgZnJvbSBhIGZpeGVkIEdQQSBpbiBSZXNldFZlY3Rvci4gDQoyKSBBcHBlbmQgYSBURFgt c3BlY2lmaWMgR1VJRC1lZCBzdHJ1Y3R1cmUgaW4gdGhlIGNoYWluDQozKSBRZW11IHNlYXJjaCB0 aGUgR1VJRC1lZCBjaGFpbiBmcm9tIHRoZSBmaXhlZCBHUEEgYW5kIGZpbmQgdGhlIFREWC1zcGVj aWZpYw0KICAgIEdVSUQtZWQgc3RydWN0dXJlIGJhc2VkIG9uIFREWC1zcGVjaWZpYyBHVUlELg0K SXMgdGhlIGV4cGVjdGVkIHByb2Nlc3MgZm9yIFFFTVU/DQoNCj4gDQo+ID4gT24gc2xpZGUgMTks IHRoZSBtdWNraW5nIHdpdGggdGhlIHJlc2V0IHZlY3RvciByZWFsbHkgd29ycmllcyBtZQ0KPiA+ IGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0aGF0IG11Y2ggc3BhY2UgdG8gcGxheSB3aXRoLiAgR2l2 ZW4gdGhhdCB5b3UncmUNCj4gPiBzdGFydGluZyBpbiAzMiBiaXQgbW9kZSBhbmQgY2FuIHRodXMg ZW50ZXIgYW55d2hlcmUgaW4gdGhlIGxvd2VyIDRHQiwNCj4gPiB3aHkgbm90IHNpbXBseSB1c2Ug YSBkaWZmZXJlbnQgYW5kIFREWCBzcGVjaWZpYyBlbnRyeSBwb2ludD8NCj4NCj4gV2hhdCdzIG1v cmUsIHdlIHNob3VsZCB1c2UgYSBkZWRpY2F0ZWQgUmVzZXRWZWN0b3IgKHRocm91Z2ggYSBEU0Mr RkRGDQo+IGRlZGljYXRlZCBzb2xlbHkgdG8gVERYKS4NCj4gDQpJZiBURFZGIGhhcyBhIHNlcGFy YXRlIERTQy9GREYsIHRoZW4gdGhpcyBpcyBub3QgYSBwcm9ibGVtLiBMZXQncyB3YWl0IGZvciBh DQpjb25jbHVzaW9uIHRvIHRoZSAqb25lIGJpbmFyeSogc29sdXRpb24uDQpUaGFua3MgZm9yIHlv dXIgc3VnZ2VzdGlvbi4NCj4gDQo+ID4gT24gYWxsIHRoZSBUY2cyIGNoYW5nZXM6IHdoYXQgYWJv dXQgaW5zdGFsbGluZyBhIHZUUE0gZHJpdmVyIHRoYXQNCj4gPiBzaW1wbHkgdHJhbnNsYXRlcyB0 byB5b3VyIE1TUnM/ICBUaGF0IHdheSB3ZSBjYW4gdXNlIGFsbCB0aGUgc3RhbmRhcmQNCj4gPiBU Q0cgY29kZSBhcyBpcz8NCj4gDQo+IEkgYmVsaWV2ZSBJIG1hZGUgdGhlIHNhbWUgY29tbWVudCBp biBwb2ludCAoMjApIChzZWUgVVJMIGFib3ZlKS4NCj4gDQpJIHdpbGwgYW5zd2VyIHRoaXMgY29t bWVudHMgaW4gbXkgbGF0ZXIgcmVzcG9uc2UuIFRoYW5rcy4NCj4gDQo+ID4gU2xpZGUgNDE6IElP TU1VIG9wZXJhdGlvbi4NCj4gDQo+IFRoYXQncyBtb3JlIGxpa2Ugc2xpZGVzIDQwIGFuZCA0Miwg bm8/DQo+IA0KPiANCj4gPiBUaGUgaW1wbGljYXRpb24gaXMgdGhhdCB5b3Ugb25seSB0cmFuc2l0 aW9uIHRvIHVuZW5jcnlwdGVkIG1lbW9yeSBmb3INCj4gPiBETUEgZHVyaW5nIHRoZSBhY3R1YWwg b3BlcmF0aW9uLA0KPiANCj4gWWVzLCB0aGlzIGlzIHRoZSBpZGVhIGJlaGluZCBFREtJSV9JT01N VV9QUk9UT0NPTCwgd2hpY2gNCj4gT3ZtZlBrZy9Jb01tdUR4ZSBpbXBsZW1lbnRzIChmb3IgU0VW IG9ubHksIGN1cnJlbnRseSkuDQo+IA0KPiANCj4gPiBzbyBkbyBJIGhhdmUgaXQgY29ycmVjdCB0 aGF0IHRoZSBndWVzdCB3cml0ZXMgRE1BIHRvIGVuY3J5cHRlZCBtZW1vcnksDQo+ID4gdGhlbiB0 aGUgaW9tbXUgbWFya3MgdGhlIHJlZ2lvbiBhcyB1bmVuY3J5cHRlZCBhbmQgdHJhbnNmb3JtcyB0 aGUNCj4gPiBtZW1vcnkgdG8gYmUgaW4gdGhlIGNsZWFyIGFuZCB0aGVuIHRyYW5zZm9ybXMgaXQg YmFjayBhZnRlciB0aGUgRE1BDQo+ID4gb3BlcmF0aW9uIGNvbXBsZXRlcz8NCj4gDQo+IEVmZmVj dGl2ZWx5LCB5ZXMuIChZb3VyIHN1bW1hcnkgY29ycmVzcG9uZHMgdG8gYSBCdXNNYXN0ZXJSZWFk DQo+IG9wZXJhdGlvbi4pDQo+IA0KSW4gVERYIHRoZXJlIGFyZSB0aGUgY29uY2VwdHMgb2YgUHJp dmF0ZS1NZW1vcnkgYW5kIFNoYXJlZC1NZW1vcnkuIA0KQnkgZGVmYXVsdCB0aGUgbWVtb3J5IGFy ZSBwcml2YXRlLiBCZWZvcmUgdGhlIERNQSBvcGVyYXRpb24sIHRoZSBwcml2YXRlDQptZW1vcnkg c2hvdWxkIGJlIGNvbnZlcnRlZCB0byBTaGFyZWQtTWVtb3J5IGJ5IHNldHRpbmcgdGhlIFMtQml0 LiBUaGVuDQpWTU0gYW5kIEd1ZXN0IGNhbiBkbyB0aGUgRE1BIG9wZXJhdGlvbi4NCihUaGUgZGlm ZmVyZW5jZSBpcyB0aGF0IGluIFREWCBldmVuIHRoZSBTaGFyZWQtTWVtb3J5IGlzIGVuY3J5cHRl ZCB3aXRoIA0KYSBzaGFyZWQta2V5IGJldHdlZW4gVk1NIGFuZCBHdWVzdC4gU28gd2UgY2FsbCBp dCBTaGFyZWQtTWVtb3J5KQ0KU28gYWxsIHRoZSBjaGFuZ2VzIGluIElPTU1VIGJ5IFREWCBpcyBq dXN0IHRvIGN1c3RvbWl6ZSB0aGUgcGFnZSANCmRlY3J5cHRpb24gLyBlbmNyeXB0aW9uIHByaW1p dGl2ZXMgaW4gdGhlIGRyaXZlciAsIGFuZCB0aGUgZ2VuZXJhbCBsb2dpYyB3aWxsIG5vdA0KYmUg dG91Y2hlZC4NCj4gDQo+ID4gR2l2ZW4gdGhhdCBTRVYgb3BlcmF0ZXMgcXVpdGUgaGFwcGlseSB3 aXRoIGFsd2F5cyBpbiB0aGUgY2xlYXIgRE1BDQo+ID4gYnVmZmVycywNCj4gDQo+IEkgZG9uJ3Qg dW5kZXJzdGFuZCB0aGlzIGNvbW1lbnQgLS0gaXMgaXQgYSBzdGF0ZW1lbnQgYWJvdXQgU0VWIGFz IGEgdGVjaG5vbG9neSwNCj4gb3IgYWJvdXQgT3ZtZlBrZy9Jb01tdUR4ZT8NCj4gDQo+IFNwZWNp ZmljYWxseSBpbiB0aGUgY29udGV4dCBvZiBPdm1mUGtnL0lvTW11RHhlLCB0aGVyZSBpcyBubyAi YWx3YXlzLWluLXRoZS0NCj4gY2xlYXIgRE1BIi4NCj4gDQo+IEVES0lJX0lPTU1VX1BST1RPQ09M IHdhcyBkZXNpZ25lZCB0byBmaXQgY2xlYW5seSBpbnRvIHRoZSBNYXAoKSwgVW5tYXAoKSwNCj4g QWxsb2NhdGVCdWZmZXIoKSwgRnJlZUJ1ZmZlcigpIHRlcm1pbm9sb2d5IG9mIHRoZSBVRUZJIHN0 YW5kYXJkDQo+IEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0wgYW5kIEVGSV9QQ0lfSU9f UFJPVE9DT0wuIEFzIGZhciBhcyBJDQo+IGNhbiB0ZWxsLCB0aGUgb3JpZ2luYWwgdXNlIGNhc2Ug Zm9yIEVES0lJX0lPTU1VX1BST1RPQ09MIHdhcyBWVC1kIG9uIGJhcmUNCj4gbWV0YWwsIGJ1dCB0 aGUgcHJvdG9jb2wgcHJvdmVkIGEgZ29vZCBtYXRjaCBmb3IgU0VWIHRvby4NCj4gDQo+IFZJUlRJ T19ERVZJQ0VfUFJPVE9DT0wgaGFzIHNpbWlsYXIgbWVtYmVyIGZ1bmN0aW9ucw0KPiAoQWxsb2Nh dGVTaGFyZWRQYWdlcywgRnJlZVNoYXJlZFBhZ2VzLCBNYXBTaGFyZWRCdWZmZXIsDQo+IFVubWFw U2hhcmVkQnVmZmVyKS4NCj4gDQo+IEFzIGxvbmcgYXMgYSBQQ0kgZGV2aWNlIGRyaXZlciAob3Ig dmlydGlvIGRyaXZlcikgdXNlcyB0aGVzZSBtZW1iZXIgZnVuY3Rpb25zDQo+IGp1ZGljaW91c2x5 LCBvbmx5ICJCdXNNYXN0ZXJDb21tb25CdWZmZXIiIG9wZXJhdGlvbnMgd2lsbCBiZSBiYWNrZWQg YnkgbG9uZy0NCj4gdGVybSBwbGFpbnRleHQgKGRlY3J5cHRlZCkgcGFnZXMuIE9uZS1zaG90IHJl YWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyB3aWxsIGJlDQo+IGJhY2tlZCBieSBwbGFpbnRleHQg KGRlY3J5cHRlZCkgcGFnZXMgb25seSBhcyBsb25nIGFzIG5lY2Vzc2FyeS4NCj4gDQo+IFRoZSB0 cmFuc2l0aW9ucyB5b3Ugb3V0bGluZSBhbHJlYWR5IGhhcHBlbiBpbiBhbnkgcGxhaW4gU0VWIGd1 ZXN0IHRoYXQgdXNlcyBQQ0kNCj4gRE1BIG9yIHZpcnRpby4NCj4gDQo+IA0KPiA+IHRoaXMgc2Vl bXMgdG8gaGF2ZSB0aGUgcG90ZW50aWFsIHRvIGJlIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSwgYnV0 IHdoYXQNCj4gPiBzZWN1cml0eSBkb2VzIGl0IGdhaW4/DQo+DQpBcyBJIG1lbnRpb25lZCBhYm92 ZSwgaW4gVERYIERNQSBvcGVyYXRpb24gZXZlbiB0aGUgU2hhcmVkLU1lbW9yeSBpcyBlbmNyeXB0 ZWQNCmJ5IGEgc2hhcmVkLWtleSBiZXR3ZWVuIFZNTSBhbmQgR3Vlc3QuIEl0IGlzIG5vdCAqcGxh aW4tdGV4dCogb3V0c2lkZSBWTU0mR3Vlc3QuDQo+DQo+IFdlIGhhdmUgbm90IGV4cGVyaWVuY2Vk IHBlcmZvcm1hbmNlIHByb2JsZW1zIGR1ZSB0byB0aGlzIGtpbmQgb2YgSU9NTVUNCj4gcHJvdG9j b2wgdXNhZ2UsIHdoZW4gYm9vdGluZyBTRVYgZ3Vlc3RzLg0KPiANCkluIG91ciB0ZXN0LCB3ZSBk b24ndCBzZWUgdGhlIHBlcmZvcm1hbmNlIHByb2JsZW0gd2hlbiBib290aW5nIFREWCBndWVzdHMu DQpXZSBkbyBoYXZlIHRoZSBwZXJmb3JtYW5jZSBpc3N1ZSBpbiAiQWNjZXB0IFBhZ2VzIi4gQnV0 IHdlIGhhdmUgc2V2ZXJhbCBzb2x1dGlvbnMNCnRvIHJlc29sdmUgdGhpcyBwZXJmb3JtYW5jZS4g U2VlIGJlbG93IGxpbmsuDQpodHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9jb250ZW50L2RhbS9k ZXZlbG9wL2V4dGVybmFsL3VzL2VuL2RvY3VtZW50cy90ZHgtdmlydHVhbC1maXJtd2FyZS1kZXNp Z24tZ3VpZGUtcmV2LTEucGRmDQpTZWN0aW9uIDcuOCBPcHRpbWl6YXRpb24gQ29uc2lkZXJhdGlv bi4NCj4NCj4gVGhlIGJhc2ljIGdvYWwgd2FzIHRvIGtlZXAgZXZlcnl0aGluZyBhcyB0aWdodGx5 IGVuY3J5cHRlZCBhcyBwb3NzaWJsZSAoYXMNCj4gcGVybWl0dGVkIGJ5IHRoZSBpbmRpdmlkdWFs IFBDSSBvciBWaXJ0aW8gZHJpdmVyLCB0aHJvdWdoIGl0cyBjb25zZXJ2YXRpdmUgdXNhZ2UNCj4g b2YgQnVzTWFzdGVyQ29tbW9uQnVmZmVyIG9wZXJhdGlvbnMpLg0KPiANCj4gSSB3b24ndCBjbGFp bSB0aGF0IGl0IGhhcyB6ZXJvIHBlcmZvcm1hbmNlIGltcGFjdCwgYnV0IHdlIHNob3VsZCByZW1l bWJlcg0KPiB0aGUgcHVycG9zZSB0aGF0IGZpcm13YXJlIHNlcnZlcyAobmFtZWx5LCAiYm9vdGlu ZyBhbiBvcGVyYXRpbmcgc3lzdGVtIikuDQo+IFJlYWxseSAtLSBJIGRvbid0IHJlY2FsbCBhbnkg cGVyZm9ybWFuY2UgaXNzdWVzLiBUaGlzIGFwcGxpZXMgdG8gc3VjaCB2aXJ0aW8NCj4gZGV2aWNl cyAmIGRyaXZlcnMgdG9vIHRoYXQgYXJlbid0ICJib290YWJsZSIsIHN1Y2ggYXMgdmlydGlvLWdw dS1wY2kNCj4gKFZpcnRpb0dwdUR4ZSkgYW5kIHZpcnRpby1ybmctcGNpIChWaXJ0aW9SbmdEeGUp Lg0KPiANCj4gKA0KPiANCj4gICBJZiB5b3UgZW5hYmxlIHZlcmJvc2UgbG9ncywgT3ZtZlBrZy9J b01tdUR4ZSBkb2VzIHByb2R1Y2UgYW4gaW1tZW5zZQ0KPiAgIGFtb3VudCBvZiBtZXNzYWdlcyAo d2l0aCB0aGUgZXhwcmVzcyBwdXJwb3NlIG9mIGEgaHVtYW4gcmVhZGluZw0KPiAgIHRocm91Z2gg dGhlbSwgYW5kIG1hdGNoaW5nIHVwIGRlY3J5cHRpb24gYW5kIHJlLWVuY3J5cHRpb24gYWN0aW9u cyAtLQ0KPiAgIEkndmUgZG9uZSBpdCwgbGlrZWx5IHdpdGggc29tZSBhZC1ob2Mgc2NyaXB0cyku ICpUaGlzKiBkb2VzIHNsb3cgZG93bg0KPiAgIHRoZSBib290IGNvbnNpZGVyYWJseSAoaWYgeW91 IGFjdHVhbGx5IGVuYWJsZSB0aGUgUUVNVSBkZWJ1ZyBjb25zb2xlKSwNCj4gICBidXQgZm9yIGEg ZGlmZmVyZW50IHJlYXNvbjogcHJvZHVjaW5nIGRlYnVnIGxvZ3MgdGhyb3VnaCB0aGUgUUVNVQ0K PiAgIGRlYnVnIGNvbnNvbGUgKElPIFBvcnQpIGlzIHZlcnktdmVyeSBjb3N0bHkgaW4gYSBTRVYg Z3Vlc3QuIE5vdCBqdXN0DQo+ICAgYmVjYXVzZSBhbiBJTyBwb3J0IHRyYXAgbWF5IGJlIG1vcmUg ZXhwZW5zaXZlIGluIGEgU0VWIGd1ZXN0LCBidXQNCj4gICBiZWNhdXNlIFNFViBkb2VzIG5vdCBz dXBwb3J0IFJFUCBPVVRTQiwgc28gZXZlcnkgZGVidWcgY2hhcmFjdGVyDQo+ICAgd3JpdHRlbiB0 cmFwcyBzZXBhcmF0ZWx5LCBhcyBvcHBvc2VkIHRvIGV2ZXJ5IGxpbmUgd3JpdHRlbi4gU2VlDQo+ ICAgdGhlIGZvbGxvd2luZyBjb21taXRzOg0KPiANCj4gICAtIGI2ZDExZDdjNDY3OCAoIk1kZVBr ZzogQmFzZUlvTGliSW50cmluc2ljIChJb0xpYiBjbGFzcykgbGlicmFyeSIsDQo+ICAgICAyMDE3 LTA0LTEzKSwNCj4gDQo+ICAgLSA5NzM1M2E5YzkxNGQgKCJPdm1mUGtnOiBVcGRhdGUgZHNjIHRv IHVzZSBJb0xpYiBmcm9tDQo+ICAgICBCYXNlSW9MaWJJbnRyaW5zaWNTZXYuaW5mIiwgMjAxNy0w Ny0xMCksDQo+IA0KPiAgIC0gOThhNGQwNGU4ZmRhICgiTWRlUGtnL0Jhc2VJb0xpYkludHJpbnNp YzogZml4IFNFViAoPXVucm9sbGVkKQ0KPiAgICAgdmFyaWFudHMgb2YgSW9Xcml0ZUZpZm9YWCgp IiwgMjAxNy0wOS0xMSksDQo+IA0KPiAgIC0gYzA5ZDk1NzEzMDBhICgiT3ZtZlBrZzogc2F2ZSBv biBJL08gcG9ydCBhY2Nlc3NlcyB3aGVuIHRoZSBkZWJ1Zw0KPiAgICAgcG9ydCBpcyBub3QgaW4g dXNlIiwgMjAxNy0xMS0xNykuDQo+IA0KPiApDQo+IA0KPiBGcm9tIG15IHBlcnNwZWN0aXZlLCBJ IGZpbmQgdGhlIGNoYW5nZXMgcHJvcG9zZWQgZm9yIE92bWZQa2cvSW9NbXVEeGUgdG8NCj4gYmUg YW1vbmcgdGhlIGxlYXN0IGludHJ1c2l2ZSBvZiB0aGUgd2hvbGUgc2xpZGUgZGVjayAoYWZ0ZXIg TWluIFh1IGNvbmZpcm1lZA0KPiB0aGF0IHRoZSBpbnRlbnQgd2FzIHJlYWxseSBvbmx5IHRvIGN1 c3RvbWl6ZSB0aGUgcGFnZSBkZWNyeXB0aW9uIC8gZW5jcnlwdGlvbg0KPiBwcmltaXRpdmVzIGlu IHRoZSBkcml2ZXIsIGFuZCB0byBsZWF2ZSB0aGUgZ2VuZXJhbCBsb2dpYyB1bnRvdWNoZWQpLg0K PiANCj4gVGhhdCdzIG5vdCB0byBzYXkgdGhhdCBJJ20gdW5oYXBweSBhYm91dCB0aGlzIHRvcGlj IGJlaW5nIHJhaXNlZC4gVG8gdGhlDQo+IGNvbnRyYXJ5IQ0KPiANCj4gVGhhbmtzDQo+IExhc3ps bw0KPiANClRoYW5rcw0KTWluDQo=