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 5E029D80FDE for ; Tue, 31 Oct 2023 08:37:58 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=wvEi7WiVlMrhQkcKOMTOoGdkCrhtCRHCgTARFylAy2k=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results: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=20140610; t=1698741477; v=1; b=KQcg8i1BLCvpHRUIFLB8vnnDPHhQMwfMZ3QZAHEppA0aq4B74BapVMNEmjo52htdz9oJ2IfK i4POaUWYZg0gFygQpM+RgwBljaR71astjJXs/HVQ3/AI0TBgdYBWgfVoh/u6x7hmQuySb76RXmO EkSbi4zx36b2Yd86f+bWFy2g= X-Received: by 127.0.0.2 with SMTP id 980UYY7687511x3oTeO9ckYD; Tue, 31 Oct 2023 01:37:57 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web10.181615.1698741476273080950 for ; Tue, 31 Oct 2023 01:37:56 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10879"; a="367584981" X-IronPort-AV: E=Sophos;i="6.03,265,1694761200"; d="scan'208";a="367584981" X-Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Oct 2023 01:37:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10879"; a="904269661" X-IronPort-AV: E=Sophos;i="6.03,265,1694761200"; d="scan'208";a="904269661" X-Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 31 Oct 2023 01:37:55 -0700 X-Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Tue, 31 Oct 2023 01:37:54 -0700 X-Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Tue, 31 Oct 2023 01:37:54 -0700 X-Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.41) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Tue, 31 Oct 2023 01:37:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kLfgtEONkhlIljYNJsBVaU44KVUXBNxRL3v6K384ivXxnZfHv9hsdyDhbPT59W5/uvlm4ZcvGUO216J9beQMj6+kx9IXIXbYOCXfRZWYMjcrO677tpKMM91XP98EhrWYt3Ghl6EDq7bMfkBvAdlr6LBaiEXUEJtYvs64U4li8gqeHjDf3n1Gc4AvZg0tHoVX9tI0vdgdGvc+IQwG7A9P5yeV3oC71lu95WS3Sa6kYiEspUgmZd9R1cQen/2FMEJWVt14wmXy+fCHe7FkudPliuWVntmKn3WuGBqN7hRM8UUouV78vPxS6ITNYY52GoRvFHYScsraM2c9BYiyTvw7fA== 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=Vmx56dT6roOyVsKboQJc2tC91jaVk8tKxUNnmYaLxfI=; b=WhweEKNNEsR4EoIW9rIXoghPbjwKEgYlf0Iys0zuDYI1g/Tv37C6Hcmx+SZ7QMJ0FKJAxE1PKkIfd7hvoovbi9w8IY9SjYFGnRTZYQcSS7RM9LSgM3krf/KKvs7pZ8R1kMwrgeeO7xDeKhPFmt+311mx66npXYWe7ZST6THfVQFwfu3X0HTYsdgf0+UbFSijzgqr41CQk0FH6XMTYA1pkyehGxxDMvyE7kDLUN/Ekv84A/ETCA5vyZXwBjr/0ix7CnjmAb0xLFzDgE+B7ILo/nfB7EQMs9fNOg4PNG351VhA7hJk1D4IspUulG4ZcsRQsDqCGm5oZ7LxFn/VLvfNuA== 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 X-Received: from BYAPR11MB2712.namprd11.prod.outlook.com (2603:10b6:a02:bf::13) by MN0PR11MB6134.namprd11.prod.outlook.com (2603:10b6:208:3ca::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Tue, 31 Oct 2023 08:37:51 +0000 X-Received: from BYAPR11MB2712.namprd11.prod.outlook.com ([fe80::5a79:edfc:739c:51fc]) by BYAPR11MB2712.namprd11.prod.outlook.com ([fe80::5a79:edfc:739c:51fc%3]) with mapi id 15.20.6933.024; Tue, 31 Oct 2023 08:37:51 +0000 From: "Xu, Wei6" To: Laszlo Ersek , "devel@edk2.groups.io" CC: Ard Biesheuvel , Sami Mujawar , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH v3 2/4] StandaloneMmPkg/Core: Fix potential memory leak issue Thread-Topic: [PATCH v3 2/4] StandaloneMmPkg/Core: Fix potential memory leak issue Thread-Index: AQHaCwWih5/4rG4BfkOuwPf8EQ63fLBiQgsAgAElECCAACViYA== Date: Tue, 31 Oct 2023 08:37:50 +0000 Message-ID: References: <612df6233746ce55990359472221a193c398749b.1698651605.git.wei6.xu@intel.com> <801c76dd-a7b6-8002-45d9-e5e002c4f81c@redhat.com> In-Reply-To: Accept-Language: en-US, en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR11MB2712:EE_|MN0PR11MB6134:EE_ x-ms-office365-filtering-correlation-id: 44487eba-fa05-42e2-9ce6-08dbd9ecab16 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: Uol7EPS/7iZS4pm7My/6llV+mDurfMc2AhIboMOZDEUGw4M38qtf9pkOQ/qXzpEXpZMiWgMpCV8xwjHGpLS5CtkyVXklDIZm8Yh8k9U2R1ueH/U3M+Yr/X/5heCeCtkfc0DIZOFa3JCDzPi0VwEiCUomJ4GnfXaKrzzJctJ/tqu+SEY19cMuqDkQSHjf4mdq4qOniMyUHCp/Q7orjfvXeYZzm10MNPhw4zNenqQyNH1NCbF9J2DOXtoVSKC7GTuoQQYiIfWjeHrTZLxe9Pk4zWhw+eEDU1YCU0eNNfB3rYAjp06a07khAeJAIYIU7LXZ4s6A7FG61fWJ2A1musK4EebwSemSqgjNgBW9wD1lK5//3iDYefynyvUO2FqTiTa1wSsNnnudOvvbwJ4ygw5InJRb36JWf8V8uVgut7CIR4wgQiA+RU1+EJUFAf0rwgyEVVc4KSBoxiTin4DWJ0vDNfuMyP6Cp9G6T4QF+fqJsf0Ofwilu2i2KERwVZbC7qbKJzG3a3fPuoE5pvqRhTm9PebzSQu2Zu7JJzwQqCG0WiBaV5gEIy5uWguLhN+XvFCm0/ubaEieNK6vqCt7uVxo3SRlhhFCEAFT6S+sVMk+TwF4QriCqsQxukPfteLbD77e x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bGc5M0F1VlNmcTRZMyttcHBvUFBPYVZHMHlONTZVbmdQbktIRW53bVJDMm15?= =?utf-8?B?bEE0UmFkNEZNT2tOaUtUZzMzZHV6MVhuckFEcmVNcE1xV3REMVd6T3dBaUNP?= =?utf-8?B?M25UbkZsNmpLWUtlZGNJajA0REVtZTRnY3hFZ2tjREovUlg3dDFtOVp6aDRB?= =?utf-8?B?SXhNWTEyRTVpZ3ZxTWN4bmtuQ1J3c1pTN0MxSWFrS0tUTnlqdldBanYrb2R0?= =?utf-8?B?MDAyZWdrS1h5cHpUd1hFcHJOWk0xSEJmdUZKWWszQUNjVktuVEJhZllnSkZ2?= =?utf-8?B?eGlQNlQyQ1VaZTQ5WmhGWmpRcW5PUEdhNHVlRmduaDhCM2JnelJIeDJnNTJ0?= =?utf-8?B?NDhoNnVvN2NaejFzQVhRVXV2bm9QaFBUNFdnQlZsZ01IZC93WDlIaUp3eVIx?= =?utf-8?B?TWxvYUUybnlIekRucUN0WjM3WURQU0duU3Q4L2RJWko5UGl0c01xUlU4MkZW?= =?utf-8?B?b0hlV2Mzam1kbVhtcVNtejAzYWhqRzlnTlcvbnQyU2IvdGNJVmVqaDFockc5?= =?utf-8?B?WVF2b2xxbTErTEZYWE9JWlptL3o3QUZ1aXBuSmxwcU1xMzZLR1loOExOQzBR?= =?utf-8?B?V2wyMDF0NUZvcVczWkZmQURFRWROSHFlZ2NobWYvVXc4U2tJY1RtR29SRHgy?= =?utf-8?B?OWllUERhZGNrcnNnT2RtTTNkczBWMXVLUWIvbTNSdXlNS0dFeGI1K29rbkY2?= =?utf-8?B?ME15VnFjZExvdWxSS2U1N2x4aWdlWi90RWszL2xubHVxeXhlSlQxaXQzZndH?= =?utf-8?B?S081VlZHNlJ6SmtoaHZkTTRUaktrSlp3dzZkeGxnWGV0RXVMb2JwQ040TFRR?= =?utf-8?B?NGREK29rUWV6MHB2bXl3M1FzL0JHTUlpUWh4aGFhazJmSXA5YnF5SnBQSjJa?= =?utf-8?B?aVc2UmVYWTZ4bm1LYWFsSi8wWm5jVld1SkJXMmM4Qlh4SkhTcjQ0cDcxL2h3?= =?utf-8?B?UzBLZmRTZmZrZEhHWk9nWEo4R2JGaVZuVUtXM05VdkVKWlQvZ2lRa0xNd0ZW?= =?utf-8?B?VnU2TDB4YmtHYjVFRUM2MTRmVVU2cThjcHprekNEbnF0K1UzTHNPeEU2S3Zo?= =?utf-8?B?NzlXLytDNjJGMWFnVzEwYzY3RHhickNGNm1Ma2R4NHVPN2NnZjJsYmtpL3dK?= =?utf-8?B?UmlCYktBUkR1MmhYTzhPYWcwTGJGSzNyM1N6TzBGaHhzdkttY2ZwSEtmSWZN?= =?utf-8?B?SkxvV3o0ekppdWd6ZXc2dVFmT3BlWkRGbXZXMGJRc1JldEpCRHBTR21zTUJy?= =?utf-8?B?U3pPUURPV2FqSEk3WjE3V1BaOFdlK0hCZlVJR1lNQW80V2RQSmJmOTNRQjJS?= =?utf-8?B?MW9BSDFXQTVpUEFSNktlaWkvWklSQytqQ1JJb2JXZFNycG8zaFZrR3Nyb21j?= =?utf-8?B?UEpxbm40N0pQM0QwcHo1dVM3bzFXOGtNd09nRm5XZ3NLZzAxTlh2WUZRSlRE?= =?utf-8?B?QlBkclZCczlRd3p0VWVVbjE3bmJLK3VCNHhZYWxkcXFhNjR5SDBBY0NRUDkr?= =?utf-8?B?UEZmNExpOHNERUVSanhLS0dtVHVFTEsvWWdZUzBaZWkrT3l1cEFZVndYd2h4?= =?utf-8?B?ZllmUVhiK2pZVWJYQzNVN0x4VnBSbTZReU1nY1hnSkVqbzZocENSOFRtZWpV?= =?utf-8?B?MFZzVDFxcmpIZnJJdlFFbUExb0JyWmlOdTBONW5rQkhmeUhhQlZ0enVQUEVY?= =?utf-8?B?eXNLOXA4ei9EdU1DQy9haFNGQ2Q1RW9RQWRGQ1VZTEZuVVU1NHlCZi9XSytX?= =?utf-8?B?dVlTaVA4SDRZeFlEMHEwbHg2N2FNaW0zYjN1M0Y5OEVPL20rQURna2pHWFV0?= =?utf-8?B?bSsyOUZ1c2oyZndhakNydUlSYXNGYW9DSzQ1TnB3OG1ndHZOdFMzMjhCVERj?= =?utf-8?B?NUtwZStCNFFSaDFEU1ZIVG1yc2lZRnFlUVZCZFEyN1M5aENLU2x1bHl3WUs1?= =?utf-8?B?R3FnRUlpOUdXck44TFFoT1BBVjZJYmZsanlpWCs0QS8wdlQ4eUR1YVhtYXd3?= =?utf-8?B?aUVscjFuK01Kam5vWFVYWkY4UjNLeHc3VjI0c0l3UC9DbWpzdmlIbmUzVm9B?= =?utf-8?B?akZaa0ZCMEk5VU9SSVNXL1QrenFqdnpCU1F0akxLVm1ibU5LZTExZHowY1JB?= =?utf-8?Q?vspg=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2712.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44487eba-fa05-42e2-9ce6-08dbd9ecab16 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2023 08:37:50.8384 (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: X0oEhjxI75NsH7dN1C11FCwsjjeH76C0rGLfUPXvZwY8eUI6udscDvBI6btAfBJuvFSWtPX6+pqFMYGbWIc3pA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR11MB6134 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,wei6.xu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: q9uXgNGqK8Bz8O35LqNhEJ73x7686176AA= 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=20140610 header.b=KQcg8i1B; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") RGVsZXRlIG9uZSBteSB3cm9uZyBjb21tZW50cy4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IFh1LCBXZWk2IA0KU2VudDogVHVlc2RheSwgT2N0b2JlciAzMSwgMjAyMyAyOjQw IFBNDQpUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQpDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBT YW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT4NClN1YmplY3Q6IFJFOiBbUEFUQ0ggdjMgMi80XSBTdGFuZGFsb25lTW1Qa2cvQ29yZTog Rml4IHBvdGVudGlhbCBtZW1vcnkgbGVhayBpc3N1ZQ0KDQpUaGFua3MgYSBsb3QgZm9yIHJldmll d2luZyB0aGUgcGF0Y2guDQpJIGhhdmUgZGlmZmVyZW50IG9waW5pb25zIHdpdGggKDIpLCBjb3Vs ZCB5b3UgcGxlYXNlIGNoZWNrIHRoYXQ/IFRoYW5rcyBhIGxvdC4NCklmIHlvdSBhZ3JlZSAoMikg aXMgbm90IGFuIGlzc3VlLCBJIHdpbGwgcHJlcGFyZSBhIG5ldyBwYXRjaCB2ZXJzaW9uIHRvIG9u bHkgYWRkcmVzcyAoMSkgYW5kICgzKQ0KDQpCUiwNCldlaQ0KPi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+RnJvbTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj5TZW50OiBN b25kYXksIE9jdG9iZXIgMzAsIDIwMjMgODoyNSBQTQ0KPlRvOiBYdSwgV2VpNiA8d2VpNi54dUBp bnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPkNjOiBBcmQgQmllc2hldXZlbCA8YXJk Yit0aWFub2NvcmVAa2VybmVsLm9yZz47IFNhbWkgTXVqYXdhciANCj48c2FtaS5tdWphd2FyQGFy bS5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPlN1YmplY3Q6IFJlOiBbUEFUQ0gg djMgMi80XSBTdGFuZGFsb25lTW1Qa2cvQ29yZTogRml4IHBvdGVudGlhbCBtZW1vcnkgDQo+bGVh ayBpc3N1ZQ0KPg0KPk9uIDEwLzMwLzIzIDA4OjQ5LCBXZWk2IFh1IHdyb3RlOg0KPj4gSW4gTW1D b3JlRmZzRmluZE1tRHJpdmVyKCksIFNjcmF0Y2hCdWZmZXIgaXMgbm90IGZyZWVkIGluIHRoZSBl cnJvciANCj4+IHJldHVybiBwYXRoIHRoYXQgRHN0QnVmZmVyIHBhZ2UgYWxsb2NhdGlvbiBmYWls cy4gRnJlZSBTY3JhdGNoQnVmZmVyIA0KPj4gYmVmb3JlIHJldHVybiB3aXRoIGVycm9yLg0KPj4N Cj4+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPj4gQ2M6IEFyZCBCaWVz aGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPg0KPj4gQ2M6IFNhbWkgTXVqYXdhciA8 c2FtaS5tdWphd2FyQGFybS5jb20+DQo+PiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0K Pj4gU2lnbmVkLW9mZi1ieTogV2VpNiBYdSA8d2VpNi54dUBpbnRlbC5jb20+DQo+PiAtLS0NCj4+ ICBTdGFuZGFsb25lTW1Qa2cvQ29yZS9Gd1ZvbC5jIHwgMSArDQo+PiAgMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL1N0YW5kYWxvbmVNbVBrZy9Db3Jl L0Z3Vm9sLmMgDQo+PiBiL1N0YW5kYWxvbmVNbVBrZy9Db3JlL0Z3Vm9sLmMgaW5kZXggZTFlMjBm ZmQxNGFjLi45ZDBjZTY2ZWY4MzkNCj4xMDA2NDQNCj4+IC0tLSBhL1N0YW5kYWxvbmVNbVBrZy9D b3JlL0Z3Vm9sLmMNCj4+ICsrKyBiL1N0YW5kYWxvbmVNbVBrZy9Db3JlL0Z3Vm9sLmMNCj4+IEBA IC0xNTAsNiArMTUwLDcgQEAgTW1Db3JlRmZzRmluZE1tRHJpdmVyICgNCj4+ICAgICAgLy8NCj4+ ICAgICAgRHN0QnVmZmVyID0gKFZPSUQgKikoVUlOVE4pQWxsb2NhdGVQYWdlcyAoRUZJX1NJWkVf VE9fUEFHRVMNCj4oRHN0QnVmZmVyU2l6ZSkpOw0KPj4gICAgICBpZiAoRHN0QnVmZmVyID09IE5V TEwpIHsNCj4+ICsgICAgICBGcmVlUGFnZXMgKFNjcmF0Y2hCdWZmZXIsIEVGSV9TSVpFX1RPX1BB R0VTIA0KPj4gKyAoU2NyYXRjaEJ1ZmZlclNpemUpKTsNCj4+ICAgICAgICByZXR1cm4gRUZJX09V VF9PRl9SRVNPVVJDRVM7DQo+PiAgICAgIH0NCj4+DQo+DQo+VGhpcyBwYXRjaCBpcyBnb29kLCB3 aXRoIHJlZ2FyZCB0byBTY3JhdGNoQnVmZmVyOg0KPg0KPlJldmlld2VkLWJ5OiBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPg0KPkhvd2V2ZXIsIHVwb24gZnVydGhlciBzdGFyaW5n IGF0IHRoZSBjb2RlLCBJIHRoaW5rIHRoYXQgd2UgaGF2ZSBhIA0KPkRzdEJ1ZmZlciBsaWZlLWN5 Y2xlIHByb2JsZW0gYXMgd2VsbCwgaW5kZXBlbmRlbnRseSBvZiBTY3JhdGNoQnVmZmVyOg0KPg0K PigxKSBFeHRyYWN0R3VpZGVkU2VjdGlvbkRlY29kZSgpIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHVz ZSB0aGUgY2FsbGVyLSANCj5hbGxvY2F0ZWQgYnVmZmVyLiBUaGUgbGlicmFyeSBjbGFzcyBoZWFk ZXIgZmlsZSANCj4iTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9FeHRyYWN0R3VpZGVkU2VjdGlvbkxp Yi5oIiBzYXlzIHRoYXQsICJJZiB0aGUgDQo+ZGVjb2RlZCBidWZmZXIgaXMgaWRlbnRpY2FsIHRv IHRoZSBkYXRhIGluIElucHV0U2VjdGlvbiwgdGhlbiANCj5PdXRwdXRCdWZmZXIgaXMgc2V0IHRv IHBvaW50IGF0IHRoZSBkYXRhIGluIElucHV0U2VjdGlvbi4gIE90aGVyd2lzZSwgDQo+dGhlIGRl Y29kZWQgZGF0YSB3aWxsIGJlIHBsYWNlZCBpbiBjYWxsZXIgYWxsb2NhdGVkIGJ1ZmZlciBzcGVj aWZpZWQgYnkgT3V0cHV0QnVmZmVyLiINCj4NCj5UaGlzIG1lYW5zIHRoYXQgdGhlIEV4dHJhY3RH dWlkZWRTZWN0aW9uRGVjb2RlKCkgY2FsbCBtYXkgY2hhbmdlIHRoZSANCj52YWx1ZSBvZiBEc3RC dWZmZXIgKHJhdGhlciB0aGFuIGNoYW5naW5nIHRoZSBjb250ZW50cyBvZiB0aGUgYnVmZmVyIA0K PnRoYXQgRHN0QnVmZmVyIHBvaW50cyBhdCkgLS0gaW4gd2hpY2ggY2FzZSBmcmVlaW5nIERzdEJ1 ZmZlciBpcyB3cm9uZy4NCj4NCj5UaGlzIG1lYW5zIHdlIG5lZWQgYSBzZWNvbmQgdmFyaWFibGUu IE9uZSB2YXJpYWJsZSBuZWVkcyB0byBwcmVzZXJ2ZSANCj50aGUgYWxsb2NhdGlvbiBhZGRyZXNz LCBhbmQgdGhlIGFkZHJlc3Mgb2YgdGhlIG90aGVyIHZhcmlhYmxlIG11c3QgYmUgDQo+cGFzc2Vk IHRvIEV4dHJhY3RHdWlkZWRTZWN0aW9uRGVjb2RlKCkuIEFmdGVyIHRoZSBjYWxsLCB3ZSBuZWVk IHRvIGZyZWUgDQo+dGhlDQo+Km9yaWdpbmFsKiB2YXJpYWJsZSAodGhlIG9uZSB0aGF0IEV4dHJh Y3RHdWlkZWRTZWN0aW9uRGVjb2RlKCkgY291bGQgDQo+bm90IGhhdmUgb3ZlcndyaXR0ZW4pLg0K Pg0KDQpXaWxsIHByZXBhcmUgYSBuZXcgcGF0Y2ggdmVyc2lvbiB0byBhZGRyZXNzIHRoaXMuDQoN Cj4oMikgQXMgZmFyIGFzIEkgY2FuIHRlbGwsIHdlIGxlYWsgb3VyIG9yaWdpbmFsIERzdEJ1ZmZl ciBhbGxvY2F0aW9uIGluIHR3byBjYXNlczoNCj4NCj4tIFVwb24gZXZlcnkgaXRlcmF0aW9uIG9m IHRoZSBsb29wIGFmdGVyIHRoZSBmaXJzdCBpdGVyYXRpb24sIHdlIA0KPm92ZXJ3cml0ZSB0aGUg RHN0QnVmZmVyIHZhcmlhYmxlIHdpdGggdGhlIG5ldyBhbGxvY2F0aW9uIGFkZHJlc3MuIFRoZSBv bGQgb25lIGlzIGxvc3QgKGxlYWtlZCkuDQo+DQo+TXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0LCBh ZnRlciB0aGUgcmVjdXJzaXZlIE1tQ29yZUZmc0ZpbmRNbURyaXZlcigpIA0KPmNhbGwgcmV0dXJu cywgd2Ugbm8gbG9uZ2VyIG5lZWQgdGhlIGRlY29tcHJlc3NlZCBEc3RCdWZmZXIsIHRoZXJlZm9y ZSwgDQo+d2Ugc2hvdWxkIGZyZWUgdGhlICpvcmlnaW5hbCogRHN0QnVmZmVyIGFsbG9jYXRpb24g KHBlciAoMSkpIHJpZ2h0IHRoZXJlLg0KPg0KPi0gVGhlIGxhc3QgKHBvdGVudGlhbGx5OiBvbmx5 IG9uZSkgaXRlcmF0aW9uIG9mIHRoZSBsb29wIGFsbG9jYXRlcyANCj5Ec3RCdWZmZXIsIGFuZCB0 aGF0IGFsbG9jYXRpb24gaXMgbmV2ZXIgZnJlZWQuIFdlIGRvbid0IG92ZXJ3cml0ZSB0aGUgDQo+ YWRkcmVzcyB3aXRoIGEgbmV3IGFsbG9jYXRpb24ncyBhZGRyZXNzLCBidXQgc3RpbGwgd2UgbmV2 ZXIgZnJlZSB0aGUgDQo+b3JpZ2luYWwgYWxsb2NhdGlvbi4gVGhlIEZyZWVEc3RCdWZmZXIgbGFi ZWwgaXMgYXBwYXJlbnRseSBuZXZlciByZWFjaGVkLg0KPg0KDQpJbiB0aGUgc3VjY2VzcyBjYXNl LCBEc3RCdWZmZXIgc2hvdWxkIE5PVCBiZSBmcmVlZCwgYmVjYXVzZSB0aGUgYnVmZmVyIGhvbGRz IHRoZSBNTSBkcml2ZXJzLCB3aGljaCB3aWxsIGJlIHVzZWQgaW4gdGhlIGRyaXZlciBkaXNwYXRj aCBwcm9jZXNzIGxhdGVyLg0KDQo+KDMpIEFuZCBmaW5hbGx5LCBhIGxvZ2ljIGJ1ZyAob3IgYXQg bGVhc3QgcXVlc3Rpb25hYmxlIGJlaGF2aW9yKToNCj4NCj5UaGUgbG9vcCBhdCB0aGUgKnRvcCog b2YgdGhlIGZ1bmN0aW9uIHNjYW5zIHRoZSBmaXJtd2FyZSB2b2x1bWUgZm9yIA0KPmVtYmVkZGVk IGZpcm13YXJlIHZvbHVtZXMgKHJlY3Vyc2luZyBpbnRvIHRoZW0gaWYgYW55IGFyZSBmb3VuZCks IHdoaWxlIA0KPnRoZSBsb29wIGF0IHRoZSAqYm90dG9tKiBvZiB0aGUgZnVuY3Rpb24gc2NhbnMg dGhlICpzYW1lKiBmaXJtd2FyZSANCj52b2x1bWUgZm9yIE1NIGRyaXZlciBiaW5hcmllcyAoYWRk aW5nIHRoZW0gdG8gdGhlICJNTSBkcml2ZXIgbGlzdCIpLCANCj5zdGFydGluZyBhbmV3IGZyb20g dGhlIGJlZ2lubmluZyBvZiB0aGUgZmlybXdhcmUgdm9sdW1lLg0KPg0KPk5vdywgdGhlcmUgYXJl IG1hbnkgZXhpdCBwb2ludHMgaW4gdGhlIGZ1bmN0aW9uLXRvcCBsb29wLiBUaG9zZSBjYW4gYmUg DQo+Y2xhc3NpZmllZCBpbiB0d28gZ3JvdXBzOiAiYnJlYWsiLCBhbmQgInJldHVybi9nb3RvIi4g VGhlIGZvcm1lciBjbGFzcyANCj5tYWtlcyBzZW5zZS4gVGhlIGxhdHRlciBjbGFzcyBkb2VzIG5v dCBzZWVtIHRvIG1ha2Ugc2Vuc2UgdG8gbWUuDQo+DQo+Q29uc2lkZXI6IGp1c3QgYmVjYXVzZSB3 ZSBmYWlsIHRvIHNjYW4gdGhlIGZpcm13YXJlIHZvbHVtZSBmb3IgZW1iZWRkZWQgDQo+ZmlybXdh cmUgdm9sdW1lcywgZm9yIGFueSByZWFzb24gcmVhbGx5LCBzaG91bGQgd2UgcmVhbGx5IGFiYW5k b24gDQo+c2Nhbm5pbmcgdGhlIHNhbWUgZmlybXdhcmUgdm9sdW1lIGZvciBNTSBkcml2ZXIgYmlu YXJpZXM/IFdoYXQgSSBkb24ndCANCj51bmRlcnN0YW5kIGhlcmUgaW4gcGFydGljdWxhciBpcyB0 aGUgKmluY29uc2lzdGVuY3kqIGJldHdlZW4gdGhlIGV4aXQgDQo+cG9pbnRzLCBpbiB0aGUgZnVu Y3Rpb24tdG9wIGxvb3A6DQo+DQo+LSBpZiB3ZSByZWFsaXplIHRoZXJlIGFyZSBubyAobW9yZSkg ZW1iZWRkZWQgRlZzLCB3ZSBicmVhayBvdXQ7IGdvb2QNCj4NCj4tIGlmIHdlIHJlYWxpemUgdGhl IG5leHQgZW1iZWRkZWQgRlYgaXMgbm90ICJHVUlEIGRlZmluZWQiLCB3ZSBicmVhayANCj5vdXQ7 IGdvb2QgKHdlbGwsIHF1ZXN0aW9uYWJsZSAtLSBwZXJoYXBzIHdlIHNob3VsZCBjb250aW51ZSBz Y2FubmluZz8NCj50aGUgbmV4dCBlbWJlZGRlZCBGViBjb3VsZCBiZSBHVUlEIGRlZmluZWQgYWZ0 ZXIgYWxsISkNCj4NCj4tIGlmIEV4dHJhY3RHdWlkZWRTZWN0aW9uR2V0SW5mbygpIGZhaWxzLCB3 ZSBicmVhayBvdXQgYWdhaW47IGdvb2QgKG9yLCANCj53ZWxsLCB3ZSBjb3VsZCBjb250aW51ZSB0 aGUgc2Nhbm5pbmcsIGJ1dCBhbnl3YXkpDQoNCldpbGwgcHJlcGFyZSBhIG5ldyBwYXRjaCB2ZXJz aW9uIHRvIGFkZHJlc3MgdGhpczogY2hhbmdlIGJyZWFrIHRvIGNvbnRpbnVlDQoNCj4NCj4tIGlm IHRoZSAqZGVjb2RpbmcqIGZhaWxzLCBpbmNsdWRpbmcgdGhlIGFsbG9jYXRpb25zLCBvciB3ZSBm YWlsIHRvIA0KPmZpbmQgYSBwcm9wZXIgRlYgaW1hZ2Ugc2VjdGlvbiwgb3IgdGhlIHJlY3Vyc2l2 ZSANCj5NbUNvcmVGZnNGaW5kTW1Ecml2ZXIoKSBjYWxsIGZhaWxzLCB0aGVuIHdlDQo+KmFiYW5k b24qIHRoZSBNTSBkcml2ZXIgaW1hZ2VzIGluIHRoZSAqY3VycmVudCogZmlybXdhcmUgaW1hZ2Uu IFRoYXQgaXMgDQo+d2hhdCBkb2VzIG5vdCBtYWtlIGFueSBzZW5zZSB0byBtZSwgY29tcGFyZWQg dG8gdGhlIGFib3ZlLW5vdGVkIGV4aXQgDQo+cG9pbnRzLiBKdXN0IGJlY2F1c2Ugd2UgY291bGRu J3QgZXh0cmFjdCBhIGNvbXByZXNzZWQsIGVtYmVkZGVkIEZWIA0KPmltYWdlLCB3aHkgaWdub3Jl IHRoZSBNTSBkcml2ZXJzIGluICp0aGlzKiBpbWFnZT8NCj4NCg0KV2lsbCBwcmVwYXJlIGEgbmV3 IHBhdGNoIHZlcnNpb24gdG8gYWRkcmVzcyB0aGlzOiBtb3ZlIHRoZSBNTSBkcml2ZXJzIGRldGVj dCBsb2dpYyB0byB0aGUgZnJvbnQgb2YgdGhlIHdoaWxlLWxvb3AsIHdoaWNoIG1lYW4gZmlyc3Qg Y2hlY2sgdGhlIE1NIGRyaXZlcnMsIHRoZW4gY2hlY2sgdGhlIGVtYmVkZGVkIEZWcw0KDQo+U29y cnkgZm9yIGNyZWF0aW5nIG1vcmUgYW5kIG1vcmUgd29yayBmb3IgeW91LCBidXQgSSdtIHN0YXJ0 aW5nIHRvIA0KPnRoaW5rIHRoYXQgdGhlIHdob2xlIGxvb3Agc2hvdWxkIGJlIHJld3JpdHRlbi4g Oi8NCj4NCj5XZWxsLCBldmVuIGlmIHdlIGRvbid0IGNoYW5nZSB0aGlzIHNjYW5uaW5nIGxvZ2lj LCBhdCBsZWFzdCBwcm9wZXJseSANCj5yZWxlYXNpbmcgRHN0QnVmZmVyIHdvdWxkIGJlIG5pY2Ug KGkuZS4sIGFkZHJlc3NpbmcgcG9pbnRzICgxKSBhbmQgKDIpKS4NCj4NCj5UaGFua3MgZm9yIGJl YXJpbmcgd2l0aCBtZQ0KPkxhc3psbw0KDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91 cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAu ClZpZXcvUmVwbHkgT25saW5lICgjMTEwMzg4KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvMTEwMzg4Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQv MTAyMjcwNTQ3Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlv ClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVj Y2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=