// /**
//
// Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved. <BR>
// (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR>
// (C) Copyright 2015-2021 Hewlett Packard Enterprise Development LP<BR>
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// Module Name:
//
// UefiHandleParsingLib.uni
//
// Abstract:
//
//
//
// **/

/=#

#langdef   en-US "english"

//
// Protocol names used making the GUID <-> Name bi-directional list
//

// basics Images & Device Path
#string STR_LOADED_IMAGE          #language en-US "LoadedImage"
#string STR_DEVICE_PATH           #language en-US "DevicePath"
#string STR_IMAGE_PATH            #language en-US "ImageDevicePath"
#string STR_DEVICE_PATH_UTIL      #language en-US "DevicePathUtilities"
#string STR_DEVICE_PATH_TXT       #language en-US "DevicePathToText"
#string STR_DEVICE_PATH_FTXT      #language en-US "DevicePathFromText"
#string STR_DEVICE_PATH_PC        #language en-US "DevicePathPCAnsi"
#string STR_DEVICE_PATH_VT100     #language en-US "DevicePathVT100"
#string STR_DEVICE_PATH_VT100P    #language en-US "DevicePathVT100+"
#string STR_DEVICE_PATH_VTUTF8    #language en-US "DevicePathVTUTF8"

// Drivers
#string STR_DRIVER_BINDING        #language en-US "DriverBinding"
#string STR_PLATFORM_OVERRIDE     #language en-US "PlatformOverride"
#string STR_BUS_OVERRIDE          #language en-US "BusSpecificDriverOverride"
#string STR_DRIVER_DIAG           #language en-US "DriverDiagnostics"
#string STR_DRIVER_DIAG2          #language en-US "DriverDiagnostics2"
#string STR_DRIVER_CN             #language en-US "ComponentName"
#string STR_DRIVER_CN2            #language en-US "ComponentName2"
#string STR_PLAT_DRV_CFG          #language en-US "PlatformtoDriverConfiguration"
#string STR_DRIVER_VERSION        #language en-US "SupportedEfiSpecVersion"

// Console
#string STR_TXT_IN                #language en-US "SimpleTextIn"
#string STR_TXT_IN_EX             #language en-US "SimpleTextInEx"
#string STR_TXT_OUT               #language en-US "SimpleTextOut"
#string STR_SIM_POINTER           #language en-US "SimplePointer"
#string STR_ABS_POINTER           #language en-US "AbsolutePointer"
#string STR_SERIAL_IO             #language en-US "SerialIO"
#string STR_GRAPHICS_OUTPUT       #language en-US "GraphicsOutput"
#string STR_EDID_DISCOVERED       #language en-US "EDIDDiscovered"
#string STR_EDID_ACTIVE           #language en-US "EDIDActive"
#string STR_EDID_OVERRIDE         #language en-US "EDIDOverride"
#string STR_CON_IN                #language en-US "ConsoleIn"
#string STR_CON_OUT               #language en-US "ConsoleOut"
#string STR_STD_ERR               #language en-US "StdErr"

// Media
#string STR_LOAD_FILE             #language en-US "LoadFile"
#string STR_LOAD_FILE2            #language en-US "LoadFile2"
#string STR_SIMPLE_FILE_SYS       #language en-US "SimpleFileSystem"
#string STR_FILE_INFO             #language en-US "FileInfo"
#string STR_FILE_SYS_INFO         #language en-US "FileSystemInfo"
#string STR_TAPE_IO               #language en-US "TapeIO"
#string STR_DISK_IO               #language en-US "DiskIO"
#string STR_DISK_IO2              #language en-US "DiskIO2"
#string STR_BLK_IO                #language en-US "BlockIO"
#string STR_UC                    #language en-US "UnicodeCollation"
#string STR_UC2                   #language en-US "UnicodeCollation2"
#string STR_ADAPTER_INFO          #language en-US "AdapterInfo"

// PCI
#string STR_PCIRB_IO              #language en-US "PCIRootBridgeIO"
#string STR_PCI_IO                #language en-US "PCIIO"

// SCSI
#string STR_SCSI_PT               #language en-US "SCSIPassThru"
#string STR_SCSI_IO               #language en-US "SCSIIO"
#string STR_SCSI_PT_EXT           #language en-US "ExtendedSCSIPassThru"

// iSCSI
#string STR_ISCSI                 #language en-US "iSCSIInitiatorName"

// USB
#string STR_USB_IO                #language en-US "USBIO"
#string STR_USB_HC                #language en-US "USBHostControler"
#string STR_USB_HC2               #language en-US "USBHostController2"

// Debug
#string STR_DEBUG_SUPPORT         #language en-US "DebugSupport"
#string STR_DEBUG_PORT            #language en-US "DebugPort"

#string STR_DECOMPRESS            #language en-US "Decompress"

#string STR_ACPI_TABLE            #language en-US "AcpiTable"

#string STR_EBC_INTERPRETER       #language en-US "EBCInterpreter"

// Network
#string STR_SNP                   #language en-US "SimpleNetwork"
#string STR_NII                   #language en-US "NetworkInterfaceIdentifier"
#string STR_NII_31                #language en-US "NetworkInterfaceIdentifier31"
#string STR_PXE_BC                #language en-US "PXEBaseCode"
#string STR_PXE_CB                #language en-US "PXECallback"
#string STR_BIS                   #language en-US "BIS"
#string STR_MNP_SB                #language en-US "ManagedNetworkServiceBinding"
#string STR_MNP                   #language en-US "ManagedNetwork"

#string STR_ARP_SB                #language en-US "ARPServiceBinding"
#string STR_ARP                   #language en-US "ARP"
#string STR_DHCPV4_SB             #language en-US "DHCPv4ServiceBinding"
#string STR_DHCPV4                #language en-US "DHCPv4"
#string STR_TCPV4_SB              #language en-US "TCPv4ServiceBinding"
#string STR_TCPV4                 #language en-US "TCPv4"
#string STR_IPV4_SB               #language en-US "IPv4ServiceBinding"
#string STR_IPV4                  #language en-US "IPv4"
#string STR_IPV4_CFG              #language en-US "IPv4Config"
#string STR_IPV4_CFG2             #language en-US "IPv4Config2"
#string STR_UDPV4_SB              #language en-US "UDPv4ServiceBinding"
#string STR_UDPV4                 #language en-US "UDPv4"
#string STR_MTFTPV4_SB            #language en-US "MTFTPv4ServiceBinding"
#string STR_MTFTPV4               #language en-US "MTFTPv4"

// Security
#string STR_HASH_SB               #language en-US "HashServiceBinding"
#string STR_HASH                  #language en-US "Hash"
#string STR_AUTH_INFO             #language en-US "AuthenticationInfo"

// HII
#string STR_HII_FONT              #language en-US "HIIFont"
#string STR_HII_STRING            #language en-US "HIIString"
#string STR_HII_IMAGE             #language en-US "HIIImage"
#string STR_HII_DATABASE          #language en-US "HIIDatabase"
#string STR_HII_CONFIG_ROUT       #language en-US "HIIConfigRouting"
#string STR_HII_CONFIG_ACC        #language en-US "HIIConfigAccess"
#string STR_HII_FORM_BROWSER2     #language en-US "HIIFormBrowser2"

// Shell
#string STR_SHELL_PARAMETERS      #language en-US "ShellParameters"
#string STR_SHELL                 #language en-US "Shell"
#string STR_SHELL_DYNAMIC         #language en-US "ShellDynamicCommand"

#string STR_EFI_GLOBAL_VARIABLE   #language en-US "EFIGlobalVariable"

// NT32 emulation
#string STR_WINNT_THUNK           #language en-US "WinNTThunk"
#string STR_WINNT_DRIVER_IO       #language en-US "WinNTDriverIO"
#string STR_WINNT_SERIAL_PORT     #language en-US "WinNTSerialPort"

// deprecated protocols
#string STR_SHELL_INTERFACE       #language en-US "ShellInterface"
#string STR_SHELL_ENV             #language en-US "ShellEnvironment"
#string STR_SHELL_ENV2            #language en-US "ShellEnvironment2"
#string STR_SHELL_DP_MAP          #language en-US "ShellDevicePathMap"
#string STR_SHELL_ALIAS           #language en-US "ShellAlias"
#string STR_DEVICE_IO             #language en-US "DeviceIO"
#string STR_TCP                   #language en-US "TCP"
#string STR_UGA_DRAW              #language en-US "UGADraw"
#string STR_UGA_IO                #language en-US "UGAIO"
#string STR_ESP                   #language en-US "EFISystemPartition"
#string STR_GPT_NBR               #language en-US "LegacyMBR"
#string STR_DRIVER_CONFIG         #language en-US "DriverConfiguration"
#string STR_DRIVER_CONFIG2        #language en-US "DriverConfiguration2"
#string STR_ISA_IO                #language en-US "ISAIO"
#string STR_ISA_ACPI              #language en-US "ISAACPI"
#string STR_HII_FORM_BROWSER      #language en-US "HIIFormBrowser"
#string STR_HII                   #language en-US "HII"
#string STR_HII_FORM_CALLBACK     #language en-US "HIICallback"

#string STR_TXT_OUT_DUMP_HEADER   #language en-US "  Address: %%H%p%%N Attrib %02x"
#string STR_TXT_OUT_DUMP_LINE     #language en-US "\r\n  %c  mode %d: Col %d Row %d"

#string STR_DRIVER_FAM_OVERRIDE   #language en-US "DriverFamilyOverride"
#string STR_PCD                   #language en-US "Pcd"
#string STR_TCG                   #language en-US "Tcg"
#string STR_HII_PACKAGE_LIST      #language en-US "HiiPackageList"

#string STR_IP6_SB                #language en-US "Ip6ServiceBinding"
#string STR_IP6                   #language en-US "Ip6"
#string STR_IP6_CONFIG            #language en-US "Ip6Config"
#string STR_MTFTP6_SB             #language en-US "Mtftp6ServiceBinding"
#string STR_MTFTP6                #language en-US "Mtftp6"
#string STR_DHCP6_SB              #language en-US "Dhcp6ServiceBinding"
#string STR_DHCP6                 #language en-US "Dhcp6"
#string STR_UDP6_SB               #language en-US "Udp6ServiceBinding"
#string STR_UDP6                  #language en-US "Udp6"
#string STR_TCP6_SB               #language en-US "Tcp6ServiceBinding"
#string STR_TCP6                  #language en-US "Tcp6"
#string STR_VLAN_CONFIG           #language en-US "VlanConfig"
#string STR_EAP                   #language en-US "Eap"
#string STR_EAP_MGMT              #language en-US "EapManagement"
#string STR_FTP4_SB               #language en-US "Ftp4ServiceBinding"
#string STR_FTP4                  #language en-US "Ftp4"
#string STR_IP_SEC_CONFIG         #language en-US "IpSecConfig"
#string STR_DH                    #language en-US "DriverHealth"
#string STR_DEF_IMG_LOAD          #language en-US "DeferredImageLoad"
#string STR_USER_CRED             #language en-US "UserCredential"
#string STR_USER_MNGR             #language en-US "UserManager"
#string STR_ATA_PASS_THRU         #language en-US "AtaPassThru"
#string STR_FW_MGMT               #language en-US "FirmwareManagement"
#string STR_IP_SEC                #language en-US "IpSec"
#string STR_IP_SEC2               #language en-US "IpSec2"
#string STR_KMS                   #language en-US "Kms"
#string STR_BLK_IO2               #language en-US "BlockIo2"
#string STR_SSC                   #language en-US "StorageSecurityCommand"
#string STR_UCRED2                #language en-US "UserCredential2"

#string STR_PCDINFOPROT           #language en-US "GetPcdInfoProtocol"
#string STR_BDS_ARCH              #language en-US "BdsArch"
#string STR_CPU_ARCH              #language en-US "CpuArch"
#string STR_MET_ARCH              #language en-US "MetronomeArch"
#string STR_MON_ARCH              #language en-US "MonotonicCounterArch"
#string STR_RTC_ARCH              #language en-US "RealTimeClockArch"
#string STR_RESET_ARCH            #language en-US "ResetArch"
#string STR_RT_ARCH               #language en-US "RuntimeArch"
#string STR_SEC_ARCH              #language en-US "SecurityArch"
#string STR_TIMER_ARCH            #language en-US "TimerArch"
#string STR_VAR_ARCH              #language en-US "VariableWriteArch"
#string STR_V_ARCH                #language en-US "VariableArch"
#string STR_SECP                  #language en-US "SecurityPolicy"
#string STR_WDT_ARCH              #language en-US "WatchdogTimerArch"
#string STR_SCR                   #language en-US "StatusCodeRuntime"
#string STR_SMB_HC                #language en-US "SmbusHc"
#string STR_FV_2                  #language en-US "FirmwareVolume2"
#string STR_FV_BLOCK              #language en-US "FirmwareVolumeBlock"
#string STR_CAP_ARCH              #language en-US "CapsuleArch"
#string STR_MP_SERVICE            #language en-US "MpService"
#string STR_HBRAP                 #language en-US "PciHostBridgeResourceAllocation"
#string STR_PCIP                  #language en-US "PciPlatform"
#string STR_PCIO                  #language en-US "PciOverride"
#string STR_PCIE                  #language en-US "PciEnumerationComplete"
#string STR_IPCID                 #language en-US "IncompatiblePciDeviceSupport"
#string STR_PCIHPI                #language en-US "PciHotPlugInit"
#string STR_PCIHPR                #language en-US "PciHotPlugRequest"
#string STR_SMBIOS                #language en-US "Smbios"
#string STR_S3_SAVE               #language en-US "S3SaveState"
#string STR_S3_S_SMM              #language en-US "S3SmmSaveState"
#string STR_RSC                   #language en-US "RscHandler"
#string STR_S_RSC                 #language en-US "SmmRscHandler"
#string STR_ACPI_SDT              #language en-US "AcpiSdt"
#string STR_SIO                   #language en-US "Sio"
#string STR_S_CPU2                #language en-US "SmmCpuIo2"
#string STR_S_BASE2               #language en-US "SmmBase2"
#string STR_S_ACC_2               #language en-US "SmmAccess2"
#string STR_S_CON_2               #language en-US "SmmControl2"
#string STR_S_CONFIG              #language en-US "SmmConfig"
#string STR_S_RTL                 #language en-US "SmmReadyToLock"
#string STR_DS_RTL                #language en-US "DxeSmmReadyToLock"
#string STR_S_COMM                #language en-US "SmmCommunication"
#string STR_S_STAT                #language en-US "SmmStatusCode"
#string STR_S_CPU                 #language en-US "SmmCpu"
#string STR_S_PCIRBIO             #language en-US "SmmPCIRootBridgeIO"
#string STR_S_SWD                 #language en-US "SmmSwDispatch2"
#string STR_S_SXD                 #language en-US "SmmSxDispatch2"
#string STR_S_PTD2                #language en-US "SmmPeriodicTimerDispatch2"
#string STR_S_UD2                 #language en-US "SmmUsbDispatch2"
#string STR_S_GD2                 #language en-US "SmmGpiDispatch2"
#string STR_S_SBD2                #language en-US "SmmStandbyButtonDispatch2"
#string STR_S_PBD2                #language en-US "SmmPowerButtonDispatch2"
#string STR_S_ITD2                #language en-US "SmmIoTrapDispatch2"
#string STR_PCD                   #language en-US "Pcd"
#string STR_FVB2                  #language en-US "FirmwareVolumeBlock2"
#string STR_CPUIO2                #language en-US "CpuIo2"
#string STR_LEGACY_R2             #language en-US "LegacyRegion2"
#string STR_S2ARCH                #language en-US "Security2Arch"
#string STR_EODXE                 #language en-US "SmmEndOfDxe"
#string STR_ISAHC                 #language en-US "IsaHc"
#string STR_ISAHC_B               #language en-US "IsaHcServiceBinding"
#string STR_SIO_C                 #language en-US "SioControl"
#string STR_GET_PCD               #language en-US "GetPcdInfo"
#string STR_I2C_M                 #language en-US "I2cMaster"
#string STR_I2CIO                 #language en-US "I2cIo"
#string STR_I2CEN                 #language en-US "I2cEnumerate"
#string STR_I2C_H                 #language en-US "I2cHost"
#string STR_I2C_BCM               #language en-US "I2cBusConfigurationManagement"
#string STR_TCG2                  #language en-US "Tcg2"
#string STR_TIMESTAMP             #language en-US "Timestamp"
#string STR_RNG                   #language en-US "Rng"
#string STR_NVMEPT                #language en-US "NvmExpressPassThru"
#string STR_H2_SB                 #language en-US "Hash2ServiceBinding"
#string STR_HASH2                 #language en-US "Hash2"
#string STR_BIO_C                 #language en-US "BlockIoCrypto"
#string STR_SCR                   #language en-US "SmartCardReader"
#string STR_SCE                   #language en-US "SmartCardEdge"
#string STR_USB_FIO               #language en-US "UsbFunctionIo"
#string STR_BC_HC                 #language en-US "BluetoothHc"
#string STR_BC_IO_SB              #language en-US "BluetoothIoServiceBinding"
#string STR_BC_IO                 #language en-US "BluetoothIo"
#string STR_BC_C                  #language en-US "BluetoothConfig"
#string STR_REG_EXP               #language en-US "RegularExpression"
#string STR_B_MGR_P               #language en-US "BootManagerPolicy"
#string STR_CKH                   #language en-US "ConfigKeywordHandler"
#string STR_WIFI                  #language en-US "WiFi"
#string STR_EAP_M                 #language en-US "EapManagement2"
#string STR_EAP_C                 #language en-US "EapConfiguration"
#string STR_PKCS7                 #language en-US "Pkcs7Verify"
#string STR_NET_DNS4_SB           #language en-US "Dns4ServiceBinding"
#string STR_NET_DNS4              #language en-US "Dns4"
#string STR_NET_DNS6_SB           #language en-US "Dns6ServiceBinding"
#string STR_NET_DNS6              #language en-US "Dns6"
#string STR_NET_HTTP_SB           #language en-US "HttpServiceBinding"
#string STR_NET_HTTP              #language en-US "Http"
#string STR_NET_HTTP_U            #language en-US "HttpUtilities"
#string STR_REST                  #language en-US "Rest"
#string STR_REST_EX               #language en-US "RestEx"
#string STR_REDFISH_DISCOVER      #language en-US "RedfishDiscover"

#string STR_MM_EOD                #language en-US "MmEndOfDxe"
#string STR_MM_ITD                #language en-US "MmIoTrapDispatch"
#string STR_MM_PBD                #language en-US "MmPowerButtonDispatch"
#string STR_MM_SBD                #language en-US "MmStandbyButtonDispatch"
#string STR_MM_GD                 #language en-US "MmGpiDispatch"
#string STR_MM_UD                 #language en-US "MmUsbDispatch"
#string STR_MM_PTD                #language en-US "MmPeriodicTimerDispatch"
#string STR_MM_SXD                #language en-US "MmSxDispatch"
#string STR_MM_SWD                #language en-US "MmSwDispatch"
#string STR_MM_PRBI               #language en-US "MmPciRootBridgeIo"
#string STR_MM_CPU                #language en-US "MmCpu"
#string STR_MM_STACODE            #language en-US "MmStatusCode"
#string STR_DXEMM_RTL             #language en-US "DxeMmReadyToLock"
#string STR_MM_CONFIG             #language en-US "MmConfiguration"
#string STR_MM_RTL                #language en-US "MmReadyToLock"
#string STR_MM_CONTROL            #language en-US "MmControl"
#string STR_MM_ACCESS             #language en-US "MmAccess"
#string STR_MM_BASE               #language en-US "MmBase"
#string STR_MM_CPUIO              #language en-US "MmCpuIo"
#string STR_MM_RH                 #language en-US "MmRscHandler"
#string STR_MM_COM                #language en-US "MmCommunication"

#string STR_TLS_SB                #language en-US "TlsServiceBinding"
#string STR_TLS                   #language en-US "Tls"
#string STR_TLS_CONFIG            #language en-US "TlsConfiguration"
#string STR_SUPPLICANT_SB         #language en-US "SupplicantServiceBinding"
#string STR_SUPPLICANT            #language en-US "Supplicant"

#string STR_WIFI2                 #language en-US "WiFi2"
#string STR_RAMDISK               #language en-US "RamDisk"
#string STR_HII_ID                #language en-US "HiiImageDecoder"
#string STR_HII_IE                #language en-US "HiiImageEx"
#string STR_SD_MPT                #language en-US "SdMmcPassThru"
#string STR_ERASE_BLOCK           #language en-US "EraseBlock"

#string STR_BLUETOOTH_ATTR        #language en-US "BluetoothAttribute"
#string STR_BLUETOOTH_ATTR_SB     #language en-US "BluetoothAttributeServiceBinding"
#string STR_BLUETOOTH_LE_CONFIG   #language en-US "BluetoothLeConfig"
#string STR_UFS_DEV_CONFIG        #language en-US "UfsDeviceConfig"
#string STR_HTTP_BOOT_CALL        #language en-US "HttpBootCallback"
#string STR_RESET_NOTI            #language en-US "ResetNotification"
#string STR_PARTITION_INFO        #language en-US "PartitionInfo"
#string STR_HII_POPUP             #language en-US "HiiPopup"

#string STR_IDE_CONT_INIT         #language en-US "IdeControllerInit"
#string STR_DISK_INFO             #language en-US "DiskInfo"
#string STR_BLOCKIO_INFO          #language en-US "  %s%sMId:%%H%x%%N bsize %%H%x%%N, lblock %lx (%,ld), %s %s %s"
#string STR_DEBUGSUPPORT_INFO     #language en-US "  Isa = %s"
#string STR_DEBUGSUPPORT_UNKNOWN  #language en-US "  Unknown (%%H%s%%N)"

#string STR_PCIRB_DUMP_PH         #language en-US "  ParentHandle..: %%H%p%%N\r\n"
#string STR_PCIRB_DUMP_SEG        #language en-US "  Segment #.....: %%H%x%%N\r\n"
#string STR_PCIRB_DUMP_ATT        #language en-US "  Attributes....: %%H%x%%N\r\n"
#string STR_PCIRB_DUMP_SUPPORTS   #language en-US "  Supports......: %%H%x%%N\r\n"
#string STR_PCIRB_DUMP_BUS        #language en-US "   BUS : "
#string STR_PCIRB_DUMP_MEM        #language en-US "   MEM : "
#string STR_PCIRB_DUMP_IO         #language en-US "   IO  : "
#string STR_PCIRB_DUMP_TITLE      #language en-US "   Type  Flag  Base              Limit             Gran\r\n"
                                                  "   ====  ====  ================  ================  ===="
#string STR_PCIIO_DUMP_MAIN       #language en-US "  Segment #.....: %02x\r\n"
                                                  "  Bus #.........: %02x\r\n"
                                                  "  Device #......: %02x\r\n"
                                                  "  Function #....: %02x\r\n"
                                                  "  ROM Size......: %lx\r\n"
                                                  "  ROM Location..: %p\r\n"
                                                  "  Vendor ID.....: %04x\r\n"
                                                  "  Device ID.....: %04x\r\n"
                                                  "  Class Code....: %02x %02x %02x\r\n"
                                                  "  Configuration Header :"
#string STR_USBIO_DUMP_MAIN       #language en-US "  Interface Number #.....: %02x\r\n"
                                                  "  Interface Class #......: %02x\r\n"
                                                  "  Interface Subclass #...: %02x\r\n"
                                                  "  Interface Protocol #...: %02x"

#string STR_LI_DUMP_NAME          #language en-US "  Name..........: %%H%s%%N\r\n"

#string STR_LI_DUMP_MAIN          #language en-US "  Revision......: %%H0x%08x%%N\r\n"
                                                  "  ParentHandle..: %%H%p%%N\r\n"
                                                  "  SystemTable...: %%H%p%%N\r\n"
                                                  "  DeviceHandle..: %%H%p%%N\r\n"
                                                  "  FilePath......: %%H%s%%N\r\n"
                                                  "  PdbFileName...: %%H%a%%N\r\n"
                                                  "  OptionsSize...: %%H%x%%N\r\n"
                                                  "  LoadOptions...: %%H%p%%N\r\n"
                                                  "  ImageBase.....: %%H%p%%N\r\n"
                                                  "  ImageSize.....: %%H%Lx%%N\r\n"
                                                  "  CodeType......: %%H%s%%N\r\n"
                                                  "  DataType......: %%H%s%%N\r\n"
                                                  "  Unload........: %%H%p%%N"

#string STR_GOP_DUMP_MAIN         #language en-US "  Max Mode..............: %%H0x%08x%%N\r\n"
                                                  "  Current Mode..........: %%H0x%08x%%N\r\n"
                                                  "  Frame Buffer Base.....: %%H0x%L016x%%N\r\n"
                                                  "  Frame Buffer Size.....: %%H0x%L016x%%N\r\n"
                                                  "  Mode Info Size........: %%H0x%L016x%%N\r\n"
                                                  "  Information\r\n"
                                                  "    Version.............: %%H0x%08x%%N\r\n"
                                                  "    HorizontalResolution: %%H%d%%N\r\n"
                                                  "    VerticalResolution..: %%H%d%%N\r\n"
                                                  "    Pixel Format........: %%H%s%%N\r\n"
                                                  "    Pixels / Scan Line..: %%H%d%%N\r\n"
                                                  "    Pixel Info\r\n"
                                                  "      RedMask...........: %%H0x%08x%%N\r\n"
                                                  "      GreenMask.........: %%H0x%08x%%N\r\n"
                                                  "      BlueMask..........: %%H0x%08x%%N\r\n"

#string STR_GOP_RES_LIST_MAIN     #language en-US "  Supported Resolution List"
#string STR_GOP_RES_LIST_ENTRY    #language en-US "\r\n"
                                                  "    Resolution[%%H%d%%N]:\r\n"
                                                  "      Horizontal........: %%H%d%%N\r\n"
                                                  "      Vertical..........: %%H%d%%N"
#string STR_BSDO_DUMP_MAIN        #language en-US "     Drv[%02x] File:%%H%s%%N"
#string STR_EDID_DISCOVERED_MAIN  #language en-US "  EDID Discovered Size : %%H0x%08x%%N\r\n"
#string STR_EDID_DISCOVERED_DATA  #language en-US "  EDID Discovered Data :\r\n"
#string STR_EDID_ACTIVE_MAIN      #language en-US "  EDID Active Size : %%H0x%08x%%N\r\n"
#string STR_EDID_ACTIVE_DATA      #language en-US "  EDID Active Data :\r\n"

#string STR_GET_SUPP_TYPES_FAILED         #language en-US "Unable to get supported types - %%H%r%%N\r\n"
#string STR_SUPP_TYPE_HEADER              #language en-US "  Supported Information Types: \r\n"
#string STR_GUID_NUMBER                   #language en-US "    Guid[%%H%d%%N] : %g"
#string STR_GUID_STRING                   #language en-US " - %%B%s%%N\r\n"
#string STR_GETINFO_FAILED                #language en-US "      Unable to get information - %%H%r%%N\r\n"
#string STR_MEDIA_STATE                   #language en-US "    MediaState: %%H0x%08x - %r%%N\r\n"
#string STR_NETWORK_BOOT_INFO             #language en-US ""
                                                          "    iSsciIpv4BootCapablity : %%H%d%%N\r\n"
                                                          "    iScsiIpv6BootCapablity : %%H%d%%N\r\n"
                                                          "    FCoeBootCapablity      : %%H%d%%N\r\n"
                                                          "    OffloadCapability      : %%H%d%%N\r\n"
                                                          "    iScsiMpioCapability    : %%H%d%%N\r\n"
                                                          "    iScsiIpv4Boot          : %%H%d%%N\r\n"
                                                          "    iScsiIpv6Boot          : %%H%d%%N\r\n"
                                                          "    FCoeBoot               : %%H%d%%N\r\n"
#string STR_SAN_MAC_ADDRESS_INFO          #language en-US "    SanMacAddress: %%H%02x-%02x-%02x-%02x-%02x-%02x%%N \r\n"
#string STR_UNDI_IPV6_INFO                #language en-US "    UNDI IPv6 Supported: %%H%d%%N \r\n"
#string STR_UNKNOWN_INFO_TYPE             #language en-US "    The 'InformationType' - %%H%g%%N can't be recongnized\r\n"

#string STR_FMP_IMAGEID_NON_UNIQUE                      #language en-US "  The ImageId value for each Firmware Image is not unique.\r\n"
#string STR_FMP_IMAGE_INFO_SIZE                         #language en-US "  ImageInfoSize: %%H0x%L016x%%N\r\n"
#string STR_FMP_DESCRIPTOR_VERSION                      #language en-US "  DescriptorVersion: %%H%d%%N\r\n"
#string STR_FMP_DESCRIPTOR_COUNT                        #language en-US "  DescriptorCount : %%H%d%%N\r\n"
#string STR_FMP_DESCRIPTOR_SIZE                         #language en-US "  DescriptorSize : %%H0x%Lx%%N\r\n"
#string STR_FMP_PACKAGE_VERSION                         #language en-US "  PackageVersion : %%H0x%08x%%N\r\n"
#string STR_FMP_PACKAGE_VERSION_NAME                    #language en-US "  PackageVersionName : %%H%s%%N\r\n"
#string STR_FMP_IMAGE_DESCRIPTOR_INFO                   #language en-US ""
                                                                        "  ImageInfo[%%H%d%%N]:\r\n"
                                                                        "  =============\r\n"
                                                                        "    ImageIndex                  : %%H%d%%N\r\n"
                                                                        "    ImageTypeId                 : %%H%g%%N\r\n"
                                                                        "    ImageId                     : %%H%L016x%%N\r\n"
                                                                        "    ImageIdName                 : %%H%s%%N\r\n"
                                                                        "    Version                     : %%H0x%08x%%N\r\n"
                                                                        "    VersionName                 : %%H%s%%N\r\n"
                                                                        "    Size                        : %%H0x%L016x%%N\r\n"
                                                                        "    AttributesSupported         : %%H0x%L016x%%N\r\n"
                                                                        "    AttributesSetting           : %%H%s%%N\r\n"
                                                                        "    Compatibilities             : %%H0x%L016x%%N\r\n"
                                                                        "    LowestSupportedImageVersion : %%H0x%08x%%N\r\n"
                                                                        "    LastAttemptVersion          : %%H0x%08x%%N\r\n"
                                                                        "    LastAttemptStatus           : %%H0x%08x%%N\r\n"
                                                                        "    HardwareInstance            : %%H0x%08x%%N\r\n"

#string STR_FMP_IMAGE_DESCRIPTOR_INFO_V1                #language en-US ""
                                                                        "  ImageInfo[%%H%d%%N]:\r\n"
                                                                        "  =============\r\n"
                                                                        "    ImageIndex                  : %%H%d%%N\r\n"
                                                                        "    ImageTypeId                 : %%H%g%%N\r\n"
                                                                        "    ImageId                     : %%H%L016x%%N\r\n"
                                                                        "    ImageIdName                 : %%H%s%%N\r\n"
                                                                        "    Version                     : %%H0x%08x%%N\r\n"
                                                                        "    VersionName                 : %%H%s%%N\r\n"
                                                                        "    Size                        : %%H0x%L016x%%N\r\n"
                                                                        "    AttributesSupported         : %%H0x%L016x%%N\r\n"
                                                                        "    AttributesSetting           : %%H%s%%N\r\n"
                                                                        "    Compatibilities             : %%H0x%L016x%%N\r\n"

#string STR_FMP_IMAGE_DESCRIPTOR_INFO_V2                #language en-US ""
                                                                        "  ImageInfo[%%H%d%%N]:\r\n"
                                                                        "  =============\r\n"
                                                                        "    ImageIndex                  : %%H%d%%N\r\n"
                                                                        "    ImageTypeId                 : %%H%g%%N\r\n"
                                                                        "    ImageId                     : %%H%L016x%%N\r\n"
                                                                        "    ImageIdName                 : %%H%s%%N\r\n"
                                                                        "    Version                     : %%H0x%08x%%N\r\n"
                                                                        "    VersionName                 : %%H%s%%N\r\n"
                                                                        "    Size                        : %%H0x%L016x%%N\r\n"
                                                                        "    AttributesSupported         : %%H0x%L016x%%N\r\n"
                                                                        "    AttributesSetting           : %%H%s%%N\r\n"
                                                                        "    Compatibilities             : %%H0x%L016x%%N\r\n"
                                                                        "    LowestSupportedImageVersion : %%H0x%08x%%N\r\n"

#string STR_PARTINFO_DUMP_TYPE_OTHER        #language en-US "  Partition Type       : Other"
#string STR_PARTINFO_DUMP_TYPE_MBR          #language en-US "  Partition Type       : MBR"
#string STR_PARTINFO_DUMP_TYPE_GPT          #language en-US "  Partition Type       : GPT"
#string STR_PARTINFO_DUMP_EFI_SYS_PART      #language en-US "  EFI System Partition : Yes"
#string STR_PARTINFO_DUMP_NOT_EFI_SYS_PART  #language en-US "  EFI System Partition : No"
