From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.52]) by mx.groups.io with SMTP id smtpd.web12.15004.1638979620856925664 for ; Wed, 08 Dec 2021 08:07:01 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=iSbHYiJL; spf=pass (domain: arm.com, ip: 40.107.22.52, mailfrom: christopher.jones@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PquZSi3nBij8ji55s6ttb6dXZxoLODM29PcYrtsVU04=; b=iSbHYiJLorWl9EnmgA8mZ1Luyz0KtKkG09Wc05lD8ijZlmFCe8j8rvUy9ash/lR6l84TiLFcOewLdakFfCgWCfr06+c9NN+VmPI+ecxltjR2NXELVF6d/ne5v02XeqP5YCxqLDoq3DDdT5XnQUpPq/n52JJY/itmHN3sOlEfUFQ= Received: from AM7PR02CA0001.eurprd02.prod.outlook.com (2603:10a6:20b:100::11) by AM8PR08MB6563.eurprd08.prod.outlook.com (2603:10a6:20b:315::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.11; Wed, 8 Dec 2021 16:06:48 +0000 Received: from AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:100:cafe::af) by AM7PR02CA0001.outlook.office365.com (2603:10a6:20b:100::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.12 via Frontend Transport; Wed, 8 Dec 2021 16:06:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT008.mail.protection.outlook.com (10.152.16.123) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.13 via Frontend Transport; Wed, 8 Dec 2021 16:06:48 +0000 Received: ("Tessian outbound 1cd1a01725a6:v110"); Wed, 08 Dec 2021 16:06:48 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: da6a126c009c0338 X-CR-MTA-TID: 64aa7808 Received: from 93344bb47ac0.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B03245CF-0F58-4022-89FE-671737014C5D.1; Wed, 08 Dec 2021 16:06:38 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 93344bb47ac0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 08 Dec 2021 16:06:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UN8Z82faCZMgFISMSOyj0yVxQGtaItXg/1eWZyA0ULQFQFnQx/NjXvzIQ3dKOGTMbWwS97yV/HdsqXd92lHsjV5PnB+wYeVDnK6IRDTBFyN/dn7Ehp3czJaVGz+HaIpMauiRoUMEtCU9uhqTIRciPCSvCDjx5XoLWRZYtPZSRYRJUmHk5vnDKSjp6Zkkfx1ZqhFNEPws9mjIKw9rn14PHfmka1YOLvyxmKG/hBRJOGngd7T83nUMG3JoUCK1n7URmdOTm8xsdXbLSvJ9HKtKeK4eVl8lZN5F6U9WvcZe+VHNp1XB/Jmydve0tW8eh2jNYeE8Aa3/QKsrWUUg9RhmNA== 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=PquZSi3nBij8ji55s6ttb6dXZxoLODM29PcYrtsVU04=; b=csEwTkCVPY0xLEYr8YV+ych9NJ23fmn9MzVZwBWiODPxOqXeVhpn0p02eomX0dbUGhM2YapXLwutPGTB99ykRA5QTVis2MUZiXu9E3xHcqFFPVC8Ogqr5jjRfc0p0/E5Oor2ZgS1xLG9T+5L1kVARUt5YOcwIdbXiDFdz7mZj73VRLmRaRibIHP3+8x3cxKL7/KyBwUnHSSao+qfgdFBiqRhyxBtYXS/6T8r/fGYzsAi0CgopLstVD/AoMD4X8gKmifPiCPlHHPT2kdTMjqiEoG3OYP3VoMUsuVpeBsqgmaMLn0ad/0SfGWnfXdaHPdWVPMYjOvbfwUbb2zr7NTl+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PquZSi3nBij8ji55s6ttb6dXZxoLODM29PcYrtsVU04=; b=iSbHYiJLorWl9EnmgA8mZ1Luyz0KtKkG09Wc05lD8ijZlmFCe8j8rvUy9ash/lR6l84TiLFcOewLdakFfCgWCfr06+c9NN+VmPI+ecxltjR2NXELVF6d/ne5v02XeqP5YCxqLDoq3DDdT5XnQUpPq/n52JJY/itmHN3sOlEfUFQ= Received: from AM7PR02CA0015.eurprd02.prod.outlook.com (2603:10a6:20b:100::25) by AM8PR08MB5553.eurprd08.prod.outlook.com (2603:10a6:20b:1da::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.11; Wed, 8 Dec 2021 16:06:37 +0000 Received: from AM5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:100:cafe::88) by AM7PR02CA0015.outlook.office365.com (2603:10a6:20b:100::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.17 via Frontend Transport; Wed, 8 Dec 2021 16:06:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by AM5EUR03FT003.mail.protection.outlook.com (10.152.16.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4755.13 via Frontend Transport; Wed, 8 Dec 2021 16:06:37 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 8 Dec 2021 16:06:34 +0000 Received: from e125153.arm.com (10.57.3.247) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.20 via Frontend Transport; Wed, 8 Dec 2021 16:06:34 +0000 From: "Chris Jones" To: CC: , , , , , , , Subject: [PATCH v3 3/7] ShellPkg: Update Acpiview PPTT parser to ACPI 6.4 Date: Wed, 8 Dec 2021 16:06:26 +0000 Message-ID: <20211208160630.10923-4-christopher.jones@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211208160630.10923-1-christopher.jones@arm.com> References: <20211208160630.10923-1-christopher.jones@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-Correlation-Id: 1e2b78eb-4f00-47d6-98a4-08d9ba64bd86 X-MS-TrafficTypeDiagnostic: AM8PR08MB5553:EE_|AM5EUR03FT008:EE_|AM8PR08MB6563:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: zHVWekMtLJAxgh2PzqdrHeoi+4Pmri1XbFxuRLlA3cQOTcRBPW6lsvyPBahEs+FRB3pb5e6AL/X74JslbkdESwzM8keXnYc0Md1JMUIihvlPjf3lcvrkhFyHgXMs6VaX9bsootppzuhhfC3iQTNezsY9HsjUqqSftqey6q4IxLnfASe0uLFO6/2Bc6F/jvvZBwQlT45JwXQdb595KrZ97qKOmrv2TfWSZ8PIVQdkmJS4qs3TpWTbooTdgv8du4L0LToDM+0Hjf+qts4k/u7pdLp06pIQu1Dd5izJ7Fv4JChVHAX09TDw+mzsl1xBJbci/42AdfR9YGDx9Ct41I7r4TQ1cZ7+1GMHUeGM3gtP00ZKezsfv0uE2wNaRSKzABE358zVop8FPVup7QVE71lRvSYwfJi+mm4dS4hrbg+yjnwBJW1AtxOq3GgaIDpIHbPI73UhD3IzvdHibpBZAW11CIdsN304vd44tqz+5q4N8Rag+npjEYdebwSdik2LjH20yx9tEGqGy2yolJju4dDGrSvkiCMIu7VQ+EsYkRC64U1nqsSWc6F6clSOgWfKm2/YsLmpms8TOQSKiCWumxqtaKnzVsf3tAo/uC+FkyeZWs4cnRoNolXXcTtCJsPHa4/x6lXLyOSfX9mPIPcuirrJYqGut3ugZhNa6lBiaoDNfVvy3EqupmNOX6WRbgrM7pxV47T4Bx5SzO8dQQQ0EVNlOtX3MnZwq3Trkci4hopxzPwueVs2mnkZeSLhHl0omg3KhtaHoKgkcoMl1syXnYX2JQbUjJCnRqcNkY5Xxt7t5mabp6f4wm3DfmKy7LfPVxZWGmqIVZToYcj12Gjkz+QK/ugKElftoxJt+VYSSTdJWIuQhtjL76m7sAfZ7ZInVvma X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(40470700001)(508600001)(36756003)(16799955002)(8936002)(6666004)(4326008)(36860700001)(5660300002)(336012)(356005)(83380400001)(82310400004)(6916009)(186003)(7696005)(8676002)(40460700001)(47076005)(426003)(1076003)(70206006)(54906003)(2906002)(81166007)(26005)(70586007)(2616005)(316002)(86362001)(15650500001)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5553 Return-Path: Christopher.Jones@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 339549a4-53a4-449e-51d2-08d9ba64b6b3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kReMpuebpToqCGamHp+0GtGTh7qkDE413kVaDJAl/Fnp2qZtrRCxnNKeQ+/AYfN3/32RqhORxBJZx8hXPN4a679rZOnHLCAPJZcqgLRhIU0TwfDCFsPUDOnC1Dh3WZYbCcslKOHQfxactuOxKmoiJxB/DNdgOUe4+bWdn9f2XJM/V+kLaIy4KTOB1mOy+PTiKpwx8Ccz+qyokdfPJ8Dz/E8SHkFZyLRaTiq9wvnSb8mSXY2D1MGJNRDtTfbAqFHN4I3LHozY+jiPFHrR4sIGagiMtKuejWz+PNYoyeZ0bSCFgTXGLyLUX2nTQhVOL2RA/K4AomqJe86U1brM5LRsfDPOmTSqnxff0hedVC61pe8HsPAyw3sLaPYaWiqg0sTZfc7DYK9Za1LPNBPvo7so8qy9X582cRPwIIRdvtejeWrCA7/bUco3kFjqJeNontCmuYlc+ryW9DcYkAvb3XoVjxmhaMsSCcg8qyrG8c/j2lthUIPlAyGBqzgAM2JRvpobtSyaMtzjgOxn9gnh5SLSMnenFeUQPJSvdS/CQI6gju1s3VZQdf/gQkVyfvafsOe2Dqtn8xsTdE5/zT5ClUPo2ilDzAcqP683EielAAxvUZ9EljMuqIoyNN8sZR3n9DJZiy3jMGq8l6zjfps87iteQcz1j63xF6THLGHfxjn1eOY8/Kzrwos2c7nxPYkJyBk6iWMpVM01b0EQoeGT0+bRrcXrKUP4kfWxTl79oFZFeurEF5T583vNtnifcEYB871pdeUR5ERRrbcMGDPBWdRAUA== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(186003)(6666004)(2906002)(15650500001)(26005)(508600001)(47076005)(5660300002)(336012)(8936002)(81166007)(82310400004)(1076003)(4326008)(86362001)(70586007)(2616005)(7696005)(426003)(8676002)(83380400001)(6916009)(36756003)(70206006)(316002)(16799955002)(54906003)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2021 16:06:48.8221 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e2b78eb-4f00-47d6-98a4-08d9ba64bd86 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT008.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6563 Content-Type: text/plain Bugzilla: 3697 (https://bugzilla.tianocore.org/show_bug.cgi?id=3697) Update the Acpiview PPTT parser to use Acpi64.h. As part of the changes, remove support for parsing PPTT type 2 ID structure. Mantis ID for removing PPTT type 2 structure: 2072 (https://mantis.uefi.org/mantis/view.php?id=2072) Signed-off-by: Chris Jones Reviewed-by: Zhichao Gao --- ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pptt/PpttParser.c | 61 ++++---------------- ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c | 2 +- 2 files changed, 12 insertions(+), 51 deletions(-) diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pptt/PpttParser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pptt/PpttParser.c index f47b92f8c55ba5a479571a0bea378c75dfde13ed..7be249819e70dee9547c3fecc0763f473aa9ce92 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pptt/PpttParser.c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Pptt/PpttParser.c @@ -1,11 +1,11 @@ /** @file PPTT table parser - Copyright (c) 2019 - 2020, ARM Limited. All rights reserved. + Copyright (c) 2019 - 2021, ARM Limited. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent @par Reference(s): - - ACPI 6.3 Specification - January 2019 + - ACPI 6.4 Specification - January 2021 - ARM Architecture Reference Manual ARMv8 (D.a) **/ @@ -161,8 +161,8 @@ ValidateCacheAttributes ( ) { // Reference: Advanced Configuration and Power Interface (ACPI) Specification - // Version 6.2 Errata A, September 2017 - // Table 5-153: Cache Type Structure + // Version 6.4, January 2021 + // Table 5-140: Cache Type Structure UINT8 Attributes; Attributes = *(UINT8 *)Ptr; @@ -227,22 +227,6 @@ STATIC CONST ACPI_PARSER CacheTypeStructureParser[] = { { L"Line size", 2, 22, L"%d", NULL, NULL, ValidateCacheLineSize, NULL } }; -/** - An ACPI_PARSER array describing the ID Type Structure - Type 2. -**/ -STATIC CONST ACPI_PARSER IdStructureParser[] = { - { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, - { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, - { L"Reserved", 2, 2, L"0x%x", NULL, NULL, NULL, NULL }, - - { L"VENDOR_ID", 4, 4, NULL, Dump4Chars, NULL, NULL, NULL }, - { L"LEVEL_1_ID", 8, 8, L"0x%x", NULL, NULL, NULL, NULL }, - { L"LEVEL_2_ID", 8, 16, L"0x%x", NULL, NULL, NULL, NULL }, - { L"MAJOR_REV", 2, 24, L"0x%x", NULL, NULL, NULL, NULL }, - { L"MINOR_REV", 2, 26, L"0x%x", NULL, NULL, NULL, NULL }, - { L"SPIN_REV", 2, 28, L"0x%x", NULL, NULL, NULL, NULL }, -}; - /** This function parses the Processor Hierarchy Node Structure (Type 0). @@ -340,29 +324,6 @@ DumpCacheTypeStructure ( ); } -/** - This function parses the ID Structure (Type 2). - - @param [in] Ptr Pointer to the start of the ID Structure data. - @param [in] Length Length of the ID Structure. -**/ -STATIC -VOID -DumpIDStructure ( - IN UINT8 *Ptr, - IN UINT8 Length - ) -{ - ParseAcpi ( - TRUE, - 2, - "ID Structure", - Ptr, - Length, - PARSER_PARAMS (IdStructureParser) - ); -} - /** This function parses the ACPI PPTT table. When trace is enabled this function parses the PPTT table and @@ -371,7 +332,6 @@ DumpIDStructure ( This function parses the following processor topology structures: - Processor hierarchy node structure (Type 0) - Cache Type Structure (Type 1) - - ID structure (Type 2) This function also performs validation of the ACPI table fields. @@ -451,22 +411,23 @@ ParseAcpiPptt ( Print (L"0x%x\n", Offset); switch (*ProcessorTopologyStructureType) { - case EFI_ACPI_6_2_PPTT_TYPE_PROCESSOR: + case EFI_ACPI_6_4_PPTT_TYPE_PROCESSOR: DumpProcessorHierarchyNodeStructure ( ProcessorTopologyStructurePtr, *ProcessorTopologyStructureLength ); break; - case EFI_ACPI_6_2_PPTT_TYPE_CACHE: + case EFI_ACPI_6_4_PPTT_TYPE_CACHE: DumpCacheTypeStructure ( ProcessorTopologyStructurePtr, *ProcessorTopologyStructureLength ); break; - case EFI_ACPI_6_2_PPTT_TYPE_ID: - DumpIDStructure ( - ProcessorTopologyStructurePtr, - *ProcessorTopologyStructureLength + case EFI_ACPI_6_3_PPTT_TYPE_ID: + IncrementErrorCount (); + Print ( + L"ERROR: PPTT Type 2 - Processor ID has been removed and must not be" + L"used.\n" ); break; default: diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c index 0ad7bf4c845f3c065764680c01eaa27796b09226..09bdddb56e5bd70dec44bdbdcba88373f93daa66 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.c @@ -62,7 +62,7 @@ ACPI_TABLE_PARSER ParserList[] = { ParseAcpiMcfg }, { EFI_ACPI_6_4_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE, ParseAcpiPcct }, - { EFI_ACPI_6_2_PROCESSOR_PROPERTIES_TOPOLOGY_TABLE_STRUCTURE_SIGNATURE, + { EFI_ACPI_6_4_PROCESSOR_PROPERTIES_TOPOLOGY_TABLE_STRUCTURE_SIGNATURE, ParseAcpiPptt }, { RSDP_TABLE_INFO, ParseAcpiRsdp }, { EFI_ACPI_6_2_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE, ParseAcpiSlit }, -- Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")