From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.53]) by mx.groups.io with SMTP id smtpd.web11.79401.1684116306047588699 for ; Sun, 14 May 2023 19:05:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=eTvRM5AL; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.101.53, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NuwstSurxWBh0a68+FW01hnM2GpbNYTGFKkhn3a4fO0lU8aw7ntPoLOVLSESzkIpbBwHoHLmTLQzwsm8Uf5WMzNYM3PE91MhFBtHdc0hoFHJEwfkLuecP1Xv2n7M5CX2Ix34mRFlrwbbhYVrH+ww6dwd/+IaH1ICf+4fzN6ScBc2kGm0j9FA8/Y84G1bzboYcJTwHB5PeCr7J4/Og4/ofpPpcj6Yffh4E7LD2sCZJ7gjyaC/r5dPbGVgttc6tuNanerey7Taf6F8uIC0K+9n4nrCHTadPpbt9VzFltQR/F06cJU7Z9X17YWgD5YLF5VNmFQUtJ70rQUzb6v0NCmTkg== 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=BGgCSD4YeXiU2Yzl0LNKQQ0MHPUyjgnpI72TSRjwYGk=; b=Cfk9oR+KOGDjctr0GfrPsIFzN4MW5HdWCx1I3JZsK2QA7d0FXNeF6M8qAzGfQq5KRPSmNT/gDNFaJWENAab4pzyzBDWGWqqO798virHRe1EO7G/0e2vxQWI8qt55J1wS9nlUwMsyI9Mh9MMmK2HsWMApo9+/3fmgWKr5gRUv+smOAZfI9Z37uO/eAQKmaoun3HF+hsMwXfifmOG5qVV0Wjyq0ceeM6HjxVyfARHIGgqabN+79UVMlom5dVC76G3uPNotT6G4Sil/NL4pbclhxeIWLiGxb3ijnbgZ4pyISia5UTvKDkaQhXuJDDZTZwaE29E4gl+skry1ME+IyRDCgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BGgCSD4YeXiU2Yzl0LNKQQ0MHPUyjgnpI72TSRjwYGk=; b=eTvRM5ALLWdPnutpXLGPZ+XiFRYuv8kxRu/9TOex07Ln1ka2E+X3f19ePzKPhrwN9OZyF15kwDcaZisbcwfiskikSRT/KhKYDhqg9EQGFz+oPCO/xf8HCl5bvK54spSmh5HNZMoaFMCd2SMe+QZ72twLGyTwTJvGCvAOD7OGv44= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by BL1PR12MB5046.namprd12.prod.outlook.com (2603:10b6:208:313::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 02:05:03 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::edb0:bed8:c650:5040]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::edb0:bed8:c650:5040%5]) with mapi id 15.20.6387.029; Mon, 15 May 2023 02:05:03 +0000 From: "Chang, Abner" To: Tinh Nguyen , "devel@edk2.groups.io" CC: Isaac Oram , "Attar, AbdulLateef (Abdul Lateef)" , Nickle Wang , Tinh Nguyen Subject: Re: [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiBmcElog: IPMI BMC Elog Driver Thread-Topic: [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiBmcElog: IPMI BMC Elog Driver Thread-Index: AQHZhojueTCDMCJAy0K0JWdc1AwABK9alhVw Date: Mon, 15 May 2023 02:05:03 +0000 Message-ID: References: <20230512095819.1898-1-abner.chang@amd.com> <4679aff9-60a0-1428-154b-d4a5b63902c6@amperemail.onmicrosoft.com> In-Reply-To: <4679aff9-60a0-1428-154b-d4a5b63902c6@amperemail.onmicrosoft.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-05-15T02:05:01Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=0872386f-9793-4444-bd21-6dd9d977df11; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|BL1PR12MB5046:EE_ x-ms-office365-filtering-correlation-id: cdd6270a-6829-4d77-1236-08db54e8cbe0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: itlb95XyOqN5AGLwBzORSiL6CyEcweSGLkeu3yi7doa3hAN59yZMJJyf2AH2lmsx/flsGyp90BXemGXDstai8n/2w+iwhCuvEHmwQFoG56lu+21YdihXJqJT6RDLDu3B7SCHu3YiXDbaa5SbOqAM4Qs8EB40V2zlqHm67Fh7vgEld5Xlnp3tsn38bcG1HXXuy0fPjNlq5V93cvZ4+v+hkIpZbk+IVHF7NdvWTSUSfRmF4Bs1qwaE0Go0cKRSah86aMi4HCEl3LsI3PAqV43ZswZN3yxshZtQeCGarY2b+oaIFWjpViXlaxkNaqD7sT7n8VJeWgHhnk4hAWRBEZbg01HidRaZ/BzYQTd+o/gR5c4xexV9HUq1+ixGZFLGkTt3F+qk/u/IksnmrrEjriEY8aoBUBaAgMAT6X32oZ9X5bVgS9zF57QGHmgXrBf1wK0RWvbvCawVHE3eTQpq30K0u7MLNzT0BNOUPDHfI/ILJjDhE4q6xSymWSfwMy9Rl0hAJWm9XXOLY/aJSK+/NaeeaGQleNIQ5KODnULOcog9NCGPm5oYabxiK27npp82JEmME9XPvVHM2YPp1axVuewEx5k4z7xRJbLDtkAM8txa5tmj7YDgUiR8zb6Z+NP8TJCp x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(376002)(366004)(346002)(396003)(451199021)(83380400001)(54906003)(478600001)(71200400001)(7696005)(19627235002)(110136005)(6506007)(26005)(53546011)(9686003)(186003)(33656002)(2906002)(38070700005)(4326008)(38100700002)(64756008)(66446008)(66476007)(66556008)(76116006)(66946007)(122000001)(41300700001)(52536014)(5660300002)(8676002)(8936002)(296002)(316002)(55016003)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Mk9LbXdjTU1wTnNsMmd1L0RtbHNGSWxIL3BFYkJGemlHWldBSHU4eG1aRzVn?= =?utf-8?B?cEk4dmtQN2E4azRLNDR2b3A0WHVycURLNGN6blJuU0FSNHlCZkowRUVVWW5B?= =?utf-8?B?SVJKTFIvRVVwQkFXLzFCZTJuRU82UG9EN3Bodnc5SXdzaDRYbXBxa3o2Sjhr?= =?utf-8?B?ZDZuS29wMjJTcXduL2ZmSkduMysxUC95S3g3bXFJUWFLeWYxbCtBWmtuK1Bo?= =?utf-8?B?NU90aDlSQVl5UWJjZFd4OEFpdC9HSzUrVGlSWFowS1h2YXIra3J0LzlzMlcy?= =?utf-8?B?b3ZRdnQ5eHd1ZDhuY1FtaHdKYnh1aWQ1WDllc2FJZ3U2M0piSlQrckpYNTRi?= =?utf-8?B?b3lpeHI4MnBDSGkxUHJzZUIrOGFIaEcwZCtxVkYxeGZ4eWRPZ3VsV1ZOYVRF?= =?utf-8?B?ai9ITmFIMllxNm1EVjlFSGtta0Z6dkY1YWExbnZXWUVISkVQb2RTdUtERDJH?= =?utf-8?B?SjZyamR6SVNLUnNVTmFHSDRRc1h4Mkx4L2xzUElBd2o3dG42UlB6cTA5ZDY2?= =?utf-8?B?MnVzOTc4cDNCUzJLcTZTdUVjRW9rS0xFZ3IrMWdtSXhNKzdLMlJiSmJSbGt2?= =?utf-8?B?eExKS3V1VTdFOUsyS3I2dTRLUXh5TXZwVXpIUXdNYmtScnJTSGRvRjE2OVB4?= =?utf-8?B?VldBQ3JXWjYrTFp5Q2hVRk9naWFFZDlwV1h2emhiOXVTQ3FCRHJqcjR5NmlQ?= =?utf-8?B?WDhZcXVjMFBZODBTcWYxbWNmcVVZM3ZYM0tMcWE5NGFwTjR3T25UdllvNDlW?= =?utf-8?B?cmdCTDAwMFoxSjVENzV3akJqOXlGbU0zb0swRERObUNOSjVJODJRSGwyenhm?= =?utf-8?B?Mk5idStaLzMzRElJLzBJUG5yZXpsNlFVWkZ6SFVRTTNVV1dpeDNXTjZsZHZP?= =?utf-8?B?K285ZnBESmM5TU02bERyanJLV29mVFB1eDlLUTREak9HeTRMU1JJMjdIcWVy?= =?utf-8?B?VDZLdFZJa2s4b0RZY25ERVNJV28yTVAyc0lGUWpCQTFFWXdmdm55SnJLMnpD?= =?utf-8?B?UmRvUElZYjR3TzdmdXhzakxFYUNLMzJGcmZ6ek0vL0o0VXBQSHZXNnVOelFP?= =?utf-8?B?WWthS1NTNFcyOEJMNlFlMnpaMC9SVExCZTFCaXNaT2ZreUgrN3Zvc1B1MW9M?= =?utf-8?B?T21ZSUhLeTBJZkFqd0src2FkZHRkR2tRMmtuVyt1RHg3MTVlUEoxc2t4djli?= =?utf-8?B?c1JVQUdLRE5EeXFqWmZSVmRVWkVqdDl3RThuSzFVa1FKYVV4aHlMcXpQanJH?= =?utf-8?B?ajZDdUdxVWVGMm96NVFrOGFwblpQWlBOUStDQmxXOHFydzhXNmQwRGptRFBK?= =?utf-8?B?U0pwcmxOQno2MDJ1cjVaYmVKVWRJbkVnQWc0Wkd5MENoSDNnM2IxQ2kyS2dS?= =?utf-8?B?T2dYYlVKalJrdkFnUzlueU83R3JPVWFmT1dCbDlKL3c5SDNNZ2NTR25TbWpT?= =?utf-8?B?dnVZWVFwRVlSUUYyeG8xM3o3Y0d2ZC9PVTZQY0lmdHB1c05oUzYzNXNIQUc3?= =?utf-8?B?SXUvdmNEcTRBSmxlVU01cVlxZDd1K1lqL0REUHp4S1pXKzFwZmtFVUhJVkcw?= =?utf-8?B?WVR5dElMU1dYelpSQW1RYzZwYm95U1BobU0rVE0vdjRHYWI2NHIyeWRwYVh3?= =?utf-8?B?VkFiTXY3OTBlTVpnVUExd1NqTFRSdjcwZkpNSnNJNEpUY25KWk9KMlFNVUhn?= =?utf-8?B?c2V6N1ZqOWFtWlFGY0NXelRxVlU1WXg4Uk9EaldObjBDUm9zc09sMSt5N3Uz?= =?utf-8?B?SFRyQ01IcVRRc0JMNE1aRUVNUnJvSjRwemR3KzExZUtkUGxYZ1dNbnRDUHI4?= =?utf-8?B?MUV5N3Y1eU0zT0lINmc2NjZmNDNxSFpxSlR3bFpzWit2L2ZsbTZoN1hsN0x0?= =?utf-8?B?OEdOT3RjWnVuSmYxRDM3cGE1ZlpRdGI0Y2J1ZGU1T0JwOFVxZ1NCaWFSZU5j?= =?utf-8?B?Nysvei9YeWJlRU9EZjh1bGxrbzQyUHlXdlFKdHhmZllsZXNoN1NTb25Eamtv?= =?utf-8?B?U21GNjE4MnRVdmdrdE1zay9MVXg3Tjh5c1hmWTJtbS9adGE2R0VmUkQ0dnpv?= =?utf-8?B?UTRiOGl2cUsxN2FtYzY3UytUdm1ldWhTa2VicmRvNGIrNVo2RTdUM0NIUGg4?= =?utf-8?Q?77AI=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cdd6270a-6829-4d77-1236-08db54e8cbe0 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2023 02:05:03.2209 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: paSAtKNKQSyKFwls1oKq697BZLU1O5+vwpZrJANYeb5cKaHz2h//s7WZh0nS5105D9OY0xL4QiKAFulXY66bzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5046 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNClR5cG8gZml4ZWQsIEkgd2lsbCBk byB0aGUgc3BlbGwgY2hlY2sgZm9yIHRoZSBuZXcgc3VibWl0dGVkIHBhdGNoLg0KVGhhbmsgeW91 Lg0KDQpBYm5lcg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaW5oIE5n dXllbiA8dGluaG5ndXllbkBhbXBlcmVtYWlsLm9ubWljcm9zb2Z0LmNvbT4NCj4gU2VudDogTW9u ZGF5LCBNYXkgMTUsIDIwMjMgMToyNCBBTQ0KPiBUbzogQ2hhbmcsIEFibmVyIDxBYm5lci5DaGFu Z0BhbWQuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IElzYWFjIE9yYW0gPGlzYWFj Lncub3JhbUBpbnRlbC5jb20+OyBBdHRhciwgQWJkdWxMYXRlZWYgKEFiZHVsIExhdGVlZikNCj4g PEFiZHVsTGF0ZWVmLkF0dGFyQGFtZC5jb20+OyBOaWNrbGUgV2FuZyA8bmlja2xld0BudmlkaWEu Y29tPjsgVGluaA0KPiBOZ3V5ZW4gPHRpbmhuZ3V5ZW5Ab3MuYW1wZXJlY29tcHV0aW5nLmNvbT4N Cj4gU3ViamVjdDogUmU6IFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0ggMS8yXSBNYW5hZ2VhYmlsaXR5 UGtnL0lwbWlCbWNFbG9nOg0KPiBJUE1JIEJNQyBFbG9nIERyaXZlcg0KPiANCj4gQ2F1dGlvbjog VGhpcyBtZXNzYWdlIG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9w ZXINCj4gY2F1dGlvbiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBv ciByZXNwb25kaW5nLg0KPiANCj4gDQo+IFRoZXJlIGlzIGEgbWlub3IgdHlwbyAgYmVsb3cNCj4g DQo+IFJldmlld2VkLWJ5OiBUaW5oIE5ndXllbiA8dGluaG5ndXllbkBvcy5hbXBlcmVjb21wdXRp bmcuY29tPg0KPiANCj4gUmVnYXJkcywNCj4gDQo+IC0gVGluaA0KPiANCj4gDQo+IE9uIDEyLzA1 LzIwMjMgMTY6NTgsIGFibmVyLmNoYW5nQGFtZC5jb20gd3JvdGU6DQo+ID4gRnJvbTogQWJuZXIg Q2hhbmcgPGFibmVyLmNoYW5nQGFtZC5jb20+DQo+ID4NCj4gPiBJcG1pQm1jRWxvZyBpcyBjbG9u ZWQgZnJvbQ0KPiA+IGVkazItcGxhdGZvcm1zL0ZlYXR1cmVzL0ludGVsL091dE9mQmFuZE1hbmFn ZW1lbnQvDQo+ID4gSXBtaUZlYXR1cmVQa2cvQm1jRWxvZyBpbiBvcmRlciB0byBjb25zb2xpZGF0 ZQ0KPiA+IGVkazIgc3lzdGVtIG1hbmFnZWFiaWxpdHkgc3VwcG9ydCBpbiBvbmUgcGxhY2UuDQo+ ID4gVW5jdXN0aWZ5IGlzIGFwcGxpZWQgdG8gQyBmaWxlcyBhbmQgbm8gZnVuY3Rpb25hbGl0aWVz DQo+ID4gYXJlIGNoYW5nZWQgaW4gdGhpcyBwYXRjaC4NCj4gPg0KPiA+IFdlIHdpbGwgc3RpbGwg a2VlcCB0aGUgb25lIHVuZGVyIElwbWlGZWF0dXJlUGtnL0JtY0Vsb2cNCj4gPiB1bnRpbCB0aGUg cmVmZXJlbmNlIHRvIHRoaXMgaW5zdGFuY2UgYXJlIHJlbW92ZWQgZnJvbQ0KPiA+IHBsYXRmb3Jt cy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEFibmVyIENoYW5nIDxhYm5lci5jaGFuZ0BhbWQu Y29tPg0KPiA+IENjOiBJc2FhYyBPcmFtIDxpc2FhYy53Lm9yYW1AaW50ZWwuY29tPg0KPiA+IENj OiBBYmR1bCBMYXRlZWYgQXR0YXIgPGFiZGF0dGFyQGFtZC5jb20+DQo+ID4gQ2M6IE5pY2tsZSBX YW5nIDxuaWNrbGV3QG52aWRpYS5jb20+DQo+ID4gQ2M6IFRpbmggTmd1eWVuIDx0aW5obmd1eWVu QG9zLmFtcGVyZWNvbXB1dGluZy5jb20+DQo+ID4gLS0tDQo+ID4gICAuLi4vVW5pdmVyc2FsL0lw bWlCbWNFbG9nL0JtY0Vsb2cuaW5mICAgICAgICAgfCAgMzMgKysrDQo+ID4gICAuLi4vVW5pdmVy c2FsL0lwbWlCbWNFbG9nL0JtY0Vsb2cuYyAgICAgICAgICAgfCAxOTIgKysrKysrKysrKysrKysr KysrDQo+ID4gICAyIGZpbGVzIGNoYW5nZWQsIDIyNSBpbnNlcnRpb25zKCspDQo+ID4gICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gRmVhdHVyZXMvTWFuYWdlYWJpbGl0eVBrZy9Vbml2ZXJzYWwvSXBt aUJtY0Vsb2cvQm1jRWxvZy5pbmYNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBGZWF0dXJl cy9NYW5hZ2VhYmlsaXR5UGtnL1VuaXZlcnNhbC9JcG1pQm1jRWxvZy9CbWNFbG9nLmMNCj4gPg0K PiA+IGRpZmYgLS1naXQgYS9GZWF0dXJlcy9NYW5hZ2VhYmlsaXR5UGtnL1VuaXZlcnNhbC9JcG1p Qm1jRWxvZy9CbWNFbG9nLmluZg0KPiBiL0ZlYXR1cmVzL01hbmFnZWFiaWxpdHlQa2cvVW5pdmVy c2FsL0lwbWlCbWNFbG9nL0JtY0Vsb2cuaW5mDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g PiBpbmRleCAwMDAwMDAwMDAwLi40YzI4ODYyZmU1DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsr KyBiL0ZlYXR1cmVzL01hbmFnZWFiaWxpdHlQa2cvVW5pdmVyc2FsL0lwbWlCbWNFbG9nL0JtY0Vs b2cuaW5mDQo+ID4gQEAgLTAsMCArMSwzMyBAQA0KPiA+ICsjIyMgQGZpbGUNCj4gPiArIyBDb21w b25lbnQgZGVzY3JpcHRpb24gZmlsZSBmb3IgQk1DIEVMT0cuDQo+ID4gKyMNCj4gPiArIyBDb3B5 cmlnaHQgKGMpIDIwMTggLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ID4gKyMNCj4gPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiA+ICsjDQo+ID4gKyMjIw0KPiA+ICsNCj4gPiArW0RlZmluZXNdDQo+ ID4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiA+ICsgIEJBU0Vf TkFNRSAgICAgICAgICAgICAgICA9IEJtY0Vsb2cNCj4gPiArICBGSUxFX0dVSUQgICAgICAgICAg ICAgICAgPSBBMEZGMjIzNS1CNjUyLTQ1RTMtQjNEMi1CMjBGM0U3MTRFNkYNCj4gPiArICBNT0RV TEVfVFlQRSAgICAgICAgICAgICAgPSBEWEVfRFJJVkVSDQo+ID4gKyAgUElfU1BFQ0lGSUNBVElP Tl9WRVJTSU9OID0gMHgwMDAxMDAwQQ0KPiA+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICA9 IDEuMA0KPiA+ICsgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICA9IEluaXRpYWxpemVCbWNFbG9n TGF5ZXINCj4gPiArDQo+ID4gK1tTb3VyY2VzXQ0KPiA+ICsgIEJtY0Vsb2cuYw0KPiA+ICsNCj4g PiArW1BhY2thZ2VzXQ0KPiA+ICsgIE1hbmFnZWFiaWxpdHlQa2cvTWFuYWdlYWJpbGl0eVBrZy5k ZWMNCj4gPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+ICsNCj4gPiArW0xpYnJhcnlDbGFzc2Vz XQ0KPiA+ICsgIERlYnVnTGliDQo+ID4gKyAgSXBtaUNvbW1hbmRMaWINCj4gPiArICBVZWZpQm9v dFNlcnZpY2VzVGFibGVMaWINCj4gPiArICBVZWZpRHJpdmVyRW50cnlQb2ludA0KPiA+ICsNCj4g PiArW0RlcGV4XQ0KPiA+ICsgIFRSVUUNCj4gPiBkaWZmIC0tZ2l0IGEvRmVhdHVyZXMvTWFuYWdl YWJpbGl0eVBrZy9Vbml2ZXJzYWwvSXBtaUJtY0Vsb2cvQm1jRWxvZy5jDQo+IGIvRmVhdHVyZXMv TWFuYWdlYWJpbGl0eVBrZy9Vbml2ZXJzYWwvSXBtaUJtY0Vsb2cvQm1jRWxvZy5jDQo+ID4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwLi5hYjE3OWU5ZDQ5DQo+ID4g LS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL0ZlYXR1cmVzL01hbmFnZWFiaWxpdHlQa2cvVW5pdmVy c2FsL0lwbWlCbWNFbG9nL0JtY0Vsb2cuYw0KPiA+IEBAIC0wLDAgKzEsMTkyIEBADQo+ID4gKy8q KiBAZmlsZQ0KPiA+ICsgIEJNQyBFdmVudCBMb2cgZnVuY3Rpb25zLg0KPiA+ICsNCj4gPiArQ29w eXJpZ2h0IChjKSAyMDE4IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiA+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiA+ICsNCj4gPiArKiovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8VWVmaS5oPg0KPiA+ ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Rl YnVnTGliLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gPiAr I2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5oPg0KPiA+ICsjaW5jbHVkZSA8 TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gPiArI2luY2x1ZGUgPExpYnJh cnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0lwbWlDb21tYW5kTGliLmg+DQo+ID4gKw0KPiA+ICtFRklfU1RBVFVTDQo+ID4gK0VGSUFQSQ0K PiA+ICtDaGVja0lmU2VsSXNGdWxsICgNCj4gPiArICBWT0lEDQo+ID4gKyAgKTsNCj4gPiArDQo+ ID4gKy8qKg0KPiA+ICsgIFRoaXMgZnVuY3Rpb24gZXJhc2VzIGV2ZW50IGxvZ3MgYW5kIHdhaXRz IHVudGkgY29tcGxldGUuDQo+IHVudGkgLT4gdW50aWwNCj4gPiArDQo+ID4gKyAgQHBhcmFtIFtp bl0gIFJlc3ZJZCAgICAgICAgICAgICAgLSBSZXNlcnZlZCBJRA0KPiA+ICsNCj4gPiArICBAcmV0 dmFsICBFRklfU1RBVFVTICAgICAgICAgICAgICAgRUZJX1NVQ0NFU1MNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX05PX1JFU1BPTlNFDQo+ID4gKw0KPiA+ICsq Ki8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtXYWl0VGlsbEVyYXNlZCAoDQo+ID4gKyAgSU4gIFVJ TlQ4ICAqUmVzdklkDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4gKyAgSU5UTiAgICAgICAgICAgICAg ICAgICAgIENvdW50ZXI7DQo+ID4gKyAgSVBNSV9DTEVBUl9TRUxfUkVRVUVTVCAgIENsZWFyU2Vs Ow0KPiA+ICsgIElQTUlfQ0xFQVJfU0VMX1JFU1BPTlNFICBDbGVhclNlbFJlc3BvbnNlOw0KPiA+ ICsNCj4gPiArICBDb3VudGVyID0gMHgyMDA7DQo+ID4gKyAgWmVyb01lbSAoJkNsZWFyU2VsUmVz cG9uc2UsIHNpemVvZiAoQ2xlYXJTZWxSZXNwb25zZSkpOw0KPiA+ICsNCj4gPiArICB3aGlsZSAo VFJVRSkgew0KPiA+ICsgICAgWmVyb01lbSAoJkNsZWFyU2VsLCBzaXplb2YgKENsZWFyU2VsKSk7 DQo+ID4gKyAgICBDbGVhclNlbC5SZXNlcnZlWzBdID0gUmVzdklkWzBdOw0KPiA+ICsgICAgQ2xl YXJTZWwuUmVzZXJ2ZVsxXSA9IFJlc3ZJZFsxXTsNCj4gPiArICAgIENsZWFyU2VsLkFzY0MgICAg ICAgPSAweDQzOw0KPiA+ICsgICAgQ2xlYXJTZWwuQXNjTCAgICAgICA9IDB4NEM7DQo+ID4gKyAg ICBDbGVhclNlbC5Bc2NSICAgICAgID0gMHg1MjsNCj4gPiArICAgIENsZWFyU2VsLkVyYXNlICAg ICAgPSAweDAwOw0KPiA+ICsNCj4gPiArICAgIElwbWlDbGVhclNlbCAoDQo+ID4gKyAgICAgICZD bGVhclNlbCwNCj4gPiArICAgICAgJkNsZWFyU2VsUmVzcG9uc2UNCj4gPiArICAgICAgKTsNCj4g PiArDQo+ID4gKyAgICBpZiAoKENsZWFyU2VsUmVzcG9uc2UuRXJhc3VyZVByb2dyZXNzICYgMHhm KSA9PSAxKSB7DQo+ID4gKyAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiArICAgIH0NCj4g PiArDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgLy8gIElmIHRoZXJlIGlzIG5vdCBhIHJlc3BvbnNl IGZyb20gdGhlIEJNQyBjb250cm9sbGVyIHdlIG5lZWQgdG8gcmV0dXJuDQo+IGFuZCBub3QgaGFu Zy4NCj4gPiArICAgIC8vDQo+ID4gKyAgICAtLUNvdW50ZXI7DQo+ID4gKyAgICBpZiAoQ291bnRl ciA9PSAweDApIHsNCj4gPiArICAgICAgcmV0dXJuIEVGSV9OT19SRVNQT05TRTsNCj4gPiArICAg IH0NCj4gPiArICB9DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFRoaXMgZnVuY3Rp b24gYWN0aXZhdGVzIEJNQyBldmVudCBsb2cuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbSBbaW5dIEVu YWJsZUVsb2cgIEVuYWJsZS9EaXNhYmxlIGV2ZW50IGxvZw0KPiA+ICsgIEBwYXJhbSBbb3V0XSBF bG9nU3RhdHVzICByZXR1cm4gbG9nIHN0YXR1cw0KPiA+ICsNCj4gPiArICBAcmV0dmFsICBFRklf U1RBVFVTDQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtFZmlBY3RpdmF0 ZUJtY0Vsb2cgKA0KPiA+ICsgIElOIEJPT0xFQU4gICAqRW5hYmxlRWxvZywNCj4gPiArICBPVVQg Qk9PTEVBTiAgKkVsb2dTdGF0dXMNCj4gPiArICApDQo+ID4gK3sNCj4gPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVsb2dTdGF0Ow0KPiA+ICsgIElQTUlfU0VUX0JNQ19H TE9CQUxfRU5BQkxFU19SRVFVRVNUICAgU2V0Qm1jR2xvYmFsRW5hYmxlczsNCj4gPiArICBJUE1J X0dFVF9CTUNfR0xPQkFMX0VOQUJMRVNfUkVTUE9OU0UgIEdldEJtY0dsb2JhbEVuYWJsZXM7DQo+ ID4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wbGV0aW9uQ29k ZTsNCj4gPiArDQo+ID4gKyAgU3RhdHVzICAgPSBFRklfU1VDQ0VTUzsNCj4gPiArICBFbG9nU3Rh dCA9IDA7DQo+ID4gKw0KPiA+ICsgIFN0YXR1cyA9IElwbWlHZXRCbWNHbG9iYWxFbmFibGVzICgm R2V0Qm1jR2xvYmFsRW5hYmxlcyk7DQo+ID4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K PiA+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIGlmIChFbmFi bGVFbG9nID09IE5VTEwpIHsNCj4gPiArICAgICpFbG9nU3RhdHVzID0NCj4gR2V0Qm1jR2xvYmFs RW5hYmxlcy5HZXRFbmFibGVzLkJpdHMuU3lzdGVtRXZlbnRMb2dnaW5nOw0KPiA+ICsgIH0gZWxz ZSB7DQo+ID4gKyAgICBpZiAoU3RhdHVzID09IEVGSV9TVUNDRVNTKSB7DQo+ID4gKyAgICAgIGlm ICgqRW5hYmxlRWxvZykgew0KPiA+ICsgICAgICAgIEVsb2dTdGF0ID0gMTsNCj4gPiArICAgICAg fQ0KPiA+ICsNCj4gPiArICAgICAgQ29weU1lbSAoJlNldEJtY0dsb2JhbEVuYWJsZXMsIChVSU5U OCAqKSZHZXRCbWNHbG9iYWxFbmFibGVzDQo+ICsgMSwgc2l6ZW9mIChVSU5UOCkpOw0KPiA+ICsg ICAgICBTZXRCbWNHbG9iYWxFbmFibGVzLlNldEVuYWJsZXMuQml0cy5TeXN0ZW1FdmVudExvZ2dp bmcgPSBFbG9nU3RhdDsNCj4gPiArDQo+ID4gKyAgICAgIFN0YXR1cyA9IElwbWlTZXRCbWNHbG9i YWxFbmFibGVzICgmU2V0Qm1jR2xvYmFsRW5hYmxlcywNCj4gJkNvbXBsZXRpb25Db2RlKTsNCj4g PiArICAgIH0NCj4gPiArICB9DQo+ID4gKw0KPiA+ICsgIHJldHVybiBTdGF0dXM7DQo+ID4gK30N Cj4gPiArDQo+ID4gKy8qKg0KPiA+ICsNCj4gPiArICBAcmV0dmFsICBFRklfU1RBVFVTDQo+ID4g Kw0KPiA+ICsqKi8NCj4gPiArRUZJX1NUQVRVUw0KPiA+ICtTZXRFbG9nUmVkaXJJbnN0YWxsICgN Cj4gPiArICBWT0lEDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4gKyAgQk9PTEVBTiAgRW5hYmxlRWxv ZzsNCj4gPiArICBCT09MRUFOICBFbG9nU3RhdHVzOw0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsg IC8vIEFjdGl2YXRlIHRoZSBFdmVudCBMb2cgKFRoaXMgc2hvdWxkIGRlcGVuZCB1cG9uIFNldHVw KS4NCj4gPiArICAvLw0KPiA+ICsgIEVmaUFjdGl2YXRlQm1jRWxvZyAoJkVuYWJsZUVsb2csICZF bG9nU3RhdHVzKTsNCj4gPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4gK30NCj4gPiArDQo+ ID4gKy8qKg0KPiA+ICsgIEVudHJ5IHBvaW50IG9mIEJtY0Vsb2cgRFhFIGRyaXZlcg0KPiA+ICsN Cj4gPiArICBAcGFyYW0gW2luXSAgSW1hZ2VIYW5kbGUgIEltYWdlSGFuZGxlIG9mIHRoZSBsb2Fk ZWQgZHJpdmVyDQo+ID4gKyAgQHBhcmFtIFtpbl0gIFN5c3RlbVRhYmxlICBQb2ludGVyIHRvIHRo ZSBTeXN0ZW0gVGFibGUNCj4gPiArDQo+ID4gKyAgQHJldHZhbCAgRUZJX1NUQVRVUw0KPiA+ICsN Cj4gPiArKiovDQo+ID4gK0VGSV9TVEFUVVMNCj4gPiArRUZJQVBJDQo+ID4gK0luaXRpYWxpemVC bWNFbG9nTGF5ZXIgKA0KPiA+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgIEltYWdlSGFuZGxlLA0K PiA+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICpTeXN0ZW1UYWJsZQ0KPiA+ICsgICkNCj4gPiAr ew0KPiA+ICsgIFNldEVsb2dSZWRpckluc3RhbGwgKCk7DQo+ID4gKw0KPiA+ICsgIENoZWNrSWZT ZWxJc0Z1bGwgKCk7DQo+ID4gKw0KPiA+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiArfQ0K PiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgVGhpcyBmdW5jdGlvbiB2ZXJpZmllcyB0aGUgQk1DIFNF TCBpcyBmdWxsIGFuZCBXaGVuIGl0IGlzDQo+ID4gKyAgcmVwb3J0cyB0aGUgZXJyb3IgdG8gdGhl IEVycm9yIE1hbmFnZXIuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgIEVGSV9TVEFUVVMNCj4gPiAr DQo+ID4gKyoqLw0KPiA+ICtFRklfU1RBVFVTDQo+ID4gK0VGSUFQSQ0KPiA+ICtDaGVja0lmU2Vs SXNGdWxsICgNCj4gPiArICBWT0lEDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4gKyAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiArICBVSU5UOCAgICAgICAgICAgICAgICAg ICAgICAgU2VsSXNGdWxsOw0KPiA+ICsgIElQTUlfR0VUX1NFTF9JTkZPX1JFU1BPTlNFICBTZWxJ bmZvOw0KPiA+ICsNCj4gPiArICBTdGF0dXMgPSBJcG1pR2V0U2VsSW5mbyAoJlNlbEluZm8pOw0K PiA+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiArICAgIHJldHVybiBFRklfREVW SUNFX0VSUk9SOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBDaGVjayB0 aGUgQml0NyBvZiB0aGUgT3BlcmF0aW9uQnl0ZSBpZiBTRUwgaXMgT3ZlckZsb3cuDQo+ID4gKyAg Ly8NCj4gPiArICBTZWxJc0Z1bGwgPSAoU2VsSW5mby5PcGVyYXRpb25TdXBwb3J0ICYgMHg4MCk7 DQo+ID4gKyAgREVCVUcgKChERUJVR19JTkZPLCAiU2VsSXNGdWxsIC0gMHgleFxuIiwgU2VsSXNG dWxsKSk7DQo+ID4gKw0KPiA+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiArfQ0K