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.40]) by mx.groups.io with SMTP id smtpd.web12.11421.1663255171662328814 for ; Thu, 15 Sep 2022 08:19:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=okKtMNsU; 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.40, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f7F/x4+EFRTcb7awL0HQSNauKK1hJQCqt5pHn8t+SXzDntSpoLMmSuhkV7FLuS96AbxBKA5JRRJEjfd+bqoJj+Cp1aq/J6MvuXUav5UHwZCkZyo/Ij6mxjbBRqj/FIGrRCgm1MvFPGuMoNPLN3NQHI007wQxjQXeHolgF6f8i7+Ec6BVmw7zmMWaczNEGq16MKEZYhitjg4zt0ptunRcxmOtZDQuqzaFiPxlxE9xdEkB9c8zxv1zL9vUhnVDhgniMQSFOsnpUeJZ/bgm6HDAZ1Y/sZrWsQtqtvFcoHmwmKVLmVYj+8kSYoy6DQWqB2M+pm/1Rx1sCUHa0qfeK0gxDQ== 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=QSPeq1dUujx67iRlGVRTzK0IIvL40XR6NHpk255pjLs=; b=EfX1mD9CLghnDg40nINyVZ+1r03ORrxDmS3cQWddfz11mjUbv14QJaa3CH8T583kDPciLzVcfwIoKTFQkKv2I6Ewgs3VYUG39VkqD88r9aWAYeWizpBey5movpnpyF1E50pLXN0EdbSvyxWJU+MZGBVOkraQpK93RMJ44yjqRcK2c4ExHSXK2cY/TWcnLHVipGgFX2eGe6Ix9Zhmy8Mp/63+5cbSKLxCK06ivroWzWze7OcXBsBNeeawGIW+P1Q0UBZp5CYvx0JkqEYCpHwOcB9e5J5t02BNa30S7Yh0kRvtTj5HMAa0jfJiiX5I6043ZJtQWt1sDhS6QiK43RXCNw== 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=QSPeq1dUujx67iRlGVRTzK0IIvL40XR6NHpk255pjLs=; b=okKtMNsUxSFtSBAvL39FudtZxb2G8TWk9wfCGZwSyGxeFy5KJ6hlRLTn9J76w1L8lwStmzR9JvFXONeGXTHVcgq60Rx6OJXWA1LUx6cx4Xqye0WO3kRvPdV0HRk/NedC9rqW8dMs/8LcycIusVF87VTsKsqVbxmhyp63Ve8nVNY= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by BL1PR12MB5048.namprd12.prod.outlook.com (2603:10b6:208:30a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.18; Thu, 15 Sep 2022 15:19:29 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::9c44:17db:7f29:1fa8]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::9c44:17db:7f29:1fa8%7]) with mapi id 15.20.5612.022; Thu, 15 Sep 2022 15:19:29 +0000 From: "Chang, Abner" To: Sami Mujawar , "devel@edk2.groups.io" , Girish Mahadevan , Alexei Fedorov CC: Samer El-Haj-Mahmoud , "Jeff Brasen (jbrasen@nvidia.com)" , Ashish Singhal , Akanksha Jain , Matteo Carlini , Hemendra Dassanayake , Nick Ramirez , William Watson , nd Subject: Re: [edk2-devel] [PATCH 2/2] DynamicTablesPkg: Add Smbios Type17 Table generator Thread-Topic: [edk2-devel] [PATCH 2/2] DynamicTablesPkg: Add Smbios Type17 Table generator Thread-Index: AQHYuXLO+LYYNEG6pk+V4kDyIbCZpa3b/QWAgADGzrCAAmhHAIABefUw Date: Thu, 15 Sep 2022 15:19:29 +0000 Message-ID: References: <90bcdad9b53f1ca184a857da720aac1ab89882f7.1661534045.git.gmahadevan@nvidia.com> <5DCF0CDE-BD08-4549-94D2-E1D72448C09B@arm.com> In-Reply-To: <5DCF0CDE-BD08-4549-94D2-E1D72448C09B@arm.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=2022-09-15T15:19:25Z; 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=2cfcb941-aa06-4b25-918e-43360f005813; 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_|BL1PR12MB5048:EE_ x-ms-office365-filtering-correlation-id: f274acbb-6b73-4503-ec6c-08da972daf04 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: I/iQcPZTNvgSnkpEmuI7ZawyqDfGb0I2AW9kZL3r7FI/iM8aWqlkOVvDqqPDvTLFoUvU62pseOjvowhdJ369mZ4BZGk5CgGmDHXehgN3WI98AaAjEgH8NWdO7jlxf8tX/cLz9sQB9QWAkUC1Y4bak24i7V/WJTK7EGnESDjPlloV6CF2V8pKDZvEujceUMyXhkIukrl3e0P1BRbCuiDLg5eBfcta+wfpz3Lgj+lDuRz+tULy4TI+t7ZbIWv2W6vvYJ9erMJ97wVfE0e9f06EIWDuJ6wjBVMoBNeG28LrxoEG6Nq+rO9Y3KgsHW5NWliVWAOqtK6mYppJJR2XkJ4wuRFHqw85L+YN2nzxxcNcyF7hX5lHI7Tzv9AQ8Fwf9Hi5odNZDvzxf/Pmr7+voNS2DZ8zSeYb23IgpFHq/W1NinwhyqURy6f+8aF4JK4i/RQMYinFwaDLXZN6iNgaqLOTuFb9R4jWpJ2nCleMzerp3vVMWaaIRW9Bs8lHWnG0kMlqBO4BK+3V+XJrZ8MwTBVKl4uOMZ90FaUG4v4Cw1VcsgQzyG/N8NQRGQ301G9caR/0kf0eesILC34zA3s9HIQSuSTZr7QCqAm7bFV55UVAPGtYxS+XLPzk5QJtI77lBQ7pDtv40FIG5L4h0gxxHee0bHy0PNKtcM0joTOPBHfgCXKauG7cQ3ntkwPJj8vy8mt0dxFiaqJPMx0my3Wt5LLSXo9gDGIsn9fPnEleCGLgHaAr72knxZb9IFLUBUcxJJJPGAg4Cfnn9bk1qIh6Ts48c/LZmSopjdelZHL39yAwtGo= 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:(13230022)(4636009)(366004)(136003)(376002)(396003)(346002)(39860400002)(451199015)(64756008)(86362001)(66556008)(53546011)(66476007)(71200400001)(8676002)(66446008)(110136005)(6506007)(122000001)(45080400002)(38100700002)(76116006)(2906002)(4326008)(8936002)(83380400001)(52536014)(5660300002)(66946007)(7416002)(478600001)(186003)(9686003)(966005)(316002)(55016003)(26005)(41300700001)(38070700005)(54906003)(33656002)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZVhUclFvQzQ4bWQ0djNWeTcvSmwwVzV0ZTlzcEVmSDdDWDREMXVpZVhYczg0?= =?utf-8?B?cmRVZTBhaU9tOVZ1QkwxOEY0VjVOcVUwbnVPTHhMbk5LZkUzNGd5ZjEzTkdj?= =?utf-8?B?bW1mdkdFVnZ4K1UwSWs1OGJqc2hmc3BQNFpoZU5TOVZaR3NwNE9hSnJGbmNV?= =?utf-8?B?KzJSamF5ZDhTNE1yK2VxcTZxRTFmMXh6ckV4aS9LYlpOZ3NBbmdiWXJ2MGZy?= =?utf-8?B?NW1FN3FINzRnbURyeXRhdUdYeU1XeXFOOGI2aGVTMEtJK0lvQVRJbnpHR3Uy?= =?utf-8?B?SjJERkU5bUt0WjZuTDJTbFZvdGd6bTVVL0d6clZkUDJMcTA4RUVyNS8yQ05T?= =?utf-8?B?bTVIdGgvZHlkUTdHSUFma21udkFOcUlVcGhrZmtKNHh5dTdYcWN6YUJMOUZP?= =?utf-8?B?OVoycjJ1RXYrWE9iZ3JtcmdRZGMrL3k0eWtmaHNqald6dXlCMmpQRmJxVGM3?= =?utf-8?B?TnRvZWRCVzlaNE5oMFRWbXlNcnF3clloWkp3dzZodkJjU0dtN05jOEsrM2Yx?= =?utf-8?B?ZnhLTnFYa0twaXJucnQydkc5M1l2WmhwNXVkeG4rQ3hLUVdoK3lGR1d0MlRC?= =?utf-8?B?MS9yeWJ1TUdhV1JybCs5TVN6djVSYVYyUG1wQU9vYnlkeTdYWTlGYmpsQ3hx?= =?utf-8?B?eHRLNDBQVWNRY1JEN3ZvYStNSE9GTzdCNEpvenBiKzFqcWFSYnJxUGJmN2Zo?= =?utf-8?B?VEQxSG82T1M4amNrWnA3V0FBNUFyMjh6eTJ2VGxjVjU5T2hLRSt2bVVNaVlm?= =?utf-8?B?UGh6Ky9WZFRTYzF1TEczQmhNb2FtYWpoUW9NNHZ3eGE0aVVFZXZQUC93VlJX?= =?utf-8?B?RGVQdU81b2lwV3JTczJpaDZ2UnMvbWtsdEZMR2pUb2Y2N3oyWlhxaFBUa2JP?= =?utf-8?B?VVhQMTJITi9zNHhBK3ZjRjJXVnhidEViNCtOS0g4elg1R0dWbjVkWjB4dHBv?= =?utf-8?B?bUI0c1JKREdudHlDRjd1eWFoUk10dGxjcSttdzNZeFFwSks0N1pLeXBhN1lK?= =?utf-8?B?a3Z4WkkwbVMvWVVVQURoRTRUakc1Zks4aHdSMk5PUEIzZmlPZDArSUw2c2cy?= =?utf-8?B?UFgzSVlCRHp6dTdZOEVydWQwaGxOMDlGeUJaK3Y0NDFhK3AyaXVnd0RFS2RI?= =?utf-8?B?czNmbXZPYVdYcnZMQU9KM1pVek8zUkg2N0d0TUtvelV0ZjZYaDZOUjh0RjZ0?= =?utf-8?B?NW1rZWVUMlByV2hTK2JUbVJObHJBbjBGVXZtbUdkZXc4bk1XbjAzYUVIOXYr?= =?utf-8?B?bWF5VDcrSHd5REpwVnRpdENrdTJJU3ZjMWNNTmlGN2p5OTA0bkdZZFgzMjRm?= =?utf-8?B?NzArNWZ2NUluamJzYWkwQ3FLV0lMR1R3L1E5cFNxM3l2QzhoZXJNbjYxNnpK?= =?utf-8?B?eXlwNDJNbWxrZmNlZ1owcWZrTytWWll0S0pXNDAzVjBIOS9YKzAwR3pJbVRU?= =?utf-8?B?SUJVanJhL3JaMGUvYS9lcjFVNXp3aWpRb2IzdXhLU01DMmc0cUVpS1E5RVlB?= =?utf-8?B?ZHBxQkxoRUt0ekhaU2phTi9Edk5GMjE4RjBiTGM3M2hjVlFmbERWTUt6RktB?= =?utf-8?B?YkZhYm9kbkJkNVNiOWVRdHFpMDFEVHNjQzZSWWFwWEdYVGZEb3B2b0tvbkEr?= =?utf-8?B?T1VneWNaR1JETno3Y21ZbEduZFZvbFAxOWdId25SM1FuZDYwd2VMTWM2cDEx?= =?utf-8?B?MVdYZVB0d21JSUZxb2RvUSsxbmNvcENNcjZOcDdpekhrbzlaQnE2ODl4d2Rz?= =?utf-8?B?Rmlib2ZBTk1Jclk2N3RoSFFsMW9kUytZTy9rM3YyNjFVdC9DNUFVWm1IOFJx?= =?utf-8?B?bHJUb2tqeVJtQXYwWXFQOGpVMXFJQTFHSWRObEhBZkZlNE9qN0tHV3BJWTl3?= =?utf-8?B?RUxDd0R5TmhCK080QVhFVlJtTVB0M0VGSlc2Y2hDZWE4aTNxNDh2emtVOGRs?= =?utf-8?B?SVlOZWRlQUpteVF5bllYSmVyRnpDTmFCUWNOREd2cnZVaEhzTjlRdkhiWTRH?= =?utf-8?B?WE8ycGlvR0ZobEd0Z3JYcmNOejFQWW0wUjRFZllmbXNkcG1zQW45VHM4RUFC?= =?utf-8?B?cGlpS2d1WXZVVFk1aE90ZnF6SVpIZm1JZEIvZktPdlN5WHBjZzFMZzVkN0tD?= =?utf-8?Q?7EH8uTFuIFj5Is38rWvU95OlI?= 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: f274acbb-6b73-4503-ec6c-08da972daf04 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2022 15:19:29.1691 (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: FMqTmTxqjfAVTCtiax/clGJicPGWR28gL8vfMlZ/j29q7jWaDynTYrJBbS6p2pIwxU4QB1wIvig0pdLr4RCo+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5048 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCg0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IFNhbWkgTXVqYXdhciA8U2FtaS5NdWphd2FyQGFybS5jb20+ DQo+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDE0LCAyMDIyIDExOjM1IFBNDQo+IFRvOiBD aGFuZywgQWJuZXIgPEFibmVyLkNoYW5nQGFtZC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsg R2lyaXNoDQo+IE1haGFkZXZhbiA8Z21haGFkZXZhbkBudmlkaWEuY29tPjsgQWxleGVpIEZlZG9y b3YNCj4gPEFsZXhlaS5GZWRvcm92QGFybS5jb20+DQo+IENjOiBTYW1lciBFbC1IYWotTWFobW91 ZCA8U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNvbT47IEplZmYgQnJhc2VuDQo+IChqYnJhc2Vu QG52aWRpYS5jb20pIDxqYnJhc2VuQG52aWRpYS5jb20+OyBBc2hpc2ggU2luZ2hhbA0KPiA8YXNo aXNoc2luZ2hhQG52aWRpYS5jb20+OyBBa2Fua3NoYSBKYWluIDxBa2Fua3NoYS5KYWluMkBhcm0u Y29tPjsNCj4gTWF0dGVvIENhcmxpbmkgPE1hdHRlby5DYXJsaW5pQGFybS5jb20+OyBIZW1lbmRy YSBEYXNzYW5heWFrZQ0KPiA8SGVtZW5kcmEuRGFzc2FuYXlha2VAYXJtLmNvbT47IE5pY2sgUmFt aXJleiA8bnJhbWlyZXpAbnZpZGlhLmNvbT47DQo+IFdpbGxpYW0gV2F0c29uIDx3d2F0c29uQG52 aWRpYS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UEFUQ0ggMi8yXSBEeW5hbWljVGFibGVzUGtnOiBBZGQgU21iaW9zIFR5cGUxNw0KPiBUYWJsZSBn ZW5lcmF0b3INCj4gDQo+IENhdXRpb246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYW4g RXh0ZXJuYWwgU291cmNlLiBVc2UgcHJvcGVyIGNhdXRpb24NCj4gd2hlbiBvcGVuaW5nIGF0dGFj aG1lbnRzLCBjbGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCj4gDQo+IA0KPiBIaSBBYm5l ciwNCj4gDQo+IFBsZWFzZSBzZWUgbXkgcmVzcG9uc2UgaW5saW5lIG1hcmtlZCBbU0FNSV0uDQo+ IA0KPiBSZWdhcmRzLA0KPiANCj4gU2FtaSBNdWphd2FyDQo+IA0KPiDvu79PbiAxMy8wOS8yMDIy LCAwNDowMCwgIkNoYW5nLCBBYm5lciIgPEFibmVyLkNoYW5nQGFtZC5jb20+IHdyb3RlOg0KPiAN Cj4gICAgIFtBTUQgT2ZmaWNpYWwgVXNlIE9ubHkgLSBHZW5lcmFsXQ0KPiANCj4gICAgIE9uZSBx dWVzdGlvbiBpbiBiZWxvdyB3aXRoIHRhZyBbQWJuZXJdLA0KPiANCj4gICAgID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gICAgID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRl dmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgU2FtaQ0KPiAgICAgPiBNdWphd2FyIHZp YSBncm91cHMuaW8NCj4gICAgID4gU2VudDogTW9uZGF5LCBTZXB0ZW1iZXIgMTIsIDIwMjIgMTA6 NTcgUE0NCj4gICAgID4gVG86IEdpcmlzaCBNYWhhZGV2YW4gPGdtYWhhZGV2YW5AbnZpZGlhLmNv bT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPiAgICAgPiBBbGV4ZWkgRmVkb3JvdiA8QWxleGVp LkZlZG9yb3ZAYXJtLmNvbT4NCj4gICAgID4gQ2M6IFNhbWVyIEVsLUhhai1NYWhtb3VkIDxTYW1l ci5FbC1IYWotTWFobW91ZEBhcm0uY29tPjsgSmVmZg0KPiAgICAgPiBCcmFzZW4gPGpicmFzZW5A bnZpZGlhLmNvbT47IEFzaGlzaCBTaW5naGFsIDxhc2hpc2hzaW5naGFAbnZpZGlhLmNvbT47DQo+ ICAgICA+IEFrYW5rc2hhIEphaW4gPEFrYW5rc2hhLkphaW4yQGFybS5jb20+OyBNYXR0ZW8gQ2Fy bGluaQ0KPiAgICAgPiA8TWF0dGVvLkNhcmxpbmlAYXJtLmNvbT47IEhlbWVuZHJhIERhc3NhbmF5 YWtlDQo+ICAgICA+IDxIZW1lbmRyYS5EYXNzYW5heWFrZUBhcm0uY29tPjsgTmljayBSYW1pcmV6 DQo+IDxucmFtaXJlekBudmlkaWEuY29tPjsNCj4gICAgID4gV2lsbGlhbSBXYXRzb24gPHd3YXRz b25AbnZpZGlhLmNvbT47IEFrYW5rc2hhIEphaW4NCj4gICAgID4gPEFrYW5rc2hhLkphaW4yQGFy bS5jb20+OyBuZEBhcm0uY29tDQo+ICAgICA+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BB VENIIDIvMl0gRHluYW1pY1RhYmxlc1BrZzogQWRkIFNtYmlvcw0KPiAgICAgPiBUeXBlMTcgVGFi bGUgZ2VuZXJhdG9yDQo+IC4uLg0KPiANCj4gICAgID4gPiArU1RBVElDDQo+ICAgICA+ID4gK0VG SV9TVEFUVVMNCj4gICAgID4gPiArRUZJQVBJDQo+ICAgICA+ID4gK0ZyZWVTbWJpb3NUeXBlMTdU YWJsZUV4ICgNCj4gICAgID4gPiArICBJTiAgICAgIENPTlNUIFNNQklPU19UQUJMRV9HRU5FUkFU T1IgICAgICAgICAgICAgICAgICAgKkNPTlNUICAgIFRoaXMsDQo+ICAgICA+ID4gKyAgSU4gICAg ICBDT05TVCBDTV9TVERfT0JKX1NNQklPU19UQUJMRV9JTkZPICAgICAgICAgICAgICpDT05TVA0K PiAgICAgPiBTbWJpb3NUYWJsZUluZm8sDQo+ICAgICA+ID4gKyAgSU4gICAgICBDT05TVCBFREtJ SV9DT05GSUdVUkFUSU9OX01BTkFHRVJfUFJPVE9DT0wgICAgICpDT05TVA0KPiAgICAgPiBDZmdN Z3JQcm90b2NvbCwNCj4gICAgID4gPiArICBJTiBPVVQgICAgICAgIFNNQklPU19TVFJVQ1RVUkUg ICAgICAgICAgICAgICAgICAgICAgICAgKioqQ09OU1QgIFRhYmxlLA0KPiAgICAgPiA+ICsgIElO ICAgICAgQ09OU1QgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVGFibGVDb3VudA0KPiAgICAgPiA+ICsgICkNCj4gICAgID4gPiArew0KPiAgICAgPiA+ ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gICAgID4gPiArfQ0KPiAgICAgPiA+ICsNCj4gICAg ID4gPiArLyoqIENvbnN0cnVjdCBTTUJJT1MgVHlwZTE3IFRhYmxlIGRlc2NyaWJpbmcgbWVtb3J5 IGRldmljZXMuDQo+ICAgICA+ID4gKw0KPiAgICAgPiA+ICsgIElmIHRoaXMgZnVuY3Rpb24gYWxs b2NhdGVzIGFueSByZXNvdXJjZXMgdGhlbiB0aGV5IG11c3QgYmUgZnJlZWQNCj4gICAgID4gPiAr IGluIHRoZSBGcmVlWFhYWFRhYmxlUmVzb3VyY2VzIGZ1bmN0aW9uLg0KPiAgICAgPiA+ICsNCj4g ICAgID4gPiArICBAcGFyYW0gW2luXSAgVGhpcyAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhlIFNN QklPUyB0YWJsZSBnZW5lcmF0b3IuDQo+ICAgICA+ID4gKyAgQHBhcmFtIFtpbl0gIFNtYmlvc1Rh YmxlSW5mbyBQb2ludGVyIHRvIHRoZSBTTUJJT1MgdGFibGUgaW5mb3JtYXRpb24uDQo+ICAgICA+ ID4gKyAgQHBhcmFtIFtpbl0gIENmZ01nclByb3RvY29sICBQb2ludGVyIHRvIHRoZSBDb25maWd1 cmF0aW9uIE1hbmFnZXINCj4gICAgID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFByb3RvY29sIGludGVyZmFjZS4NCj4gICAgID4gPiArICBAcGFyYW0gW291dF0gVGFibGUgICAg ICAgICAgIFBvaW50ZXIgdG8gdGhlIFNNQklPUyB0YWJsZS4NCj4gICAgID4gPiArDQo+ICAgICA+ ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRhYmxlIGdlbmVyYXRlZCBzdWNj ZXNzZnVsbHkuDQo+ICAgICA+ID4gKyAgQHJldHZhbCBFRklfQkFEX0JVRkZFUl9TSVpFICAgIFRo ZSBzaXplIHJldHVybmVkIGJ5IHRoZSBDb25maWd1cmF0aW9uDQo+ICAgICA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1hbmFnZXIgaXMgbGVzcyB0aGFuIHRoZSBPYmplY3Qg c2l6ZSBmb3INCj4gICAgID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl IHJlcXVlc3RlZCBvYmplY3QuDQo+ICAgICA+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJB TUVURVIgIEEgcGFyYW1ldGVyIGlzIGludmFsaWQuDQo+ICAgICA+ID4gKyAgQHJldHZhbCBFRklf Tk9UX0ZPVU5EICAgICAgICAgIENvdWxkIG5vdCBmaW5kIGluZm9ybWF0aW9uLg0KPiAgICAgPiA+ ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICBDb3VsZCBub3QgYWxsb2NhdGUgbWVt b3J5Lg0KPiAgICAgPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBVbnN1cHBv cnRlZCBjb25maWd1cmF0aW9uLg0KPiAgICAgPiA+ICsqKi8NCj4gICAgID4gPiArU1RBVElDDQo+ ICAgICA+ID4gK0VGSV9TVEFUVVMNCj4gICAgID4gPiArRUZJQVBJDQo+ICAgICA+ID4gK0J1aWxk U21iaW9zVHlwZTE3VGFibGVFeCAoDQo+ICAgICA+ID4gKyAgSU4gIENPTlNUIFNNQklPU19UQUJM RV9HRU5FUkFUT1IgICAgICAgICAgICAgICAgICAgICAgICAgKlRoaXMsDQo+ICAgICA+ID4gKyAg SU4gICAgICAgIENNX1NURF9PQkpfU01CSU9TX1RBQkxFX0lORk8gICAgICAgICAgICpDT05TVA0K PiAgICAgPiBTbWJpb3NUYWJsZUluZm8sDQo+ICAgICA+ID4gKyAgSU4gIENPTlNUIEVES0lJX0NP TkZJR1VSQVRJT05fTUFOQUdFUl9QUk9UT0NPTCAgICpDT05TVA0KPiAgICAgPiBDZmdNZ3JQcm90 b2NvbCwNCj4gICAgID4gPiArICBPVVQgICAgICAgU01CSU9TX1NUUlVDVFVSRSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqKipUYWJsZSwNCj4gICAgID4gPiArICBPVVQgICAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkNPTlNUICBUYWJsZUNvdW50DQo+ ICAgICA+ID4gKyAgKQ0KPiAgICAgPiA+ICt7DQo+ICAgICA+ID4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiAgICAgPiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgIE51bU1lbURldmljZXM7DQo+ICAgICA+ID4gKyAgU01CSU9TX1NUUlVDVFVSRSAgICAgICAg ICAgKipUYWJsZUxpc3Q7DQo+ICAgICA+ID4gKyAgQ01fQVJNX01FTU9SWV9ERVZJQ0VfSU5GTyAg Kk1lbW9yeURldmljZXNJbmZvOw0KPiAgICAgPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAg ICAgIEluZGV4Ow0KPiAgICAgPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIFNlcmlh bE51bUxlbjsNCj4gICAgID4gPiArICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAqU2VyaWFs TnVtOw0KPiAgICAgPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIEFzc2V0VGFnTGVu Ow0KPiAgICAgPiA+ICsgIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICpBc3NldFRhZzsNCj4g ICAgID4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VMb2NhdG9yTGVuOw0K PiAgICAgPiA+ICsgIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICpEZXZpY2VMb2NhdG9yOw0K PiAgICAgPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIEJhbmtMb2NhdG9yTGVuOw0K PiAgICAgPiA+ICsgIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICpCYW5rTG9jYXRvcjsNCj4g ICAgID4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBGaXJtd2FyZVZlcnNpb25MZW47 DQo+ICAgICA+ID4gKyAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgKkZpcm13YXJlVmVyc2lv bjsNCj4gICAgID4gPiArICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAqT3B0aW9uYWxTdHJp bmdzOw0KPiAgICAgPiA+ICsgIFNNQklPU19UQUJMRV9UWVBFMTcgICAgICAgICpTbWJpb3NSZWNv cmQ7DQo+ICAgICA+ID4gKw0KPiAgICAgPiA+ICsgIEFTU0VSVCAoVGhpcyAhPSBOVUxMKTsNCj4g ICAgID4gPiArICBBU1NFUlQgKFNtYmlvc1RhYmxlSW5mbyAhPSBOVUxMKTsNCj4gICAgID4gPiAr ICBBU1NFUlQgKENmZ01nclByb3RvY29sICE9IE5VTEwpOw0KPiAgICAgPiA+ICsgIEFTU0VSVCAo VGFibGUgIT0gTlVMTCk7DQo+ICAgICA+ID4gKyAgQVNTRVJUIChUYWJsZUNvdW50ICE9IE5VTEwp Ow0KPiAgICAgPiA+ICsgIEFTU0VSVCAoU21iaW9zVGFibGVJbmZvLT5UYWJsZUdlbmVyYXRvcklk ID09IFRoaXMtPkdlbmVyYXRvcklEKTsNCj4gICAgID4gPiArDQo+ICAgICA+ID4gKyAgREVCVUcg KChERUJVR19FUlJPUiwgIiVhIDogU3RhcnQgXG4iLCBfX0ZVTkNUSU9OX18pKTsgICpUYWJsZSA9 DQo+ICAgICA+ID4gKyBOVUxMOyAgU3RhdHVzID0gR2V0RUFybU9iak1lbW9yeURldmljZUluZm8g KA0KPiAgICAgPiA+ICsgICAgICAgICAgICAgQ2ZnTWdyUHJvdG9jb2wsDQo+ICAgICA+ID4gKyAg ICAgICAgICAgICBDTV9OVUxMX1RPS0VOLA0KPiAgICAgPiA+ICsgICAgICAgICAgICAgJk1lbW9y eURldmljZXNJbmZvLA0KPiAgICAgPiA+ICsgICAgICAgICAgICAgJk51bU1lbURldmljZXMNCj4g ICAgID4gPiArICAgICAgICAgICAgICk7DQo+ICAgICBbQWJuZXJdDQo+ICAgICBTTUJJT1MgdHlw ZSAxNyByZWNvcmQgaXMgZ2VuZXJpYyB0byBhbGwgcGxhdGZvcm0gYXJjaGl0ZWN0dXJlcywgaG93 ZXZlciBoZXJlDQo+IHdlIGhhdmUgdGhlIGRlcGVuZGVuY3kgd2l0aCBBUk0gbmFtZXNwYWNlIG9i amVjdC4NCj4gW1NBTUldIEl0IHdvdWxkIGNlcnRhaW5seSBiZSB2ZXJ5IGdvb2QgdG8gaGF2ZSBh IGNvbW1vbiBjb2RlYmFzZSBhY3Jvc3MNCj4gYXJjaGl0ZWN0dXJlcy4gV2Ugd2VsY29tZSBjb250 cmlidXRpb24gZnJvbSBjb21tdW5pdHkgbWVtYmVycyB0b3dhcmRzIHRoaXMNCj4gZWZmb3J0Lg0K PiBTbyBteSBxdWVzdGlvbiBpcyB3aGF0IHNob3VsZCB3ZSBkbyBpZiBub24tQVJNIHBsYXRmb3Jt cyB3b3VsZCBsaWtlIHRvDQo+IGxldmVyYWdlIHRoaXMgbGlicmFyeT8NCj4gW1NBTUldIEkgdGhp bmsgd2UgY291bGQgZGVmaW5lIHRoZSBTTUJJT1Mgc3BlY2lmaWMgb2JqZWN0cyBpbiBhIHNlcGFy YXRlDQo+IG5hbWVzcGFjZSBJRCBlLmcuIDEwMTBiIC0gU01CSU9TIE9iamVjdHMgLCBzZWUNCj4g aHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBz JTNBJTJGJTJGZ2l0aHViLmMNCj4gb20lMkZ0aWFub2NvcmUlMkZlZGsyJTJGYmxvYiUyRm1hc3Rl ciUyRkR5bmFtaWNUYWJsZXNQa2clMkZJbmNsdWRlDQo+ICUyRkNvbmZpZ3VyYXRpb25NYW5hZ2Vy T2JqZWN0LmglMjNMMzAtDQo+IEwzNCZhbXA7ZGF0YT0wNSU3QzAxJTdDQWJuZXIuQ2hhbmclNDBh bWQuY29tJTdDNDI1YmU4YzVmMTQ2NDU5Ng0KPiA0YWRhMDhkYTk2NjZhYTVmJTdDM2RkODk2MWZl NDg4NGU2MDhlMTFhODJkOTk0ZTE4M2QlN0MwJTdDMCU3QzYNCj4gMzc5ODc2NjQ5NDA4Nzk5MjIl N0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWkNCj4gTENKUUlqb2lW Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAlN0MlN0MlN0MmYW0N Cj4gcDtzZGF0YT10cktrWEplN3lEQmtvS0lsU2s1a0NJMHRaNm5HNTczd1hxT1JIZmQ1eTJvJTNE JmFtcDtyZXNlcnZlZD0NCj4gMA0KPiBXZSBjYW4gdGhlbiBkZWZpbmUgdGhlIFNNQklPUyBvYmpl Y3RzIGFzIFNNQklPUyBuYW1lc3BhY2Ugb2JqZWN0cy4NCltBYm5lcl0NClRoaXMgc291bmRzIGdv b2QuIFdlIGNhbiBkZWZpbmUgU01CSU9TIG5hbWUgc3BhY2UgYW5kIHRoZSBjb3JyZXNwb25kaW5n IG9iamVjdCBpbiBTbWJpb3NOYW1lU3BhY2VPYmplY3RzLmggdW5kZXIgXEluY2x1ZGUuIFNvIHBs YXRmb3JtIGhhcyB0byBpbnN0YWxsIEVES0lJX0NPTkZJR1VSQVRJT05fTUFOQUdFUl9QUk9UT0NP TCBhbmQgcmV0dXJucyB0aGUgU01CSU9TIG9iamVjdCwgcmlnaHQ/DQoNCj4gSG93ZXZlciwgSSB3 b3VsZCBsaWtlIHRvIGF2b2lkIGR1cGxpY2F0aW5nIGFueSBpbmZvcm1hdGlvbiBiZXR3ZWVuIHRo ZSBBUk0NCj4gbmFtZXNwYWNlIG9iamVjdHMgYW5kIFNNQklPUyBuYW1lc3BhY2Ugb2JqZWN0cyAo ZS5nLiBpbmZvcm1hdGlvbiBhYm91dCBDUFUsDQo+IENhY2hlLCBldGMuKS4NCj4gSSBoYXZlIHNv bWUgaW5pdGlhbCB0aG91Z2h0cyBvbiBob3cgdGhpcyBjb3VsZCBiZSBkb25lIGJ5IGludHJvZHVj aW5nIGFuIG9iamVjdA0KPiBtYXBwZXIuDQpbQWJuZXJdIA0KSSB0aGluayB5b3UgcmVmZXIgdG8g aGF2ZSBTTUJJT1MgbmFtZXNwYWNlIG9iamVjdCBhcyB0aGUgZ2VuZXJpYyBvbmUsIGJ1dCBpbnRy b2R1Y2UgYSB3cmFwcGVyIG9uIGl0IGZvciB0aGUgcHJvY2Vzc29yIGFyY2ggc3BlY2lmaWMgaW5m b3JtYXRpb24/DQoNCkhvd2V2ZXIsIEkgd291bGQgZmlyc3QgbGlrZSB0byB1bmRlcnN0YW5kIGlm IHlvdSBpbnRlbmQgdG8gdXNlIHRoZQ0KPiBEeW5hbWljIFNNQklPUyBzdXBwb3J0IG9ubHkgb3Ig eW91IHdpbGwgdXNlIHRoZSBEeW5hbWljIEFDUEkgc3VwcG9ydCBhcyB3ZWxsPw0KWyBBYm5lcl0g DQpJIGFtIG5vdCBzdXJlIGlmIHdlIHdpbGwgYWxzbyB1c2UgRHluYW1pYyBBQ1BJIHRhYmxlIGF0 IHRoZSBtb21lbnQgYnV0IHRoYXQgd291bGQgYmUgcG9zc2libGUuIFRoZSBjdXJyZW50IHVzZSBj YXNlIEkgY2FuIHRoaW5rIG9mIGlzIHRvIGJ1aWxkIHVwIFNNQklPUyA0MmggdXNpbmcgZHluYW1p YyBTTUJJT1MgdGFibGUgZ2VuZXJhdG9yLg0KVGhpcyBhbHNvIGJyaW5ncyBhbm90aGVyIHF1ZXN0 aW9uLCB0aGUgY3VycmVudCBEeW5hbWljVGFibGVGYWN0b3J5RHhlIHB1bGxzIGluIEFDUEkvU01C SU9TL0RUIHRhYmxlIGdlbmVyYXRvciBmdW5jdGlvbnM7IHdoYXQgaWYgdGhlIHBsYXRmb3JtIG9u bHkgdXNlcyBTTUJJT1MgZnVuY3Rpb25hbGl0eT8gUHVsbCBpbiBBQ1BJL0RUIGNvZGUgaW50byBE eW5hbWljVGFibGVGYWN0b3J5RHhlIHNlZW1zIHJlZHVuZGFudC4gSSB0aGluayB3ZSBjYW4gY29u c2lkZXIgdG8gbWFrZSBBY3BpVGFibGVGYWN0b3J5L0RldmljZVRyZWVUYWJsZUZhY3RvcnkvU21i aW9zVGFibGVGYWN0b3IgYXMgbGlicmFyaWVzLCB1c2UgTlVMTCBpbnN0YW5jZXMgKGVtcHR5IGZ1 bmN0aW9uIGZvciBHZXQvUmVnaXN0ZXIvRGVyZWdpc3RlciBnZW5lcmF0b3IpIGFzIGRlZmF1bHQg Zm9yIER5bmFtaWNUYWJsZUZhY3RvcnlEeGUuIFBsYXRmb3JtIGNhbiBwdWxsIGluIHRoZSBsaWJy YXJ5IHRoYXQgaGFzIHRoZSBpbXBsZW1lbnRhdGlvbiBpbnRvIGJ1aWxkIG9uIGRlbWFuZC4gTm90 IGZvciBub3cgYnV0IHdlIGNhbiBkbyBpdCBsYXRlciBpZiB5b3UgdGhpbmsgdGhpcyBtYWtlcyBz ZW5zZS4NCg0KQlRXIHdoYXQgaXMgdGhlICdFJyBwcmVmaXggdG8gIkFybSIgbWVhbnM/IEUuZy4g R2V0J0UnQXJtT2JqTWVtb3J5RGV2aWNlSW5mbw0KDQpUaGFua3MNCkFibmVyDQoNCj4gWy9TQU1J XQ0KPiAgICAgVGhhbmtzDQo+ICAgICBBYm5lcg0KPiANCj4gICAgID4gPiArICBpZiAoRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQo+ICAgICA+ID4gKyAgICBERUJVRyAoKA0KPiAgICAgPiA+ICsgICAg ICBERUJVR19FUlJPUiwNCj4gICAgID4gPiArICAgICAgIkZhaWxlZCB0byBnZXQgTWVtb3J5IERl dmljZXMgQ00gT2JqZWN0ICVyXG4iLA0KPiAgICAgPiA+ICsgICAgICBTdGF0dXMNCj4gICAgID4g PiArICAgICAgKSk7DQo+ICAgICA+ID4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAgICAgPiA+ICsg IH0NCj4gLi4uDQo=