From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.24938.1650156965047900398 for ; Sat, 16 Apr 2022 17:56:05 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=mTnkWUtX; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: min.m.xu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650156965; x=1681692965; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=YVPFLauySQ5RTpKMsMxgEukFTtuPrqDcMtkDel7chs0=; b=mTnkWUtXyRBLapt+fABAwEB+ldGUfHv1W8MCBEWlnp8hz4Ctap3hJeOn Nul11RVSNVe86ckZCnGPMkcJR5SMPp44fzFwfvLGdvHIT4z+FVacB9DBe QRw39xRiyEdxIA7wrkPiElJT6tR02RMVHqLKfu0YjuvXLtIfJjkFXKf61 tTeNEE6SJ731Op65W8K9u+0O2p8tCQ9RjwX4lvJsAdwJyygGQcOcFG1eQ ZXi4SXBY/EVD4ZJH0+pYh/XBQ6LsaPmEc7fCwC5lxBcp/bTJxAo8p5qJO q5SgpYUgyuu9/fsY3CQW9GZlCDSaELEkjFPcyTuiErqwnWPvxTNoj+avu g==; X-IronPort-AV: E=McAfee;i="6400,9594,10318"; a="323792409" X-IronPort-AV: E=Sophos;i="5.90,266,1643702400"; d="scan'208";a="323792409" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Apr 2022 17:56:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,266,1643702400"; d="scan'208";a="592020024" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga001.jf.intel.com with ESMTP; 16 Apr 2022 17:56:04 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sat, 16 Apr 2022 17:56:03 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sat, 16 Apr 2022 17:56:03 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2308.27 via Frontend Transport; Sat, 16 Apr 2022 17:56:03 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) 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.2308.27; Sat, 16 Apr 2022 17:56:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SBS6VojRSJ28E/i9pru/Qrfbj7yqSs5urpwRhfWpeaWdsCARj9YnzyCrgreQYhuvFenkcDsEv723yl2Zu2EwtOOiL/ffPXHhwFrwovr7GGd5WAPlXcLkJbN97KolZwEY8rFcDBJpV5YIrGsNcIiuj265FQ3M6o2wx3d3FCkMVlQ4YU3xPRX2aGpOdFB79/CBLb5TTggxVFoP2+L//PV0oeXWUBrl0nWVALoaBOpOJJimrIPWZ5mW5jfaJFtRr3Ar5OJnePWaIpECBETCS8gss/w1dE4rkRNYDJAbrXohNTaemo7h8VZucS1YQGrBVi0NN9STsX+z/iM080jPCNReeQ== 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=YVPFLauySQ5RTpKMsMxgEukFTtuPrqDcMtkDel7chs0=; b=Z3tiDgR0f+qK+3rRzhlOGcYgdkHX+tnR9tiMQF5MJMCHkiLBt4UEXvxBfLDMRmP0DpJ7fEXBH9dgWUFBhShr7tsz+1Vm2Kxor5wwW/aOVHNBzw8koslrQVSrnZMwOt4Fw0ghZUpZIhYVo/XEBU4p6KytGfIoOtKttcSOumpkDyy+nS1pu5jTqyxTLfFnLB7ZK6dNYviR68a9gM71/4JB08YeAa5ml0mv76KgjJ1X9wPCOhRAw5qUHvumpe6Z7YowqbNEXbDryYBHGtYLmLEA/oewMQz2+1Bfe58YWKJ58Me8Shnuoi4SDh1H5UVqaJdbCGEk/MhW5gAp13pDifh08A== 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 PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by MW5PR11MB5860.namprd11.prod.outlook.com (2603:10b6:303:19f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Sun, 17 Apr 2022 00:56:00 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::ece5:6170:a99a:480a]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::ece5:6170:a99a:480a%6]) with mapi id 15.20.5164.025; Sun, 17 Apr 2022 00:56:00 +0000 From: "Min Xu" To: "devel@edk2.groups.io" , "thomas.lendacky@amd.com" CC: Ard Biesheuvel , "Justen, Jordan L" , Brijesh Singh , "Aktas, Erdem" , James Bottomley , "Yao, Jiewen" , Gerd Hoffmann Subject: Re: [edk2-devel] [PATCH V12 42/47] OvmfPkg: Add TdxDxe driver Thread-Topic: [edk2-devel] [PATCH V12 42/47] OvmfPkg: Add TdxDxe driver Thread-Index: AQHYQ8ehU12kTUsXPEKMGw9eM0lyn6zxjakAgAA+zTCAAPOqgIAAi4Fw Date: Sun, 17 Apr 2022 00:56:00 +0000 Message-ID: References: <4c3aa6915fe7aac06940bea0f9bc5fdd3c539121.1648555175.git.min.m.xu@intel.com> <5832e647-63d5-6bbe-4daa-f2f5591a7324@amd.com> <8310fb45-f3be-73c3-d914-7ae6ae89d0e1@amd.com> In-Reply-To: <8310fb45-f3be-73c3-d914-7ae6ae89d0e1@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cac8a588-3e9b-49f5-9db4-08da200d0a29 x-ms-traffictypediagnostic: MW5PR11MB5860:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8TnMHTe7JWxR+0LjZI4aqTTQfub1pIAjS19nxaZ93Z4pDSlC5RPfkmZXcHaEQQUJSz+FrpXstsjgoEQMl6CdRb5IBCLwvsbIIz1ke7MVukgE7ILc0HOskklC2kelGYn2ISZiToFLep8Pb5wUUFKYzNnU1MmdWhDzRjL5MPp+FDzHeaXhOJPRAXjHGYmjKDP6RjoppCoe/5I6V6EV8ZWz3IwIMAxl5h48Ok/kyZX55jTJUTgxkk4GUUw+50CKwftm+nYprvTobr7A8FQLSO0rqXCZzjcIjtpS9HJRgx/LBW3Lf14tyx3qB1Kvw81HhH9zgYIJxoWzr/iux4D93IDxAMWRzeM9kNNT+/fYGLqlAN16Tz788kDZwI0gQjruos5WfP60lVZQAFeVmEo2R3/DQuS+GduH6MkNHqAez364mzcVxNWJG43KtPFuKb7CxJ7id6JECgX/hrm4zDSCcGzQJozf+mfxL34MK+ixK8U+tAinZxBdV928EIAAHaH1lR7wEYYEVC+ZdgFFI15nDlMDNbmXxMJy7xQCxEEaAy5mVDMUS1/+TDyXcrtTEP0dddbKH7Hp4Xz3NU1wqwnsTHp+jqJ4wMAB3rEqeSPkLlsgZyDaMWREJwB25GmViaj8ukTj0efi6ohkPWqCcpcplbHKbXNUKwDRNHm5R7LyR+eG7bTKECD/k+5zeTZOkKYU6MBOHbdl8Zru0V0NzlTVuQPKGA== 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:(13230001)(366004)(84040400005)(508600001)(19627235002)(66446008)(38070700005)(186003)(9686003)(122000001)(82960400001)(71200400001)(2906002)(38100700002)(52536014)(66946007)(316002)(66556008)(66476007)(53546011)(8936002)(64756008)(26005)(76116006)(86362001)(4326008)(33656002)(8676002)(6506007)(7696005)(5660300002)(55016003)(54906003)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MERNMnY2bDJHdTc1THB5bGFkQVJaS3dEZWRTakl5M003bmM3bWF4TjBNeVVz?= =?utf-8?B?SVltUU1vT0l5eUhKL2JoR2Z2ZXdHZHFyaWE1Y0M1allpOXVnOHBESURydHA3?= =?utf-8?B?ZWd5ZndkdHZucTQrNENWSXVLdjRoajRFczRGUVE0alova3I5WlM1d01lTUs3?= =?utf-8?B?c2dNZ2tWTm5ScDRIK0IwZ1JmcC81VHBaeEwycVM1RGlQUlBMdGlpYWcxNSth?= =?utf-8?B?NTQ5YjZqS0NlTW8vY21aZi9xY3FEUWVucWg5NGI2My9JbC9nZkhOMjRGbTNF?= =?utf-8?B?dkpQY3BpbmNzZ1dCcEtTczFnL29yd3dzWVgvRWFKbEIwK3NMQXppUldGam5i?= =?utf-8?B?WDBzTDRnMEViZFlhRVZMUmFoRkRMS0ZnZGwzVldEbnRNSnlXV0hZL2wrNnJB?= =?utf-8?B?b1EvQUhLVnk2QlRtalQyS1d1SEpQaXpjSzNoQkV0aWx6L0xwVVRhc2tNZGRs?= =?utf-8?B?WTYydXF5dW0vWExWcGdlMHEycWhYNDZSTW5JTkpjeHhQd0dod041cUtZa3Ri?= =?utf-8?B?b3lqUWVNZGo1bWFPNE83S2NmdVJ3cVJoVjkzdVVrQ2ZlMFNMUjR0TXNITGk1?= =?utf-8?B?eHFOUHQ2SSs3elBsR01TM05mV3JrMjhsU2s2Q00xUk85amVFQXNZd0F1MHpV?= =?utf-8?B?Q2MxQVB2UzRYUkgvQXNaV3BOR2NSbmxvdzFtU0dOcDk5UWtUSkc0SE56eXhI?= =?utf-8?B?cXhJT1RsUGZZNXRHcU0rTFAreWpONXZubG9tbHVJTVFNL1lLMHZ5bGdFa3ZR?= =?utf-8?B?bTZabDhOeWVHVXpvbHd5cTV6MHlhOXB0YU1DSi9zeFYyeWcwOWxPWEtyVFIx?= =?utf-8?B?QjZnQ3JOVmpDSTZCcWNsNUVNdkJDdE9sNjZiMWtCWWZhS2JyS2dkVG12QUtj?= =?utf-8?B?bXZlaW1HdW0veDVUU05oc09IN1l0U3d5aXpIbFFzcUJwaEpNNmZBOUlmTnlV?= =?utf-8?B?WVNqcjJTbWlRaXloV3dLTXVZQ2Y4SHltY1RsZkoxK2dBQ1ZNcDU2NUNtY3Yv?= =?utf-8?B?S3o3QWtZLzNVUnkyNEx3SEUzSC9lWmplcG9XdXBjNlJjS3k0N3plNk9yck5Q?= =?utf-8?B?d1BDTitFTXVYK2Jsa1BRSzFqYWw4UW9ZUFc0bk5hTXhrRjJxY0U3bElFNDRJ?= =?utf-8?B?MEpCU09EY1ZlV2hRMDJYcld3TStnYVowYzJSNkluNUNnYU5CVXo2TnZaZ1dy?= =?utf-8?B?RzFhd2ZWa2V4M2JhVU1ValpFUUNmYTltQzdrQTVtdStlMHE4d1hUTEk2d21Z?= =?utf-8?B?R2JuMXhQcitEVnRlcnQvK2xSbll6ckNsRHppajVSdTRZV1JZbzBOMC9ML2Er?= =?utf-8?B?S0h4Lzg3dkZ3RVc5S1BUeFZLc3J3YzU1SWt4K3RlK2tLWXhiYzl2YWVaemtm?= =?utf-8?B?RWh6cjlJeUVTUnc2ZThYZ1hSMGF4alQ1Wk0xK2RTNW4zV2Fwa0liaXBFYlNp?= =?utf-8?B?QW5UQXBCbE1lazlVdW8wa2J1dEZWUkJ4QzNhSExWTkNMeGd5TllaNTRhWm5h?= =?utf-8?B?a3dMd2xOVUJhQTUwODErK2wxUjFBSUJMVnR2N2hnYUc2cEJ5VVhQVEJ2V2lh?= =?utf-8?B?VHYvb2UzS0R3c2tTZHF6V2pYWWpHWHNtTTJjWmtWTUxlT1ZMTFowRlU0UWNI?= =?utf-8?B?WFJRTkxEaEpwZ2NlM3pkVWxKQTVlUk5JVE9UMTF2SWpZRGFpUnRENGJlN2NR?= =?utf-8?B?UzRlU2luTHZzdDhqT1BlM3ZrNjhqZ29IZzBQZzNFUC9zSDJVdGJvQ3QwYnlk?= =?utf-8?B?NUhuZ1cwa0dFVy9PZ29iMjB0ZEhhOUdodUlIWE0wcTB5dDhDMGFBRzZ1RXh4?= =?utf-8?B?c1JPVWxmM0FOVHk0bkovNi9CUm5BT29aYXVzWmdkWFVhYnZacWx3VWl0aEVr?= =?utf-8?B?Y29HQTlMaUdTRHIzVmxhZTl6WjJPTzMzSms3dVB4QkJqVTg1aG4xTkx2bmJq?= =?utf-8?B?R3czRDYwQ2NwUTlvMEVuVXV2eXRrZ1YzbmFhK0VtY1lIR3BhZzRHeTExeHZL?= =?utf-8?B?aHRqbXlHS1FqeDF3RytXcnloNVdjQVpkNmcyTGcrdDJlNmcvdmZ3Q0ttZjFt?= =?utf-8?B?NHlieEM0UDZhYUt0R1NrNGsxblB0K3VJVFFaRGw4QktxckwrYUd2VjZuZmI0?= =?utf-8?B?bUFrbVRYM3FyaDNmRFI3MlBQR1VkaFBUNDlsajZpUUo0cERxam56bG5lNHhy?= =?utf-8?B?YXdKWk9KRTRuT2ZyMHF1TmZUbkNjR3JubVIrdUR4cTg4OUtkdk1NOElhRHdV?= =?utf-8?B?VjVoREhNeUg0cnpudEplY0FDMnBQcmZGaHR6ckhzVm1vRjBYeU04U0cxWUFp?= =?utf-8?B?MWM1dFJ3NVZZaHkyS2hYVks2WllydXpNOGZvd1RtVldvWEZOM3hUZz09?= 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: cac8a588-3e9b-49f5-9db4-08da200d0a29 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2022 00:56:00.2227 (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: qkK9auS0sBtT1a57uYS9FEfxaw8NTVFfnOdFXpeLAzmRnr87vlBY74Zb64k8Q48FFS+sBy12sQVQ2TTG3Uphaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR11MB5860 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 T24gQXByaWwgMTYsIDIwMjIgMTE6MDkgUE0sIExlbmRhY2t5LCBUaG9tYXMgd3JvdGU6DQo+IE9u IDQvMTUvMjIgMjA6NTcsIFh1LCBNaW4gTSB3cm90ZToNCj4gPiBPbiBBcHJpbCAxNiwgMjAyMiA0 OjUyIEFNLCBMZW5kYWNreSwgVGhvbWFzIHdyb3RlOg0KPiA+Pg0KPiA+PiBVbmZvcnR1bmF0ZWx5 LCB0aGlzIGRyaXZlciBhbHNvIGJyZWFrcyBTRVYtRVMuIEkgYnlwYXNzZWQgdGhlIFREWA0KPiA+ PiBjb2RlIGluIHRoZSBTRUMgbGlicmFyeSwgYnV0IHRoZW4gaGl0IGFuIGlzc3VlIGJlY2F1c2Ug dGhpcyBkcml2ZXIgaXMNCj4gPj4gbG9hZGVkIGJlZm9yZSB0aGUgQW1kU2V2RHhlIGRyaXZlci4g VGhlIEFtZFNldkR4ZSBkcml2ZXIgcGVyZm9ybXMgYQ0KPiA+PiBNZW1FbmNyeXB0U2V2Q2xlYXJN bWlvUGFnZUVuY01hc2soKSBjYWxsIGFnYWluc3QgdGhlDQo+ID4+IFBjZFBjaUV4cHJlc3NCYXNl QWRkcmVzcyByYW5nZSB0byBtYXJrIGl0IHNoYXJlZC91bmVuY3J5cHRlZC4NCj4gPj4gSG93ZXZl ciwgdGhlIFRkeER4ZSBkcml2ZXIgaXMgbG9hZGVkIGJlZm9yZSB0aGUgQW1kU2V2RHhlIGRyaXZl ciwgYW5kDQo+ID4+IGl0IGFwcGVhcnMgdGhlIGRlcGVuZGVuY2llcyByZXN1bHQgaW4gYW4gTU1J TyBiZWluZyBwZXJmb3JtZWQgdG8gYW4NCj4gPj4gYWRkcmVzcyBpbiB0aGUgUGNkUGNpRXhwcmVz c0Jhc2VBZGRyZXNzIHJhbmdlLiBTaW5jZSB0aGUgcmFuZ2UgaGFzDQo+ID4+IG5vdCBiZWVuIG1h cmtlZCBzaGFyZWQvdW5lbmNyeXB0ZWQsIHRoZSAjVkMgaGFuZGxlciB0ZXJtaW5hdGVzIHRoZQ0K PiA+PiBndWVzdCBmb3IgdHJ5aW5nIHRvIGRvIE1NSU8gdG8gYW4gZW5jcnlwdGVkIHJlZ2lvbi4N Cj4gPj4NCj4gPiBJIGNhcmVmdWxseSBjaGVjayB0aGUgY29kZSBUZHhEeGVFbnRyeVBvaW50QFRk eER4ZS5jLg0KPiA+IElmIHRoZSB3b3JraW5nIGd1ZXN0IGlzIE5PVCB0ZCBndWVzdCwgYmVmb3Jl IGl0IHJldHVybnMsIGl0IGp1c3QgZG9lcyBiZWxvdzoNCj4gPiAxLiBjaGVjayBpZiB0aGUgR3Vp ZEhvYiBleGlzdHMNCj4gPiAyLiBTZXQgUGNkT3ZtZkhvc3RCcmlkZ2VQY2lEZXZJZCB3aXRoIHRo ZSBpbmZvcm1hdGlvbiBpbiB0aGUgR3VpZEhvYg0KPiA+DQo+ID4gU2V0TW1pb1NoYXJlZEJpdCgp IGlzIGNhbGxlZCBpZiB0aGUgd29ya2luZyBndWVzdCBpcyBUZCBndWVzdC4gU28gaWYgaXQgaXMg c2V2DQo+IGd1ZXN0LCBTZXRNbWlvU2hhcmVkQml0IHdpbGwgbm90IGJlIGNhbGxlZC4NCj4gPg0K PiA+IEkgZG9uJ3QgaGF2ZSBhIFNFVi1FUyBpbiBoYW5kLiBDYW4geW91IGhlbHAgdG8gYWRkIHNv bWUgZGVidWcNCj4gaW5mb3JtYXRpb24gaW4gVGR4RHhlIHRvIHNlZSB3aGF0IHRoZSBsYXN0IGNv ZGUgYmVmb3JlIHRoZSBleGNlcHRpb24gaXMNCj4gdHJpZ2dlcmVkPw0KPiANCj4gSSBkb24ndCB0 aGluayBpdCBpcyBhbnl0aGluZyBpbiB5b3VyIGNvZGUsIEkgdGhpbmsgaXQgaXMgYW5vdGhlciBs aWJyYXJ5IHRoYXQgaXMNCj4gYmVpbmcgbG9hZGVkIGJhc2VkIG9uIGRlcGVuZGVuY2llcy4gSSBw dXQgYSBERUJVRyBzdGF0ZW1lbnQgYXQgdGhlIHN0YXJ0DQo+IG9mIFRkeER4ZUVudHJ5UG9pbnQo KSBhbmQgbmV2ZXIgc2VlIHRoZSBvdXRwdXQgYmVmb3JlIHRoZSBjcmFzaC4NCj4NCkkgY2hlY2sg dGhlIGxpYnJhcmllcyBsb2FkZWQgYnkgVGR4RHhlIGFuZCBBbWRTZXYgYW5kIGZpbmQgdGhhdCB0 aGV5IGxvYWQgZGlmZmVyZW50IFBjaUxpYi4NClRkeER4ZSBsb2FkIFBjaUxpYnxPdm1mUGtnL0xp YnJhcnkvRHhlUGNpTGliSTQ0MEZ4UTM1L0R4ZVBjaUxpYkk0NDBGeFEzNS5pbmYuDQpBbWRTZXYg bG9hZCBQY2lMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaUxpYkNmOC9CYXNlUGNpTGliQ2Y4Lmlu Zi4NCg0KUGNpTGliIGlzIGNvbnN1bWVkIGJ5IER4ZUFjcGlUaW1lckxpYi4gSW4gdGhlIEFjcGlU aW1lckxpYkNvbnN0cnVjdG9yQER4ZUFjcGlUaW1lckxpYiB0aGVyZSBpcyBiZWxvdyBjb2RlOg0K bUFjcGlUaW1lcklvQWRkciA9IChQY2lSZWFkMzIgKFBtYmEpICYgflBNQkFfUlRFKSArIEFDUElf VElNRVJfT0ZGU0VUOw0KDQpJIHRoaW5rIHRoaXMgaXMgdGhlIHJvb3QgY2F1c2Ugb2YgdGhlIGV4 Y2VwdGlvbi4NCg0KVGhlcmUgYXJlIDIgb3B0aW9ucyB0byBmaXggdGhpcyBpc3N1ZS4NCjEuIExv YWQgQW1kU2V2IGJlZm9yZSBUZHhEeGUNCjIuIE1ha2UgVGR4RHhlIHRvIGltcG9ydCBCYXNlUGNp TGliQ2Y4LmluZiBpbnN0ZWFkIG9mIER4ZVBjaUxpYkk0NDBGeFEzNS5pbmYgKGp1c3QgbGlrZSBB bWRTZXYpDQoNCkkgdHJpZWQgYWJvdmUgMiBvcHRpb25zIGluIG15IFRkeCBndWVzdCBhbmQgYm90 aCB3b3JrLg0KVG9tLCBDYW4geW91IGhlbHAgdG8gdHJ5IGFib3ZlIDIgb3B0aW9ucyBpbiB5b3Vy IFNFViBndWVzdCB0byBzZWUgd2hldGhlciB0aGV5IHdvcms/DQoNCj4gDQo+ID4NCj4gPiBCVFcs IGhhdmUgeW91IHRyaWVkIHRvIGxvYWQgQW1kU2V2LmluZiBiZWZvcmUgVGR4RHhlLmluZj8gSSB0 cmllZCBpdCBpbiBteQ0KPiBURFggZ3Vlc3QgYW5kIGl0IHdvcmtzIGZpbmUuDQo+IA0KPiBZZXMs IG1vdmluZyBBbWRTZXZEeGUuaW5mIGFoZWFkIG9mIFRkeER4ZS5pbmYgZG9lcyBmaXggdGhpcyBp c3N1ZS4gRG8geW91DQo+IHdhbnQgdG8gc3VibWl0IHRoZSBwYXRjaCBvciBkbyB5b3Ugd2FudCBt ZSB0bz8NCj4gDQpJZiBhYm92ZSBvcHRpb24gMiB3b3JrcywgSSBwcmVmZXIgdGhpcyBvcHRpb24g dG8gZml4IHRoZSBpc3N1ZS4gQmVjYXVzZSB0aGVyZSBpcyBzdGlsbCBwb3RlbnRpYWwgaXNzdWVz IGluIG9wdGlvbiAxLiBJIHdpbGwgc3VibWl0IHRoZSBwYXRjaC4NCg0KVGhhbmtzDQpNaW4NCg==