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.6417.1637762606709043794 for ; Wed, 24 Nov 2021 06:03:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=N9MwVlKo; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10177"; a="234007302" X-IronPort-AV: E=Sophos;i="5.87,260,1631602800"; d="scan'208";a="234007302" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 06:03:25 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,260,1631602800"; d="scan'208";a="497685020" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga007.jf.intel.com with ESMTP; 24 Nov 2021 06:03:22 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 24 Nov 2021 06:03:20 -0800 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 24 Nov 2021 06:03:20 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.12 via Frontend Transport; Wed, 24 Nov 2021 06:03:20 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.172) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 24 Nov 2021 06:03:20 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TfYGF3vbK3yykgu5uIj3moT+S+g8xs5vdQxkikZEjDg1kvMdlbARWoxQZ9CXB0Bl0RXJJjJS6a3P8ki+HUnb7wRRKbfSHJmuv0paJxN8inC+Y98VvreSC/y0X+gCjwE0MIef/EwIjqjb6dBXLHT6nsiDV6MLZXahHsj+Kc1qNzm3CraAtBCpC8/CjxJ9RI5lM2l55lMARCdzX0Sh3l4m85nS4FsfHTHcy7zmnDNQaPUZ/Oz77Ww+WP/NGa+QYjqcV9Fe2G5D4HmpscCr12l4MDcy0bvDo7yr4Z1W9oMLoVI3Bejfbs531Pkkpud/96ZkWaVmC7LWtwTLOisYzqQ3eA== 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=C3s6iVmJmvD6IPGgr2wMRLXKTCEDemk/kdBdOzlKx+8=; b=nhsqdMXe9bPbqhGqKDkL8ygmofHmu4zFXLVbfaB2xJnjo0FWq53Iy+dHIXXVfXG35NzbR/77JV2oTD3FRr/ulbSvvfMFYVNFqYjQjGkRM5y73lV6kQulx2ZTJtIKWD8Kn1gXJQc6s/9mCTtPKuu6KYo637O/SK5dhgE1LAceRlSpwfocNLSHdP385aviNbIfwknDUaO9tWmyZmbqU3DORZpPnfK8imlZ5v9z1SA8NMWggWiCRq5qQOLtyvGxihH+aO0XOOTcM3NpOAVnVSEADMedTmm3BIC4+Uy/0BSw7FUAbTnwicLvaUCtKlvXPFhDJlfal8Z8cJ8lD4V0hfCCdA== 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=C3s6iVmJmvD6IPGgr2wMRLXKTCEDemk/kdBdOzlKx+8=; b=N9MwVlKojRaahCJyX+iOqRB7CoUBuZ/do12ZCIWcoq7HmDJu5e4djxFCqffY/GJNLJi7u1tvsMkuxLwsUwRk6VpYpaj29WHI/Og/tdFaw2o8WaxAzAKzqKs2HKuFC7hLQp7M59K9TwV9GAHCVhfhTFhby4Of1daKiVutfaX1P90= Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by MWHPR1101MB2173.namprd11.prod.outlook.com (2603:10b6:301:5a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.27; Wed, 24 Nov 2021 14:03:17 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::1d07:d296:b2c7:7114]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::1d07:d296:b2c7:7114%8]) with mapi id 15.20.4669.016; Wed, 24 Nov 2021 14:03:17 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "jejb@linux.ibm.com" , Gerd Hoffmann CC: "Xu, Min M" , Ard Biesheuvel , "Justen, Jordan L" , Brijesh Singh , Erdem Aktas , Tom Lendacky Subject: Re: [edk2-devel] [PATCH V3 15/29] OvmfPkg: Update SecEntry.nasm to support Tdx Thread-Topic: [edk2-devel] [PATCH V3 15/29] OvmfPkg: Update SecEntry.nasm to support Tdx Thread-Index: AQHX2uMZH+dNhguCw0OBghbxJplRDawH11AAgAEwN+CAAfIoAIAAvv7AgAVfi4CAAAXBAIAAGIUAgAAC0naAAAQtAIAABTlIgAAHrQCAAKQIkIAAcbwAgAArxNCAAC6GgIAABxjA Date: Wed, 24 Nov 2021 14:03:17 +0000 Message-ID: References: <20211119151130.g2wcnuhivt3lxvzi@sirius.home.kraxel.org> <20211123123821.q4fanslttg72n2r3@sirius.home.kraxel.org> <1D6AF5B4-87BD-4773-A5C7-4779016A0673@intel.com> <1DF0C062-BF78-44E2-BE96-2C8727C36845@intel.com> <5ec6897681e46fe181193651164f0f17d5d1205d.camel@linux.ibm.com> <20211124081204.ortxlgwgp2c5dlhw@sirius.home.kraxel.org> <5d39c546fe66fc945e9687f187ed9892b6a6a00c.camel@linux.ibm.com> In-Reply-To: <5d39c546fe66fc945e9687f187ed9892b6a6a00c.camel@linux.ibm.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: 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: 89d43fc2-b088-44c2-0855-08d9af532a75 x-ms-traffictypediagnostic: MWHPR1101MB2173: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr 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: 0C7QHyZsP0GE996oUdDvnySZ8mnCafkQ7v4KsjsdE8y7dROeyXrMsIUkWqn16uSAs6EZA7H67JBD2fxNU5N2DUTglOmxM9aGaptE34p2hR0QnF25pk1zwWqdVKqWmeb13tq77t2nj053zsMoal8jx4mzADmEKoyDlnFDfmi1ixLylEINyFVnRugGAHadRElvAQLOpXVViYO+b8t2zG/wQ5VTrOuYJw8NB8jS81hHR6KvKficf5iERg62Pxq1Nbb/xYvkNQ4Cmtk968NvOUue5BzI5pk6R9n15tMHw0rv1nHPquUmJwyPU99rQoQ2SpChQ8sU4DbiM2wwd6W1awb2I5tyy3o/2H3A1YDu+WUCr/s/YJ/KOjCFbfGgpp7rJemA4Q6snjGPELh1Wb99VssoFwRbps5WInvjRZgCuphfRQi3VKNrlXQQeJ/A75pEU9drmdyBRhhQe3yRsA3l0kOw3OL6Md5p/eaFDfDeugx3zaT9jD8OAXhyIliXtHzzvXegG56HApvROAn5A+MwLxiIWEgHUnYQ6cUagV0+yeaUOMmncKuQYwxezE5pbQ+d9+TnRYNlvMj258M59V8/nQ1oIFlSMpIuPu8Ji24xhPFwDGl0gef1P8JTOde88yj251mGIyuDXR7SpNfe38wGS5M016X3X5LIA9QpRZgpwvkP2VQg9HYUAbF3WLPo4CR3Ng5uzZpKADrWKF7UQeAUB7HQFM7jNRoNP2X2CdF1oushOgH4uGB1sX+FCbNTZPPHgNOaoEoJmKp8zxMLtc03Obc+WKcBmd0GdBivCkV4e+Lkgr0/9/EEDsIyT8ovEBQ1+cq1E5SNHxLPalk8Z/D56ZCE/g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(76116006)(64756008)(53546011)(66556008)(66476007)(66446008)(26005)(86362001)(7696005)(54906003)(122000001)(110136005)(83380400001)(2906002)(66946007)(966005)(508600001)(38100700002)(38070700005)(5660300002)(316002)(55016003)(6506007)(33656002)(71200400001)(4326008)(8936002)(8676002)(9686003)(82960400001)(4001150100001)(15650500001)(52536014)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b2owSmtVZityTWxTRC95UUhBZmdSbGlwb29pRm9XNCtTdGxSQVJwNVFraTFl?= =?utf-8?B?Z0c1ajlPa0hqY09LdzBsbFg2OVlaMFBxM21UaEJQUWJ3OVpsTXZ1aTdKM1hi?= =?utf-8?B?SElTSjFqTFN1bjFoVFZ4eHovMjhvOS8weGhDbDllSWZWQWxxMDVIbHhhanl3?= =?utf-8?B?OHhGSXFjVTBzK1I2NFB6YThjQ3kzVHMvSHprRG5vNEdudE9JRTUxUFV2dVpx?= =?utf-8?B?ZmhuTlU2cFpLQ3QyM3h1YzNVWndZRWxNak5RUHk4S2dsN0NhcUpQeDUvbGE2?= =?utf-8?B?dkdUNGdCS0RtWkVyRnUrMU90akszWFhWOHozekgyYU00YTByeUhTc05EdjVN?= =?utf-8?B?WEZMZkpNTW10aDdmcFg2UnpzckJPNG5CaytaK0NMQ0orU05jYW9QZnJNV1Fs?= =?utf-8?B?eDdwUlBvTEFMQ3ZGdFdnak5LRXNzTUVDZld1N01IVGdGNW9rcmdNU3U1Y0F4?= =?utf-8?B?NE1Wck9LTkVMTm8wTnB2cExrZG9Sd3puRWxia2ZoSS9BTHgzeUNSWjQ1dVNu?= =?utf-8?B?b1d6K1MvNVA1eFFyNFR2WmVReEpxMldHcUNkU2dLY3lHb1ZITStIRUt2dlVp?= =?utf-8?B?M1J6QjNqUVRXaE1yM05KeXZiSitHZVB1ZmlETnNOd2ovY3dDVlRVeUFMN05y?= =?utf-8?B?Q1RQWEYzcHRCQmRrTGFRaWI1YnlwbTdSQmExZGpnNjE0dkNUTHVSQjJBZjBz?= =?utf-8?B?d0JhRC9HVEtGSnBFMWNSVFB4N2NtT2wvOVNmNWYyWFd0SjlXQlJnZ1VUeWda?= =?utf-8?B?UGV3cExIZlNXTy9LZ1oxZ29WRjZSTG9wL1I3aHIwZVNMQ1lsc1pTTXRHcUh0?= =?utf-8?B?bjY1V2ZrS3M2aXZqNGtoMFB0Ynh0VmliOE1GejBsMmI3STdTZ3NZR3pVRTlx?= =?utf-8?B?SEIvcEVwcnMxMGdZWW1ILy9rT25Wa0hoaE1IOW1YK0p6SEdvYXd6QU9YcU5h?= =?utf-8?B?STAvSHZTVVF0QUxBVG56aE1yT1h6SG5WVlYyZ0hMVjJnREt1RDZ4ck1CR0xo?= =?utf-8?B?TWZ6UXlzSHNFVHE5a3hJRXFRbUl1QnY3ZHFrT2Z1T3p4QnI1bEdsVGp1YThn?= =?utf-8?B?NnJJQzBlemRSVFNRU0Q0MDlLZTB4ekYxd2JaMGx4REt4VFJhUWdIbzBybGVK?= =?utf-8?B?dnc5YWU4NnBWZTRqcXNIQ0FCNkpjUm1GWHFkVzNEenZBN1JtMlI2aU4ydFVU?= =?utf-8?B?ZkRhUWNYMGRuOXd3ZjFnRHlpNUViTFlxMmRuK0JBaHphb2pXYjFHcm1ocEJq?= =?utf-8?B?VFlwRFlYdXFoa3RzWVJSU2J5V20xMEpIL3lvem1CckxqSU10SGl1RkEzZ2RL?= =?utf-8?B?Yk1HV29mTWpZU0hBNXg1Nnp3WEZTdUpqZlRRSDgzenlzTTFLbUQ2RlRiU1R6?= =?utf-8?B?R0F2dGphMzE1S0RHTXJLeTJvVG1ranpVK2FVSGJIVnBMR25BVkU2N240OFJG?= =?utf-8?B?cndUV0hxRDBiZ1MxeWx5emFuSkNzUlBPVm5ETWZvUVhMN1h4Y0ptTG5CYndP?= =?utf-8?B?WVdTUW91NnpIZnBKaXREa0wwbHd3emNwT0JIZlVZNzVEbVpxVTFoYVd3dkRK?= =?utf-8?B?ODBOSDErb295dUJMUVYyc0ZjanZWZDh5ZS9xRkxqaVd5NWQvYXJYUmVobURI?= =?utf-8?B?RWgraFRrRW5xUmZLbGlVYUtxT1hpQjFxMUdtVnQ4cUJjem9PY1RkVWpoQXEx?= =?utf-8?B?V3BjK3lKblh1MDZWWVU0NVYwc2JIV1I1bDRRaVZCZXVEY3BNZStscWZrc1pS?= =?utf-8?B?d2MwWEtaK3p0YnRFUnhQUXg2eDE3QXppM2NtYjhLUDRIY2lMMGpqQ0ZjVnpU?= =?utf-8?B?SGNVQ2JTM1pBN01VaTZ3TGdXZ1FkRnFMVnFRalk2WnhqM1RzcG9PUnhZRGh3?= =?utf-8?B?bnd0bGxxRXI0UTV0SVJ3UkJaV0s2QUlGZkowYnUvRmtjWXJ1WFlyNHRKRUkr?= =?utf-8?B?ZVpmUFFPRkIzdjdaQlVDMGt0Y3RiYWtEazRvd0N2NHNHc0Jic1gwbFhXZ2Ux?= =?utf-8?B?TW5aZ0FabCtvTGlvRTI1alp6U0V2QlI4bUdrMVk5M2NZRnY4R1RIT1JzNEZU?= =?utf-8?B?QW1NSk1EenlpbWp5SUp2QXVjRlB4bENQRHdZZGRrUy9pNDhBVWE0N1d4aXpV?= =?utf-8?B?UHdaa3FTOUwydHp4NUdldnZNUkZVWlF2Z21wNXp3RXBidkIzTDZrWWNYTFE5?= =?utf-8?Q?s/HmtuRTJyhftlld4S6N/ko=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89d43fc2-b088-44c2-0855-08d9af532a75 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2021 14:03:17.7293 (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: 2diwbRrkOj0V6TxAvkzhrBq7Dd9Oyx5CNBb6qg+21hh6vVi2ZlEv41KVppsUTUHo7Hp43rxbYvSv7YJdRBupmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2173 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 SmFtZXMNCkkgYW0gc29ycnkgdGhhdCBpdCBpcyBoYXJkIGZvciBtZSB0byB1bmRlcnN0YW5kIHlv dXIgcG9pbnQuDQoNClRvIGJlIGhvbmVzdCwgSSBhbSBub3Qgc3VyZSB3aGF0IGlzIG9iamVjdGl2 ZSBvbiB0aGUgZGlzY3Vzc2lvbi4NCkFyZSB5b3UgcXVlc3Rpb24gdGhlIGdlbmVyYWwgdGhyZWF0 IG1vZGVsIGFuYWx5c2lzIG9uIFVFRkkgUEkgYXJjaGl0ZWN0dXJlPw0KT3IgYXJlIHlvdSB0cnlp bmcgdG8gcGVyc3VhZGUgbWUgd2Ugc2hvdWxkIGluY2x1ZGUgUEVJIGluIFREVkYsIGJlY2F1c2Ug eW91IHRoaW5rIGl0IGlzIHNhZmVyIHRvIGFkZCBjb2RlIGluIFBFSSA/DQpPciBzb21ldGhpbmcg ZWxzZT8NCg0KUGxlYXNlIGVubGlnaHRlbiBtZSB0aGF0Lg0KDQoNClRoYW5rIHlvdQ0KWWFvIEpp ZXdlbg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIu Z3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIEphbWVzDQo+IEJv dHRvbWxleQ0KPiBTZW50OiBXZWRuZXNkYXksIE5vdmVtYmVyIDI0LCAyMDIxIDk6MzUgUE0NCj4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5j b20+OyBHZXJkDQo+IEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4gQ2M6IFh1LCBNaW4g TSA8bWluLm0ueHVAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPGFyZGIrdGlhbm9jb3Jl QGtlcm5lbC5vcmc+OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t PjsNCj4gQnJpamVzaCBTaW5naCA8YnJpamVzaC5zaW5naEBhbWQuY29tPjsgRXJkZW0gQWt0YXMN Cj4gPGVyZGVtYWt0YXNAZ29vZ2xlLmNvbT47IFRvbSBMZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5 QGFtZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYzIDE1LzI5XSBP dm1mUGtnOiBVcGRhdGUgU2VjRW50cnkubmFzbSB0bw0KPiBzdXBwb3J0IFRkeA0KPiANCj4gT24g V2VkLCAyMDIxLTExLTI0IGF0IDExOjA4ICswMDAwLCBZYW8sIEppZXdlbiB3cm90ZToNCj4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBHZXJkIEhvZmZtYW5uIDxr cmF4ZWxAcmVkaGF0LmNvbT4NCj4gWy4uLl0NCj4gPiA+IFRoZXJlIGlzbid0IG11Y2ggZXh0ZXJu YWwgaW5wdXQgdG8gcHJvY2VzcyBpbiBQRUkgcGhhc2UuICBWaXJ0dWFsDQo+ID4gPiBtYWNoaW5l cyBhcmUgYSBiaXQgZGlmZmVyZW50IHRoYW4gcGh5c2ljYWwgbWFjaGluZXMuICBUaGV5IG5lZWQg dG8NCj4gPiA+IHByb2Nlc3Mgc29tZSBpbnB1dCBmcm9tIHRoZSBob3N0IGhlcmUgd2hpY2ggZGVz Y3JpYmVzIHRoZSB2aXJ0dWFsDQo+ID4gPiBoYXJkd2FyZSBzbyB0aGV5IGNhbiBpbml0aWFsaXpl IGl0IHByb3Blcmx5LiAgRm9yIGV4YW1wbGUgcGFyc2UgdGhlDQo+ID4gPiBldGMvZTgyMCBmd19j ZmcgZmlsZSB0byBmaWd1cmUgaG93IG11Y2ggbWVtb3J5IGlzIGluc3RhbGxlZCAob3INCj4gPiA+ IHBhcnNlIHRoZSB0ZCBob2IgaW4gY2FzZSB0ZHggaXMgdXNlZCkuDQo+ID4gPg0KPiA+ID4gVGhh dCBwbGF0Zm9ybS1zcGVjaWZpYyBjb2RlIGZvciB2aXJ0dWFsIG1hY2hpbmUgaW5pdGlhbGl6YXRp b24gbXVzdA0KPiA+ID4gZG8gY2FyZWZ1bCBzYW5pdHkgY2hlY2tpbmcgd2hlbiB5b3UgZG9uJ3Qg d2FudCB0cnVzdCB0aGUgVk1NIG9mDQo+ID4gPiBjb3Vyc2UuIFdoZW5ldmVyIHRoYXQgY29kZSBs aXZlcyBpbiBTRUMgb3IgUEVJIGRvZXNuJ3QgY2hhbmdlIHRoZQ0KPiA+ID4gcGljdHVyZSBtdWNo IHRob3VnaC4NCj4gDQo+IEkgZG9uJ3QgZGlzYWdyZWUgb24gdGhpcyBiZWNhdXNlIHdlIGRvbid0 IGhhdmUgYSByb20gcm9vdCBvZiB0cnVzdCBpbg0KPiBPVk1GIC4uLiBob3dldmVyIGl0IG1hdHRl cnMgZm9yIG1vc3Qgb2YgdGhlIHJlc3Qgb2YgZWRrMg0KPiANCj4gPiBbSmlld2VuXSBJIGFtIG5v dCBzdXJlIHdoYXQgaW5mb3JtYXRpb24geW91IGFyZSB0cnlpbmcgdG8gY29udmV5Lg0KPiA+IEkg bmV2ZXIgc2FpZCB0aGF0IFREVkYgZG9u4oCZdCBuZWVkIGNoZWNrIHRoZSBpbnB1dCBhZnRlciBy ZW1vdmUgUEVJLg0KPiA+IFRoZSBjaGVjayBpcyBhbHdheXMgbmVlZGVkLCBubyBtYXR0ZXIgaW4g UEVJIG9yIFNFQy4gSSB0b3RhbGx5IGFncmVlLg0KPiA+DQo+ID4gSG93ZXZlciwgd2hhdCBJIHdh bnQgdG8gc2F5IGlzIFBFSSBoYXMgbXVjaCBtb3JlIHVubmVjZXNzYXJ5IGNvZGUNCj4gPiB0aGFu IFNFQy4NCj4gPiBZb3UgbmV2ZXIga25vdyB0aGUgcXVhbGl0eSBvZiB0aGUgdGhvc2UgdW5uZWNl c3NhcnkgY29kZS4gTWF5YmUgaXQNCj4gPiBoYXMgYSBzZWN1cml0eSBidWcsIGJ1dCBpdCBpcyBq dXN0IG5vdCB0cmlnZ2VyZWQuDQo+ID4gRm9yIGV4YW1wbGUsIGNhbiB5b3UgZ3VhcmFudGVlIFBF SSBjb2RlIGhhcyBub3QgYnVnPyBPciBEWEUgSVBMIGhhcw0KPiA+IG5vdCBidWc/DQo+IA0KPiBD b2RlIHJlbW92YWwgdG8gdGhpbiBkb3duIHRoZSBpbWFnZSBpcyBvcnRob2dvbmFsIHRvIHRoZSBs b2NhdGlvbiBvZg0KPiB0aGF0IGNvZGUgLi4uIEkgZG9uJ3QgdGhpbmsgYW55b25lIG9iamVjdGVk IHRvIHNlY3VyaW5nIHRoZSBwYXRoDQo+IHRocm91Z2ggUEVJIGJ5IHJlZHVjaW5nIHVubmVjZXNz YXJ5IGNvZGU7IHRoZSBkb3VidCBpcyB0aGF0IHRoZQ0KPiBlbGltaW5hdGlvbiBvZiBQRUkgc29t ZWhvdyBpbXByb3ZlcyBzZWN1cml0eS4NCj4gDQo+ID4NCj4gPiBXaGF0IEkgZGlkIGlzIGEgcHJv Y2VzcyBvZiByaXNrIG1hbmFnZW1lbnQgLSBpZiBQRUkgaXMgcmVtb3ZlZCwgSQ0KPiA+IGRvbuKA mXQgbmVlZCBjYXJlIHRoZSByaXNrIGJyb3VnaHQgYnkgUEVJLg0KPiANCj4gV2VsbCwgYXMgSSBz YWlkIGFib3ZlLCB5b3UgY2FuIHJlbW92ZSB0aGUgdW5uZWNlc3NhcnkgY29kZSBpbiBQRUkgKGFu ZA0KPiBTRUMgYW5kIERYRSkuICBIb3dldmVyLCBvbmNlIHlvdSd2ZSBkb25lIHRoYXQsIHlvdSBk b24ndCBlbGltaW5hdGUgcmlzaw0KPiBieSByZW1vdmluZyBQRUkgYmVjYXVzZSBhbGwgeW91IGRv IGlzIG1vdmUgdGhlIG5lY2Vzc2FyeSBjb2RlIHRoYXQgd2FzDQo+IGluIFBFSSB0byBzb21ld2hl cmUgZWxzZS4gIElmIHlvdSBtb3ZlIGl0IHRvIFNFQywgSSBhZ3JlZSB3aXRoIEdlcmQNCj4gdGhh dCBpdCBkb2Vzbid0IGFsdGVyIHRoZSBzZWN1cml0eSBwb3NpdGlvbiBtdWNoIGJlY2F1c2UgU0VD IGlzIGEgbG93DQo+IGV4cG9zdXJlIGRvbWFpbiBsaWtlIFBFSS4gIElmIHlvdSBtb3ZlIGl0IHRv IERYRSBpdCBhY3R1YWxseSBkZWNyZWFzZXMNCj4geW91ciBzZWN1cml0eSBtZWFzdXJhYmx5IGJl Y2F1c2UgRFhFIGlzIGEgaGlnaCBleHBvc3VyZSBzZWN1cml0eQ0KPiBkb21haW4uDQo+IA0KPiA+ IFVubGVzcyB5b3UgY2FuIHByb3ZlIHRoYXQgdGhlIHJpc2sgb2YgUEVJIGlzIHplcm8sIHRoZW4g dGhlIHJpc2sgaXMNCj4gPiB0aGVyZS4NCj4gDQo+IEJ1dCB5b3UgZG9uJ3QgbWFrZSBpdCB6ZXJv IGJ5IGVsaW1pbmF0aW5nIFBFSSwgeW91IHNpbXBseSBtb3ZlIHRoZSByaXNrDQo+IGVsc2V3aGVy ZSBiZWNhdXNlIHRoZSBuZWNlc3NhcnkgY29kZSBzdGlsbCBoYXMgdG8gZXhlY3V0ZS4NCj4gDQo+ ID4gPiA+IDIuICJidWdzIGluIFBFSSBjb2RlIGNhbid0IGJlIHVzZWQgdG8gZXhwbG9pdCB0aGUg c3lzdGVtIHdoZW4gaXQNCj4gPiA+ID4gaGFzIHRyYW5zaXRpb25lZCB0byB0aGUgRFhFIGRvbWFp bi4iDQo+ID4gPiA+IFtKaWV3ZW5dIEkgZGlzYWdyZWUuIEEgYnVnIGluIFBFSSBjb2RlIG1heSBh bHJlYWR5IG1vZGlmeSB0aGUNCj4gPiA+ID4gSE9CLCB3aGlsZSB0aGUgSE9CIGlzIGFuIGFyY2hp dGVjdHVyZSBkYXRhIGlucHV0IGZvciBEWEUuDQo+ID4gPiA+IElmIERYRSByZWxpZXMgb24gc29t ZSBtYWxpY2lvdXMgZGF0YSBmcm9tIFBFSSwgRFhFIG1pZ2h0IGJlDQo+ID4gPiA+IGV4cGxvaXRl ZCBsYXRlci4NCj4gPiA+DQo+ID4gPiBBdHRhY2tpbmcgUEVJIGlzIGhhcmRlciB0aG91Z2ggYmVj YXVzZSB0aGUgZXh0ZXJuYWwgaW5wdXQgaXQNCj4gPiA+IHByb2Nlc3NlcyBpcyBsaW1pdGVkIHdo ZW4gY29tcGFyZWQgdG8gRFhFLg0KPiA+ID4NCj4gPiA+IE9uY2UgeW91IGFyZSB0cmFuc2l0aW9u ZWQgdG8gRFhFIHlvdSBjYW4ndCBjYWxsIGludG8gUEVJIE1vZHVsZXMNCj4gPiA+IGFueSBtb3Jl Lg0KPiA+ID4NCj4gPiA+IFNvLCBob3cgd291bGQgYW4gYXR0YWNrZXIgdHJpY2sgUEVJIGNvZGUg aW50byBtb2RpZnlpbmcgSE9CcyAob3INCj4gPiA+IGNhcnJ5aW5nIG91dCBvdGhlciBhY3Rpb25z IHVuZGVyIGF0dGFja2VycyBjb250cm9sKT8NCj4gPg0KPiA+IFtKaWV3ZW5dIEkgd291bGQgZGlz YWdyZWUgIiBBdHRhY2tpbmcgUEVJIGlzIGhhcmRlciB0aG91Z2ggYmVjYXVzZQ0KPiA+IHRoZSBl eHRlcm5hbCBpbnB1dCBpdCBwcm9jZXNzZXMgaXMgbGltaXRlZCB3aGVuIGNvbXBhcmVkIHRvIERY RSAiDQo+ID4gRmlyc3QsIHRoZSBudW1iZXIgb2YgZXh0ZXJuIGlucHV0ICE9IHRoZSBkaWZmaWN1 bHR5IG9mIHRoZSBhdHRhY2suDQo+ID4gU2Vjb25kLCB0aGUgbnVtYmVyIG9mIGV4dGVybiBpbnB1 dCAhPSB0aGUgc2V2ZXJpdHkgb2YgdGhlDQo+ID4gY29uc2VxdWVuY2UuDQo+IA0KPiBBdHRhY2tp bmcgUEVJIGlzIGhhcmRlciB0aGFuIGF0dGFja2luZyBEWEUgYmVjYXVzZSBvZiB0aGUgbGltaXRl ZA0KPiBleHBvc3VyZSB0byBleHRlcm5hbCBpbmZsdWVuY2VzLiBJdCBkb2Vzbid0IG1lYW4gaXQg Y2FuJ3QgYmUgZG9uZSBidXQNCj4gaXQgZG9lcyBtZWFuIGV4cGxvaXRpbmcgdGhlIHNhbWUgY29k ZSBjYW4gYmUgaGFyZGVyIG9yIGltcG9zc2libGUgaW4NCj4gUEVJIGNvbXBhcmVkIHRvIERYRS4N Cj4gDQo+IFRoZSBrZXkgcG9pbnQgaXMgdGhlcmUgYXJlIHNvbWUgY2xhc3NlcyBvZiBidWcgdGhh dCBjYW4ndCBiZSBleHBsb2l0ZWQNCj4gaW4gUEVJIGJlY2F1c2Ugb2YgdGhlIGxpbWl0ZWQgZXhw b3N1cmUuICBUaGVzZSBidWdzIGNhbiBiZSBleHBsb2l0ZWQgaW4NCj4gRFhFIGJlY2F1c2Ugb2Yg dGhlIHdpZGVyIGV4cG9zdXJlLiAgVGhpcyBpcyB3aHkgbW92aW5nIGNvZGUgZnJvbSBEWEUgdG8N Cj4gUEVJIGluY3JlYXNlcyB0aGUgcmlzay4NCj4gDQo+ID4gT24gaG93IHRvIHRyaWNrIFBFSSwg aWYgeW91IHNlYXJjaCB0aGUgcHVibGljIFVFRkkgQklPUyBhdHRhY2sNCj4gPiBoaXN0b3J5IGlu IHRoZSB3ZWIsIHlvdSBjYW4gZmluZCBleGFtcGxlLg0KPiA+IFRoZSBhdHRhY2sgc2ltcGx5IHVz ZWQgYW4gaW50ZWdlciBvdmVyZmxvdywgdG8gY2F1c2UgYnVmZmVyIG92ZXJmbG93Lg0KPiA+IEFu ZCB0aGUgYnVmZmVyIG92ZXJmbG93IGNhbiBiZSB1c2VkIHRvIGluamVjdCBzaGVsbGNvZGUsIHRo ZW4gZ2Fpbg0KPiA+IHRoZSBleGVjdXRpb24gcHJpdmlsZWdlLg0KPiA+IEZpbmFsbHksIGl0IGNh biBjb250cm9sIHRoZSB3aG9sZSBzeXN0ZW0uDQo+ID4NCj4gPiBNb2RpZnlpbmcgSE9CIGlzIG5v dCBhIGRpZmZpY3VsdCB0YXNrLCBhcyBsb25nIGFzIHRoZXJlIGlzIHByb3Blcg0KPiA+IHZ1bG5l cmFiaWxpdHksIGJlaW5nIHVzZWQgdG8gZ2FpbiBhIG1lbW9yeSB3cml0ZS4NCj4gPg0KPiA+IElu IHNlY3VyaXR5IHdvcmxkLCB3ZSBhbHdheXMgc2F5OiBFdmVuIGlmIHlvdSBjYW5ub3QgZG8gaXQs IHlvdQ0KPiA+IGNhbm5vdCBhc3N1bWUgb3RoZXIgcGVvcGxlIGNhbm5vdCBkbyBpdC4NCj4gPiBV bmxlc3MgeW91IGNhbiBwcm92ZSBpdCBjYW5ub3QgYmUgZG9uZS4gT3RoZXJ3aXNlLCBhbnl0aGlu ZyBtaWdodCBiZQ0KPiA+IHBvc3NpYmxlLg0KPiA+DQo+ID4gVGhhdCBpcyB3aHkgcGVvcGxlIGFy ZSBpbiBmYXZvciBvZiBjcnlwdG8gbm90YXRpb24gYW5kIGZvcm1hbA0KPiA+IHZlcmlmaWNhdGlv biB0byBwcm92ZSBzb21ldGhpbmcgaXMgY29ycmVjdC4NCj4gDQo+IFRoZXJlIGFyZSBtYW55IHdh eXMgb2YgaW1wcm92aW5nIHNlY3VyaXR5LiAgRm9ybWFsIHZlcmlmaWNhdGlvbiBoYXMgaXRzDQo+ IHBsYWNlLCBidXQgZ3Jvd3MgZXhwb25lbnRpYWxseSBoYXJkZXIgd2l0aCB0aGUgY29tcGxleGl0 eSBvZiB0aGUNCj4gc3lzdGVtLiAgU2VwYXJhdGlvbiBpbnRvIG11bHRpcGxlIHNlY3VyaXR5IGRv bWFpbnMgaXMgYWxzbyBhIGNvbW1vbg0KPiB0ZWNobmlxdWUgKHdoaWNoIGFsc28gZmFjaWxpdGF0 ZXMgZm9ybWFsIHZlcmlmaWNhdGlvbiBiZWNhdXNlIGl0DQo+IHJlZHVjZXMgdGhlIHN0YXRlIHNw YWNlKS4gIFdoYXQgSSB3b3JyeSBhYm91dCBpcyB0aGF0IGVsaW1pbmF0aW9uIG9mDQo+IG9uZSBv ZiB0aGUgVUVGSSBzZWN1cml0eSBkb21haW5zIGNhdXNlcyBjb2RlIHRvIG1vdmUgdG8gcGxhY2Vz IHRoYXQNCj4gbWFrZXMgaXQgbW9yZSBleHBsb2l0YWJsZS4NCj4gDQo+IEphbWVzDQo+IA0KPiAN Cj4gDQo+IA0KPiANCj4gDQoNCg==