From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.18524.1627610228844476189 for ; Thu, 29 Jul 2021 18:57:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=LDcpYZ2t; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10060"; a="234914996" X-IronPort-AV: E=Sophos;i="5.84,280,1620716400"; d="scan'208";a="234914996" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 18:57:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,280,1620716400"; d="scan'208";a="457035825" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga007.jf.intel.com with ESMTP; 29 Jul 2021 18:57:06 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) 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.2242.10; Thu, 29 Jul 2021 18:57:06 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 29 Jul 2021 18:57:05 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.10 via Frontend Transport; Thu, 29 Jul 2021 18:57:05 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) 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.10; Thu, 29 Jul 2021 18:57:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q9AKxCdGtqOeEXXPmvvK2wlcPXyPiwwIsmrTiBjzaTTADdBmUTKtiGX7h774i8CX207gYxlR57+0JFdSbn8AkiiaByqkF9+5WDmIqvseqIAvzM/u7WeL7H7OQydcaDiNK6edEG60REs3U51sCa2nbq7UFguFEE9xewZ9k2BnIWjNhSRRD77reP5i1Nbq5+aNHkgepXDnt3BtecLZPZ0jSgKietbaARBpS3AO8iwl6zYAim3xrKwRP6f9cTf9N59eltjI3HPF47Rr/z1HAVX+Fv9WBeNaRUZMPBMOdmO0XOzTrj1ibwxYwG3np2hflha4Ky/1Ye7j9bDowKNeSe+FlA== 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=11stil0kwwbHGBlSdwiSbKcH/ghh47cSZYGIgEqBTio=; b=abzagIoyxIgTifEu9ZSzrpvm6GUtZIMoYtnKpO7M7zWinA5TCAUpkw5hoZTHgGJItn0qx3rn8acAAB3FMBsdHK25G/M5/YR366wOMso+izMCEEHEU3BiHjN+ZedmKAmqYPlmytSOAlvykDlBbM4mp6gafDl/2PflwWURQ1o6O4PM4MBMjM73XgAShj5q7E59co6G5NnhT7FcoU/0fN+syFlY927jzdJwzM2SzY2u8F5s2MNjgeU+wTUjOKC8fpuRvybdQnYZGVetJR4AsCGvfwNoloB3DtL/9FtdWwig4C4oPoQUnunq+KS8t3JEW0Te1W4F5qVGq51GXDU6wkG+8Q== 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=11stil0kwwbHGBlSdwiSbKcH/ghh47cSZYGIgEqBTio=; b=LDcpYZ2t9XytvebuuAZfl6RcSm/x6487uCb7voPeO2IZwtCfaZvWYh6i5BauQ+kUKTmPR2SOSqXKguAKSijtr3rUEaTWZglGQPusE4PpiPJdfXCF5XcxvT6r1Gtri2V4PPHd7yGLWMHiH5eY2ajnevuRImvSZOmivAgU8SnBN9A= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB5015.namprd11.prod.outlook.com (2603:10b6:510:39::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.19; Fri, 30 Jul 2021 01:57:04 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121%3]) with mapi id 15.20.4352.031; Fri, 30 Jul 2021 01:57:04 +0000 From: "Yao, Jiewen" To: Taylor Beebe , "Wang, Jian J" , "devel@edk2.groups.io" CC: "spbrogan@outlook.com" , "Dong, Eric" , "Ni, Ray" , "Kumar, Rahul1" , "mikuback@linux.microsoft.com" , "Wu, Hao A" , "Bi, Dandan" , "gaoliming@byosoft.com.cn" , "Dong, Guo" , "Ma, Maurice" , "You, Benjamin" Subject: Re: [RFC] MemoryProtectionLib for Dynamic Memory Guard Settings Thread-Topic: [RFC] MemoryProtectionLib for Dynamic Memory Guard Settings Thread-Index: AQHXhCAY+OLs1hebp0mAsxAXjz+Laataw3kAgAAAgDA= Date: Fri, 30 Jul 2021 01:57:04 +0000 Message-ID: References: <5ffb8dce-8a33-537c-2019-ec4666854739@taylorbeebe.com> In-Reply-To: <5ffb8dce-8a33-537c-2019-ec4666854739@taylorbeebe.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: taylorbeebe.com; dkim=none (message not signed) header.d=none;taylorbeebe.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 93c15ad1-9b59-420d-1ace-08d952fd542e x-ms-traffictypediagnostic: PH0PR11MB5015: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ha+zOwwa3b9myYXC7UfNiHIv/rMOSFDCmEJTluJpysAbSx+i1tzN0RYEOFQSUY+X3+bnyorLzhu06j6IHpBji6NUO7vpnSoXJb9NAd/aM9RyrGSqW+V2rn+RsA7gTYfh1SBkqcPkqifuoCI1ik+Gl5rMDOiDCv7eQW1nMNg2MWxXiMIrh1A9ViG9pPG4q/ZphJBmb+xlY6z2Jp7rC+80DnSamXSa6ofPr4TOW2somXGweSrrcNMmcKylem7WvgMPi6Vz19GZkkvvbMZniiEMGHFqBw8RKIfB9nE89c1qJL/OuyLRJp/x5wuaS1dv2OFbBCaxke6yUna8i1H72FK1dbHXnyyBY0qfIkr0+d1stppxV8TtqhGM8e+7joSSMMopxPJrc9io8VEav+TTgji7Sf8ZSTUBgG7/x3b9kpWNud6cwWoS0XphRuRBbf9BKYuGBaCfogC8/bReyDQTYk7fDbEcK3VFD1NsRJXic9QePUtggu5k0HAfnHwtvg3gdhupsYyYTe5YJMQnZkC+WodGy6IlRnvzwVbd0K+3tG24dfdWRJan6Tx496meA5WclHhFDdVqnfEo6tj4d2iWzjFKzqIDPe3tXL1FPFiNiNO1Ip1BqKVQU5wXxmgKdSsg09ol2jzC3I+3Nqc3oNLwFfEGBguCEX7EPc9dT5jpChEQRifcRgvBPQ9PsQBEmeQAuO+jMhQsOddGe72o2mDeQw/+/B4ghBCBcUkg1as81VMRZow= 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:(4636009)(136003)(376002)(396003)(346002)(39860400002)(366004)(5660300002)(54906003)(110136005)(316002)(86362001)(52536014)(7696005)(66476007)(64756008)(66556008)(83380400001)(76116006)(2906002)(66946007)(122000001)(66446008)(38100700002)(71200400001)(8936002)(4326008)(33656002)(107886003)(186003)(55016002)(8676002)(9686003)(45080400002)(38070700005)(26005)(6506007)(53546011)(478600001)(781001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bWtMZWRjSERVeS92VzVEY2ROaFA3WFducHpNZ0RJK1N5K05hSnJVOW11Vk5U?= =?utf-8?B?bkhaendaUGhlOUxWZE5WZGpwNWR0d1RHSU1pR3ZOY3o1Tm9Lak13OW9yL2xr?= =?utf-8?B?S0MvYUhNbHBJaUw4NXZzWXpFckhOcVl4dW1XWnlHRlNxdWtaam1tU1paTTJB?= =?utf-8?B?M1cxVHFTVlZVT0NMREpwN2dzK3FkcW4vR0tSSHkzMHJHckRXVkJYNk5FM3Vm?= =?utf-8?B?MEJ4clBnQ0k2K1pibjNjQk45dkYyZklXK281QkFyWGZQZG82QzlRMTdVZ2J1?= =?utf-8?B?STZZT0MzNGo3V0lDdURWZmtTT2VHMXdvOG9RVlBTcDY2aUZOdWFnMzhxRWQr?= =?utf-8?B?Ly9jb0d5d1lPVFFlNlNqdEovT1dYQnVLbUtwcnovcVJlR3N2MDltamxJRG5O?= =?utf-8?B?MmxMS2VOLzAva043b1hBWExFQkNMWkZVQ0RXMDJvODU0QUNxdVVUT3FsdThj?= =?utf-8?B?WHJKNUlaeGgyK0lLZUVHWlNseUw4TjUxNFZUZTFjR3JUeElYbW1ZcjgzdXln?= =?utf-8?B?aDgwRFo5aVY1alkzclh2OWdXV1luNHU3ZzBaWGxKTStCTzA1Q1M4dmRzOFhJ?= =?utf-8?B?YVkvQ0ZxTlJTb1JPZUZNK0ljTTVzOTVoM05WUHM1cDBndUowT1l2U2RvUkgr?= =?utf-8?B?ZExiUWo4L2FaTDA3OUdMeGEzNUpDd3B1SDZzcnZub2phT21WMlV4cDc2NTVa?= =?utf-8?B?OTFwMGZpWkhCNHphQVpnSjFmdW1hMWZOQTZNUW9BcVhQQXF5NXVZV0pGNVNE?= =?utf-8?B?SERXcXFYbUYxRGFsUFlRc282NnhKbTFrVHZkb3BVakc1K3B5VHhjTTU2UU5T?= =?utf-8?B?T2FJcEVxd253WjFPaXFkZ3N1S2J4TzNWNWFGM3hVTnBrWE15VVMwUVRZSG9O?= =?utf-8?B?Zm5TK2E2bjRST0xvL3EzSVV1Mk9yUjlnNEhjUFl3MzhkTXRhbjZpNjBDS2hw?= =?utf-8?B?Z0xpeTNlTGFVbXEzRFdiMVIwY0V5TTNnVTBlaXFWWmYxbDdUeVl4Tm81WkdE?= =?utf-8?B?R3hDZmNEYksyVXB2Nk5MMXBpR0F1RTkxYm9WRnU5NHRhU0lueGcxSTZsZkZF?= =?utf-8?B?TmNTZHR3Wkt5dE9pWEhyU05JMU5LZ01DeDV4bUM3amtZOXlYLzhaVmRxdW9M?= =?utf-8?B?WHg0NGxGczhpVnFWbGxlN2xYVjF0VHh6dGdpRlBLT1JzNG9aZ1c4Z25KUENi?= =?utf-8?B?RXBadHZHN08ySldxVGFVY01TS0V0M1BteUhEbkRXd2tXOGtlZDJ1ZklBaWd4?= =?utf-8?B?OFd6YkI4R0NucDN4MG0wbVE2NXN4RjYyb01qa01KWDh1Tll5QzcyTVQ5V2Y1?= =?utf-8?B?TjNCb3k3US91MWhSOUhxcDdKNFk4Y1puQzJYMzBUbEFBZHRwaUcrVjVYeTF2?= =?utf-8?B?QTdVaUtvZWNjekp4QUdva2x5Y2ZoTXpVRjFaeitTNkFabm1XS1lZRFlPM3Jj?= =?utf-8?B?M0N5YlN2Zko0b3E5dzZVSm1FVDVWS2hRSjUrTmgvK01vcTlTakU0dlBTeGUx?= =?utf-8?B?bmV1UW13cTRIdVpCRVpzM1ArK3g1cFNQTVpHa2NOTFQxWWF0OFZycVM2M3d6?= =?utf-8?B?TTBoazl3QmRVNnVIQXlKcUpoVi85NnZOSlo1cmp1YzRWSWMyNEYwSzR0Qmhr?= =?utf-8?B?U0hQSDFGUUdQaFVQTkZlTnRTSjFZV2NyVGRWcWN5eXN2M1dSS2owT3gvSnZh?= =?utf-8?B?aDNFWlZFWmtLRWhzM25ubDJKODdvSVd4MVBRSVNQOGxFdWJxNHlIWFI4UWRS?= =?utf-8?Q?xqzPF4hxWsYgYtjuLRyda+pwlLJnKdSeJtl+y+N?= 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: 93c15ad1-9b59-420d-1ace-08d952fd542e X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2021 01:57:04.0832 (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: BtZ3xQxX2scwdLPgLCzJ56l+3aVJ0QTEAD3rrWOUVpS9WSRSu/IyN1qUPxB1uT2W3hCdHs3jIJS8WUxtRagESg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5015 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 SGkgDQpTb3JyeSwgSSBhbSBub3QgYWJsZSB0byBmb2xsb3cgdGhlIGRpc2N1c3Npb24uDQoNCklz IHRoZXJlIGFueSBzYW1wbGUgb3IgUE9DIGNvZGUgdG8gc2hvdyB0aGUgY29uY2VwdD8NCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUYXlsb3IgQmVlYmUgPHRAdGF5bG9y YmVlYmUuY29tPg0KPiBTZW50OiBGcmlkYXksIEp1bHkgMzAsIDIwMjEgOTo1NSBBTQ0KPiBUbzog V2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5p bw0KPiBDYzogc3Bicm9nYW5Ab3V0bG9vay5jb207IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRl bC5jb20+OyBOaSwgUmF5DQo+IDxyYXkubmlAaW50ZWwuY29tPjsgS3VtYXIsIFJhaHVsMSA8cmFo dWwxLmt1bWFyQGludGVsLmNvbT47DQo+IG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb207IFd1 LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgQmksIERhbmRhbg0KPiA8ZGFuZGFuLmJpQGlu dGVsLmNvbT47IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbjsgRG9uZywgR3VvDQo+IDxndW8uZG9u Z0BpbnRlbC5jb20+OyBNYSwgTWF1cmljZSA8bWF1cmljZS5tYUBpbnRlbC5jb20+OyBZb3UsIEJl bmphbWluDQo+IDxiZW5qYW1pbi55b3VAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55 YW9AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1JGQ10gTWVtb3J5UHJvdGVjdGlvbkxpYiBm b3IgRHluYW1pYyBNZW1vcnkgR3VhcmQgU2V0dGluZ3MNCj4gDQo+IFRoYW5rcyBmb3IgeW91ciBm ZWVkYmFjaywgSmlhbi4NCj4gDQo+IEluIG9wdGlvbiAyLCBhIG1vc3QgYmFzaWMgaW1wbGVtZW50 YXRpb24gd291bGQgcmV0dXJuaW5nIHRoZSBjdXJyZW50DQo+IEZpeGVkQXRCdWlsZCBQQ0RzIGFz c3VtaW5nIHRoZXkgYXJlIGtlcHQuIElmIHRoZXkgYXJlbid0LCB0aGUgbGlicmFyeQ0KPiBpbXBs ZW1lbnRlciBjb3VsZCBzaW1wbHkgaGFyZC1jb2RlIHRoZSByZXR1cm4gdmFsdWUgZm9yIGVhY2gg bWVtb3J5DQo+IHByb3RlY3Rpb24gc2V0dGluZy4NCj4gDQo+IEluIG9wdGlvbiAxLCB0aGUgSE9C IHdvdWxkIGJlIHB1Ymxpc2hlZCBpbiBwcmUtbWVtIGFuZCBJJ20gbm90IGFuIGV4cGVydA0KPiBv biBleHBsb2l0aW5nIHRoZSBwcmUtbWVtIGVudmlyb25tZW50LiBKaWV3ZW4gbWF5IGhhdmUgbW9y ZSB0byBzYXkgb24gdGhpcy4NCj4gDQo+IC1UYXlsb3INCj4gDQo+IE9uIDcvMjgvMjAyMSA3OjE4 IFBNLCBXYW5nLCBKaWFuIEogd3JvdGU6DQo+ID4gVGhhbmtzIGZvciB0aGUgUkZDLiBJJ20gbm90 IG9iamVjdCB0byB0aGlzIGlkZWEuIFRoZSBvbmx5IGNvbmNlcm4gZnJvbSBtZQ0KPiA+IGlzIHRo ZSBwb3RlbnRpYWwgc2VjdXJpdHkgaG9sZXMgaW50cm9kdWNlZCBieSB0aGUgY2hhbmdlcy4gQWNj b3JkaW5nIHRvIHlvdXINCj4gPiBkZXNjcmlwdGlvbiwgaXQgYWxsb3dzIDNyZCBwYXJ0eSBzb2Z0 d2FyZSB0byB2aW9sYXRlIG1lbW9yeSBwcm90ZWN0aW9uIHBvbGljeS4NCj4gPiBJJ2QgbGlrZSB0 byBzZWUgbW9yZSBleHBsYW5hdGlvbnMgb24gaG93IHRvIGF2b2lkIGl0IHRvIGJlIGV4cGxvaXRl ZC4NCj4gPg0KPiA+ICtKaWV3ZW4sIHdoYXQncyBjdXJyZW50IHByb2Nlc3MgdG8gZXZhbHVhdGUg dGhlIHNlY3VyaXR5IHRocmVhdD8NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gSmlhbg0KPiA+DQo+ ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IFRheWxvciBCZWViZSA8 dEB0YXlsb3JiZWViZS5jb20+DQo+ID4+IFNlbnQ6IEZyaWRheSwgSnVseSAyMywgMjAyMSA4OjMz IEFNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+PiBDYzogc3Bicm9nYW5Ab3V0 bG9vay5jb207IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5DQo+ID4+ IDxyYXkubmlAaW50ZWwuY29tPjsgS3VtYXIsIFJhaHVsMSA8UmFodWwxLkt1bWFyQGludGVsLmNv bT47DQo+ID4+IG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb207IFdhbmcsIEppYW4gSiA8amlh bi5qLndhbmdAaW50ZWwuY29tPjsgV3UsDQo+ID4+IEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+ OyBCaSwgRGFuZGFuIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsNCj4gPj4gZ2FvbGltaW5nQGJ5b3Nv ZnQuY29tLmNuOyBEb25nLCBHdW8gPGd1by5kb25nQGludGVsLmNvbT47IE1hLA0KPiBNYXVyaWNl DQo+ID4+IDxtYXVyaWNlLm1hQGludGVsLmNvbT47IFlvdSwgQmVuamFtaW4gPGJlbmphbWluLnlv dUBpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFtSRkNdIE1lbW9yeVByb3RlY3Rpb25MaWIgZm9y IER5bmFtaWMgTWVtb3J5IEd1YXJkIFNldHRpbmdzDQo+ID4+DQo+ID4+IEN1cnJlbnQgbWVtb3J5 IHByb3RlY3Rpb24gc2V0dGluZ3MgcmVseSBvbiBGaXhlZEF0QnVpbGQgUENEIHZhbHVlcw0KPiA+ PiAobWludXMgUGNkU2V0TnhGb3JTdGFjaykuIEJlY2F1c2Ugb2YgdGhpcywgdGhlIG1lbW9yeSBw cm90ZWN0aW9uDQo+ID4+IGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGlzIGZpeGVkIGluIG5hdHVy ZS4gQ2FzZXMgYXJpc2UgaW4gd2hpY2ggbWVtb3J5DQo+ID4+IHByb3RlY3Rpb25zIG1pZ2h0IG5l ZWQgdG8gYmUgYWRqdXN0ZWQgYmV0d2VlbiBib290cyAoaWYgcGxhdGZvcm0gZGVzaWduDQo+ID4+ IGFsbG93cykgdG8gYXZvaWQgZGlzYWJsaW5nIGEgc3lzdGVtLiBGb3IgZXhhbXBsZSwgcGxhdGZv cm1zIG1pZ2h0IGNob29zZQ0KPiA+PiB0byBhbGxvdyB0aGUgdXNlciB0byBjb250cm9sIHRoZWly IHByb3RlY3Rpb24gcG9saWNpZXMgc3VjaCBhcyBhbGxvdw0KPiA+PiBleGVjdXRpb24gb2YgY3Jp dGljYWwgM3JkIHBhcnR5IHNvZnR3YXJlIHRoYXQgbWlnaHQgdmlvbGF0ZSBtZW1vcnkNCj4gPj4g cHJvdGVjdGlvbnMuDQo+ID4+DQo+ID4+IFRoaXMgUkZDIHNlZWtzIHlvdXIgZmVlZGJhY2sgcmVn YXJkaW5nIGludHJvZHVjaW5nIGFuIGludGVyZmFjZSB0aGF0DQo+ID4+IGFsbG93cyBkeW5hbWlj IGNvbmZpZ3VyYXRpb24gb2YgbWVtb3J5IHByb3RlY3Rpb24gc2V0dGluZ3MuDQo+ID4+DQo+ID4+ IEkgd291bGQgbGlrZSB0byBwcm9wb3NlIHR3byBvcHRpb25zOg0KPiA+PiAxLiBEZXNjcmliaW5n IHRoZSBtZW1vcnkgcHJvdGVjdGlvbiBzZXR0aW5nIGNvbmZpZ3VyYXRpb24gaW4gYSBIT0IgdGhh dA0KPiA+PiBpcyBwcm9kdWNlZCBieSB0aGUgcGxhdGZvcm0uDQo+ID4+IDIuIEludHJvZHVjaW5n IGEgbGlicmFyeSBjbGFzcyAoZS5nLiBNZW1vcnlQcm90ZWN0aW9uTGliKSB0aGF0IGFsbG93cw0K PiA+PiBhYnN0cmFjdGlvbiBvZiB0aGUgbWVtb3J5IHByb3RlY3Rpb24gc2V0dGluZyBjb25maWd1 cmF0aW9uIGRhdGEgc291cmNlLg0KPiA+Pg0KPiA+PiBJbiBhZGRpdGlvbiwgSSB3b3VsZCBsaWtl IHRvIGtub3cgaWYgdGhlIG1lbW9yeSBwcm90ZWN0aW9uIEZpeGVkQXRCdWlsZA0KPiA+PiBQQ0Rz IGN1cnJlbnRseSBpbiBNZGVNb2R1bGVQa2cgY2FuIGJlIHJlbW92ZWQgc28gd2UgY2FuIG1vdmUg dGhlDQo+ID4+IGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGVudGlyZWx5IHRvIGFuIG9wdGlvbiBh Ym92ZS4NCj4gPj4NCj4gPj4gSW4gYW55IGNhc2UsIEkgd291bGQgbGlrZSB0aGUgc2V0dGluZ3Mg dG8gYmUgdmlzaWJsZSB0byBlbnZpcm9ubWVudHMNCj4gPj4gc3VjaCBhcyBTdGFuZGFsb25lIE1N IHdoZXJlIGR5bmFtaWMgUENEcyBhcmUgbm90IGFjY2Vzc2libGUuDQo+ID4+DQo+ID4+IEkgYW0g c2Vla2luZyB5b3VyIGZlZWRiYWNrIG9uIHRoaXMgcHJvcG9zYWwgaW4gcHJlcGFyYXRpb24gZm9y IHNlbmRpbmcNCj4gPj4gYW4gZWRrMiBwYXRjaCBzZXJpZXMuDQo+ID4+DQo+ID4+IC0tDQo+ID4+ IFRheWxvciBCZWViZQ0KPiA+PiBTb2Z0d2FyZSBFbmdpbmVlciBAIE1pY3Jvc29mdA0KPiANCj4g LS0NCj4gVGF5bG9yIEJlZWJlDQo+IFNvZnR3YXJlIEVuZ2luZWVyIEAgTWljcm9zb2Z0DQo=