From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 63B3394115F for ; Thu, 7 Mar 2024 06:11:55 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=ZRr/Lm5F+NzIQCI2hoB/D3Kfp966DFvFqLKsUVxsgVw=; c=relaxed/simple; d=groups.io; h=From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1709791913; v=1; b=czCpw/1vqEa2ZQgIqlrzSe3BtHmcbTasmB+Lz7QKQSk18vW61cBkDHQVbRTD+KvyZXmKX3Vg KkjlFfml+268AM7XuMUjUF8WZIUNa97SG8KFurGxxy+wYuqaLDi+urVTt/TQAT44TobtW4h8B3K AldT1/TD4c9QbxgD7PKr7ERLyAVU0QKLjaTUiFyWsuTSD1ihRiMYcTBF4a5+8tCmLFS+zimv1uB cS9nhtY4Fy+C4XJdd+jScP9GnsIau/+weoVYTGCxHqzxbUM+S7QOv7/gYtvJboMzz3oR9n93sm8 HtkDhXwKPeWy1Z1neQQ1JbGAiAOCYRa7uRNdfYLhLa8pg== X-Received: by 127.0.0.2 with SMTP id o50PYY7687511xhLhyqQQEld; Wed, 06 Mar 2024 22:11:53 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by mx.groups.io with SMTP id smtpd.web11.17306.1709791913182612928 for ; Wed, 06 Mar 2024 22:11:53 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,11005"; a="15880460" X-IronPort-AV: E=Sophos;i="6.06,210,1705392000"; d="scan'208";a="15880460" X-Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Mar 2024 22:11:53 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,210,1705392000"; d="scan'208";a="40981183" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmviesa001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 06 Mar 2024 22:11:52 -0800 X-Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) 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.2507.35; Wed, 6 Mar 2024 22:11:51 -0800 X-Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2507.35 via Frontend Transport; Wed, 6 Mar 2024 22:11:51 -0800 X-Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.41) 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.2507.35; Wed, 6 Mar 2024 22:11:50 -0800 X-Received: from PH0PR11MB5048.namprd11.prod.outlook.com (2603:10b6:510:3d::14) by DS7PR11MB7886.namprd11.prod.outlook.com (2603:10b6:8:d8::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Thu, 7 Mar 2024 06:11:43 +0000 X-Received: from PH0PR11MB5048.namprd11.prod.outlook.com ([fe80::1b5d:fb8d:d49c:2024]) by PH0PR11MB5048.namprd11.prod.outlook.com ([fe80::1b5d:fb8d:d49c:2024%6]) with mapi id 15.20.7386.006; Thu, 7 Mar 2024 06:11:43 +0000 From: "Zhiguang Liu" To: Laszlo Ersek , "devel@edk2.groups.io" CC: Liming Gao , "Wu, Jiaxin" , "Ni, Ray" , Ard Biesheuvel , Sami Mujawar Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/SMM: Support to unregister SMI handler inside SMI handler Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/SMM: Support to unregister SMI handler inside SMI handler Thread-Index: AQHaTnpFtyRQ4bwf9EyS0CT43+JrBrDqWvsAgEGy28A= Date: Wed, 06 Mar 2024 22:11:53 -0800 Message-ID: References: <20240124040301.2176-1-zhiguang.liu@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB5048:EE_|DS7PR11MB7886:EE_ x-ms-office365-filtering-correlation-id: e96bfbeb-6238-47ba-f05b-08dc3e6d765d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: 1UM2EweNf0XDziIr0gKPtExaRHsr4qWZyx7yelU2aoCV+jEwVrbLrGFPzfI6Qesh2faoBofGjpA8gFZmYYUilt+0iATvGcRcyNht99JpP0KYuJc095E99jAQGlxpNULZBy3JtKMOAQ6Lr5tXcXQJzQM6p/fltR4OStC9T212l8cky/BGewSaZeW5pS8w1Sqa3pN3inLpC1cYCv8UFUK890IGsA/w5HyhGpHPz89t2tdEdPAhnAbL9XsFyjRgYn9JgoHvQZzBDyrgBZJueQsVxm2MXT3Mh7su/DGa6ymxAjJ+mSRdK3xhNGH5/Ts7mErBelGwZo8HjhLO/WEuj8yjZwRBRyRh/e3JmyPY1aHQQ9/NypvoSQ06vqczQWe+gXPmrnLCimVpmr+0aogwbfMVZqi2ZPcSdZyWqiprNuQKzN7U+f12i5WS+5rKlKvHFQRrVIDrDV8ulA/QGCt7QrQQ/jGS+A2ujvxUDQNydtcrcNSw12ywQ77KiyYlop1vyZtVxdFcX2JVJ/kZJIuKjAxdr3XW04Jy4KT4/em/uC9UqHr4U06TpW11yWlCwfHWFB8hy+739LE9FZo2qV8TDppPuH4PwhUP6lN379QJ+oYGGmnRKmfKc5zVA45lyz1WfBVjh7Z4shDsrwwMfhuHYuKOgGX2eUxv9kZKqdEReDR9TTnMr0IPfELubhp/BxfQyJr0Q1uQiqDcIBbvJ6v8UZ4v9iZDF/4FPG4RHLm2pAFxMVA= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ckRkRWhiS0VSZklFZk5Ca0h1Q1dJMUpzZWhsbTBHN1pwS1pKODBlVVlLZzVI?= =?utf-8?B?QUtpMXo5S09YVFRoWWk3T0U5dC95SlJhOGQzYWpPVno0SmVlelZzeFpPK001?= =?utf-8?B?REN3TGhVMzBRMlQ4dUs0R2VYQlVNZ3lQQlIwbEl6WWd6bFBLd1lYT2xCY014?= =?utf-8?B?N2hIdmNFQlhTYXYzQ04rbldvQXpiWjk3dnlCQ2R3ODFxN1pGYWpLaG40bkgz?= =?utf-8?B?RHlLcmtuQU9mMGVXbHdyLzBlWlhEYzdGMVFEOVplQUNKSVhXNTJFSUZyTjE1?= =?utf-8?B?V0VGS2ViODNpbmRVUFhVSXRvRkkxVFozdUpTTnFNRHkwMWZvTDlhdk5PVTB5?= =?utf-8?B?cXE2MEtEWHlINnBqb0h4VXBObVdRNGVwYm5aQWJlMWhudUx3Ykp5R09KcjZJ?= =?utf-8?B?d2s1ajRva1FJakk2aG9BRXkvSkFJOGtGRU1PTnlhWGJFbVhhZXRrK29mbWxB?= =?utf-8?B?T1hsQXFaMzEvMlExVlFlaUN1MG4zTTBvWVI3MWhya1JrMnk2eFMrZ2pLckRF?= =?utf-8?B?bzRTSE9ud0tMblZudlR1OUlUMjNxTnZRaEFKWTM0ZTAwMHpjY1dodHp2UW9T?= =?utf-8?B?b1NDMS9HaXZjdktGWnhRUU5KMTJhSmF1cVdwYVE1NE43Z1MxdFo0cHB4UGR6?= =?utf-8?B?cHlDUG1zV2wrQSsxbGpwVWYvT25NMHFmcWxEd2ptcmtBcnZjcHVya3R0Wlhz?= =?utf-8?B?elVncGdvMTY3TktyOXNuYXZUMlNTRk55MHVQd1ZpQ29nejM5SG9Qb1BsT3RR?= =?utf-8?B?anlCd0h3c1BIamdVUTM1eExabFRrVXM5enByQVlGdkdNS1g3NnZnclE3MUpi?= =?utf-8?B?dXFyNzlMSWZyOTBaQjF3cldQNnhTcUFTQkM1N0p3T2ZEMG54MzBuZ2I2QjFX?= =?utf-8?B?WnNXVldZa0pZeGcyUG9WeGJjWCtlSTl2anNmUkxwVnNqZU5jK3V0dVExRCty?= =?utf-8?B?aXZ5UnlwbUFvaWFrKzB1M1dLdUwzS2l0dUlhRnV2WmtESVpQVlRGcUdoc01k?= =?utf-8?B?dDBSRW5nOEROTE1MeTZFeVV1QUYrYTJqZ0RmWEFwZ3dRRm4rdjFhaWpUNWhG?= =?utf-8?B?NEtRbFp3dDZnUjh2Rm9wc1cwd0tIZW5LazI2TGRZQ3lpazB2WHlrZkxvWkdD?= =?utf-8?B?UXBjbVhDWVMreGphWUZpVW5HZVJBT1BUV1oxbEhGM0ZoOForNkloYm9WMjRC?= =?utf-8?B?K2RTOTBsaE02YzZ1WjdkODh0NkNGTmRmR0I1UzVpZElZbVVHazZuaE9jT01t?= =?utf-8?B?NmhLenFHZnI2ZzVwZnY1c09BdTJsTHNTNnN4c1E1VnZOVTg0U2hvRDhxcUdE?= =?utf-8?B?OWVzKzVFWmRaMnRhOThhYk15Rk92K2MzbkVPNWNyYldVSGN6UGluVWZRTlhW?= =?utf-8?B?ZFBVREhJOE80RGxabEt5TXA0UWdoeXdVL0loLzNSb3psUzRJdU1HT2p5U2VP?= =?utf-8?B?cHYyMENrcFJsYis5UlRrSFA5VW5uV21yaFZUYzQ5dnFUZCt3amx3SGxza3Vx?= =?utf-8?B?MWZXcWFRdlpUdXM4NkhvTDV2Q0hjVC81dkFrV09zWVZvN1QwODY3MS9XUUpP?= =?utf-8?B?Y3J4ZW1DemtlN0FQRWJYMFBiNVMzZUNZY0JZK1ZvV2dFZGFTMjZ0ck1yT1Nl?= =?utf-8?B?M2Ftc2V0cnVBTGVidkVzSVpoMDJHTFc4OHVRUjNOdkZnMEE4dmI2a1FDV3Zr?= =?utf-8?B?L2x3VW1wUlowRGNmZVhZRmgvU1RFS1h4SFdPUDBsZGV6eHh0K3R6blZHaWtJ?= =?utf-8?B?azRBQlhnZ294UkF1Rk1MdlZiMmV6a1ZkZ3o0dlYzMlcvcXdkUVA2ZGZGWm1n?= =?utf-8?B?YVdaSkQvSXppSGtYek5RNHlrekJLZzlvYmxCTWdnNm5TNjFBRFpaTVdRUFhj?= =?utf-8?B?MklNN1podlQwY2N4SzBGdS9IdVc5L3VlOGpaM2tYZkk0UG5pck90bC9pTnFG?= =?utf-8?B?TWdBWmQ2aGVManRublRjbXEyS1BtN3ZxQXUyTmJoRTY5VGo3cnlvV3pwMlNQ?= =?utf-8?B?dzVMSk5VSWxaQk9kNE1NUXB5cWFIQjlJSjJFNzZKWUYrZTdUaWlvclBadEFw?= =?utf-8?B?cjUvYzVKSFIranoyTjBobHliSU4xb1RQaFlEaHlLNTdGNlZIVFpmSStNekt0?= =?utf-8?Q?fLZSRJpOK0ityNM2PXi4KjLnD?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5048.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e96bfbeb-6238-47ba-f05b-08dc3e6d765d X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2024 06:11:43.7689 (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: 0LecvenMAiXFHJwhE/GG/79HzuZwF7oyUP8Fe4zhe5OEH58FBifx4vVpfRLWjdWQaM+9oBHaXiS+o7fL80xoHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR11MB7886 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,zhiguang.liu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: h8awkB7Nay5myGr8sh7abayOx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b="czCpw/1v"; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io SGkgTGFzemxvLA0KDQpXZSB0YWxrZWQgYWJvdXQgaG93IHRvIHVucmVnaXN0ZXIgU01JIGhhbmRs ZXIgaW5zaWRlIG90aGVyIFNNSSBoYW5kbGVyLg0KQW5kIHRoZSBjb25jbHVzaW9uIHdhcyB0aGVy ZSBpcyBubyBzdWNoIHVzYWdlIHNvIHdlIGRvbid0IG5lZWQgc3VwcG9ydCBpdC4NCkhvd2V2ZXIs IEkgZmluZCBzb21lIHBsYXRmb3JtIGRvZXMgbmVlZCB0byB1bnJlZ2lzdGVyIFNNSSBoYW5kbGVy IGluc2lkZSBvdGhlciBTTUkgaGFuZGxlci4NCg0KVGhlIGRlc2lnbiB5b3UgaW50cm9kdWNlZCBi ZWxvdyBpcyBncmVhdCB0byBtZWV0IHRoZSBuZWVkcy4NCklmIHlvdSBkb24ndCBoYXZlIHRpbWUg dG8gaW1wbGVtZW50IGFuZCBoYXZlIG5vIGNvbmNlcm4sIEkgY2FuIGltcGxlbWVudCB5b3VyIGRl c2lnbiBhbmQgc2VuZCB0aGUgcGF0Y2ggb3V0Lg0KDQpUaGFua3MNClpoaWd1YW5nDQoNCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVk aGF0LmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEphbnVhcnkgMjUsIDIwMjQgNjo0OCBQTQ0KPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRl bC5jb20+DQo+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBXdSwg SmlheGluDQo+IDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNv bT47IEFyZCBCaWVzaGV1dmVsDQo+IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsgU2FtaSBN dWphd2FyIDxTYW1pLk11amF3YXJAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0hdIE1kZU1vZHVsZVBrZy9TTU06IFN1cHBvcnQgdG8NCj4gdW5yZWdpc3RlciBTTUkg aGFuZGxlciBpbnNpZGUgU01JIGhhbmRsZXINCj4gDQo+IE9uIDEvMjQvMjQgMDU6MDMsIFpoaWd1 YW5nIExpdSB3cm90ZToNCj4gPiBUbyBzdXBwb3J0IHVucmVnaXN0ZXIgU01JIGhhbmRsZXIgaW5z aWRlIFNNSSBoYW5kbGVyIGl0c2VsZiwgZ2V0IG5leHQNCj4gPiBub2RlIGJlZm9yZSBTTUkgaGFu ZGxlciBpcyBleGVjdXRlZCwgc2luY2UgTElTVF9FTlRSWSB0aGF0IExpbmsgcG9pbnRzDQo+ID4g dG8gbWF5IGJlIGZyZWVkIGlmIHVucmVnaXN0ZXIgU01JIGhhbmRsZXIgaW4gU01JIGhhbmRsZXIg aXRzZWxmLg0KPiA+DQo+ID4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bj4NCj4gPiBDYzogSmlheGluIFd1IDxqaWF4aW4ud3VAaW50ZWwuY29tPg0KPiA+IENjOiBSYXkg TmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogWmhpZ3VhbmcgTGl1IDx6 aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBNZGVNb2R1bGVQa2cvQ29yZS9Q aVNtbUNvcmUvU21pLmMgfCA4ICsrKysrKystDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQ a2cvQ29yZS9QaVNtbUNvcmUvU21pLmMNCj4gPiBiL01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29y ZS9TbWkuYw0KPiA+IGluZGV4IDI5ODVmOTg5YzMuLmE3NWU1MmIxYWUgMTAwNjQ0DQo+ID4gLS0t IGEvTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1NtaS5jDQo+ID4gKysrIGIvTWRlTW9kdWxl UGtnL0NvcmUvUGlTbW1Db3JlL1NtaS5jDQo+ID4gQEAgLTEzNCw4ICsxMzQsMTQgQEAgU21pTWFu YWdlICgNCj4gPg0KPiA+ICAgIEhlYWQgPSAmU21pRW50cnktPlNtaUhhbmRsZXJzOw0KPiA+DQo+ ID4gLSAgZm9yIChMaW5rID0gSGVhZC0+Rm9yd2FyZExpbms7IExpbmsgIT0gSGVhZDsgTGluayA9 DQo+ID4gTGluay0+Rm9yd2FyZExpbmspIHsNCj4gPiArICBmb3IgKExpbmsgPSBIZWFkLT5Gb3J3 YXJkTGluazsgTGluayAhPSBIZWFkOykgew0KPiA+ICAgICAgU21pSGFuZGxlciA9IENSIChMaW5r LCBTTUlfSEFORExFUiwgTGluaywgU01JX0hBTkRMRVJfU0lHTkFUVVJFKTsNCj4gPiArICAgIC8v DQo+ID4gKyAgICAvLyBUbyBzdXBwb3J0IHVucmVnaXNlciBTTUkgaGFuZGxlciBpbnNpZGUgU01J IGhhbmRsZXIgaXRzZWxmLA0KPiA+ICsgICAgLy8gZ2V0IG5leHQgbm9kZSBiZWZvcmUgaGFuZGxl ciBpcyBleGVjdXRlZCwgc2luY2UgTElTVF9FTlRSWSB0aGF0DQo+ID4gKyAgICAvLyBMaW5rIHBv aW50cyB0byBtYXkgYmUgZnJlZWQgaWYgdW5yZWdpc3RlciBTTUkgaGFuZGxlci4NCj4gPiArICAg IC8vDQo+ID4gKyAgICBMaW5rID0gTGluay0+Rm9yd2FyZExpbms7DQo+ID4NCj4gPiAgICAgIFN0 YXR1cyA9IFNtaUhhbmRsZXItPkhhbmRsZXIgKA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoRUZJX0hBTkRMRSlTbWlIYW5kbGVyLA0KPiANCj4gSSd2ZSBoYWQgYSBmdXJ0aGVyIHRo b3VnaHQgaGVyZS4NCj4gDQo+ICgxKSBUaGlzIHBhdGNoIG1heSBlbmFibGUgYW4gU01JIGhhbmRs ZXIgdG8gdW5yZWdpc3RlciAqaXRzZWxmKiwgdGhhdCBpcywNCj4gdGhyb3VnaCB0aGUgZm9sbG93 aW5nIGNhbGwgY2hhaW4NCj4gDQo+ICAgU21pTWFuYWdlKCkNCj4gICAgIFNtaUhhbmRsZXItPkhh bmRsZXIoKQ0KPiAgICAgICBTbWlIYW5kbGVyVW5SZWdpc3RlcigpDQo+IA0KPiBidXQgaXQgc3Rp bGwgZG9lcyBub3QgZW5zdXJlICpnZW5lcmFsIGl0ZXJhdG9yIHNhZmV0eSouDQo+IA0KPiBBc3N1 bWUgdGhhdCBhbiBTTU0gZHJpdmVyIHJlZ2lzdGVycyB0d28gaGFuZGxlcnMsIGhhbmRsZXIgQSBh bmQgaGFuZGxlciBCLg0KPiBBc3N1bWUgdGhlIERpc3BhdGNoSGFuZGxlcyBmb3IgdGhlc2UgYXJl IHN0b3JlZCBpbiBnbG9iYWwgdmFyaWFibGVzIGluIHRoZQ0KPiBkcml2ZXIuIFRoZW4sIGFzc3Vt ZSB0aGF0ICJoYW5kbGVyIEEiIChmb3Igd2hhdGV2ZXIgcmVhc29uLCB1bmRlciBzb21lDQo+IGNp cmN1bXN0YW5jZXMpIHVucmVnaXN0ZXJzICJoYW5kbGVyIEIiLg0KPiANCj4gVGhhdCBjb3VsZCBz dGlsbCBsZWFkIHRvIGEgdXNlLWFmdGVyLWZyZWUgaW4gdGhlIFNtaU1hbmFnZSgpIGxvb3A7IGlz IHRoYXQgcmlnaHQ/DQo+IA0KPiBJZiB0aGF0IGRyaXZlciBzY2VuYXJpbyBpcyBwbGF1c2libGUs IHRoZW4gc29tZXRoaW5nIGxpa2UgdGhlIGZvbGxvd2luZyB3b3VsZCBiZQ0KPiBuZWVkZWQ6DQo+ IA0KPiAtIGEgZ2xvYmFsIHZhcmlhYmxlIG9mIGVudW0gdHlwZSBpbiAiTWRlTW9kdWxlUGtnL0Nv cmUvUGlTbW1Db3JlL1NtaS5jIiwNCj4gd2l0aCB0aHJlZSBwb3NzaWJsZSB2YWx1ZXMgKE5vdE1h bmFnaW5nPTAsIE1hbmFnaW5nPTEsIENsZWFudXBOZWVkZWQ9MikuDQo+IA0KPiAtIGEgbmV3ICJC T09MRUFOIERlbGV0ZWQiIGZpZWxkIGluIFNNSV9IQU5ETEVSDQo+IA0KPiAtIGFsbCBsb29wcyBp biAiU21pLmMiIGl0ZXJhdGluZyBvdmVyIFNNSV9IQU5ETEVScyB3b3VsZCBoYXZlIHRvIHNraXAg aGFuZGxlcnMNCj4gdGhhdCBoYXZlIGJlZW4gbWFya2VkIGFzIERlbGV0ZWQNCj4gDQo+IC0gaW4g U21pTWFuYWdlKCksIHNldCB0aGUgc3RhdGUgdG8gTWFuYWdpbmcgKD0xKSBiZWZvcmUgdGhlIGxv b3AuIEFmdGVyIHRoZQ0KPiBsb29wLCBjaGVjayBpZiB0aGUgc3RhdGUgaXMgQ2xlYW51cE5lZWRl ZCAoPTIpOyBpZiBzbywgYWRkIGFuIGV4dHJhIHBhc3MgZm9yDQo+IGFjdHVhbGx5IGRlbGV0aW5n IFNNSV9IQU5ETEVScyBmcm9tIHRoZSBsaXN0IHRoYXQgaGF2ZSBiZWVuIG1hcmtlZCBEZWxldGVk Lg0KPiBGaW5hbGx5IChyZWdhcmRsZXNzIG9mIHRoZSBzdGF0ZSBiZWluZyBNYW5hZ2luZyAoPTEp IG9yIENsZWFudXBOZWVkZWQgKD0yKSksDQo+IHJlc2V0IHRoZSBzdGF0ZSB0byBOb3RNYW5hZ2lu ZyAoPTApLg0KPiANCj4gLSBpbiBTbWlIYW5kbGVyVW5SZWdpc3RlcigpLCBpZiB0aGUgc3RhdGUg aXMgTm90TWFuYWdpbmcgKD0wKSwgZGVsZXRlIHRoZQ0KPiBoYW5kbGVyIGltbWVkaWF0ZWx5LiBP dGhlcndpc2UgKGkuZS4sIHdoZW4gdGhlIHN0YXRlIGlzIE1hbmFnaW5nDQo+ICg9MSkgb3IgQ2xl YW51cE5lZWRlZCAoPTIpKSwgc2V0IHRoZSBzdGF0ZSB0byBDbGVhbnVwTmVlZGVkICg9MiksIGFu ZCBvbmx5DQo+IG1hcmsgdGhlIGhhbmRsZXIgYXMgRGVsZXRlZC4NCj4gDQo+IFRoZSBpZGVhIGlz IHRvIGluZm9ybSBTbWlIYW5kbGVyVW5SZWdpc3RlcigpIHdoZXRoZXIgaXQncyBydW5uaW5nIG9y IG5vdA0KPiBydW5uaW5nIG9uIHRoZSBzdGFjayBvZiBTbWlNYW5hZ2UoKSwgYW5kIHRvIHBvc3Rw b25lIFNNSV9IQU5ETEVSDQo+IGRlbGV0aW9uIHVudGlsIGFmdGVyIHRoZSBsb29wIGZpbmlzaGVz IGluIHRoZSBmb3JtZXIgY2FzZS4NCj4gDQo+IEknbSBub3Qgc3VyZSBpZiByZWFsIGxpZmUgU21p SGFuZGxlclVuUmVnaXN0ZXIoKSB1c2FnZSBpcyB3b3J0aCB0aGlzDQo+IGNvbXBsaWNhdGlvbiwg aG93ZXZlci4NCj4gDQo+ICgyKSBJbmRlcGVuZGVudGx5OiBkb2VzIHRoZSBzYW1lIGlzc3VlIGV4 aXN0IGZvciB0aGUgU3RNTSBjb3JlPyBJIHNlZW0gdG8gYmUNCj4gZGlzY292ZXJpbmcgdGhlIHNh bWUgcHJvYmxlbSBpbiBNbWlNYW5hZ2UoKQ0KPiBbU3RhbmRhbG9uZU1tUGtnL0NvcmUvTW1pLmNd Lg0KPiANCj4gU28sIHdoYXRldmVyIHBhdGNoIHdlIGFkZCB0byB0aGUgU01NX0NPUkUsIHNob3Vs ZCBsaWtlbHkgYmUgcmVmbGVjdGVkIHRvDQo+IE1NX0NPUkVfU1RBTkRBTE9ORSB0b28uIEFkZGlu ZyBBcmQgYW5kIFNhbWkgdG8gdGhlIENDIGxpc3QuDQo+IA0KPiBUaGFua3MNCj4gTGFzemxvDQoN Cg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUg YWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9SZXBseSBPbmxpbmUgKCMxMTY0 NzYpOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTY0NzYKTXV0ZSBU aGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDM5MjU3OTQvNzY4NjE3NgpHcm91cCBP d25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBzOi8vZWRr Mi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVuZncuaW9dCi09LT0tPS09LT0t PS09LT0tPS09LT0tCgoNCg==