From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.28101.1628800992622063694 for ; Thu, 12 Aug 2021 13:43:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=RLgtiacE; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: michael.d.kinney@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10074"; a="212331581" X-IronPort-AV: E=Sophos;i="5.84,316,1620716400"; d="scan'208";a="212331581" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Aug 2021 13:43:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,316,1620716400"; d="scan'208";a="507912744" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga004.fm.intel.com with ESMTP; 12 Aug 2021 13:43:11 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.10; Thu, 12 Aug 2021 13:43:10 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 12 Aug 2021 13:43:10 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) 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, 12 Aug 2021 13:43:10 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Thu, 12 Aug 2021 13:43:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jeUfdCGYag06FsFpxixpNeXQ8QUcmmA4kS/YOZmfC7avRh2YKUygbY0KTLnSE/A69g6vuJH1+jFL/b44zAH/jYonSMS61heoR1ECpI950zmlDtHLO5fpWNE82xRWAQxJg7ab1Ejn5zlzpsCqRK5S8y5PCDekr+bFP6AjEAcdU3Goq6aepATPXnCJ43tTFkg555wTk2H3CMitSfhk2HRHXdoVZNpvQC1+NA26Qt878LYOdBbvP2v5oEPISOqNnyRcGRio1yr6NG+zmDyqXdEyBUC0E5h1iEnJPW5QW6yMIItr85hMWOJN9KUwNaAYJhFCrKcwmMDae9LMbstdlktq6g== 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=L6CdzE4qd91jFe6SvYrHteI4C9pOVZLnwLMPp4P7gKM=; b=WozhFQFklz8U5Hg8v6yhPAAEEul418SQPTVvXW8HWmVVERcPrQOzKcwD23bn71eMQYdos3B9INi/u+u8Qh5fn2lD89XuX8nfGLHoJhXuXgBinYOoj+4aaZFXGlTtXGuAtWXa0rAfkDNMTSK4sWRGVlL/wTgd9YTOkj7LfJRe+dt49XxHU0ZToMzqEQNUhkN62KjjPIqsgTaAFwqmRcGVsMN/A+7E7wo9mQAhxpco2pCS51xtVzRVbNid8wb+QR9GXL0jlxndfQ0NnhCtWlq0+Kl7VrAz3lW/eKIuloWjAb50rMAiek8ABOJSWZGZGyu9lh6NpwRFK+QMUOAnZAIddg== 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=L6CdzE4qd91jFe6SvYrHteI4C9pOVZLnwLMPp4P7gKM=; b=RLgtiacERqs7eDx3sPdM1lCFQTlBsEDh2kdG2VyNMHlR+DeLHhZCpTegb/3qT+amNTkJ0qZS+029oMVQ1a+QR+a8OfjqrNhtMy9kQVtuZ7T8ElYb6snfgYei+J8az/xN2Bb+i1KYSNjb0NfkKotHumURbla4nuRHi2WCmKQ62Rg= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MWHPR11MB1295.namprd11.prod.outlook.com (2603:10b6:300:2b::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Thu, 12 Aug 2021 20:43:09 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::41d4:9acf:4230:9084]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::41d4:9acf:4230:9084%8]) with mapi id 15.20.4415.016; Thu, 12 Aug 2021 20:43:09 +0000 From: "Michael D Kinney" To: "Xu, Min M" , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Liming Gao , "Liu, Zhiguang" , "Yao, Jiewen" Subject: Re: [PATCH 20/23] MdePkg: Add AllocatePagesWithMemoryType support in PeiMemoryAllocationLib Thread-Topic: [PATCH 20/23] MdePkg: Add AllocatePagesWithMemoryType support in PeiMemoryAllocationLib Thread-Index: AQHXj3FdJ510Y8FvZU+c2vjuqk6IsKtwVPEQ Date: Thu, 12 Aug 2021 20:43:08 +0000 Message-ID: References: <6924228fa3969ae944d6aebbe653d4046b6cef54.1628767741.git.min.m.xu@intel.com> In-Reply-To: <6924228fa3969ae944d6aebbe653d4046b6cef54.1628767741.git.min.m.xu@intel.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.100.41 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 076828f7-e27b-4f13-4a39-08d95dd1cb58 x-ms-traffictypediagnostic: MWHPR11MB1295: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HYJcIzc1aYRS7P0zuEBa05mJX0O0YaIcLScf8c+uA6Lyt0Oj3TZjf+5O+GJ/QTOTtYGZ9yzuuR0YahZB+iO/ZHDtbXOHCqmT5no9nOcyr53L26LwAlBQ1b3FX5R6ILG1lgcpdhV13D0ABzD3bh6Cb0m2Jg575zp2+umPm10Gb45HhJZYyJOGEon77txtbTrkT3JMzfZEwwhocwrsmji3tQdjaEnz327KB2RK2/0jvVa6mTrUAFjS1mz3+UyhKnOkV0yFw5lmN+QAD0ITXRihsJ6LIS/jWL7mKH8QcRJFQrCSMz3JGsATCZQAWyBK2ymvFwdS0P1KzvAphUwjYKplMoZpM8K67iomx2cgX1jy2W5xYVsxdpQSMttpGYMrGARibMOVNmkAfKQ2JEz0FToTRfVz1aeT1Rgrj4N7lLIrheaMRFnfLKEUqKWgqrkSd3AepoptIOFS6cMqp+k9/zWM0WPr81ucf5wRpOrcOE83eqneMOzfyqs+hlKYsB7JI8bsLr6hra4yHkjsgYvdnFusSo10EpPvOs32EuXF1B2vsR0Ts+KDPSX25tccIJZZ5hM3i7tu8SdjhsnOkO4HsIlknc/4/DB/PYGwMZXy1xsfwhBpZgvPYrwT/elzcDLQIw3xA/vAdnYpd6BqwdeEjz8maosMXjJHR8WJqvZ7TX/PVtTmZLqf6lxvJtixbDCt3MDSkayYkNSuAqXj3hF6G/S5l5wyA7deA6zpQf6ryaTGAdToA7iG/ZQbUrWRfk3/XEUq/q6+DpahDTYTmauwQSozbICNV7LH7YptwtWzzheDWgPCbFfmEIb5eg1/3OBJcAX7 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(366004)(346002)(39860400002)(136003)(186003)(7696005)(76116006)(52536014)(110136005)(478600001)(83380400001)(122000001)(71200400001)(54906003)(55016002)(38100700002)(316002)(2906002)(53546011)(33656002)(8676002)(5660300002)(966005)(38070700005)(4326008)(8936002)(66556008)(107886003)(66476007)(64756008)(86362001)(6506007)(9686003)(66946007)(26005)(66446008)(213903007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M09idjl2ck5HOW9QU3REZ3ZTY2YvZEYwcEU4S0FOT1Yza1JwR2ZFTmdLU2V5?= =?utf-8?B?SDZvekhSMG9FUGhjUUxPRmcrVncrWjhwK1FsVHhOam9nWkx6RjgwU2xqNDRs?= =?utf-8?B?WDYvV21VU2JrUExhTUJ4TW1XMHQrY2MrUUR4WEo5UzVyQ1Yyeld6M3ZYQm4w?= =?utf-8?B?SERqMFZ3THlQNTNBemF3SGZmVWFuYWZHY2cvNzZGRjN5RFhGODZoYUw5Kzlp?= =?utf-8?B?b2VDYnh6Z1pRK2V6YWppMmszcEtKK1JsM0JZTmZnV2NqelkvTlYxTVFjTldW?= =?utf-8?B?UkFFOU1IUU0vWEtoVDNZVXE4L3RzREdBVGs5ajJNVllwM1ZnWCtoQkxXWFFt?= =?utf-8?B?WERDV2UrNFVmeHA5VE13TFdyRXNHQUYxWHNUd1J3bUlEOE9GUTRrQ2tCazFF?= =?utf-8?B?T2JqdStKaE9qU1JXZXFuZ1l2YS9DR3RkcHVOb2FoSWxWUDNQMVRELzFQK3pM?= =?utf-8?B?YmZteDFxamNyd0pNZ1Bmb21oVzR1Nkk3Z0xuM2hBMnk2c0I3aTlCZXg4dlVv?= =?utf-8?B?endqbi8vaUUzWkNuZkRPVU5MYTFKR3lOMGI0SCtRdnR0UlI1T2QrT0xjTUly?= =?utf-8?B?MFljQTZ6alN3LzVQM0ttdi9scnEwM1Z1ZXBFZWFBZ0N0MzNDZHl1Q2YxQ2Rk?= =?utf-8?B?aFN0MStyN2lxVGJHYU4yRnVoeWRjT1k4SGVwTS9ibFpRbGp4MU5VZVpJdWxM?= =?utf-8?B?N0Z4b1MrZEtvV2tLcHRrOEc1b0tKN1FhSmlKQmtYRzU2VGw0Ulg3b1FmSldP?= =?utf-8?B?OUZnWmF5eThmTEJtNnVKU3FlTTlhSUJ0a3RDVnl3RXRTWExzZVFWdUxtZ2tn?= =?utf-8?B?aWF4bG1SY1k3ZGpXN1B2UU5yQ1BUMHdPaGZmeFYvZTlHdnZlVnNIcFdTUUJm?= =?utf-8?B?SW8wbzRFaks0U2pHcFk1NzB3bFl1UzR5K2lXbk4yUEovc1BaMERrcFJGZHJ0?= =?utf-8?B?Ukp2NURYM3Rhcmc5UlJhakhSNm4zdmcvRDVFZktBeFNCY0xTZEJOdUR3NmZ3?= =?utf-8?B?SFhHUVRKanRqUVFFekd2bGZWN1JYUHRpMmhoazBZa0pxL0RRODVWY0pMUVZP?= =?utf-8?B?dXVhcUR0dXR1SFVva1RrK0xPT3lIYzYxeWlaRGF0WUp0ZGRQdjJ6VG9UK3RQ?= =?utf-8?B?VkkwTHNVZnQ5M2NRclorWG5SbVZTaXBOV0g2d1AvbU9Ra1FoWExRcHRyNDJ3?= =?utf-8?B?YjFYai9HUnBzY0M5a29lZEVFcUFXcjBmWDlDa0gzVEFPeUxSQ0xna04zb0Vh?= =?utf-8?B?VG9FWDlnRGM4Q1hpSFB4VHdVSU9JaCswb1JBZ2pWc3MyU3NLbjBqbVUzcStm?= =?utf-8?B?c2JzaUI0VlVNQUZ4WnZ6d1h1WTR5blV4dmFBRjJlUXFnbTU1aUJJbzhrSjdy?= =?utf-8?B?RnllOUdIV29yV3Q1Um9QWHhkZWJyNTZvYlY1T09iMlBwa2VMTjgzL2Z2Tjgz?= =?utf-8?B?VWE3elVWc251NWpwdmJKa3p5OGZRNU9aa2M2UnVEclBDemhhSjV5REVwekVV?= =?utf-8?B?NEo5em0vekd0eDVQc3JkQ3ZjeGtUc3ZsZy8zK21XVWZ2WG8rNzQrcVNDUHZZ?= =?utf-8?B?cFpydkNOUVg5M1pDUzE1UjlyTEJQM0VzdHR0S3AwSndiYkE2MytGQmtaSlpw?= =?utf-8?B?elp4WDRSSnhKUjlEUHFwb2dQWVlBd3JscW4rMzZZcTdMN0JZck90b1VtRlNP?= =?utf-8?B?dFRCaTlvWC9JbjNkQXUwMWxuRGhvZHZTa0FqdUxPQkxCdWdUTHZXY1djd1Ro?= =?utf-8?Q?CCH0o350FelV5Y4KMw=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 076828f7-e27b-4f13-4a39-08d95dd1cb58 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 20:43:08.9301 (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: lKVJmc/PMC+pGFJenS+dm2vpS8AQAdFMQ787OiU1XErAbZ27UcQEzcuUSl5QKFrr39Bh0A1nR9PGWPsOHx9xPMRMUiRJGG7jpBgI9PhVcL8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB1295 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWluLA0KDQpUaGlzIHBhdGNoIGFkZHMgYSBuZXcgQVBJIHRvIHRoZSBsaWIgY2xhc3MuDQoN ClRoYXQgdHlwZSBvZiBjaGFuZ2UgcmVxdWlyZXMgdXBkYXRlcyB0byBhbGwgdGhlIGxpYiBpbnN0 YW5jZXMuDQoNCkluIHRoZSBkZXNpZ24gb2YgdGhlIE1lbW9yeUFsbG9jYXRpb25MaWIsIG9mIGEg dHlwZSBzcGVjaWZpYyBhbGxvY2F0aW9uDQp3YXMgbmVlZGVkLCBhIG5ldyBBUEkgd2FzIGFkZGVk IGZvciB0aGF0IHR5cGUuICBXaGF0IG1lbW9yeSB0eXBlcw0KYXJlIG5lZWRlZCB0aGF0IHJlcXVp cmUgdGhpcyBuZXcgQVBJLg0KDQpJZiBhIHZhcmlldHkgb2YgbWVtb3J5IHR5cGVzIGFyZSByZXF1 aXJlZCwgdGhlbiB3aHkgbm90DQpqdXN0IHVzZSB0aGUgUGVpU2VydmljZXNMaWIgQVBJOg0KDQpF RklfU1RBVFVTDQpFRklBUEkNClBlaVNlcnZpY2VzQWxsb2NhdGVQYWdlcyAoDQogIElOIEVGSV9N RU1PUllfVFlQRSAgICAgICAgICAgIE1lbW9yeVR5cGUsDQogIElOIFVJTlROICAgICAgICAgICAg ICAgICAgICAgIFBhZ2VzLA0KICBPVVQgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAqTWVtb3J5 DQogICk7DQoNClRoYW5rcywNCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2Rh eSwgQXVndXN0IDEyLCAyMDIxIDQ6NTcgQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ IENjOiBYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0 LmNvbS5jbj47DQo+IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+OyBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCAyMC8yM10g TWRlUGtnOiBBZGQgQWxsb2NhdGVQYWdlc1dpdGhNZW1vcnlUeXBlIHN1cHBvcnQgaW4gUGVpTWVt b3J5QWxsb2NhdGlvbkxpYg0KPiANCj4gUkZD77yaIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3Jl Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQyOQ0KPiANCj4gQWxsb2NhdGVzIG9uZSBvciBtb3JlIDRL QiBwYWdlcyBvZiBnaXZlbiB0eXBlIE1lbW9yeVR5cGUuDQo+IA0KPiBBbGxvY2F0ZXMgdGhlIG51 bWJlciBvZiA0S0IgcGFnZXMgb2YgTWVtb3J5VHlwZSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8N Cj4gdGhlIGFsbG9jYXRlZCBidWZmZXIuIFRoZSBidWZmZXIgcmV0dXJuZWQgaXMgYWxpZ25lZCBv biBhIDRLQiBib3VuZGFyeS4NCj4gSWYgUGFnZXMgaXMgMCwgdGhlbiBOVUxMIGlzIHJldHVybmVk LiBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIG1lbW9yeQ0KPiByZW1haW5pbmcgdG8gc2F0aXNmeSB0 aGUgcmVxdWVzdCwgdGhlbiBOVUxMIGlzIHJldHVybmVkLg0KPiANCj4gQ2M6IE1pY2hhZWwgRCBL aW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogTGltaW5nIEdhbyA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBDYzogWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVA aW50ZWwuY29tPg0KPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+IFNp Z25lZC1vZmYtYnk6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29tPg0KPiAtLS0NCj4gIE1kZVBr Zy9JbmNsdWRlL0xpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5oICB8IDIxICsrKysrKysrKysr KysrKw0KPiAgLi4uL01lbW9yeUFsbG9jYXRpb25MaWIuYyAgICAgICAgICAgICAgICAgICAgIHwg MjcgKysrKysrKysrKysrKysrKysrKw0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25z KCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9NZW1vcnlBbGxv Y2F0aW9uTGliLmggYi9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIu aA0KPiBpbmRleCA2NWEzMGNmMTQ2ZGQuLjJiZGMwNTkyZWYzZSAxMDA2NDQNCj4gLS0tIGEvTWRl UGtnL0luY2x1ZGUvTGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmgNCj4gKysrIGIvTWRlUGtn L0luY2x1ZGUvTGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmgNCj4gQEAgLTQ4NCw0ICs0ODQs MjUgQEAgRnJlZVBvb2wgKA0KPiAgICBJTiBWT0lEICAgKkJ1ZmZlcg0KPiAgICApOw0KPiANCj4g Ky8qKg0KPiArICBBbGxvY2F0ZXMgb25lIG9yIG1vcmUgNEtCIHBhZ2VzIG9mIGdpdmVuIHR5cGUg TWVtb3J5VHlwZS4NCj4gKw0KPiArICBBbGxvY2F0ZXMgdGhlIG51bWJlciBvZiA0S0IgcGFnZXMg b2YgTWVtb3J5VHlwZSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlDQo+ICsgIGFsbG9jYXRl ZCBidWZmZXIuIFRoZSBidWZmZXIgcmV0dXJuZWQgaXMgYWxpZ25lZCBvbiBhIDRLQiBib3VuZGFy eS4gSWYgUGFnZXMNCj4gKyAgaXMgMCwgdGhlbiBOVUxMIGlzIHJldHVybmVkLiBJZiB0aGVyZSBp cyBub3QgZW5vdWdoIG1lbW9yeSByZW1haW5pbmcgdG8gc2F0aXNmeQ0KPiArICB0aGUgcmVxdWVz dCwgdGhlbiBOVUxMIGlzIHJldHVybmVkLg0KPiArDQo+ICsgIEBwYXJhbSAgTWVtb3J5VHlwZSAg ICAgICAgICAgIFR5cGUgb2YgbWVtb3J5IHRvIHVzZSBmb3IgdGhpcyBhbGxvY2F0aW9uLg0KPiAr ICBAcGFyYW0gIFBhZ2VzICAgICAgICAgICAgICAgICBUaGUgbnVtYmVyIG9mIDQgS0IgcGFnZXMg dG8gYWxsb2NhdGUuDQo+ICsNCj4gKyAgQHJldHVybiBBIHBvaW50ZXIgdG8gdGhlIGFsbG9jYXRl ZCBidWZmZXIgb3IgTlVMTCBpZiBhbGxvY2F0aW9uIGZhaWxzLg0KPiArDQo+ICsqKi8NCj4gK1ZP SUQgKg0KPiArRUZJQVBJDQo+ICtBbGxvY2F0ZVBhZ2VzV2l0aE1lbW9yeVR5cGUgKA0KPiArICBJ TiBVSU5UTiAgICAgICAgICAgIE1lbW9yeVR5cGUsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAg UGFnZXMNCj4gKyAgKTsNCj4gKw0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGli cmFyeS9QZWlNZW1vcnlBbGxvY2F0aW9uTGliL01lbW9yeUFsbG9jYXRpb25MaWIuYw0KPiBiL01k ZVBrZy9MaWJyYXJ5L1BlaU1lbW9yeUFsbG9jYXRpb25MaWIvTWVtb3J5QWxsb2NhdGlvbkxpYi5j DQo+IGluZGV4IGIzZjlkZjc0ZjEzOS4uZGNiMzEzMzQ5NzI5IDEwMDY0NA0KPiAtLS0gYS9NZGVQ a2cvTGlicmFyeS9QZWlNZW1vcnlBbGxvY2F0aW9uTGliL01lbW9yeUFsbG9jYXRpb25MaWIuYw0K PiArKysgYi9NZGVQa2cvTGlicmFyeS9QZWlNZW1vcnlBbGxvY2F0aW9uTGliL01lbW9yeUFsbG9j YXRpb25MaWIuYw0KPiBAQCAtODM5LDQgKzgzOSwzMSBAQCBGcmVlUG9vbCAoDQo+ICAgIC8vDQo+ ICB9DQo+IA0KPiArLyoqDQo+ICsgIEFsbG9jYXRlcyBvbmUgb3IgbW9yZSA0S0IgcGFnZXMgb2Yg Z2l2ZW4gdHlwZSBNZW1vcnlUeXBlLg0KPiANCj4gKyAgQWxsb2NhdGVzIHRoZSBudW1iZXIgb2Yg NEtCIHBhZ2VzIG9mIE1lbW9yeVR5cGUgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIHRoZQ0KPiAr ICBhbGxvY2F0ZWQgYnVmZmVyLiBUaGUgYnVmZmVyIHJldHVybmVkIGlzIGFsaWduZWQgb24gYSA0 S0IgYm91bmRhcnkuIElmIFBhZ2VzDQo+ICsgIGlzIDAsIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4g SWYgdGhlcmUgaXMgbm90IGVub3VnaCBtZW1vcnkgcmVtYWluaW5nIHRvIHNhdGlzZnkNCj4gKyAg dGhlIHJlcXVlc3QsIHRoZW4gTlVMTCBpcyByZXR1cm5lZC4NCj4gKw0KPiArICBAcGFyYW0gIE1l bW9yeVR5cGUgICAgICAgICAgICBUeXBlIG9mIG1lbW9yeSB0byB1c2UgZm9yIHRoaXMgYWxsb2Nh dGlvbi4NCj4gKyAgQHBhcmFtICBQYWdlcyAgICAgICAgICAgICAgICAgVGhlIG51bWJlciBvZiA0 IEtCIHBhZ2VzIHRvIGFsbG9jYXRlLg0KPiArDQo+ICsgIEByZXR1cm4gQSBwb2ludGVyIHRvIHRo ZSBhbGxvY2F0ZWQgYnVmZmVyIG9yIE5VTEwgaWYgYWxsb2NhdGlvbiBmYWlscy4NCj4gKw0KPiAr KiovDQo+ICtWT0lEICoNCj4gK0VGSUFQSQ0KPiArQWxsb2NhdGVQYWdlc1dpdGhNZW1vcnlUeXBl ICgNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICBNZW1vcnlUeXBlLA0KPiArICBJTiBVSU5UTiAg ICAgICAgICAgIFBhZ2VzDQo+ICsgICkNCj4gK3sNCj4gKyAgaWYgKE1lbW9yeVR5cGUgPj0gRWZp TWF4TWVtb3J5VHlwZSkgew0KPiArICAgIEFTU0VSVCAoRkFMU0UpOw0KPiArICAgIHJldHVybiBO VUxMOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEludGVybmFsQWxsb2NhdGVQYWdlcyAoTWVt b3J5VHlwZSwgUGFnZXMpOw0KPiArfQ0KPiAtLQ0KPiAyLjI5LjIud2luZG93cy4yDQoNCg==