#ifndef _NTBCD_H
// BcdOSLoaderElementTypes based on geoffchappell: https://www.geoffchappell.com/notes/windows/boot/bcd/elements.htm (dmex)
typedef enum _BcdOSLoaderElementTypes
{
/// <summary>
/// The device on which the operating system resides.
/// </summary>
/// <remarks>0x21000001</remarks>
BcdOSLoaderDevice_OSDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 1),
/// <summary>
/// The file path to the operating system (%SystemRoot% minus the volume).
/// </summary>
/// <remarks>0x22000002</remarks>
BcdOSLoaderString_SystemRoot = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 2),
/// <summary>
/// The resume application associated with the operating system.
/// </summary>
/// <remarks>0x23000003</remarks>
BcdOSLoaderObject_AssociatedResumeObject = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_OBJECT, 3),
/// <summary>
///
/// </summary>
/// <remarks>0x26000004</remarks>
BcdOSLoaderBoolean_StampDisks = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 4),
/// <summary>
/// Indicates whether the operating system loader should determine the kernel and HAL to load based on the platform features.
/// </summary>
/// <remarks>0x26000010</remarks>
BcdOSLoaderBoolean_DetectKernelAndHal = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 16),
/// <summary>
/// The kernel to be loaded by the operating system loader. This value overrides the default kernel.
/// </summary>
/// <remarks>0x22000011</remarks>
BcdOSLoaderString_KernelPath = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 17),
/// <summary>
/// The HAL to be loaded by the operating system loader. This value overrides the default HAL.
/// </summary>
/// <remarks>0x22000012</remarks>
BcdOSLoaderString_HalPath = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 18),
/// <summary>
/// The transport DLL to be loaded by the operating system loader. This value overrides the default Kdcom.dll.
/// </summary>
/// <remarks>0x22000013</remarks>
BcdOSLoaderString_DbgTransportPath = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 19),
/// <summary>
/// The no-execute page protection policy. The Integer property is one of the values from the BcdOSLoader_NxPolicy enumeration.
/// </summary>
/// <remarks>0x25000020</remarks>
BcdOSLoaderInteger_NxPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 32),
/// <summary>
/// The Physical Address Extension (PAE) policy. The Integer property is one of the values from the BcdOSLoader_PAEPolicy enumeration.
/// </summary>
/// <remarks>0x25000021</remarks>
BcdOSLoaderInteger_PAEPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 33),
/// <summary>
/// Indicates that the system should be started in Windows Preinstallation Environment (Windows PE) mode.
/// </summary>
/// <remarks>0x26000022</remarks>
BcdOSLoaderBoolean_WinPEMode = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 34),
/// <summary>
/// Indicates that the system should not automatically reboot when it crashes.
/// </summary>
/// <remarks>0x26000024</remarks>
BcdOSLoaderBoolean_DisableCrashAutoReboot = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 36),
/// <summary>
/// Indicates that the system should use the last-known good settings.
/// </summary>
/// <remarks>0x26000025</remarks>
BcdOSLoaderBoolean_UseLastGoodSettings = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 37),
/// <summary>
///
/// </summary>
/// <remarks>0x26000026</remarks>
BcdOSLoaderBoolean_DisableCodeIntegrityChecks = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 38),
/// <summary>
/// Indicates whether the test code signing certificate is supported.
/// </summary>
/// <remarks>0x26000027</remarks>
BcdOSLoaderBoolean_AllowPrereleaseSignatures = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 39),
/// <summary>
/// Indicates whether the system should utilize the first 4GB of physical memory.
/// This option requires 5GB of physical memory, and on x86 systems it requires PAE to be enabled.
/// </summary>
/// <remarks>0x26000030</remarks>
BcdOSLoaderBoolean_NoLowMemory = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 48),
/// <summary>
/// The amount of memory the system should ignore.
/// </summary>
/// <remarks>0x25000031</remarks>
BcdOSLoaderInteger_RemoveMemory = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 49),
/// <summary>
/// The amount of memory that should be utilized by the process address space, in bytes.
/// This value should be between 2GB and 3GB.
/// Increasing this value from the default 2GB decreases the amount of virtual address space available to the system and device drivers.
/// </summary>
/// <remarks>0x25000032</remarks>
BcdOSLoaderInteger_IncreaseUserVa = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 50),
/// <summary>
/// BCDE_OSLOADER_TYPE_PERFORMANCE_DATA_MEMORY
/// </summary>
/// <remarks>0x25000033</remarks>
BcdOSLoaderInteger_PerformaceDataMemory = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 51),
/// <summary>
/// Indicates whether the system should use the standard VGA display driver instead of a high-performance display driver.
/// </summary>
/// <remarks>0x26000040</remarks>
BcdOSLoaderBoolean_UseVgaDriver = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 64),
/// <summary>
/// Indicates whether the system should initialize the VGA driver responsible for displaying simple graphics during the boot process.
/// If not, there is no display is presented during the boot process.
/// </summary>
/// <remarks>0x26000041</remarks>
BcdOSLoaderBoolean_DisableBootDisplay = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 65),
/// <summary>
/// Indicates whether the VGA driver should avoid VESA BIOS calls.
/// Note This value is ignored by Windows 8 and Windows Server 2012.
/// </summary>
/// <remarks>0x26000042</remarks>
BcdOSLoaderBoolean_DisableVesaBios = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 66),
/// <summary>
/// Disables the use of VGA modes in the OS.
/// </summary>
/// <remarks>0x26000043</remarks>
BcdOSLoaderBoolean_DisableVgaMode = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 67),
/// <summary>
/// Indicates that cluster-mode APIC addressing should be utilized, and the value is the maximum number of processors per cluster.
/// </summary>
/// <remarks>0x25000050</remarks>
BcdOSLoaderInteger_ClusterModeAddressing = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 80),
/// <summary>
/// Indicates whether to enable physical-destination mode for all APIC messages.
/// </summary>
/// <remarks>0x26000051</remarks>
BcdOSLoaderBoolean_UsePhysicalDestination = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 81),
/// <summary>
/// The maximum number of APIC clusters that should be used by cluster-mode addressing.
/// </summary>
/// <remarks>0x25000052</remarks>
BcdOSLoaderInteger_RestrictApicCluster = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 82),
/// <summary>
///
/// </summary>
/// <remarks>0x22000053</remarks>
BcdOSLoaderString_OSLoaderTypeEVStore = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 83),
/// <summary>
/// Used to force legacy APIC mode, even if the processors and chipset support extended APIC mode.
/// </summary>
/// <remarks>0x26000054</remarks>
BcdOSLoaderBoolean_UseLegacyApicMode = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 84),
/// <summary>
/// Enables the use of extended APIC mode, if supported.
/// Zero (0) indicates default behavior, one (1) indicates that extended APIC mode is disabled, and two (2) indicates that extended APIC mode is enabled.
/// The system defaults to using extended APIC mode if available.
/// </summary>
/// <remarks>0x25000055</remarks>
BcdOSLoaderInteger_X2ApicPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 85),
/// <summary>
/// Indicates whether the operating system should initialize or start non-boot processors.
/// </summary>
/// <remarks>0x26000060</remarks>
BcdOSLoaderBoolean_UseBootProcessorOnly = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 96),
/// <summary>
/// The maximum number of processors that can be utilized by the system; all other processors are ignored.
/// </summary>
/// <remarks>0x25000061</remarks>
BcdOSLoaderInteger_NumberOfProcessors = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 97),
/// <summary>
/// Indicates whether the system should use the maximum number of processors.
/// </summary>
/// <remarks>0x26000062</remarks>
BcdOSLoaderBoolean_ForceMaximumProcessors = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 98),
/// <summary>
/// Indicates whether processor specific configuration flags are to be used.
/// </summary>
/// <remarks>0x25000063</remarks>
BcdOSLoaderBoolean_ProcessorConfigurationFlags = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 99),
/// <summary>
/// Maximizes the number of groups created when assigning nodes to processor groups.
/// </summary>
/// <remarks>0x26000064</remarks>
BcdOSLoaderBoolean_MaximizeGroupsCreated = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 100),
/// <summary>
/// This setting makes drivers group aware and can be used to determine improper group usage.
/// </summary>
/// <remarks>0x26000065</remarks>
BcdOSLoaderBoolean_ForceGroupAwareness = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 101),
/// <summary>
/// Specifies the size of all processor groups. Must be set to a power of 2.
/// </summary>
/// <remarks>0x25000066</remarks>
BcdOSLoaderInteger_GroupSize = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 102),
/// <summary>
/// Indicates whether the system should use I/O and IRQ resources created by the system firmware instead of using dynamically configured resources.
/// </summary>
/// <remarks>0x26000070</remarks>
BcdOSLoaderInteger_UseFirmwarePciSettings = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 112),
/// <summary>
/// The PCI Message Signaled Interrupt (MSI) policy. Zero (0) indicates default, and one (1) indicates that MSI interrupts are forcefully disabled.
/// </summary>
/// <remarks>0x25000071</remarks>
BcdOSLoaderInteger_MsiPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 113),
/// <summary>
/// Zero (0) indicates default, and one (1) indicates that PCI Express is forcefully disabled.
/// </summary>
/// <remarks>0x25000072</remarks>
BcdOSLoaderInteger_PciExpressPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 114),
/// <summary>
/// The Integer property is one of the values from the BcdLibrary_SafeBoot enumeration.
/// </summary>
/// <remarks>0x25000080</remarks>
BcdOSLoaderInteger_SafeBoot = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 128),
/// <summary>
/// Indicates whether the system should use the shell specified under the following registry key instead of the default shell:
/// HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\AlternateShell.
/// </summary>
/// <remarks>0x26000081</remarks>
BcdOSLoaderBoolean_SafeBootAlternateShell = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 129),
/// <summary>
/// Indicates whether the system should write logging information to %SystemRoot%\Ntbtlog.txt during initialization.
/// </summary>
/// <remarks>0x26000090</remarks>
BcdOSLoaderBoolean_BootLogInitialization = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 144),
/// <summary>
/// Indicates whether the system should display verbose information.
/// </summary>
/// <remarks>0x26000091</remarks>
BcdOSLoaderBoolean_VerboseObjectLoadMode = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 145),
/// <summary>
/// Indicates whether the kernel debugger should be enabled using the settings in the inherited debugger object.
/// </summary>
/// <remarks>0x260000A0</remarks>
BcdOSLoaderBoolean_KernelDebuggerEnabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 160),
/// <summary>
/// Indicates whether the HAL should call DbgBreakPoint at the start of HalInitSystem for phase 0 initialization of the kernel.
/// </summary>
/// <remarks>0x260000A1</remarks>
BcdOSLoaderBoolean_DebuggerHalBreakpoint = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 161),
/// <summary>
/// Forces the use of the platform clock as the system's performance counter.
/// </summary>
/// <remarks>0x260000A2</remarks>
BcdOSLoaderBoolean_UsePlatformClock = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 162),
/// <summary>
/// Forces the OS to assume the presence of legacy PC devices like CMOS and keyboard controllers.
/// This value should only be used for debugging.
/// </summary>
/// <remarks>0x260000A3</remarks>
BcdOSLoaderBoolean_ForceLegacyPlatform = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 163),
/// <summary>
///
/// </summary>
/// <remarks>0x260000A4</remarks>
BcdOSLoaderBoolean_UsePlatformTick = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 164),
/// <summary>
///
/// </summary>
/// <remarks>0x260000A5</remarks>
BcdOSLoaderBoolean_DisableDynamicTick = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 165),
/// <summary>
/// Controls the TSC synchronization policy. Possible values include default (0), legacy (1), or enhanced (2).
/// This value is supported starting in Windows 8 and Windows Server 2012.
/// </summary>
/// <remarks>0x250000A6</remarks>
BcdOSLoaderInteger_TscSyncPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 166),
/// <summary>
/// Indicates whether EMS should be enabled in the kernel.
/// </summary>
/// <remarks>0x260000B0</remarks>
BcdOSLoaderBoolean_EmsEnabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 176),
/// <summary>
///
/// </summary>
/// <remarks>0x250000C0</remarks>
BcdOSLoaderInteger_ForceFailure = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 192),
/// <summary>
/// Indicates the driver load failure policy. Zero (0) indicates that a failed driver load is fatal and the boot will not continue,
/// one (1) indicates that the standard error control is used.
/// </summary>
/// <remarks>0x250000C1</remarks>
BcdOSLoaderInteger_DriverLoadFailurePolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 193),
/// <summary>
/// Defines the type of boot menus the system will use. Possible values include menupolicylegacy (0) or menupolicystandard (1).
/// The default value is menupolicylegacy (0).
/// </summary>
/// <remarks>0x250000C2</remarks>
BcdOSLoaderInteger_BootMenuPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 194),
/// <summary>
/// Controls whether the system boots to the legacy menu (F8 menu) on the next boot.
/// Note This value is supported starting in Windows 8 and Windows Server 2012.
/// </summary>
/// <remarks>0x260000C3</remarks>
BcdOSLoaderBoolean_AdvancedOptionsOneTime = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 195),
/// <summary>
///
/// </summary>
/// <remarks>0x260000C4</remarks>
BcdOSLoaderBoolean_OptionsEditOneTime = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 196),
/// <summary>
/// The boot status policy. The Integer property is one of the values from the BcdOSLoaderBootStatusPolicy enumeration
/// </summary>
/// <remarks>0x250000E0</remarks>
BcdOSLoaderInteger_BootStatusPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 224),
/// <summary>
/// The OS loader removes this entry for security reasons. This option can only be triggered by using the F8 menu; a user must be physically present to trigger this option.
/// This value is supported starting in Windows 8 and Windows Server 2012.
/// </summary>
/// <remarks>0x260000E1</remarks>
BcdOSLoaderBoolean_DisableElamDrivers = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 225),
/// <summary>
/// Controls the hypervisor launch type. Options are HyperVisorLaunchOff (0) and HypervisorLaunchAuto (1).
/// </summary>
/// <remarks>0x250000F0</remarks>
BcdOSLoaderInteger_HypervisorLaunchType = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 240),
/// <summary>
///
/// </summary>
/// <remarks>0x250000F1</remarks>
BcdOSLoaderString_HypervisorPath = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 241),
/// <summary>
/// Controls whether the hypervisor debugger is enabled.
/// </summary>
/// <remarks>0x260000F2</remarks>
BcdOSLoaderBoolean_HypervisorDebuggerEnabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 242),
/// <summary>
/// Controls the hypervisor debugger type. Can be set to SERIAL (0), 1394 (1), or NET (2).
/// </summary>
/// <remarks>0x250000F3</remarks>
BcdOSLoaderInteger_HypervisorDebuggerType = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 243),
/// <summary>
/// Specifies the serial port number for serial debugging.
/// </summary>
/// <remarks>0x250000F4</remarks>
BcdOSLoaderInteger_HypervisorDebuggerPortNumber = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 244),
/// <summary>
/// Specifies the baud rate for serial debugging.
/// </summary>
/// <remarks>0x250000F5</remarks>
BcdOSLoaderInteger_HypervisorDebuggerBaudrate = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 245),
/// <summary>
/// Specifies the channel number for 1394 debugging.
/// </summary>
/// <remarks>0x250000F6</remarks>
BcdOSLoaderInteger_HypervisorDebugger1394Channel = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 246),
/// <summary>
/// Values are Disabled (0), Basic (1), and Standard (2).
/// </summary>
/// <remarks>0x250000F7</remarks>
BcdOSLoaderInteger_BootUxPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 247),
/// <summary>
///
/// </summary>
/// <remarks>0x220000F8</remarks>
BcdOSLoaderInteger_HypervisorSlatDisabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 248),
/// <summary>
/// Defines the PCI bus, device, and function numbers of the debugging device used with the hypervisor.
/// For example, 1.5.0 describes the debugging device on bus 1, device 5, function 0.
/// </summary>
/// <remarks>0x220000F9</remarks>
BcdOSLoaderString_HypervisorDebuggerBusParams = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 249),
/// <summary>
///
/// </summary>
/// <remarks>0x250000FA</remarks>
BcdOSLoaderInteger_HypervisorNumProc = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 250),
/// <summary>
///
/// </summary>
/// <remarks>0x250000FB</remarks>
BcdOSLoaderInteger_HypervisorRootProcPerNode = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 251),
/// <summary>
///
/// </summary>
/// <remarks>0x260000FC</remarks>
BcdOSLoaderBoolean_HypervisorUseLargeVTlb = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 252),
/// <summary>
///
/// </summary>
/// <remarks>0x250000FD</remarks>
BcdOSLoaderInteger_HypervisorDebuggerNetHostIp = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 253),
/// <summary>
///
/// </summary>
/// <remarks>0x250000FE</remarks>
BcdOSLoaderInteger_HypervisorDebuggerNetHostPort = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 254),
/// <summary>
///
/// </summary>
/// <remarks>0x250000FF</remarks>
BcdOSLoaderInteger_HypervisorDebuggerPages = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 255),
/// <summary>
///
/// </summary>
/// <remarks>0x25000100</remarks>
BcdOSLoaderInteger_TpmBootEntropyPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 256),
/// <summary>
///
/// </summary>
/// <remarks>0x22000110</remarks>
BcdOSLoaderString_HypervisorDebuggerNetKey = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 272),
/// <summary>
///
/// </summary>
/// <remarks>0x22000112</remarks>
BcdOSLoaderString_HypervisorProductSkuType = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 274),
/// <summary>
///
/// </summary>
/// <remarks>0x22000113</remarks>
BcdOSLoaderInteger_HypervisorRootProc = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 275),
/// <summary>
///
/// </summary>
/// <remarks>0x26000114</remarks>
BcdOSLoaderBoolean_HypervisorDebuggerNetDhcp = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 276),
/// <summary>
///
/// </summary>
/// <remarks>0x25000115</remarks>
BcdOSLoaderInteger_HypervisorIommuPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 277),
/// <summary>
///
/// </summary>
/// <remarks>0x26000116</remarks>
BcdOSLoaderBoolean_HypervisorUseVApic = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 278),
/// <summary>
///
/// </summary>
/// <remarks>0x22000117</remarks>
BcdOSLoaderString_HypervisorLoadOptions = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 279),
/// <summary>
/// BCDE_POLICY_OSLOADER_TYPE_HYPERVISOR_MSR_FILTER_POLICY
/// </summary>
/// <remarks>0x25000118</remarks>
BcdOSLoaderInteger_HypervisorMsrFilterPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 280),
/// <summary>
///
/// </summary>
/// <remarks>0x25000119</remarks>
BcdOSLoaderInteger_HypervisorMmioNxPolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 281),
/// <summary>
///
/// </summary>
/// <remarks>0x2500011A</remarks>
BcdOSLoaderInteger_HypervisorSchedulerType = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 282),
/// <summary>
///
/// </summary>
/// <remarks>0x2200011B</remarks>
BcdOSLoaderString_HypervisorRootProcNumaNodes = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 283),
/// <summary>
/// BCDE_POLICY_OSLOADER_TYPE_HYPERVISOR_PERFMON
/// </summary>
/// <remarks>0x2500011C</remarks>
BcdOSLoaderInteger_HypervisorPerfmon = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 284),
/// <summary>
///
/// </summary>
/// <remarks>0x2500011D</remarks>
BcdOSLoaderInteger_HypervisorRootProcPerCore = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 285),
/// <summary>
///
/// </summary>
/// <remarks>0x2200011E</remarks>
BcdOSLoaderString_HypervisorRootProcNumaNodeLps = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 286),
/// <summary>
///
/// </summary>
/// <remarks>0x25000120</remarks>
BcdOSLoaderInteger_XSavePolicy = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 288),
/// <summary>
///
/// </summary>
/// <remarks>0x25000121</remarks>
BcdOSLoaderInteger_XSaveAddFeature0 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 289),
/// <summary>
///
/// </summary>
/// <remarks>0x25000122</remarks>
BcdOSLoaderInteger_XSaveAddFeature1 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 290),
/// <summary>
///
/// </summary>
/// <remarks>0x25000123</remarks>
BcdOSLoaderInteger_XSaveAddFeature2 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 291),
/// <summary>
///
/// </summary>
/// <remarks>0x25000124</remarks>
BcdOSLoaderInteger_XSaveAddFeature3 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 292),
/// <summary>
///
/// </summary>
/// <remarks>0x25000125</remarks>
BcdOSLoaderInteger_XSaveAddFeature4 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 293),
/// <summary>
///
/// </summary>
/// <remarks>0x25000126</remarks>
BcdOSLoaderInteger_XSaveAddFeature5 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 294),
/// <summary>
///
/// </summary>
/// <remarks>0x25000127</remarks>
BcdOSLoaderInteger_XSaveAddFeature6 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 295),
/// <summary>
///
/// </summary>
/// <remarks>0x25000128</remarks>
BcdOSLoaderInteger_XSaveAddFeature7 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 296),
/// <summary>
///
/// </summary>
/// <remarks>0x25000129</remarks>
BcdOSLoaderInteger_XSaveRemoveFeature = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 297),
/// <summary>
///
/// </summary>
/// <remarks>0x2500012A</remarks>
BcdOSLoaderInteger_XSaveProcessorsMask = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 298),
/// <summary>
///
/// </summary>
/// <remarks>0x2500012B</remarks>
BcdOSLoaderInteger_XSaveDisable = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 299),
/// <summary>
///
/// </summary>
/// <remarks>0x2500012C</remarks>
BcdOSLoaderInteger_KernelDebuggerType = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 300),
/// <summary>
///
/// </summary>
/// <remarks>0x2200012D</remarks>
BcdOSLoaderString_KernelDebuggerBusParameters = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 301),
/// <summary>
///
/// </summary>
/// <remarks>0x2500012E</remarks>
BcdOSLoaderInteger_KernelDebuggerPortAddress = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 302),
/// <summary>
///
/// </summary>
/// <remarks>0x2500012F</remarks>
BcdOSLoaderInteger_KernelDebuggerPortNumber = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 303),
/// <summary>
///
/// </summary>
/// <remarks>0x25000130</remarks>
BcdOSLoaderInteger_ClaimedTpmCounter = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 304),
/// <summary>
///
/// </summary>
/// <remarks>0x25000131</remarks>
BcdOSLoaderInteger_KernelDebugger1394Channel = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 305),
/// <summary>
///
/// </summary>
/// <remarks>0x22000132</remarks>
BcdOSLoaderString_KernelDebuggerUsbTargetname = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 306),
/// <summary>
///
/// </summary>
/// <remarks>0x25000133</remarks>
BcdOSLoaderInteger_KernelDebuggerNetHostIp = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 307),
/// <summary>
///
/// </summary>
/// <remarks>0x25000134</remarks>
BcdOSLoaderInteger_KernelDebuggerNetHostPort = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 308),
/// <summary>
///
/// </summary>
/// <remarks>0x26000135</remarks>
BcdOSLoaderBoolean_KernelDebuggerNetDhcp = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 309),
/// <summary>
///
/// </summary>
/// <remarks>0x22000136</remarks>
BcdOSLoaderString_KernelDebuggerNetKey = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 310),
/// <summary>
///
/// </summary>
/// <remarks>0x22000137</remarks>
BcdOSLoaderString_IMCHiveName = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 311),
/// <summary>
///
/// </summary>
/// <remarks>0x21000138</remarks>
BcdOSLoaderDevice_IMCDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 312),
/// <summary>
///
/// </summary>
/// <remarks>0x25000139</remarks>
BcdOSLoaderInteger_KernelDebuggerBaudrate = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 313),
/// <summary>
///
/// </summary>
/// <remarks>0x22000140</remarks>
BcdOSLoaderString_ManufacturingMode = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 320),
/// <summary>
///
/// </summary>
/// <remarks>0x26000141</remarks>
BcdOSLoaderBoolean_EventLoggingEnabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 321),
/// <summary>
///
/// </summary>
/// <remarks>0x25000142</remarks>
BcdOSLoaderInteger_VsmLaunchType = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 322),
/// <summary>
/// Zero (0) indicates Disabled, one (1) indicates that Enabled and two (2) indicates strict mode.
/// </summary>
/// <remarks>0x25000144</remarks>
BcdOSLoaderInteger_HypervisorEnforcedCodeIntegrity = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_INTEGER, 324),
/// <summary>
///
/// </summary>
/// <remarks>0x26000145</remarks>
BcdOSLoaderBoolean_DtraceEnabled = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_BOOLEAN, 325),
/// <summary>
///
/// </summary>
/// <remarks>0x21000150</remarks>
BcdOSLoaderDevice_SystemDataDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 336),
/// <summary>
///
/// </summary>
/// <remarks>0x21000151</remarks>
BcdOSLoaderDevice_OsArcDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 337),
/// <summary>
///
/// </summary>
/// <remarks>0x21000153</remarks>
BcdOSLoaderDevice_OsDataDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 339),
/// <summary>
///
/// </summary>
/// <remarks>0x21000154</remarks>
BcdOSLoaderDevice_BspDevice = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 340),
/// <summary>
///
/// </summary>
/// <remarks>0x21000155</remarks>
BcdOSLoaderDevice_BspFilepath = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_DEVICE, 341),
/// <summary>
///
/// </summary>
/// <remarks>0x22000156</remarks>
BcdOSLoaderString_KernelDebuggerNetHostIpv6 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 342),
/// <summary>
///
/// </summary>
/// <remarks>0x22000161</remarks>
BcdOSLoaderString_HypervisorDebuggerNetHostIpv6 = MAKE_BCDE_DATA_TYPE(BCD_ELEMENT_DATATYPE_CLASS_APPLICATION, BCD_ELEMENT_DATATYPE_FORMAT_STRING, 353),
} BcdOSLoaderElementTypes;
View code on GitHub
No description available.