X86 platform drivers
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
@ 2026-04-21 20:01 Werner Sembach
  2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Werner Sembach @ 2026-04-21 20:01 UTC (permalink / raw)
  To: W_Armin, hansg, ilpo.jarvinen
  Cc: platform-driver-x86, linux-kernel, Werner Sembach

Hi,

This series is based on another not yet accepted series
https://lore.kernel.org/all/20260417050912.5582-1-W_Armin@gmx.de/

RFC because of that, because the third patch is not yet tested, and because
I have a question regarding the 3rd patch:

Should I abstract the call to wmi_evaluate_method away in a wrapper
function in uniwill-wmi somehow, or is it ok to have it straight in the
uniwill-laptop code like that? It is quite self contained.

Best regards,

Werner

Werner Sembach (3):
  platform/x86: uniwill-laptop: Make super key init lineup with other
    inits
  platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
  platform/x86: uniwill-laptop: Offer support to activate local dimming

 drivers/platform/x86/uniwill/uniwill-acpi.c | 195 ++++++++++++++++++--
 1 file changed, 182 insertions(+), 13 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits
  2026-04-21 20:01 [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Werner Sembach
@ 2026-04-21 20:01 ` Werner Sembach
  2026-04-22  9:33   ` Ilpo Järvinen
  2026-04-22 11:11   ` Armin Wolf
  2026-04-21 20:01 ` [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19) Werner Sembach
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 16+ messages in thread
From: Werner Sembach @ 2026-04-21 20:01 UTC (permalink / raw)
  To: W_Armin, hansg, ilpo.jarvinen
  Cc: platform-driver-x86, linux-kernel, Werner Sembach

The super key init, while being trivial, was the only one not in its own
method and before the EC init.

Make an own method and move it after EC init and probe call to make it
consistent with other initialization steps.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
 drivers/platform/x86/uniwill/uniwill-acpi.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index 766bc1ee192d2..7d1fdbacc6871 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -768,6 +768,14 @@ static ssize_t super_key_enable_show(struct device *dev, struct device_attribute
 
 static DEVICE_ATTR_RW(super_key_enable);
 
+static int super_key_enable_init(struct uniwill_data *data)
+{
+	if (!uniwill_device_supports(data, UNIWILL_FEATURE_SUPER_KEY))
+		return 0;
+
+	return devm_mutex_init(&data->dev, &data->super_key_lock);
+}
+
 static int uniwill_write_touchpad_toggle_enable(struct uniwill_data *data, bool status)
 {
 	unsigned int value;
@@ -1869,10 +1877,6 @@ static int uniwill_probe(struct platform_device *pdev)
 
 	data->regmap = regmap;
 
-	ret = devm_mutex_init(&pdev->dev, &data->super_key_lock);
-	if (ret < 0)
-		return ret;
-
 	ret = uniwill_ec_init(data);
 	if (ret < 0)
 		return ret;
@@ -1890,6 +1894,10 @@ static int uniwill_probe(struct platform_device *pdev)
 			return ret;
 	}
 
+	ret = super_key_enable_init(data);
+	if (ret < 0)
+		return ret;
+
 	ret = uniwill_battery_init(data);
 	if (ret < 0)
 		return ret;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
  2026-04-21 20:01 [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Werner Sembach
  2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
@ 2026-04-21 20:01 ` Werner Sembach
  2026-04-22  9:34   ` Ilpo Järvinen
  2026-04-22 11:17   ` Armin Wolf
  2026-04-21 20:01 ` [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming Werner Sembach
  2026-04-22 11:28 ` [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Armin Wolf
  3 siblings, 2 replies; 16+ messages in thread
From: Werner Sembach @ 2026-04-21 20:01 UTC (permalink / raw)
  To: W_Armin, hansg, ilpo.jarvinen
  Cc: platform-driver-x86, linux-kernel, Werner Sembach

The XMG Fusion (L19) also has a lightbar but with a different max
brightness value of 36 instead of 200.

This patch adds a new feature flag for the driver to correctly handle this
case and applies it to the mentioned device.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
 drivers/platform/x86/uniwill/uniwill-acpi.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index 7d1fdbacc6871..62d56cc67e2e8 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -318,7 +318,6 @@
 #define FAN_TABLE_LENGTH	16
 
 #define LED_CHANNELS		3
-#define LED_MAX_BRIGHTNESS	200
 
 #define UNIWILL_FEATURE_FN_LOCK			BIT(0)
 #define UNIWILL_FEATURE_SUPER_KEY		BIT(1)
@@ -344,6 +343,7 @@ struct uniwill_data {
 	acpi_handle handle;
 	struct regmap *regmap;
 	unsigned int features;
+	u8 lightbar_max_brightness;
 	struct acpi_battery_hook hook;
 	struct mutex battery_lock;	/* Protects the list of currently registered batteries */
 	union {
@@ -376,6 +376,7 @@ struct uniwill_battery_entry {
 
 struct uniwill_device_descriptor {
 	unsigned int features;
+	u8 lightbar_max_brightness;
 	/* Executed during driver probing */
 	int (*probe)(struct uniwill_data *data);
 };
@@ -1340,7 +1341,7 @@ static int uniwill_led_brightness_set(struct led_classdev *led_cdev, enum led_br
 
 	for (int i = 0; i < LED_CHANNELS; i++) {
 		/* Prevent the brightness values from overflowing */
-		value = min(LED_MAX_BRIGHTNESS, data->led_mc_subled_info[i].brightness);
+		value = min(data->lightbar_max_brightness, data->led_mc_subled_info[i].brightness);
 		ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], value);
 		if (ret < 0)
 			return ret;
@@ -1376,12 +1377,14 @@ static int uniwill_led_init(struct uniwill_data *data)
 		LED_COLOR_ID_GREEN,
 		LED_COLOR_ID_BLUE,
 	};
-	unsigned int value;
+	unsigned int value, max_brightness;
 	int ret;
 
 	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LIGHTBAR))
 		return 0;
 
+	max_brightness = data->lightbar_max_brightness;
+
 	ret = devm_mutex_init(data->dev, &data->led_lock);
 	if (ret < 0)
 		return ret;
@@ -1409,14 +1412,14 @@ static int uniwill_led_init(struct uniwill_data *data)
 		return ret;
 
 	data->led_mc_cdev.led_cdev.color = LED_COLOR_ID_MULTI;
-	data->led_mc_cdev.led_cdev.max_brightness = LED_MAX_BRIGHTNESS;
+	data->led_mc_cdev.led_cdev.max_brightness = max_brightness;
 	data->led_mc_cdev.led_cdev.flags = LED_REJECT_NAME_CONFLICT;
 	data->led_mc_cdev.led_cdev.brightness_set_blocking = uniwill_led_brightness_set;
 
 	if (value & LIGHTBAR_S0_OFF)
 		data->led_mc_cdev.led_cdev.brightness = 0;
 	else
-		data->led_mc_cdev.led_cdev.brightness = LED_MAX_BRIGHTNESS;
+		data->led_mc_cdev.led_cdev.brightness = max_brightness;
 
 	for (int i = 0; i < LED_CHANNELS; i++) {
 		data->led_mc_subled_info[i].color_index = color_indices[i];
@@ -1429,7 +1432,7 @@ static int uniwill_led_init(struct uniwill_data *data)
 		 * Make sure that the initial intensity value is not greater than
 		 * the maximum brightness.
 		 */
-		value = min(LED_MAX_BRIGHTNESS, value);
+		value = min(max_brightness, value);
 		ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], value);
 		if (ret < 0)
 			return ret;
@@ -1882,6 +1885,7 @@ static int uniwill_probe(struct platform_device *pdev)
 		return ret;
 
 	data->features = device_descriptor.features;
+	data->lightbar_max_brightness = device_descriptor.lightbar_max_brightness;
 
 	/*
 	 * Some devices might need to perform some device-specific initialization steps
@@ -2130,11 +2134,13 @@ static struct platform_driver uniwill_driver = {
 
 static struct uniwill_device_descriptor lapqc71a_lapqc71b_descriptor __initdata = {
 	.features = UNIWILL_FEATURE_SUPER_KEY |
+		    UNIWILL_FEATURE_LIGHTBAR |
 		    UNIWILL_FEATURE_BATTERY_CHARGE_LIMIT |
 		    UNIWILL_FEATURE_CPU_TEMP |
 		    UNIWILL_FEATURE_GPU_TEMP |
 		    UNIWILL_FEATURE_PRIMARY_FAN |
 		    UNIWILL_FEATURE_SECONDARY_FAN,
+	.lightbar_max_brightness = 36,
 };
 
 static struct uniwill_device_descriptor lapac71h_descriptor __initdata = {
@@ -2158,6 +2164,7 @@ static struct uniwill_device_descriptor lapkc71f_descriptor __initdata = {
 		    UNIWILL_FEATURE_GPU_TEMP |
 		    UNIWILL_FEATURE_PRIMARY_FAN |
 		    UNIWILL_FEATURE_SECONDARY_FAN,
+	.lightbar_max_brightness = 200,
 };
 
 /*
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming
  2026-04-21 20:01 [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Werner Sembach
  2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
  2026-04-21 20:01 ` [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19) Werner Sembach
@ 2026-04-21 20:01 ` Werner Sembach
  2026-04-21 22:03   ` Armin Wolf
  2026-04-22 11:28 ` [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Armin Wolf
  3 siblings, 1 reply; 16+ messages in thread
From: Werner Sembach @ 2026-04-21 20:01 UTC (permalink / raw)
  To: W_Armin, hansg, ilpo.jarvinen
  Cc: platform-driver-x86, linux-kernel, Werner Sembach

This patch adds a sysfs variable local_dimming to supported devices.
Setting it to true enables local dimming for the internal notebook display.

Currently only TUXEDO Stellaris 16 Gen7 Intel/AMD with mLED displays are
supported.

Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
 drivers/platform/x86/uniwill/uniwill-acpi.c | 162 +++++++++++++++++++-
 1 file changed, 158 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
index 62d56cc67e2e8..909d8608a2f80 100644
--- a/drivers/platform/x86/uniwill/uniwill-acpi.c
+++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
@@ -275,6 +275,9 @@
 #define EC_ADDR_USB_C_POWER_PRIORITY	0x07CC
 #define USB_C_POWER_PRIORITY		BIT(7)
 
+#define EC_ADDR_LOCAL_DIMMING_SUPPORT	0x0D4F
+#define LOCAL_DIMMING_SUPPORT		BIT(0)
+
 /* Same bits as EC_ADDR_LIGHTBAR_AC_CTRL except LIGHTBAR_S3_OFF */
 #define EC_ADDR_LIGHTBAR_BAT_CTRL	0x07E2
 
@@ -296,6 +299,14 @@
 
 #define EC_ADDR_GPU_FAN_SPEED_TABLE	0x0F50
 
+#define WMI_GUID_BC			"ABBC0F6F-8EA1-11D1-00A0-C90629100000"
+#define WMI_DEFAULT_INSTANCE		0x00
+#define WMI_DEFAULT_METHOD		0x04
+
+#define WMI_FUNC_SET_FEATURE		0x00000500
+#define WMI_FEATURE_LOCAL_DIMMING_OFF	0x0d
+#define WMI_FEATURE_LOCAL_DIMMING_ON	0x0e
+
 /*
  * Those two registers technically allow for manual fan control,
  * but are unstable on some models and are likely not meant to
@@ -332,6 +343,7 @@
 #define UNIWILL_FEATURE_SECONDARY_FAN		BIT(9)
 #define UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL	BIT(10)
 #define UNIWILL_FEATURE_USB_C_POWER_PRIORITY	BIT(11)
+#define UNIWILL_FEATURE_LOCAL_DIMMING		BIT(12)
 
 enum usb_c_power_priority_options {
 	USB_C_POWER_PRIORITY_CHARGING = 0,
@@ -367,6 +379,8 @@ struct uniwill_data {
 	struct notifier_block nb;
 	struct mutex usb_c_power_priority_lock; /* Protects dependent bit write and state safe */
 	enum usb_c_power_priority_options last_usb_c_power_priority_option;
+	struct mutex local_dimming_lock; /* Protects call to local dimming wmi method */
+	bool last_local_dimming_option;
 };
 
 struct uniwill_battery_entry {
@@ -774,7 +788,7 @@ static int super_key_enable_init(struct uniwill_data *data)
 	if (!uniwill_device_supports(data, UNIWILL_FEATURE_SUPER_KEY))
 		return 0;
 
-	return devm_mutex_init(&data->dev, &data->super_key_lock);
+	return devm_mutex_init(data->dev, &data->super_key_lock);
 }
 
 static int uniwill_write_touchpad_toggle_enable(struct uniwill_data *data, bool status)
@@ -1086,6 +1100,87 @@ static int usb_c_power_priority_init(struct uniwill_data *data)
 	return 0;
 }
 
+struct __packed uniwill_wmi_input {
+	u8 args[4];
+	u32 function;
+	/* Prevent accidential out of bounds access by the ACPI code */
+	u32 reserved[8];
+};
+
+static int set_local_dimming(bool enable)
+{
+	struct __packed uniwill_wmi_input wmi_input;
+	struct acpi_buffer wmi_buf = { (acpi_size) sizeof(wmi_input), &wmi_input };
+	acpi_status status;
+
+	wmi_input.function = WMI_FUNC_SET_FEATURE;
+	wmi_input.args[0] = enable ? WMI_FEATURE_LOCAL_DIMMING_ON : WMI_FEATURE_LOCAL_DIMMING_OFF;
+
+	status = wmi_evaluate_method(WMI_GUID_BC, WMI_DEFAULT_INSTANCE, WMI_DEFAULT_METHOD,
+				     &wmi_buf, &wmi_buf);
+	if (ACPI_FAILURE(status))
+		return -EIO;
+
+	return 0;
+}
+
+static ssize_t local_dimming_store(struct device *dev,
+				   struct device_attribute *attr,
+				   const char *buf, size_t count)
+{
+	struct uniwill_data *data = dev_get_drvdata(dev);
+	bool enable;
+	int ret;
+
+	ret = kstrtobool(buf, &enable);
+	if (ret < 0)
+		return ret;
+
+	guard(mutex)(&data->local_dimming_lock);
+
+	ret = set_local_dimming(enable);
+	if (ret)
+		return ret;
+
+	data->last_local_dimming_option = enable;
+
+	return count;
+}
+
+static ssize_t local_dimming_show(struct device *dev,
+				  struct device_attribute *attr,
+				  char *buf)
+{
+	struct uniwill_data *data = dev_get_drvdata(dev);
+
+	return sysfs_emit(buf, "%d\n", data->last_local_dimming_option);
+}
+
+static DEVICE_ATTR_RW(local_dimming);
+
+static int local_dimming_restore(struct uniwill_data *data)
+{
+	guard(mutex)(&data->local_dimming_lock);
+
+	return set_local_dimming(data->last_local_dimming_option);
+}
+
+static int local_dimming_init(struct uniwill_data *data)
+{
+	int ret;
+
+	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
+		return 0;
+
+	ret = devm_mutex_init(data->dev, &data->local_dimming_lock);
+	if (ret < 0)
+		return ret;
+
+	data->last_local_dimming_option = 0;
+
+	return local_dimming_restore(data);
+}
+
 static struct attribute *uniwill_attrs[] = {
 	/* Keyboard-related */
 	&dev_attr_fn_lock.attr,
@@ -1097,6 +1192,7 @@ static struct attribute *uniwill_attrs[] = {
 	/* Power-management-related */
 	&dev_attr_ctgp_offset.attr,
 	&dev_attr_usb_c_power_priority.attr,
+	&dev_attr_local_dimming.attr,
 	NULL
 };
 
@@ -1136,6 +1232,11 @@ static umode_t uniwill_attr_is_visible(struct kobject *kobj, struct attribute *a
 			return attr->mode;
 	}
 
+	if (attr == &dev_attr_local_dimming.attr) {
+		if (uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
+			return attr->mode;
+	}
+
 	return 0;
 }
 
@@ -1922,6 +2023,10 @@ static int uniwill_probe(struct platform_device *pdev)
 	if (ret < 0)
 		return ret;
 
+	ret = local_dimming_init(data);
+	if (ret < 0)
+		return ret;
+
 	return uniwill_input_init(data);
 }
 
@@ -2075,6 +2180,14 @@ static int uniwill_resume_usb_c_power_priority(struct uniwill_data *data)
 	return usb_c_power_priority_restore(data);
 }
 
+static int uniwill_resume_local_dimming(struct uniwill_data *data)
+{
+	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
+		return 0;
+
+	return local_dimming_restore(data);
+}
+
 static int uniwill_resume(struct device *dev)
 {
 	struct uniwill_data *data = dev_get_drvdata(dev);
@@ -2106,7 +2219,11 @@ static int uniwill_resume(struct device *dev)
 	if (ret < 0)
 		return ret;
 
-	return uniwill_resume_usb_c_power_priority(data);
+	ret = uniwill_resume_usb_c_power_priority(data);
+	if (ret < 0)
+		return ret;
+
+	return uniwill_resume_local_dimming(data);
 }
 
 static DEFINE_SIMPLE_DEV_PM_OPS(uniwill_pm_ops, uniwill_suspend, uniwill_resume);
@@ -2222,6 +2339,17 @@ static struct uniwill_device_descriptor tux_featureset_3_nvidia_descriptor __ini
 		    UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL,
 };
 
+static struct uniwill_device_descriptor tux_featureset_3_nvidia_mled_descriptor __initdata = {
+	.features = UNIWILL_FEATURE_FN_LOCK |
+		    UNIWILL_FEATURE_SUPER_KEY |
+		    UNIWILL_FEATURE_CPU_TEMP |
+		    UNIWILL_FEATURE_GPU_TEMP |
+		    UNIWILL_FEATURE_PRIMARY_FAN |
+		    UNIWILL_FEATURE_SECONDARY_FAN |
+		    UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
+		    UNIWILL_FEATURE_LOCAL_DIMMING,
+};
+
 static int phxtxx1_probe(struct uniwill_data *data)
 {
 	unsigned int value;
@@ -2272,6 +2400,32 @@ static struct uniwill_device_descriptor phxarx1_phxaqf1_descriptor __initdata =
 	.probe = phxarx1_phxaqf1_probe,
 };
 
+static int x6fr5xxy_probe(struct uniwill_data *data)
+{
+	unsigned int value;
+	int ret;
+
+	ret = regmap_read(data->regmap, EC_ADDR_LOCAL_DIMMING_SUPPORT, &value);
+	if (ret < 0)
+		return ret;
+
+	if (value != 0xff && value & LOCAL_DIMMING_SUPPORT)
+		data->features |= UNIWILL_FEATURE_LOCAL_DIMMING;
+
+	return 0;
+};
+
+static struct uniwill_device_descriptor x6fr5xxy_descriptor __initdata = {
+	.features = UNIWILL_FEATURE_FN_LOCK |
+		    UNIWILL_FEATURE_SUPER_KEY |
+		    UNIWILL_FEATURE_CPU_TEMP |
+		    UNIWILL_FEATURE_GPU_TEMP |
+		    UNIWILL_FEATURE_PRIMARY_FAN |
+		    UNIWILL_FEATURE_SECONDARY_FAN |
+		    UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL,
+	.probe = x6fr5xxy_probe,
+};
+
 static struct uniwill_device_descriptor pf5pu1g_descriptor __initdata = {
 	.features = UNIWILL_FEATURE_FN_LOCK |
 		    UNIWILL_FEATURE_SUPER_KEY |
@@ -2662,7 +2816,7 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
 			DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
 			DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6FR5xxY"),
 		},
-		.driver_data = &tux_featureset_3_nvidia_descriptor,
+		.driver_data = &x6fr5xxy_descriptor,
 	},
 	{
 		.ident = "TUXEDO Stellaris 16 Gen7 Intel",
@@ -2678,7 +2832,7 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
 			DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
 			DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
 		},
-		.driver_data = &tux_featureset_3_nvidia_descriptor,
+		.driver_data = &tux_featureset_3_nvidia_mled_descriptor,
 	},
 	{
 		.ident = "TUXEDO Book BA15 Gen10 AMD",
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming
  2026-04-21 20:01 ` [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming Werner Sembach
@ 2026-04-21 22:03   ` Armin Wolf
  2026-04-22 13:19     ` Werner Sembach
  0 siblings, 1 reply; 16+ messages in thread
From: Armin Wolf @ 2026-04-21 22:03 UTC (permalink / raw)
  To: Werner Sembach, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Am 21.04.26 um 22:01 schrieb Werner Sembach:

> This patch adds a sysfs variable local_dimming to supported devices.
> Setting it to true enables local dimming for the internal notebook display.
>
> Currently only TUXEDO Stellaris 16 Gen7 Intel/AMD with mLED displays are
> supported.
>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>   drivers/platform/x86/uniwill/uniwill-acpi.c | 162 +++++++++++++++++++-
>   1 file changed, 158 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
> index 62d56cc67e2e8..909d8608a2f80 100644
> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
> @@ -275,6 +275,9 @@
>   #define EC_ADDR_USB_C_POWER_PRIORITY	0x07CC
>   #define USB_C_POWER_PRIORITY		BIT(7)
>   
> +#define EC_ADDR_LOCAL_DIMMING_SUPPORT	0x0D4F
> +#define LOCAL_DIMMING_SUPPORT		BIT(0)
> +
>   /* Same bits as EC_ADDR_LIGHTBAR_AC_CTRL except LIGHTBAR_S3_OFF */
>   #define EC_ADDR_LIGHTBAR_BAT_CTRL	0x07E2
>   
> @@ -296,6 +299,14 @@
>   
>   #define EC_ADDR_GPU_FAN_SPEED_TABLE	0x0F50
>   
> +#define WMI_GUID_BC			"ABBC0F6F-8EA1-11D1-00A0-C90629100000"
> +#define WMI_DEFAULT_INSTANCE		0x00
> +#define WMI_DEFAULT_METHOD		0x04
> +
> +#define WMI_FUNC_SET_FEATURE		0x00000500
> +#define WMI_FEATURE_LOCAL_DIMMING_OFF	0x0d
> +#define WMI_FEATURE_LOCAL_DIMMING_ON	0x0e
> +
>   /*
>    * Those two registers technically allow for manual fan control,
>    * but are unstable on some models and are likely not meant to
> @@ -332,6 +343,7 @@
>   #define UNIWILL_FEATURE_SECONDARY_FAN		BIT(9)
>   #define UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL	BIT(10)
>   #define UNIWILL_FEATURE_USB_C_POWER_PRIORITY	BIT(11)
> +#define UNIWILL_FEATURE_LOCAL_DIMMING		BIT(12)
>   
>   enum usb_c_power_priority_options {
>   	USB_C_POWER_PRIORITY_CHARGING = 0,
> @@ -367,6 +379,8 @@ struct uniwill_data {
>   	struct notifier_block nb;
>   	struct mutex usb_c_power_priority_lock; /* Protects dependent bit write and state safe */
>   	enum usb_c_power_priority_options last_usb_c_power_priority_option;
> +	struct mutex local_dimming_lock; /* Protects call to local dimming wmi method */
> +	bool last_local_dimming_option;
>   };
>   
>   struct uniwill_battery_entry {
> @@ -774,7 +788,7 @@ static int super_key_enable_init(struct uniwill_data *data)
>   	if (!uniwill_device_supports(data, UNIWILL_FEATURE_SUPER_KEY))
>   		return 0;
>   
> -	return devm_mutex_init(&data->dev, &data->super_key_lock);
> +	return devm_mutex_init(data->dev, &data->super_key_lock);
>   }
>   
>   static int uniwill_write_touchpad_toggle_enable(struct uniwill_data *data, bool status)
> @@ -1086,6 +1100,87 @@ static int usb_c_power_priority_init(struct uniwill_data *data)
>   	return 0;
>   }
>   
> +struct __packed uniwill_wmi_input {
> +	u8 args[4];
> +	u32 function;
> +	/* Prevent accidential out of bounds access by the ACPI code */
> +	u32 reserved[8];
> +};
> +
> +static int set_local_dimming(bool enable)
> +{
> +	struct __packed uniwill_wmi_input wmi_input;
> +	struct acpi_buffer wmi_buf = { (acpi_size) sizeof(wmi_input), &wmi_input };
> +	acpi_status status;
> +
> +	wmi_input.function = WMI_FUNC_SET_FEATURE;
> +	wmi_input.args[0] = enable ? WMI_FEATURE_LOCAL_DIMMING_ON : WMI_FEATURE_LOCAL_DIMMING_OFF;
> +
> +	status = wmi_evaluate_method(WMI_GUID_BC, WMI_DEFAULT_INSTANCE, WMI_DEFAULT_METHOD,
> +				     &wmi_buf, &wmi_buf);

NAK, this API is deprecated and should not be used. Instead we should register a WMI driver during module
initialization that uses wmidev_invoke_method().

Can you share with me the ACPI tables of a device that supports this feature?

Thanks,
Armin Wolf

> +	if (ACPI_FAILURE(status))
> +		return -EIO;
> +
> +	return 0;
> +}
> +
> +static ssize_t local_dimming_store(struct device *dev,
> +				   struct device_attribute *attr,
> +				   const char *buf, size_t count)
> +{
> +	struct uniwill_data *data = dev_get_drvdata(dev);
> +	bool enable;
> +	int ret;
> +
> +	ret = kstrtobool(buf, &enable);
> +	if (ret < 0)
> +		return ret;
> +
> +	guard(mutex)(&data->local_dimming_lock);
> +
> +	ret = set_local_dimming(enable);
> +	if (ret)
> +		return ret;
> +
> +	data->last_local_dimming_option = enable;
> +
> +	return count;
> +}
> +
> +static ssize_t local_dimming_show(struct device *dev,
> +				  struct device_attribute *attr,
> +				  char *buf)
> +{
> +	struct uniwill_data *data = dev_get_drvdata(dev);
> +
> +	return sysfs_emit(buf, "%d\n", data->last_local_dimming_option);
> +}
> +
> +static DEVICE_ATTR_RW(local_dimming);
> +
> +static int local_dimming_restore(struct uniwill_data *data)
> +{
> +	guard(mutex)(&data->local_dimming_lock);
> +
> +	return set_local_dimming(data->last_local_dimming_option);
> +}
> +
> +static int local_dimming_init(struct uniwill_data *data)
> +{
> +	int ret;
> +
> +	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
> +		return 0;
> +
> +	ret = devm_mutex_init(data->dev, &data->local_dimming_lock);
> +	if (ret < 0)
> +		return ret;
> +
> +	data->last_local_dimming_option = 0;
> +
> +	return local_dimming_restore(data);
> +}
> +
>   static struct attribute *uniwill_attrs[] = {
>   	/* Keyboard-related */
>   	&dev_attr_fn_lock.attr,
> @@ -1097,6 +1192,7 @@ static struct attribute *uniwill_attrs[] = {
>   	/* Power-management-related */
>   	&dev_attr_ctgp_offset.attr,
>   	&dev_attr_usb_c_power_priority.attr,
> +	&dev_attr_local_dimming.attr,
>   	NULL
>   };
>   
> @@ -1136,6 +1232,11 @@ static umode_t uniwill_attr_is_visible(struct kobject *kobj, struct attribute *a
>   			return attr->mode;
>   	}
>   
> +	if (attr == &dev_attr_local_dimming.attr) {
> +		if (uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
> +			return attr->mode;
> +	}
> +
>   	return 0;
>   }
>   
> @@ -1922,6 +2023,10 @@ static int uniwill_probe(struct platform_device *pdev)
>   	if (ret < 0)
>   		return ret;
>   
> +	ret = local_dimming_init(data);
> +	if (ret < 0)
> +		return ret;
> +
>   	return uniwill_input_init(data);
>   }
>   
> @@ -2075,6 +2180,14 @@ static int uniwill_resume_usb_c_power_priority(struct uniwill_data *data)
>   	return usb_c_power_priority_restore(data);
>   }
>   
> +static int uniwill_resume_local_dimming(struct uniwill_data *data)
> +{
> +	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
> +		return 0;
> +
> +	return local_dimming_restore(data);
> +}
> +
>   static int uniwill_resume(struct device *dev)
>   {
>   	struct uniwill_data *data = dev_get_drvdata(dev);
> @@ -2106,7 +2219,11 @@ static int uniwill_resume(struct device *dev)
>   	if (ret < 0)
>   		return ret;
>   
> -	return uniwill_resume_usb_c_power_priority(data);
> +	ret = uniwill_resume_usb_c_power_priority(data);
> +	if (ret < 0)
> +		return ret;
> +
> +	return uniwill_resume_local_dimming(data);
>   }
>   
>   static DEFINE_SIMPLE_DEV_PM_OPS(uniwill_pm_ops, uniwill_suspend, uniwill_resume);
> @@ -2222,6 +2339,17 @@ static struct uniwill_device_descriptor tux_featureset_3_nvidia_descriptor __ini
>   		    UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL,
>   };
>   
> +static struct uniwill_device_descriptor tux_featureset_3_nvidia_mled_descriptor __initdata = {
> +	.features = UNIWILL_FEATURE_FN_LOCK |
> +		    UNIWILL_FEATURE_SUPER_KEY |
> +		    UNIWILL_FEATURE_CPU_TEMP |
> +		    UNIWILL_FEATURE_GPU_TEMP |
> +		    UNIWILL_FEATURE_PRIMARY_FAN |
> +		    UNIWILL_FEATURE_SECONDARY_FAN |
> +		    UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
> +		    UNIWILL_FEATURE_LOCAL_DIMMING,
> +};
> +
>   static int phxtxx1_probe(struct uniwill_data *data)
>   {
>   	unsigned int value;
> @@ -2272,6 +2400,32 @@ static struct uniwill_device_descriptor phxarx1_phxaqf1_descriptor __initdata =
>   	.probe = phxarx1_phxaqf1_probe,
>   };
>   
> +static int x6fr5xxy_probe(struct uniwill_data *data)
> +{
> +	unsigned int value;
> +	int ret;
> +
> +	ret = regmap_read(data->regmap, EC_ADDR_LOCAL_DIMMING_SUPPORT, &value);
> +	if (ret < 0)
> +		return ret;
> +
> +	if (value != 0xff && value & LOCAL_DIMMING_SUPPORT)
> +		data->features |= UNIWILL_FEATURE_LOCAL_DIMMING;
> +
> +	return 0;
> +};
> +
> +static struct uniwill_device_descriptor x6fr5xxy_descriptor __initdata = {
> +	.features = UNIWILL_FEATURE_FN_LOCK |
> +		    UNIWILL_FEATURE_SUPER_KEY |
> +		    UNIWILL_FEATURE_CPU_TEMP |
> +		    UNIWILL_FEATURE_GPU_TEMP |
> +		    UNIWILL_FEATURE_PRIMARY_FAN |
> +		    UNIWILL_FEATURE_SECONDARY_FAN |
> +		    UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL,
> +	.probe = x6fr5xxy_probe,
> +};
> +
>   static struct uniwill_device_descriptor pf5pu1g_descriptor __initdata = {
>   	.features = UNIWILL_FEATURE_FN_LOCK |
>   		    UNIWILL_FEATURE_SUPER_KEY |
> @@ -2662,7 +2816,7 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
>   			DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
>   			DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6FR5xxY"),
>   		},
> -		.driver_data = &tux_featureset_3_nvidia_descriptor,
> +		.driver_data = &x6fr5xxy_descriptor,
>   	},
>   	{
>   		.ident = "TUXEDO Stellaris 16 Gen7 Intel",
> @@ -2678,7 +2832,7 @@ static const struct dmi_system_id uniwill_dmi_table[] __initconst = {
>   			DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
>   			DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
>   		},
> -		.driver_data = &tux_featureset_3_nvidia_descriptor,
> +		.driver_data = &tux_featureset_3_nvidia_mled_descriptor,
>   	},
>   	{
>   		.ident = "TUXEDO Book BA15 Gen10 AMD",

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits
  2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
@ 2026-04-22  9:33   ` Ilpo Järvinen
  2026-04-22 11:11   ` Armin Wolf
  1 sibling, 0 replies; 16+ messages in thread
From: Ilpo Järvinen @ 2026-04-22  9:33 UTC (permalink / raw)
  To: Werner Sembach; +Cc: W_Armin, Hans de Goede, platform-driver-x86, LKML

[-- Attachment #1: Type: text/plain, Size: 1891 bytes --]

On Tue, 21 Apr 2026, Werner Sembach wrote:

> The super key init, while being trivial, was the only one not in its own
> method and before the EC init.
> 
> Make an own method and move it after EC init and probe call to make it
> consistent with other initialization steps.
> 
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>  drivers/platform/x86/uniwill/uniwill-acpi.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
> index 766bc1ee192d2..7d1fdbacc6871 100644
> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
> @@ -768,6 +768,14 @@ static ssize_t super_key_enable_show(struct device *dev, struct device_attribute
>  
>  static DEVICE_ATTR_RW(super_key_enable);
>  
> +static int super_key_enable_init(struct uniwill_data *data)
> +{
> +	if (!uniwill_device_supports(data, UNIWILL_FEATURE_SUPER_KEY))
> +		return 0;
> +
> +	return devm_mutex_init(&data->dev, &data->super_key_lock);
> +}
> +
>  static int uniwill_write_touchpad_toggle_enable(struct uniwill_data *data, bool status)
>  {
>  	unsigned int value;
> @@ -1869,10 +1877,6 @@ static int uniwill_probe(struct platform_device *pdev)
>  
>  	data->regmap = regmap;
>  
> -	ret = devm_mutex_init(&pdev->dev, &data->super_key_lock);
> -	if (ret < 0)
> -		return ret;
> -
>  	ret = uniwill_ec_init(data);
>  	if (ret < 0)
>  		return ret;
> @@ -1890,6 +1894,10 @@ static int uniwill_probe(struct platform_device *pdev)
>  			return ret;
>  	}
>  
> +	ret = super_key_enable_init(data);
> +	if (ret < 0)
> +		return ret;
> +
>  	ret = uniwill_battery_init(data);
>  	if (ret < 0)
>  		return ret;
> 

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

-- 
 i.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
  2026-04-21 20:01 ` [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19) Werner Sembach
@ 2026-04-22  9:34   ` Ilpo Järvinen
  2026-04-22 11:17   ` Armin Wolf
  1 sibling, 0 replies; 16+ messages in thread
From: Ilpo Järvinen @ 2026-04-22  9:34 UTC (permalink / raw)
  To: Werner Sembach; +Cc: W_Armin, Hans de Goede, platform-driver-x86, LKML

[-- Attachment #1: Type: text/plain, Size: 4944 bytes --]

On Tue, 21 Apr 2026, Werner Sembach wrote:

> The XMG Fusion (L19) also has a lightbar but with a different max
> brightness value of 36 instead of 200.
> 
> This patch adds a new feature flag for the driver to correctly handle this
> case and applies it to the mentioned device.
> 
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>  drivers/platform/x86/uniwill/uniwill-acpi.c | 19 +++++++++++++------
>  1 file changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
> index 7d1fdbacc6871..62d56cc67e2e8 100644
> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
> @@ -318,7 +318,6 @@
>  #define FAN_TABLE_LENGTH	16
>  
>  #define LED_CHANNELS		3
> -#define LED_MAX_BRIGHTNESS	200
>  
>  #define UNIWILL_FEATURE_FN_LOCK			BIT(0)
>  #define UNIWILL_FEATURE_SUPER_KEY		BIT(1)
> @@ -344,6 +343,7 @@ struct uniwill_data {
>  	acpi_handle handle;
>  	struct regmap *regmap;
>  	unsigned int features;
> +	u8 lightbar_max_brightness;
>  	struct acpi_battery_hook hook;
>  	struct mutex battery_lock;	/* Protects the list of currently registered batteries */
>  	union {
> @@ -376,6 +376,7 @@ struct uniwill_battery_entry {
>  
>  struct uniwill_device_descriptor {
>  	unsigned int features;
> +	u8 lightbar_max_brightness;
>  	/* Executed during driver probing */
>  	int (*probe)(struct uniwill_data *data);
>  };
> @@ -1340,7 +1341,7 @@ static int uniwill_led_brightness_set(struct led_classdev *led_cdev, enum led_br
>  
>  	for (int i = 0; i < LED_CHANNELS; i++) {
>  		/* Prevent the brightness values from overflowing */
> -		value = min(LED_MAX_BRIGHTNESS, data->led_mc_subled_info[i].brightness);
> +		value = min(data->lightbar_max_brightness, data->led_mc_subled_info[i].brightness);
>  		ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], value);
>  		if (ret < 0)
>  			return ret;
> @@ -1376,12 +1377,14 @@ static int uniwill_led_init(struct uniwill_data *data)
>  		LED_COLOR_ID_GREEN,
>  		LED_COLOR_ID_BLUE,
>  	};
> -	unsigned int value;
> +	unsigned int value, max_brightness;
>  	int ret;
>  
>  	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LIGHTBAR))
>  		return 0;
>  
> +	max_brightness = data->lightbar_max_brightness;
> +
>  	ret = devm_mutex_init(data->dev, &data->led_lock);
>  	if (ret < 0)
>  		return ret;
> @@ -1409,14 +1412,14 @@ static int uniwill_led_init(struct uniwill_data *data)
>  		return ret;
>  
>  	data->led_mc_cdev.led_cdev.color = LED_COLOR_ID_MULTI;
> -	data->led_mc_cdev.led_cdev.max_brightness = LED_MAX_BRIGHTNESS;
> +	data->led_mc_cdev.led_cdev.max_brightness = max_brightness;
>  	data->led_mc_cdev.led_cdev.flags = LED_REJECT_NAME_CONFLICT;
>  	data->led_mc_cdev.led_cdev.brightness_set_blocking = uniwill_led_brightness_set;
>  
>  	if (value & LIGHTBAR_S0_OFF)
>  		data->led_mc_cdev.led_cdev.brightness = 0;
>  	else
> -		data->led_mc_cdev.led_cdev.brightness = LED_MAX_BRIGHTNESS;
> +		data->led_mc_cdev.led_cdev.brightness = max_brightness;
>  
>  	for (int i = 0; i < LED_CHANNELS; i++) {
>  		data->led_mc_subled_info[i].color_index = color_indices[i];
> @@ -1429,7 +1432,7 @@ static int uniwill_led_init(struct uniwill_data *data)
>  		 * Make sure that the initial intensity value is not greater than
>  		 * the maximum brightness.
>  		 */
> -		value = min(LED_MAX_BRIGHTNESS, value);
> +		value = min(max_brightness, value);
>  		ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], value);
>  		if (ret < 0)
>  			return ret;
> @@ -1882,6 +1885,7 @@ static int uniwill_probe(struct platform_device *pdev)
>  		return ret;
>  
>  	data->features = device_descriptor.features;
> +	data->lightbar_max_brightness = device_descriptor.lightbar_max_brightness;
>  
>  	/*
>  	 * Some devices might need to perform some device-specific initialization steps
> @@ -2130,11 +2134,13 @@ static struct platform_driver uniwill_driver = {
>  
>  static struct uniwill_device_descriptor lapqc71a_lapqc71b_descriptor __initdata = {
>  	.features = UNIWILL_FEATURE_SUPER_KEY |
> +		    UNIWILL_FEATURE_LIGHTBAR |
>  		    UNIWILL_FEATURE_BATTERY_CHARGE_LIMIT |
>  		    UNIWILL_FEATURE_CPU_TEMP |
>  		    UNIWILL_FEATURE_GPU_TEMP |
>  		    UNIWILL_FEATURE_PRIMARY_FAN |
>  		    UNIWILL_FEATURE_SECONDARY_FAN,
> +	.lightbar_max_brightness = 36,
>  };
>  
>  static struct uniwill_device_descriptor lapac71h_descriptor __initdata = {
> @@ -2158,6 +2164,7 @@ static struct uniwill_device_descriptor lapkc71f_descriptor __initdata = {
>  		    UNIWILL_FEATURE_GPU_TEMP |
>  		    UNIWILL_FEATURE_PRIMARY_FAN |
>  		    UNIWILL_FEATURE_SECONDARY_FAN,
> +	.lightbar_max_brightness = 200,
>  };
>  
>  /*
> 

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

-- 
 i.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits
  2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
  2026-04-22  9:33   ` Ilpo Järvinen
@ 2026-04-22 11:11   ` Armin Wolf
  1 sibling, 0 replies; 16+ messages in thread
From: Armin Wolf @ 2026-04-22 11:11 UTC (permalink / raw)
  To: Werner Sembach, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Am 21.04.26 um 22:01 schrieb Werner Sembach:
> The super key init, while being trivial, was the only one not in its own
> method and before the EC init.
> 
> Make an own method and move it after EC init and probe call to make it
> consistent with other initialization steps.
> 

Reviewed-by: Armin Wolf <W_Armin@gmx.de>

> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>   drivers/platform/x86/uniwill/uniwill-acpi.c | 16 ++++++++++++----
>   1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
> index 766bc1ee192d2..7d1fdbacc6871 100644
> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
> @@ -768,6 +768,14 @@ static ssize_t super_key_enable_show(struct device *dev, struct device_attribute
>   
>   static DEVICE_ATTR_RW(super_key_enable);
>   
> +static int super_key_enable_init(struct uniwill_data *data)
> +{
> +	if (!uniwill_device_supports(data, UNIWILL_FEATURE_SUPER_KEY))
> +		return 0;
> +
> +	return devm_mutex_init(&data->dev, &data->super_key_lock);
> +}
> +
>   static int uniwill_write_touchpad_toggle_enable(struct uniwill_data *data, bool status)
>   {
>   	unsigned int value;
> @@ -1869,10 +1877,6 @@ static int uniwill_probe(struct platform_device *pdev)
>   
>   	data->regmap = regmap;
>   
> -	ret = devm_mutex_init(&pdev->dev, &data->super_key_lock);
> -	if (ret < 0)
> -		return ret;
> -
>   	ret = uniwill_ec_init(data);
>   	if (ret < 0)
>   		return ret;
> @@ -1890,6 +1894,10 @@ static int uniwill_probe(struct platform_device *pdev)
>   			return ret;
>   	}
>   
> +	ret = super_key_enable_init(data);
> +	if (ret < 0)
> +		return ret;
> +
>   	ret = uniwill_battery_init(data);
>   	if (ret < 0)
>   		return ret;


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
  2026-04-21 20:01 ` [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19) Werner Sembach
  2026-04-22  9:34   ` Ilpo Järvinen
@ 2026-04-22 11:17   ` Armin Wolf
  2026-04-22 11:29     ` Armin Wolf
  2026-04-22 13:13     ` Werner Sembach
  1 sibling, 2 replies; 16+ messages in thread
From: Armin Wolf @ 2026-04-22 11:17 UTC (permalink / raw)
  To: Werner Sembach, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Am 21.04.26 um 22:01 schrieb Werner Sembach:
> The XMG Fusion (L19) also has a lightbar but with a different max
> brightness value of 36 instead of 200.
> 
> This patch adds a new feature flag for the driver to correctly handle this
> case and applies it to the mentioned device.
> 
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>   drivers/platform/x86/uniwill/uniwill-acpi.c | 19 +++++++++++++------
>   1 file changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/platform/x86/uniwill/uniwill-acpi.c
> index 7d1fdbacc6871..62d56cc67e2e8 100644
> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
> @@ -318,7 +318,6 @@
>   #define FAN_TABLE_LENGTH	16
>   
>   #define LED_CHANNELS		3
> -#define LED_MAX_BRIGHTNESS	200
>   
>   #define UNIWILL_FEATURE_FN_LOCK			BIT(0)
>   #define UNIWILL_FEATURE_SUPER_KEY		BIT(1)
> @@ -344,6 +343,7 @@ struct uniwill_data {
>   	acpi_handle handle;
>   	struct regmap *regmap;
>   	unsigned int features;
> +	u8 lightbar_max_brightness;
>   	struct acpi_battery_hook hook;
>   	struct mutex battery_lock;	/* Protects the list of currently registered batteries */
>   	union {
> @@ -376,6 +376,7 @@ struct uniwill_battery_entry {
>   
>   struct uniwill_device_descriptor {
>   	unsigned int features;
> +	u8 lightbar_max_brightness;
>   	/* Executed during driver probing */
>   	int (*probe)(struct uniwill_data *data);
>   };
> @@ -1340,7 +1341,7 @@ static int uniwill_led_brightness_set(struct led_classdev *led_cdev, enum led_br
>   
>   	for (int i = 0; i < LED_CHANNELS; i++) {
>   		/* Prevent the brightness values from overflowing */
> -		value = min(LED_MAX_BRIGHTNESS, data->led_mc_subled_info[i].brightness);
> +		value = min(data->lightbar_max_brightness, data->led_mc_subled_info[i].brightness);
>   		ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], value);
>   		if (ret < 0)
>   			return ret;
> @@ -1376,12 +1377,14 @@ static int uniwill_led_init(struct uniwill_data *data)
>   		LED_COLOR_ID_GREEN,
>   		LED_COLOR_ID_BLUE,
>   	};
> -	unsigned int value;
> +	unsigned int value, max_brightness;
>   	int ret;
>   
>   	if (!uniwill_device_supports(data, UNIWILL_FEATURE_LIGHTBAR))
>   		return 0;
>   
> +	max_brightness = data->lightbar_max_brightness;

Please drop the max_brightness variable and assign 
led_cdev.max_brightness and led_cdev.brightness directly.

> +
>   	ret = devm_mutex_init(data->dev, &data->led_lock);
>   	if (ret < 0)
>   		return ret;
> @@ -1409,14 +1412,14 @@ static int uniwill_led_init(struct uniwill_data *data)
>   		return ret;
>   
>   	data->led_mc_cdev.led_cdev.color = LED_COLOR_ID_MULTI;
> -	data->led_mc_cdev.led_cdev.max_brightness = LED_MAX_BRIGHTNESS;
> +	data->led_mc_cdev.led_cdev.max_brightness = max_brightness;
>   	data->led_mc_cdev.led_cdev.flags = LED_REJECT_NAME_CONFLICT;
>   	data->led_mc_cdev.led_cdev.brightness_set_blocking = uniwill_led_brightness_set;
>   
>   	if (value & LIGHTBAR_S0_OFF)
>   		data->led_mc_cdev.led_cdev.brightness = 0;
>   	else
> -		data->led_mc_cdev.led_cdev.brightness = LED_MAX_BRIGHTNESS;
> +		data->led_mc_cdev.led_cdev.brightness = max_brightness;
>   
>   	for (int i = 0; i < LED_CHANNELS; i++) {
>   		data->led_mc_subled_info[i].color_index = color_indices[i];
> @@ -1429,7 +1432,7 @@ static int uniwill_led_init(struct uniwill_data *data)
>   		 * Make sure that the initial intensity value is not greater than
>   		 * the maximum brightness.
>   		 */
> -		value = min(LED_MAX_BRIGHTNESS, value);
> +		value = min(max_brightness, value);
>   		ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], value);
>   		if (ret < 0)
>   			return ret;
> @@ -1882,6 +1885,7 @@ static int uniwill_probe(struct platform_device *pdev)
>   		return ret;
>   
>   	data->features = device_descriptor.features;
> +	data->lightbar_max_brightness = device_descriptor.lightbar_max_brightness;
>   
>   	/*
>   	 * Some devices might need to perform some device-specific initialization steps
> @@ -2130,11 +2134,13 @@ static struct platform_driver uniwill_driver = {
>   
>   static struct uniwill_device_descriptor lapqc71a_lapqc71b_descriptor __initdata = {
>   	.features = UNIWILL_FEATURE_SUPER_KEY |
> +		    UNIWILL_FEATURE_LIGHTBAR |
>   		    UNIWILL_FEATURE_BATTERY_CHARGE_LIMIT |
>   		    UNIWILL_FEATURE_CPU_TEMP |
>   		    UNIWILL_FEATURE_GPU_TEMP |
>   		    UNIWILL_FEATURE_PRIMARY_FAN |
>   		    UNIWILL_FEATURE_SECONDARY_FAN,
> +	.lightbar_max_brightness = 36,
>   };
>   
>   static struct uniwill_device_descriptor lapac71h_descriptor __initdata = {
> @@ -2158,6 +2164,7 @@ static struct uniwill_device_descriptor lapkc71f_descriptor __initdata = {
>   		    UNIWILL_FEATURE_GPU_TEMP |
>   		    UNIWILL_FEATURE_PRIMARY_FAN |
>   		    UNIWILL_FEATURE_SECONDARY_FAN,
> +	.lightbar_max_brightness = 200,

Please also set lightbar_max_brightness to 200 during module 
initialization when the "force" parameter is set.

I suggest you rebase this series on top of the "platform/x86: 
uniwill-laptop: Charging-related improvements" series to avoid merge 
conflicts.

Thanks,
Armin Wolf

>   };
>   
>   /*


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
  2026-04-21 20:01 [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Werner Sembach
                   ` (2 preceding siblings ...)
  2026-04-21 20:01 ` [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming Werner Sembach
@ 2026-04-22 11:28 ` Armin Wolf
  2026-04-22 15:30   ` Werner Sembach
  3 siblings, 1 reply; 16+ messages in thread
From: Armin Wolf @ 2026-04-22 11:28 UTC (permalink / raw)
  To: Werner Sembach, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Am 21.04.26 um 22:01 schrieb Werner Sembach:
> Hi,
> 
> This series is based on another not yet accepted series
> https://lore.kernel.org/all/20260417050912.5582-1-W_Armin@gmx.de/
> 
> RFC because of that, because the third patch is not yet tested, and because
> I have a question regarding the 3rd patch:
> 
> Should I abstract the call to wmi_evaluate_method away in a wrapper
> function in uniwill-wmi somehow, or is it ok to have it straight in the
> uniwill-laptop code like that? It is quite self contained.
> 
> Best regards,
> 
> Werner

Hi,

i prefer having the code for this WMI interface inside a separate file. 
I think we have to first rename uniwill-wmi* to uniwill-wmi-event*, then 
the new code can live in uniwill-wmi.c

However we also need some synchronization mechanism between uniwill-acpi 
and the new uniwill-wmi because some code path need to check EC 
registers before enabling support for local dimming. I suggest that you 
use the component framework for that. Basically the new WMI driver 
registers a component during probing, while the EC acts as a component 
master _if_ local dimming support is present. When the component and the 
component master match a sysfs attribute is registered to allow 
userspace application to control this feature.

Thanks,
Armin Wolf

> 
> Werner Sembach (3):
>    platform/x86: uniwill-laptop: Make super key init lineup with other
>      inits
>    platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
>    platform/x86: uniwill-laptop: Offer support to activate local dimming
> 
>   drivers/platform/x86/uniwill/uniwill-acpi.c | 195 ++++++++++++++++++--
>   1 file changed, 182 insertions(+), 13 deletions(-)
> 


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
  2026-04-22 11:17   ` Armin Wolf
@ 2026-04-22 11:29     ` Armin Wolf
  2026-04-22 13:13     ` Werner Sembach
  1 sibling, 0 replies; 16+ messages in thread
From: Armin Wolf @ 2026-04-22 11:29 UTC (permalink / raw)
  To: Werner Sembach, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Am 22.04.26 um 13:17 schrieb Armin Wolf:
> Am 21.04.26 um 22:01 schrieb Werner Sembach:
>> The XMG Fusion (L19) also has a lightbar but with a different max
>> brightness value of 36 instead of 200.
>>
>> This patch adds a new feature flag for the driver to correctly handle 
>> this
>> case and applies it to the mentioned device.
>>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> ---
>>   drivers/platform/x86/uniwill/uniwill-acpi.c | 19 +++++++++++++------
>>   1 file changed, 13 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c b/drivers/ 
>> platform/x86/uniwill/uniwill-acpi.c
>> index 7d1fdbacc6871..62d56cc67e2e8 100644
>> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
>> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
>> @@ -318,7 +318,6 @@
>>   #define FAN_TABLE_LENGTH    16
>>   #define LED_CHANNELS        3
>> -#define LED_MAX_BRIGHTNESS    200
>>   #define UNIWILL_FEATURE_FN_LOCK            BIT(0)
>>   #define UNIWILL_FEATURE_SUPER_KEY        BIT(1)
>> @@ -344,6 +343,7 @@ struct uniwill_data {
>>       acpi_handle handle;
>>       struct regmap *regmap;
>>       unsigned int features;
>> +    u8 lightbar_max_brightness;
>>       struct acpi_battery_hook hook;
>>       struct mutex battery_lock;    /* Protects the list of currently 
>> registered batteries */
>>       union {
>> @@ -376,6 +376,7 @@ struct uniwill_battery_entry {
>>   struct uniwill_device_descriptor {
>>       unsigned int features;
>> +    u8 lightbar_max_brightness;
>>       /* Executed during driver probing */
>>       int (*probe)(struct uniwill_data *data);
>>   };
>> @@ -1340,7 +1341,7 @@ static int uniwill_led_brightness_set(struct 
>> led_classdev *led_cdev, enum led_br
>>       for (int i = 0; i < LED_CHANNELS; i++) {
>>           /* Prevent the brightness values from overflowing */
>> -        value = min(LED_MAX_BRIGHTNESS, data- 
>> >led_mc_subled_info[i].brightness);
>> +        value = min(data->lightbar_max_brightness, data- 
>> >led_mc_subled_info[i].brightness);
>>           ret = regmap_write(data->regmap, 
>> uniwill_led_channel_to_ac_reg[i], value);
>>           if (ret < 0)
>>               return ret;
>> @@ -1376,12 +1377,14 @@ static int uniwill_led_init(struct 
>> uniwill_data *data)
>>           LED_COLOR_ID_GREEN,
>>           LED_COLOR_ID_BLUE,
>>       };
>> -    unsigned int value;
>> +    unsigned int value, max_brightness;
>>       int ret;
>>       if (!uniwill_device_supports(data, UNIWILL_FEATURE_LIGHTBAR))
>>           return 0;
>> +    max_brightness = data->lightbar_max_brightness;
> 
> Please drop the max_brightness variable and assign 
> led_cdev.max_brightness and led_cdev.brightness directly.
> 
>> +
>>       ret = devm_mutex_init(data->dev, &data->led_lock);
>>       if (ret < 0)
>>           return ret;
>> @@ -1409,14 +1412,14 @@ static int uniwill_led_init(struct 
>> uniwill_data *data)
>>           return ret;
>>       data->led_mc_cdev.led_cdev.color = LED_COLOR_ID_MULTI;
>> -    data->led_mc_cdev.led_cdev.max_brightness = LED_MAX_BRIGHTNESS;
>> +    data->led_mc_cdev.led_cdev.max_brightness = max_brightness;
>>       data->led_mc_cdev.led_cdev.flags = LED_REJECT_NAME_CONFLICT;
>>       data->led_mc_cdev.led_cdev.brightness_set_blocking = 
>> uniwill_led_brightness_set;
>>       if (value & LIGHTBAR_S0_OFF)
>>           data->led_mc_cdev.led_cdev.brightness = 0;
>>       else
>> -        data->led_mc_cdev.led_cdev.brightness = LED_MAX_BRIGHTNESS;
>> +        data->led_mc_cdev.led_cdev.brightness = max_brightness;
>>       for (int i = 0; i < LED_CHANNELS; i++) {
>>           data->led_mc_subled_info[i].color_index = color_indices[i];
>> @@ -1429,7 +1432,7 @@ static int uniwill_led_init(struct uniwill_data 
>> *data)
>>            * Make sure that the initial intensity value is not greater 
>> than
>>            * the maximum brightness.
>>            */
>> -        value = min(LED_MAX_BRIGHTNESS, value);
>> +        value = min(max_brightness, value);
>>           ret = regmap_write(data->regmap, 
>> uniwill_led_channel_to_ac_reg[i], value);
>>           if (ret < 0)
>>               return ret;
>> @@ -1882,6 +1885,7 @@ static int uniwill_probe(struct platform_device 
>> *pdev)
>>           return ret;
>>       data->features = device_descriptor.features;
>> +    data->lightbar_max_brightness = 
>> device_descriptor.lightbar_max_brightness;
>>       /*
>>        * Some devices might need to perform some device-specific 
>> initialization steps
>> @@ -2130,11 +2134,13 @@ static struct platform_driver uniwill_driver = {
>>   static struct uniwill_device_descriptor lapqc71a_lapqc71b_descriptor 
>> __initdata = {
>>       .features = UNIWILL_FEATURE_SUPER_KEY |
>> +            UNIWILL_FEATURE_LIGHTBAR |
>>               UNIWILL_FEATURE_BATTERY_CHARGE_LIMIT |
>>               UNIWILL_FEATURE_CPU_TEMP |
>>               UNIWILL_FEATURE_GPU_TEMP |
>>               UNIWILL_FEATURE_PRIMARY_FAN |
>>               UNIWILL_FEATURE_SECONDARY_FAN,
>> +    .lightbar_max_brightness = 36,
>>   };
>>   static struct uniwill_device_descriptor lapac71h_descriptor 
>> __initdata = {
>> @@ -2158,6 +2164,7 @@ static struct uniwill_device_descriptor 
>> lapkc71f_descriptor __initdata = {
>>               UNIWILL_FEATURE_GPU_TEMP |
>>               UNIWILL_FEATURE_PRIMARY_FAN |
>>               UNIWILL_FEATURE_SECONDARY_FAN,
>> +    .lightbar_max_brightness = 200,
> 
> Please also set lightbar_max_brightness to 200 during module 
> initialization when the "force" parameter is set.
> 
> I suggest you rebase this series on top of the "platform/x86: uniwill- 
> laptop: Charging-related improvements" series to avoid merge conflicts.

Forget about the rebase part, the series is already based on this series xd.

Thanks,
Armin Wolf

> 
> Thanks,
> Armin Wolf
> 
>>   };
>>   /*
> 
> 


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
  2026-04-22 11:17   ` Armin Wolf
  2026-04-22 11:29     ` Armin Wolf
@ 2026-04-22 13:13     ` Werner Sembach
  1 sibling, 0 replies; 16+ messages in thread
From: Werner Sembach @ 2026-04-22 13:13 UTC (permalink / raw)
  To: Armin Wolf, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Hi Armin,

Am 22.04.26 um 13:17 schrieb Armin Wolf:
> Am 21.04.26 um 22:01 schrieb Werner Sembach:
>> The XMG Fusion (L19) also has a lightbar but with a different max
>> brightness value of 36 instead of 200.
>>
>> This patch adds a new feature flag for the driver to correctly handle this
>> case and applies it to the mentioned device.
>>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> ---
>>   drivers/platform/x86/uniwill/uniwill-acpi.c | 19 +++++++++++++------
>>   1 file changed, 13 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c 
>> b/drivers/platform/x86/uniwill/uniwill-acpi.c
>> index 7d1fdbacc6871..62d56cc67e2e8 100644
>> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
>> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
>> @@ -318,7 +318,6 @@
>>   #define FAN_TABLE_LENGTH    16
>>     #define LED_CHANNELS        3
>> -#define LED_MAX_BRIGHTNESS    200
>>     #define UNIWILL_FEATURE_FN_LOCK            BIT(0)
>>   #define UNIWILL_FEATURE_SUPER_KEY        BIT(1)
>> @@ -344,6 +343,7 @@ struct uniwill_data {
>>       acpi_handle handle;
>>       struct regmap *regmap;
>>       unsigned int features;
>> +    u8 lightbar_max_brightness;
>>       struct acpi_battery_hook hook;
>>       struct mutex battery_lock;    /* Protects the list of currently 
>> registered batteries */
>>       union {
>> @@ -376,6 +376,7 @@ struct uniwill_battery_entry {
>>     struct uniwill_device_descriptor {
>>       unsigned int features;
>> +    u8 lightbar_max_brightness;
>>       /* Executed during driver probing */
>>       int (*probe)(struct uniwill_data *data);
>>   };
>> @@ -1340,7 +1341,7 @@ static int uniwill_led_brightness_set(struct 
>> led_classdev *led_cdev, enum led_br
>>         for (int i = 0; i < LED_CHANNELS; i++) {
>>           /* Prevent the brightness values from overflowing */
>> -        value = min(LED_MAX_BRIGHTNESS, 
>> data->led_mc_subled_info[i].brightness);
>> +        value = min(data->lightbar_max_brightness, 
>> data->led_mc_subled_info[i].brightness);
>>           ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], 
>> value);
>>           if (ret < 0)
>>               return ret;
>> @@ -1376,12 +1377,14 @@ static int uniwill_led_init(struct uniwill_data *data)
>>           LED_COLOR_ID_GREEN,
>>           LED_COLOR_ID_BLUE,
>>       };
>> -    unsigned int value;
>> +    unsigned int value, max_brightness;
>>       int ret;
>>         if (!uniwill_device_supports(data, UNIWILL_FEATURE_LIGHTBAR))
>>           return 0;
>>   +    max_brightness = data->lightbar_max_brightness;
>
> Please drop the max_brightness variable and assign led_cdev.max_brightness and 
> led_cdev.brightness directly.
ok
>
>> +
>>       ret = devm_mutex_init(data->dev, &data->led_lock);
>>       if (ret < 0)
>>           return ret;
>> @@ -1409,14 +1412,14 @@ static int uniwill_led_init(struct uniwill_data *data)
>>           return ret;
>>         data->led_mc_cdev.led_cdev.color = LED_COLOR_ID_MULTI;
>> -    data->led_mc_cdev.led_cdev.max_brightness = LED_MAX_BRIGHTNESS;
>> +    data->led_mc_cdev.led_cdev.max_brightness = max_brightness;
>>       data->led_mc_cdev.led_cdev.flags = LED_REJECT_NAME_CONFLICT;
>>       data->led_mc_cdev.led_cdev.brightness_set_blocking = 
>> uniwill_led_brightness_set;
>>         if (value & LIGHTBAR_S0_OFF)
>>           data->led_mc_cdev.led_cdev.brightness = 0;
>>       else
>> -        data->led_mc_cdev.led_cdev.brightness = LED_MAX_BRIGHTNESS;
>> +        data->led_mc_cdev.led_cdev.brightness = max_brightness;
>>         for (int i = 0; i < LED_CHANNELS; i++) {
>>           data->led_mc_subled_info[i].color_index = color_indices[i];
>> @@ -1429,7 +1432,7 @@ static int uniwill_led_init(struct uniwill_data *data)
>>            * Make sure that the initial intensity value is not greater than
>>            * the maximum brightness.
>>            */
>> -        value = min(LED_MAX_BRIGHTNESS, value);
>> +        value = min(max_brightness, value);
>>           ret = regmap_write(data->regmap, uniwill_led_channel_to_ac_reg[i], 
>> value);
>>           if (ret < 0)
>>               return ret;
>> @@ -1882,6 +1885,7 @@ static int uniwill_probe(struct platform_device *pdev)
>>           return ret;
>>         data->features = device_descriptor.features;
>> +    data->lightbar_max_brightness = device_descriptor.lightbar_max_brightness;
>>         /*
>>        * Some devices might need to perform some device-specific 
>> initialization steps
>> @@ -2130,11 +2134,13 @@ static struct platform_driver uniwill_driver = {
>>     static struct uniwill_device_descriptor lapqc71a_lapqc71b_descriptor 
>> __initdata = {
>>       .features = UNIWILL_FEATURE_SUPER_KEY |
>> +            UNIWILL_FEATURE_LIGHTBAR |
>>               UNIWILL_FEATURE_BATTERY_CHARGE_LIMIT |
>>               UNIWILL_FEATURE_CPU_TEMP |
>>               UNIWILL_FEATURE_GPU_TEMP |
>>               UNIWILL_FEATURE_PRIMARY_FAN |
>>               UNIWILL_FEATURE_SECONDARY_FAN,
>> +    .lightbar_max_brightness = 36,
>>   };
>>     static struct uniwill_device_descriptor lapac71h_descriptor __initdata = {
>> @@ -2158,6 +2164,7 @@ static struct uniwill_device_descriptor 
>> lapkc71f_descriptor __initdata = {
>>               UNIWILL_FEATURE_GPU_TEMP |
>>               UNIWILL_FEATURE_PRIMARY_FAN |
>>               UNIWILL_FEATURE_SECONDARY_FAN,
>> +    .lightbar_max_brightness = 200,
>
> Please also set lightbar_max_brightness to 200 during module initialization 
> when the "force" parameter is set.

Ok

Best regards,

Werner

>
> I suggest you rebase this series on top of the "platform/x86: uniwill-laptop: 
> Charging-related improvements" series to avoid merge conflicts.
>
> Thanks,
> Armin Wolf
>
>>   };
>>     /*
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming
  2026-04-21 22:03   ` Armin Wolf
@ 2026-04-22 13:19     ` Werner Sembach
  0 siblings, 0 replies; 16+ messages in thread
From: Werner Sembach @ 2026-04-22 13:19 UTC (permalink / raw)
  To: Armin Wolf, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 11355 bytes --]


Am 22.04.26 um 00:03 schrieb Armin Wolf:
> Am 21.04.26 um 22:01 schrieb Werner Sembach:
>
>> This patch adds a sysfs variable local_dimming to supported devices.
>> Setting it to true enables local dimming for the internal notebook display.
>>
>> Currently only TUXEDO Stellaris 16 Gen7 Intel/AMD with mLED displays are
>> supported.
>>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> ---
>>   drivers/platform/x86/uniwill/uniwill-acpi.c | 162 +++++++++++++++++++-
>>   1 file changed, 158 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/platform/x86/uniwill/uniwill-acpi.c 
>> b/drivers/platform/x86/uniwill/uniwill-acpi.c
>> index 62d56cc67e2e8..909d8608a2f80 100644
>> --- a/drivers/platform/x86/uniwill/uniwill-acpi.c
>> +++ b/drivers/platform/x86/uniwill/uniwill-acpi.c
>> @@ -275,6 +275,9 @@
>>   #define EC_ADDR_USB_C_POWER_PRIORITY    0x07CC
>>   #define USB_C_POWER_PRIORITY        BIT(7)
>>   +#define EC_ADDR_LOCAL_DIMMING_SUPPORT    0x0D4F
>> +#define LOCAL_DIMMING_SUPPORT        BIT(0)
>> +
>>   /* Same bits as EC_ADDR_LIGHTBAR_AC_CTRL except LIGHTBAR_S3_OFF */
>>   #define EC_ADDR_LIGHTBAR_BAT_CTRL    0x07E2
>>   @@ -296,6 +299,14 @@
>>     #define EC_ADDR_GPU_FAN_SPEED_TABLE    0x0F50
>>   +#define WMI_GUID_BC "ABBC0F6F-8EA1-11D1-00A0-C90629100000"
>> +#define WMI_DEFAULT_INSTANCE        0x00
>> +#define WMI_DEFAULT_METHOD        0x04
>> +
>> +#define WMI_FUNC_SET_FEATURE        0x00000500
>> +#define WMI_FEATURE_LOCAL_DIMMING_OFF    0x0d
>> +#define WMI_FEATURE_LOCAL_DIMMING_ON    0x0e
>> +
>>   /*
>>    * Those two registers technically allow for manual fan control,
>>    * but are unstable on some models and are likely not meant to
>> @@ -332,6 +343,7 @@
>>   #define UNIWILL_FEATURE_SECONDARY_FAN        BIT(9)
>>   #define UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL    BIT(10)
>>   #define UNIWILL_FEATURE_USB_C_POWER_PRIORITY    BIT(11)
>> +#define UNIWILL_FEATURE_LOCAL_DIMMING        BIT(12)
>>     enum usb_c_power_priority_options {
>>       USB_C_POWER_PRIORITY_CHARGING = 0,
>> @@ -367,6 +379,8 @@ struct uniwill_data {
>>       struct notifier_block nb;
>>       struct mutex usb_c_power_priority_lock; /* Protects dependent bit write 
>> and state safe */
>>       enum usb_c_power_priority_options last_usb_c_power_priority_option;
>> +    struct mutex local_dimming_lock; /* Protects call to local dimming wmi 
>> method */
>> +    bool last_local_dimming_option;
>>   };
>>     struct uniwill_battery_entry {
>> @@ -774,7 +788,7 @@ static int super_key_enable_init(struct uniwill_data *data)
>>       if (!uniwill_device_supports(data, UNIWILL_FEATURE_SUPER_KEY))
>>           return 0;
>>   -    return devm_mutex_init(&data->dev, &data->super_key_lock);
>> +    return devm_mutex_init(data->dev, &data->super_key_lock);
>>   }
>>     static int uniwill_write_touchpad_toggle_enable(struct uniwill_data 
>> *data, bool status)
>> @@ -1086,6 +1100,87 @@ static int usb_c_power_priority_init(struct 
>> uniwill_data *data)
>>       return 0;
>>   }
>>   +struct __packed uniwill_wmi_input {
>> +    u8 args[4];
>> +    u32 function;
>> +    /* Prevent accidential out of bounds access by the ACPI code */
>> +    u32 reserved[8];
>> +};
>> +
>> +static int set_local_dimming(bool enable)
>> +{
>> +    struct __packed uniwill_wmi_input wmi_input;
>> +    struct acpi_buffer wmi_buf = { (acpi_size) sizeof(wmi_input), &wmi_input };
>> +    acpi_status status;
>> +
>> +    wmi_input.function = WMI_FUNC_SET_FEATURE;
>> +    wmi_input.args[0] = enable ? WMI_FEATURE_LOCAL_DIMMING_ON : 
>> WMI_FEATURE_LOCAL_DIMMING_OFF;
>> +
>> +    status = wmi_evaluate_method(WMI_GUID_BC, WMI_DEFAULT_INSTANCE, 
>> WMI_DEFAULT_METHOD,
>> +                     &wmi_buf, &wmi_buf);
>
> NAK, this API is deprecated and should not be used. Instead we should register 
> a WMI driver during module
> initialization that uses wmidev_invoke_method().
>
> Can you share with me the ACPI tables of a device that supports this feature?
Yes, see attachment
>
> Thanks,
> Armin Wolf
>
>> +    if (ACPI_FAILURE(status))
>> +        return -EIO;
>> +
>> +    return 0;
>> +}
>> +
>> +static ssize_t local_dimming_store(struct device *dev,
>> +                   struct device_attribute *attr,
>> +                   const char *buf, size_t count)
>> +{
>> +    struct uniwill_data *data = dev_get_drvdata(dev);
>> +    bool enable;
>> +    int ret;
>> +
>> +    ret = kstrtobool(buf, &enable);
>> +    if (ret < 0)
>> +        return ret;
>> +
>> +    guard(mutex)(&data->local_dimming_lock);
>> +
>> +    ret = set_local_dimming(enable);
>> +    if (ret)
>> +        return ret;
>> +
>> +    data->last_local_dimming_option = enable;
>> +
>> +    return count;
>> +}
>> +
>> +static ssize_t local_dimming_show(struct device *dev,
>> +                  struct device_attribute *attr,
>> +                  char *buf)
>> +{
>> +    struct uniwill_data *data = dev_get_drvdata(dev);
>> +
>> +    return sysfs_emit(buf, "%d\n", data->last_local_dimming_option);
>> +}
>> +
>> +static DEVICE_ATTR_RW(local_dimming);
>> +
>> +static int local_dimming_restore(struct uniwill_data *data)
>> +{
>> +    guard(mutex)(&data->local_dimming_lock);
>> +
>> +    return set_local_dimming(data->last_local_dimming_option);
>> +}
>> +
>> +static int local_dimming_init(struct uniwill_data *data)
>> +{
>> +    int ret;
>> +
>> +    if (!uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
>> +        return 0;
>> +
>> +    ret = devm_mutex_init(data->dev, &data->local_dimming_lock);
>> +    if (ret < 0)
>> +        return ret;
>> +
>> +    data->last_local_dimming_option = 0;
>> +
>> +    return local_dimming_restore(data);
>> +}
>> +
>>   static struct attribute *uniwill_attrs[] = {
>>       /* Keyboard-related */
>>       &dev_attr_fn_lock.attr,
>> @@ -1097,6 +1192,7 @@ static struct attribute *uniwill_attrs[] = {
>>       /* Power-management-related */
>>       &dev_attr_ctgp_offset.attr,
>>       &dev_attr_usb_c_power_priority.attr,
>> +    &dev_attr_local_dimming.attr,
>>       NULL
>>   };
>>   @@ -1136,6 +1232,11 @@ static umode_t uniwill_attr_is_visible(struct 
>> kobject *kobj, struct attribute *a
>>               return attr->mode;
>>       }
>>   +    if (attr == &dev_attr_local_dimming.attr) {
>> +        if (uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
>> +            return attr->mode;
>> +    }
>> +
>>       return 0;
>>   }
>>   @@ -1922,6 +2023,10 @@ static int uniwill_probe(struct platform_device *pdev)
>>       if (ret < 0)
>>           return ret;
>>   +    ret = local_dimming_init(data);
>> +    if (ret < 0)
>> +        return ret;
>> +
>>       return uniwill_input_init(data);
>>   }
>>   @@ -2075,6 +2180,14 @@ static int 
>> uniwill_resume_usb_c_power_priority(struct uniwill_data *data)
>>       return usb_c_power_priority_restore(data);
>>   }
>>   +static int uniwill_resume_local_dimming(struct uniwill_data *data)
>> +{
>> +    if (!uniwill_device_supports(data, UNIWILL_FEATURE_LOCAL_DIMMING))
>> +        return 0;
>> +
>> +    return local_dimming_restore(data);
>> +}
>> +
>>   static int uniwill_resume(struct device *dev)
>>   {
>>       struct uniwill_data *data = dev_get_drvdata(dev);
>> @@ -2106,7 +2219,11 @@ static int uniwill_resume(struct device *dev)
>>       if (ret < 0)
>>           return ret;
>>   -    return uniwill_resume_usb_c_power_priority(data);
>> +    ret = uniwill_resume_usb_c_power_priority(data);
>> +    if (ret < 0)
>> +        return ret;
>> +
>> +    return uniwill_resume_local_dimming(data);
>>   }
>>     static DEFINE_SIMPLE_DEV_PM_OPS(uniwill_pm_ops, uniwill_suspend, 
>> uniwill_resume);
>> @@ -2222,6 +2339,17 @@ static struct uniwill_device_descriptor 
>> tux_featureset_3_nvidia_descriptor __ini
>>               UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL,
>>   };
>>   +static struct uniwill_device_descriptor 
>> tux_featureset_3_nvidia_mled_descriptor __initdata = {
>> +    .features = UNIWILL_FEATURE_FN_LOCK |
>> +            UNIWILL_FEATURE_SUPER_KEY |
>> +            UNIWILL_FEATURE_CPU_TEMP |
>> +            UNIWILL_FEATURE_GPU_TEMP |
>> +            UNIWILL_FEATURE_PRIMARY_FAN |
>> +            UNIWILL_FEATURE_SECONDARY_FAN |
>> +            UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL |
>> +            UNIWILL_FEATURE_LOCAL_DIMMING,
>> +};
>> +
>>   static int phxtxx1_probe(struct uniwill_data *data)
>>   {
>>       unsigned int value;
>> @@ -2272,6 +2400,32 @@ static struct uniwill_device_descriptor 
>> phxarx1_phxaqf1_descriptor __initdata =
>>       .probe = phxarx1_phxaqf1_probe,
>>   };
>>   +static int x6fr5xxy_probe(struct uniwill_data *data)
>> +{
>> +    unsigned int value;
>> +    int ret;
>> +
>> +    ret = regmap_read(data->regmap, EC_ADDR_LOCAL_DIMMING_SUPPORT, &value);
>> +    if (ret < 0)
>> +        return ret;
>> +
>> +    if (value != 0xff && value & LOCAL_DIMMING_SUPPORT)
>> +        data->features |= UNIWILL_FEATURE_LOCAL_DIMMING;
>> +
>> +    return 0;
>> +};
>> +
>> +static struct uniwill_device_descriptor x6fr5xxy_descriptor __initdata = {
>> +    .features = UNIWILL_FEATURE_FN_LOCK |
>> +            UNIWILL_FEATURE_SUPER_KEY |
>> +            UNIWILL_FEATURE_CPU_TEMP |
>> +            UNIWILL_FEATURE_GPU_TEMP |
>> +            UNIWILL_FEATURE_PRIMARY_FAN |
>> +            UNIWILL_FEATURE_SECONDARY_FAN |
>> +            UNIWILL_FEATURE_NVIDIA_CTGP_CONTROL,
>> +    .probe = x6fr5xxy_probe,
>> +};
>> +
>>   static struct uniwill_device_descriptor pf5pu1g_descriptor __initdata = {
>>       .features = UNIWILL_FEATURE_FN_LOCK |
>>               UNIWILL_FEATURE_SUPER_KEY |
>> @@ -2662,7 +2816,7 @@ static const struct dmi_system_id uniwill_dmi_table[] 
>> __initconst = {
>>               DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
>>               DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6FR5xxY"),
>>           },
>> -        .driver_data = &tux_featureset_3_nvidia_descriptor,
>> +        .driver_data = &x6fr5xxy_descriptor,
>>       },
>>       {
>>           .ident = "TUXEDO Stellaris 16 Gen7 Intel",
>> @@ -2678,7 +2832,7 @@ static const struct dmi_system_id uniwill_dmi_table[] 
>> __initconst = {
>>               DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"),
>>               DMI_EXACT_MATCH(DMI_BOARD_NAME, "X6AR5xxY_mLED"),
>>           },
>> -        .driver_data = &tux_featureset_3_nvidia_descriptor,
>> +        .driver_data = &tux_featureset_3_nvidia_mled_descriptor,
>>       },
>>       {
>>           .ident = "TUXEDO Book BA15 Gen10 AMD",

[-- Attachment #2: dsdt.dsl --]
[-- Type: text/x-dsl, Size: 3868278 bytes --]

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20230628 (64-bit version)
 * Copyright (c) 2000 - 2023 Intel Corporation
 * 
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of dsdt.dat, Fri May 30 16:26:43 2025
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x00091133 (594227)
 *     Revision         0x02
 *     Checksum         0x57
 *     OEM ID           "ALASKA"
 *     OEM Table ID     "A M I "
 *     OEM Revision     0x01072009 (17244169)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20210930 (539035952)
 */
DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x01072009)
{
    /*
     * iASL Warning: There were 151 external control methods found during
     * disassembly, but only 663 were resolved (4294966784 unresolved). Additional
     * ACPI tables may be required to properly disassemble the code. This
     * resulting disassembler output file may not compile because the
     * disassembler did not know how many arguments to assign to the
     * unresolved methods. Note: SSDTs can be dynamically loaded at
     * runtime and may or may not be available via the host OS.
     *
     * To specify the tables needed to resolve external control method
     * references, the -e option can be used to specify the filenames.
     * Example iASL invocations:
     *     iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
     *     iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
     *     iasl -e ssdt*.aml -d dsdt.aml
     *
     * In addition, the -fe option can be used to specify a file containing
     * control method external declarations with the associated method
     * argument counts. Each line of the file must be of the form:
     *     External (<method pathname>, MethodObj, <argument count>)
     * Invocation:
     *     iasl -fe refs.txt -d dsdt.aml
     *
     * The following methods were unresolved and many not compile properly
     * because the disassembler had to guess at the number of arguments
     * required for each:
     */
    External (_GPE.AL6B, MethodObj)    // 0 Arguments
    External (_GPE.AL6F, MethodObj)    // 0 Arguments
    External (_GPE.DTIN, MethodObj)    // 0 Arguments
    External (_GPE.PL6B, MethodObj)    // 0 Arguments
    External (_GPE.PL6E, MethodObj)    // 0 Arguments
    External (_GPE.SL61, MethodObj)    // 0 Arguments
    External (_GPE.SL69, MethodObj)    // 0 Arguments
    External (_GPE.SL6F, MethodObj)    // 0 Arguments
    External (_GPE.SL71, MethodObj)    // 0 Arguments
    External (_GPE.SLA0, MethodObj)    // 0 Arguments
    External (_GPE.SLA1, MethodObj)    // 0 Arguments
    External (_GPE.SLA2, MethodObj)    // 0 Arguments
    External (_GPE.SLA7, MethodObj)    // 0 Arguments
    External (_GPE.SLC0, MethodObj)    // 0 Arguments
    External (_GPE.SLC1, MethodObj)    // 0 Arguments
    External (_GPE.SLC2, MethodObj)    // 0 Arguments
    External (_GPE.SLC7, MethodObj)    // 0 Arguments
    External (_SB_.AMW0.FMFG, IntObj)
    External (_SB_.BGIA, UnknownObj)
    External (_SB_.BGMA, UnknownObj)
    External (_SB_.BGMS, UnknownObj)
    External (_SB_.BTRK, MethodObj)    // 1 Arguments
    External (_SB_.CHGE, IntObj)
    External (_SB_.CPID, UnknownObj)
    External (_SB_.CPPC, IntObj)
    External (_SB_.DPTF, IntObj)
    External (_SB_.DTSE, UnknownObj)
    External (_SB_.DTSF, UnknownObj)
    External (_SB_.GBTR, MethodObj)    // 0 Arguments
    External (_SB_.IETM, DeviceObj)
    External (_SB_.IETM.CHRG, DeviceObj)
    External (_SB_.INOU.CSTM, IntObj)
    External (_SB_.INOU.PWUP, MethodObj)    // 1 Arguments
    External (_SB_.NPCF, UnknownObj)
    External (_SB_.NPCF.ACBT, UnknownObj)
    External (_SB_.NPCF.AMAT, UnknownObj)
    External (_SB_.NPCF.AMIT, UnknownObj)
    External (_SB_.NPCF.ATPP, UnknownObj)
    External (_SB_.NPCF.CTGP, UnknownObj)
    External (_SB_.NPCF.DBAC, UnknownObj)
    External (_SB_.NPCF.DMAT, UnknownObj)
    External (_SB_.NPCF.DMIT, UnknownObj)
    External (_SB_.NPCF.NPCF, MethodObj)    // 4 Arguments
    External (_SB_.NPCF.WMEN, UnknownObj)
    External (_SB_.PC00, DeviceObj)
    External (_SB_.PC00.AWAC, DeviceObj)
    External (_SB_.PC00.AWAC.WAST, IntObj)
    External (_SB_.PC00.DPOF, UnknownObj)
    External (_SB_.PC00.GFX0.CDCK, UnknownObj)
    External (_SB_.PC00.GFX0.CLID, UnknownObj)
    External (_SB_.PC00.GFX0.DD1F, DeviceObj)
    External (_SB_.PC00.GFX0.DD2F, DeviceObj)
    External (_SB_.PC00.GFX0.GLID, MethodObj)    // 1 Arguments
    External (_SB_.PC00.GFX0.IUEH, MethodObj)    // 1 Arguments
    External (_SB_.PC00.GMHB, MethodObj)    // 0 Arguments
    External (_SB_.PC00.HCID, MethodObj)    // 1 Arguments
    External (_SB_.PC00.HDAS.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC00.HDAS.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC00.HDAS.PPMS, MethodObj)    // 1 Arguments
    External (_SB_.PC00.HDAS.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.HDAS.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC00.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC00.I2C0.PPDI, UnknownObj)
    External (_SB_.PC00.I2C1.PPDI, UnknownObj)
    External (_SB_.PC00.I2C2.PPDI, UnknownObj)
    External (_SB_.PC00.I2C3.PPDI, UnknownObj)
    External (_SB_.PC00.I2C4.PPDI, UnknownObj)
    External (_SB_.PC00.I2C5.PPDI, UnknownObj)
    External (_SB_.PC00.IMNG, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.ACCF, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.BPNT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.DGBA, UnknownObj)
    External (_SB_.PC00.LPCB.EC0_.CPML, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.EC0_.CSMS, IntObj)
    External (_SB_.PC00.LPCB.EC0_.CUME, IntObj)
    External (_SB_.PC00.LPCB.EC0_.LCSE, IntObj)
    External (_SB_.PC00.LPCB.EC0_.OCP1, IntObj)
    External (_SB_.PC00.LPCB.EC0_.OCPL, IntObj)
    External (_SB_.PC00.LPCB.EC0_.OPML, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.EC0_.PMSF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.EC0_.TB43, IntObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY.BAT0, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY.BAT1, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY.BNUM, IntObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY.ECNT, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.EPET, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERAP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERB1, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERBA, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERBP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERCF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERLD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERMT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPE, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPH, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPN, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERPS, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERSP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.ERVP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.LID0, DeviceObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY.ONTM, IntObj)
    External (_SB_.PC00.LPCB.H_EC.DUMY.PGER, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.SPET, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.UPBT, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.UPCF, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.UPFS, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.UTEC, MethodObj)    // 2 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.WPED, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.H_EC.DUMY.XDAT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.NRTS, MethodObj)    // 1 Arguments
    External (_SB_.PC00.LPCB.SPNT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.LPCB.SWUB, MethodObj)    // 4 Arguments
    External (_SB_.PC00.LPCB.WKEC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.M32B, UnknownObj)
    External (_SB_.PC00.M32L, UnknownObj)
    External (_SB_.PC00.M64B, UnknownObj)
    External (_SB_.PC00.M64L, UnknownObj)
    External (_SB_.PC00.PAUD.PUAM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.PC2M, MethodObj)    // 2 Arguments
    External (_SB_.PC00.PDRC.DPTR, UnknownObj)
    External (_SB_.PC00.PDRC.EPTR, UnknownObj)
    External (_SB_.PC00.RP01, DeviceObj)
    External (_SB_.PC00.RP01.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PBNU, IntObj)
    External (_SB_.PC00.RP01.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP01.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PRMV, IntObj)
    External (_SB_.PC00.RP01.PRTP, IntObj)
    External (_SB_.PC00.RP01.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP01.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP01.RD3C, IntObj)
    External (_SB_.PC00.RP01.SLOT, IntObj)
    External (_SB_.PC00.RP01.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP01.VDID, FieldUnitObj)
    External (_SB_.PC00.RP02, DeviceObj)
    External (_SB_.PC00.RP02.PRMV, IntObj)
    External (_SB_.PC00.RP02.PRTP, IntObj)
    External (_SB_.PC00.RP02.RD3C, IntObj)
    External (_SB_.PC00.RP02.SLOT, IntObj)
    External (_SB_.PC00.RP03, DeviceObj)
    External (_SB_.PC00.RP03.PRMV, IntObj)
    External (_SB_.PC00.RP03.PRTP, IntObj)
    External (_SB_.PC00.RP03.RD3C, IntObj)
    External (_SB_.PC00.RP03.SLOT, IntObj)
    External (_SB_.PC00.RP04, DeviceObj)
    External (_SB_.PC00.RP04.PRMV, IntObj)
    External (_SB_.PC00.RP04.PRTP, IntObj)
    External (_SB_.PC00.RP04.RD3C, IntObj)
    External (_SB_.PC00.RP04.SLOT, IntObj)
    External (_SB_.PC00.RP05, DeviceObj)
    External (_SB_.PC00.RP05.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP05.PRMV, IntObj)
    External (_SB_.PC00.RP05.PRTP, IntObj)
    External (_SB_.PC00.RP05.RD3C, IntObj)
    External (_SB_.PC00.RP05.SLOT, IntObj)
    External (_SB_.PC00.RP06, DeviceObj)
    External (_SB_.PC00.RP06.PRMV, IntObj)
    External (_SB_.PC00.RP06.PRTP, IntObj)
    External (_SB_.PC00.RP06.RD3C, IntObj)
    External (_SB_.PC00.RP06.SLOT, IntObj)
    External (_SB_.PC00.RP07, DeviceObj)
    External (_SB_.PC00.RP07.PRMV, IntObj)
    External (_SB_.PC00.RP07.PRTP, IntObj)
    External (_SB_.PC00.RP07.RD3C, IntObj)
    External (_SB_.PC00.RP07.SLOT, IntObj)
    External (_SB_.PC00.RP08, DeviceObj)
    External (_SB_.PC00.RP08.PRMV, IntObj)
    External (_SB_.PC00.RP08.PRTP, IntObj)
    External (_SB_.PC00.RP08.RD3C, IntObj)
    External (_SB_.PC00.RP08.SLOT, IntObj)
    External (_SB_.PC00.RP09, DeviceObj)
    External (_SB_.PC00.RP09._PS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PBNU, IntObj)
    External (_SB_.PC00.RP09.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP09.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PRMV, IntObj)
    External (_SB_.PC00.RP09.PRTP, IntObj)
    External (_SB_.PC00.RP09.PXP_._STA, UnknownObj)
    External (_SB_.PC00.RP09.PXSX, DeviceObj)
    External (_SB_.PC00.RP09.PXSX._PSC, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.EDP1, DeviceObj)
    External (_SB_.PC00.RP09.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP09.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP09.RD3C, IntObj)
    External (_SB_.PC00.RP09.SLOT, IntObj)
    External (_SB_.PC00.RP09.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP09.VDID, FieldUnitObj)
    External (_SB_.PC00.RP10, DeviceObj)
    External (_SB_.PC00.RP10.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP10.PRMV, IntObj)
    External (_SB_.PC00.RP10.PRTP, IntObj)
    External (_SB_.PC00.RP10.RD3C, IntObj)
    External (_SB_.PC00.RP10.SLOT, IntObj)
    External (_SB_.PC00.RP11, DeviceObj)
    External (_SB_.PC00.RP11.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP11.PRMV, IntObj)
    External (_SB_.PC00.RP11.PRTP, IntObj)
    External (_SB_.PC00.RP11.RD3C, IntObj)
    External (_SB_.PC00.RP11.SLOT, IntObj)
    External (_SB_.PC00.RP12, DeviceObj)
    External (_SB_.PC00.RP12.CBLV, UnknownObj)
    External (_SB_.PC00.RP12.CLID, UnknownObj)
    External (_SB_.PC00.RP12.DLID, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP12.NFRP, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP12.PRMV, IntObj)
    External (_SB_.PC00.RP12.PRTP, IntObj)
    External (_SB_.PC00.RP12.PXSX.PEGB.PEGE.DEDP, DeviceObj)
    External (_SB_.PC00.RP12.RD3C, IntObj)
    External (_SB_.PC00.RP12.SLOT, IntObj)
    External (_SB_.PC00.RP13, DeviceObj)
    External (_SB_.PC00.RP13.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PBNU, IntObj)
    External (_SB_.PC00.RP13.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP13.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PRMV, IntObj)
    External (_SB_.PC00.RP13.PRTP, IntObj)
    External (_SB_.PC00.RP13.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP13.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP13.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP13.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP13.RD3C, IntObj)
    External (_SB_.PC00.RP13.SLOT, IntObj)
    External (_SB_.PC00.RP13.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP13.VDID, FieldUnitObj)
    External (_SB_.PC00.RP14, DeviceObj)
    External (_SB_.PC00.RP14.PRMV, IntObj)
    External (_SB_.PC00.RP14.PRTP, IntObj)
    External (_SB_.PC00.RP14.RD3C, IntObj)
    External (_SB_.PC00.RP14.SLOT, IntObj)
    External (_SB_.PC00.RP15, DeviceObj)
    External (_SB_.PC00.RP15.PRMV, IntObj)
    External (_SB_.PC00.RP15.PRTP, IntObj)
    External (_SB_.PC00.RP15.RD3C, IntObj)
    External (_SB_.PC00.RP15.SLOT, IntObj)
    External (_SB_.PC00.RP16, DeviceObj)
    External (_SB_.PC00.RP16.PRMV, IntObj)
    External (_SB_.PC00.RP16.PRTP, IntObj)
    External (_SB_.PC00.RP16.RD3C, IntObj)
    External (_SB_.PC00.RP16.SLOT, IntObj)
    External (_SB_.PC00.RP17, DeviceObj)
    External (_SB_.PC00.RP17.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PBNU, IntObj)
    External (_SB_.PC00.RP17.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP17.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PRMV, IntObj)
    External (_SB_.PC00.RP17.PRTP, IntObj)
    External (_SB_.PC00.RP17.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP17.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.DRIE, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP17.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP17.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP17.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP17.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP17.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP17.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP17.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP17.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP17.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP17.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP17.RD3C, IntObj)
    External (_SB_.PC00.RP17.SLOT, IntObj)
    External (_SB_.PC00.RP17.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP17.VDID, FieldUnitObj)
    External (_SB_.PC00.RP18, DeviceObj)
    External (_SB_.PC00.RP18.PRMV, IntObj)
    External (_SB_.PC00.RP18.PRTP, IntObj)
    External (_SB_.PC00.RP18.RD3C, IntObj)
    External (_SB_.PC00.RP18.SLOT, IntObj)
    External (_SB_.PC00.RP19, DeviceObj)
    External (_SB_.PC00.RP19.PRMV, IntObj)
    External (_SB_.PC00.RP19.PRTP, IntObj)
    External (_SB_.PC00.RP19.RD3C, IntObj)
    External (_SB_.PC00.RP19.SLOT, IntObj)
    External (_SB_.PC00.RP20, DeviceObj)
    External (_SB_.PC00.RP20.PRMV, IntObj)
    External (_SB_.PC00.RP20.PRTP, IntObj)
    External (_SB_.PC00.RP20.RD3C, IntObj)
    External (_SB_.PC00.RP20.SLOT, IntObj)
    External (_SB_.PC00.RP21, DeviceObj)
    External (_SB_.PC00.RP21.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PBNU, IntObj)
    External (_SB_.PC00.RP21.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP21.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PRMV, IntObj)
    External (_SB_.PC00.RP21.PRTP, IntObj)
    External (_SB_.PC00.RP21.PXSX.BCCX, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.BOFC, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.BRMT, IntObj)
    External (_SB_.PC00.RP21.PXSX.CRFI, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.DPRS, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.DRIE, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.FDEL, IntObj)
    External (_SB_.PC00.RP21.PXSX.FLRC, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC00.RP21.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC00.RP21.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC00.RP21.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PXSX.PDEL, IntObj)
    External (_SB_.PC00.RP21.PXSX.PIXX, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC00.RP21.PXSX.RDLY, IntObj)
    External (_SB_.PC00.RP21.PXSX.RSTY, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.SCCX, UnknownObj)
    External (_SB_.PC00.RP21.PXSX.VDEL, IntObj)
    External (_SB_.PC00.RP21.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.PXSX.WVHO, IntObj)
    External (_SB_.PC00.RP21.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC00.RP21.RD3C, IntObj)
    External (_SB_.PC00.RP21.SLOT, IntObj)
    External (_SB_.PC00.RP21.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC00.RP21.VDID, FieldUnitObj)
    External (_SB_.PC00.RP22, DeviceObj)
    External (_SB_.PC00.RP22.PRMV, IntObj)
    External (_SB_.PC00.RP22.PRTP, IntObj)
    External (_SB_.PC00.RP22.RD3C, IntObj)
    External (_SB_.PC00.RP22.SLOT, IntObj)
    External (_SB_.PC00.RP23, DeviceObj)
    External (_SB_.PC00.RP23.PRMV, IntObj)
    External (_SB_.PC00.RP23.PRTP, IntObj)
    External (_SB_.PC00.RP23.RD3C, IntObj)
    External (_SB_.PC00.RP23.SLOT, IntObj)
    External (_SB_.PC00.RP24, DeviceObj)
    External (_SB_.PC00.RP24.PRMV, IntObj)
    External (_SB_.PC00.RP24.PRTP, IntObj)
    External (_SB_.PC00.RP24.RD3C, IntObj)
    External (_SB_.PC00.RP24.SLOT, IntObj)
    External (_SB_.PC00.RP25, DeviceObj)
    External (_SB_.PC00.RP25.PRMV, IntObj)
    External (_SB_.PC00.RP25.PRTP, IntObj)
    External (_SB_.PC00.RP25.RD3C, IntObj)
    External (_SB_.PC00.RP25.SLOT, IntObj)
    External (_SB_.PC00.RP26, DeviceObj)
    External (_SB_.PC00.RP26.PRMV, IntObj)
    External (_SB_.PC00.RP26.PRTP, IntObj)
    External (_SB_.PC00.RP26.RD3C, IntObj)
    External (_SB_.PC00.RP26.SLOT, IntObj)
    External (_SB_.PC00.RP27, DeviceObj)
    External (_SB_.PC00.RP27.PRMV, IntObj)
    External (_SB_.PC00.RP27.PRTP, IntObj)
    External (_SB_.PC00.RP27.RD3C, IntObj)
    External (_SB_.PC00.RP27.SLOT, IntObj)
    External (_SB_.PC00.RP28, DeviceObj)
    External (_SB_.PC00.RP28.PRMV, IntObj)
    External (_SB_.PC00.RP28.PRTP, IntObj)
    External (_SB_.PC00.RP28.RD3C, IntObj)
    External (_SB_.PC00.RP28.SLOT, IntObj)
    External (_SB_.PC00.SAT0.PRT6, DeviceObj)
    External (_SB_.PC00.SAT0.PRT7, DeviceObj)
    External (_SB_.PC00.SAT0.SATC, MethodObj)    // 1 Arguments
    External (_SB_.PC00.SAT0.SATD, MethodObj)    // 4 Arguments
    External (_SB_.PC00.SWAK, MethodObj)    // 2 Arguments
    External (_SB_.PC00.TDM0, DeviceObj)
    External (_SB_.PC00.TDM0._STA, UnknownObj)
    External (_SB_.PC00.TDM0.SCME, UnknownObj)
    External (_SB_.PC00.TDM0.STCM, MethodObj)    // 2 Arguments
    External (_SB_.PC00.TDM1, DeviceObj)
    External (_SB_.PC00.TDM1._STA, UnknownObj)
    External (_SB_.PC00.TDM1.SCME, UnknownObj)
    External (_SB_.PC00.TDM1.STCM, MethodObj)    // 2 Arguments
    External (_SB_.PC00.THC0, DeviceObj)
    External (_SB_.PC00.THC0.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC00.THC1, DeviceObj)
    External (_SB_.PC00.THC1.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC00.TXHC, DeviceObj)
    External (_SB_.PC00.UF0E, UnknownObj)
    External (_SB_.PC00.VMD0.PP01._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP01.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP01.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP01.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP01.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP01.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP01.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP01.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP02._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP02.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP02.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP02.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP02.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP02.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP02.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP02.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP03._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP03.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP03.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP03.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP03.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP03.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP03.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP03.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP04._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP04.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP04.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP04.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP04.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP04.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP04.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP04.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP05._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP05.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP05.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP05.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP05.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP05.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP05.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP05.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP06._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP06.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP06.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP06.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP06.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP06.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP06.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP06.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP07._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP07.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP07.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP07.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP07.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP07.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP07.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP07.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP08._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP08.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP08.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP08.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP08.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP08.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP08.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP08.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP09._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP09.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP09.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP09.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP09.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP09.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP09.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP09.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP10._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP10.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP10.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP10.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP10.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP10.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP10.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP10.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP11._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP11.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP11.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP11.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP11.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP11.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP11.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP11.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP12._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP12.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP12.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP12.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP12.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP12.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP12.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP12.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP13._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP13.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP13.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP13.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP13.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP13.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP13.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP13.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP14._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP14.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP14.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP14.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP14.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP14.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP14.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP14.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP15._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP15.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP15.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP15.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP15.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP15.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP15.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP15.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP16._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP16.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP16.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP16.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP16.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP16.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP16.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP16.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP17._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP17.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP17.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP17.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP17.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP17.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP17.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP17.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP18._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP18.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP18.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP18.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP18.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP18.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP18.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP18.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP19._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP19.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP19.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP19.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP19.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP19.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP19.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP19.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP20._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP20.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP20.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP20.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP20.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP20.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP20.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP20.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP21._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP21.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP21.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP21.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP21.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP21.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP21.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP21.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP22._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP22.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP22.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP22.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP22.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP22.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP22.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP22.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP23._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP23.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP23.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP23.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP23.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP23.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP23.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP23.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PP24._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PP24.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.PP24.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PP24.RPB_, IntObj)
    External (_SB_.PC00.VMD0.PP24.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PP24.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PP24.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PP24.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT0._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT0.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT0.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT0.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT0.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT0.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT1._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT1.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT1.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT1.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT1.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT1.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT2._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT2.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT2.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT2.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT2.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT2.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT3._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT3.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT3.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT3.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT3.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT3.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT4._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT4.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT4.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT4.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT4.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT4.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT5._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT5.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT5.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT5.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT5.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT5.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT6._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT6.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT6.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT6.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT6.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT6.RSPT, IntObj)
    External (_SB_.PC00.VMD0.PRT7._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.PRT7.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.PRT7.RPD_, IntObj)
    External (_SB_.PC00.VMD0.PRT7.RPF_, IntObj)
    External (_SB_.PC00.VMD0.PRT7.RSPI, IntObj)
    External (_SB_.PC00.VMD0.PRT7.RSPT, IntObj)
    External (_SB_.PC00.VMD0.SP01._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.SP01.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.SP01.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.SP01.RPB_, IntObj)
    External (_SB_.PC00.VMD0.SP01.RPD_, IntObj)
    External (_SB_.PC00.VMD0.SP01.RPF_, IntObj)
    External (_SB_.PC00.VMD0.SP01.RSPI, IntObj)
    External (_SB_.PC00.VMD0.SP01.RSPT, IntObj)
    External (_SB_.PC00.VMD0.SP09._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.SP09.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.SP09.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.SP09.RPB_, IntObj)
    External (_SB_.PC00.VMD0.SP09.RPD_, IntObj)
    External (_SB_.PC00.VMD0.SP09.RPF_, IntObj)
    External (_SB_.PC00.VMD0.SP09.RSPI, IntObj)
    External (_SB_.PC00.VMD0.SP09.RSPT, IntObj)
    External (_SB_.PC00.VMD0.SP13._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.SP13.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.SP13.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.SP13.RPB_, IntObj)
    External (_SB_.PC00.VMD0.SP13.RPD_, IntObj)
    External (_SB_.PC00.VMD0.SP13.RPF_, IntObj)
    External (_SB_.PC00.VMD0.SP13.RSPI, IntObj)
    External (_SB_.PC00.VMD0.SP13.RSPT, IntObj)
    External (_SB_.PC00.VMD0.SP17._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.SP17.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.SP17.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.SP17.RPB_, IntObj)
    External (_SB_.PC00.VMD0.SP17.RPD_, IntObj)
    External (_SB_.PC00.VMD0.SP17.RPF_, IntObj)
    External (_SB_.PC00.VMD0.SP17.RSPI, IntObj)
    External (_SB_.PC00.VMD0.SP17.RSPT, IntObj)
    External (_SB_.PC00.VMD0.SP21._ADR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.VMD0.SP21.CBAR, MethodObj)    // 3 Arguments
    External (_SB_.PC00.VMD0.SP21.D3CV, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.SP21.RPB_, IntObj)
    External (_SB_.PC00.VMD0.SP21.RPD_, IntObj)
    External (_SB_.PC00.VMD0.SP21.RPF_, IntObj)
    External (_SB_.PC00.VMD0.SP21.RSPI, IntObj)
    External (_SB_.PC00.VMD0.SP21.RSPT, IntObj)
    External (_SB_.PC00.VMD0.VDOF, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.VDON, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.VLOF, MethodObj)    // 2 Arguments
    External (_SB_.PC00.VMD0.VLON, MethodObj)    // 2 Arguments
    External (_SB_.PC00.XDCI.XDAT, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI._PS0.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI._PS3.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.DUAM, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.HS03.VTCM, IntObj)
    External (_SB_.PC00.XHCI.RHUB.HS05.VTCM, IntObj)
    External (_SB_.PC00.XHCI.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PC00.XHCI.RHUB.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC02, DeviceObj)
    External (_SB_.PC02.CNVW.BOFC, UnknownObj)
    External (_SB_.PC02.CNVW.CRFI, UnknownObj)
    External (_SB_.PC02.CNVW.DPRS, UnknownObj)
    External (_SB_.PC02.CNVW.DRIE, UnknownObj)
    External (_SB_.PC02.CNVW.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.CNVW.FLRC, UnknownObj)
    External (_SB_.PC02.CNVW.PRRS, UnknownObj)
    External (_SB_.PC02.CNVW.RSTT, UnknownObj)
    External (_SB_.PC02.CNVW.RSTY, UnknownObj)
    External (_SB_.PC02.GBES, UnknownObj)
    External (_SB_.PC02.HDAS.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC02.HDAS.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC02.HDAS.PPMS, MethodObj)    // 1 Arguments
    External (_SB_.PC02.HDAS.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.HDAS.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.HDBO, UnknownObj)
    External (_SB_.PC02.HIDW, MethodObj)    // 4 Arguments
    External (_SB_.PC02.HIWC, MethodObj)    // 1 Arguments
    External (_SB_.PC02.I2C0.PPDI, UnknownObj)
    External (_SB_.PC02.I2C1.PPDI, UnknownObj)
    External (_SB_.PC02.I2C2.PPDI, UnknownObj)
    External (_SB_.PC02.I2C3.PPDI, UnknownObj)
    External (_SB_.PC02.I2C4.PPDI, UnknownObj)
    External (_SB_.PC02.I2C5.PPDI, UnknownObj)
    External (_SB_.PC02.PBSB, UnknownObj)
    External (_SB_.PC02.PPMC.ACET, UnknownObj)
    External (_SB_.PC02.PPMC.ACWA, UnknownObj)
    External (_SB_.PC02.PPMC.DCET, UnknownObj)
    External (_SB_.PC02.PPMC.DCWA, UnknownObj)
    External (_SB_.PC02.RP01, DeviceObj)
    External (_SB_.PC02.RP01.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PBNU, IntObj)
    External (_SB_.PC02.RP01.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP01.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PRMV, IntObj)
    External (_SB_.PC02.RP01.PRTP, IntObj)
    External (_SB_.PC02.RP01.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP01.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP01.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP01.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP01.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP01.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP01.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP01.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP01.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP01.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP01.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP01.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP01.RD3C, IntObj)
    External (_SB_.PC02.RP01.SLOT, IntObj)
    External (_SB_.PC02.RP01.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP01.VDID, FieldUnitObj)
    External (_SB_.PC02.RP02.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PBNU, IntObj)
    External (_SB_.PC02.RP02.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP02.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP02.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP02.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP02.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP02.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP02.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP02.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP02.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP02.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP02.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP02.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP02.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP02.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP02.VDID, FieldUnitObj)
    External (_SB_.PC02.RP03.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PBNU, IntObj)
    External (_SB_.PC02.RP03.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP03.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP03.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP03.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP03.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP03.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP03.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP03.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP03.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP03.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP03.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP03.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP03.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP03.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP03.VDID, FieldUnitObj)
    External (_SB_.PC02.RP04, DeviceObj)
    External (_SB_.PC02.RP04.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PBNU, IntObj)
    External (_SB_.PC02.RP04.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP04.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PRMV, IntObj)
    External (_SB_.PC02.RP04.PRTP, IntObj)
    External (_SB_.PC02.RP04.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP04.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP04.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP04.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP04.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP04.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP04.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP04.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP04.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP04.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP04.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP04.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP04.RD3C, IntObj)
    External (_SB_.PC02.RP04.SLOT, IntObj)
    External (_SB_.PC02.RP04.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP04.VDID, FieldUnitObj)
    External (_SB_.PC02.RP05, DeviceObj)
    External (_SB_.PC02.RP05.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PBNU, IntObj)
    External (_SB_.PC02.RP05.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP05.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PRMV, IntObj)
    External (_SB_.PC02.RP05.PRTP, IntObj)
    External (_SB_.PC02.RP05.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP05.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP05.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP05.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP05.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP05.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP05.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP05.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP05.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP05.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP05.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP05.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP05.RD3C, IntObj)
    External (_SB_.PC02.RP05.SLOT, IntObj)
    External (_SB_.PC02.RP05.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP05.VDID, FieldUnitObj)
    External (_SB_.PC02.RP06, DeviceObj)
    External (_SB_.PC02.RP06.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PBNU, IntObj)
    External (_SB_.PC02.RP06.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP06.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PRMV, IntObj)
    External (_SB_.PC02.RP06.PRTP, IntObj)
    External (_SB_.PC02.RP06.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP06.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP06.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP06.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP06.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP06.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP06.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP06.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP06.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP06.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP06.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP06.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP06.RD3C, IntObj)
    External (_SB_.PC02.RP06.SLOT, IntObj)
    External (_SB_.PC02.RP06.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP06.VDID, FieldUnitObj)
    External (_SB_.PC02.RP07, DeviceObj)
    External (_SB_.PC02.RP07.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PBNU, IntObj)
    External (_SB_.PC02.RP07.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP07.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PRMV, IntObj)
    External (_SB_.PC02.RP07.PRTP, IntObj)
    External (_SB_.PC02.RP07.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP07.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP07.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP07.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP07.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP07.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP07.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP07.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP07.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP07.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP07.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP07.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP07.RD3C, IntObj)
    External (_SB_.PC02.RP07.SLOT, IntObj)
    External (_SB_.PC02.RP07.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP07.VDID, FieldUnitObj)
    External (_SB_.PC02.RP08, DeviceObj)
    External (_SB_.PC02.RP08.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PBNU, IntObj)
    External (_SB_.PC02.RP08.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP08.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PRMV, IntObj)
    External (_SB_.PC02.RP08.PRTP, IntObj)
    External (_SB_.PC02.RP08.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP08.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP08.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP08.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP08.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP08.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP08.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP08.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP08.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP08.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP08.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP08.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP08.RD3C, IntObj)
    External (_SB_.PC02.RP08.SLOT, IntObj)
    External (_SB_.PC02.RP08.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP08.VDID, FieldUnitObj)
    External (_SB_.PC02.RP09, DeviceObj)
    External (_SB_.PC02.RP09.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PBNU, IntObj)
    External (_SB_.PC02.RP09.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP09.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PRMV, IntObj)
    External (_SB_.PC02.RP09.PRTP, IntObj)
    External (_SB_.PC02.RP09.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP09.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP09.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP09.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP09.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP09.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP09.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP09.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP09.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP09.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP09.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP09.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP09.RD3C, IntObj)
    External (_SB_.PC02.RP09.SLOT, IntObj)
    External (_SB_.PC02.RP09.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP09.VDID, FieldUnitObj)
    External (_SB_.PC02.RP10.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PBNU, IntObj)
    External (_SB_.PC02.RP10.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP10.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP10.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP10.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP10.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP10.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP10.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP10.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP10.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP10.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP10.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP10.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP10.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP10.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP10.VDID, FieldUnitObj)
    External (_SB_.PC02.RP11.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PBNU, IntObj)
    External (_SB_.PC02.RP11.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP11.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP11.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP11.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP11.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP11.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP11.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP11.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP11.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP11.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP11.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP11.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP11.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP11.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP11.VDID, FieldUnitObj)
    External (_SB_.PC02.RP12.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PBNU, IntObj)
    External (_SB_.PC02.RP12.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP12.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP12.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP12.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP12.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP12.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP12.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP12.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP12.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP12.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP12.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP12.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP12.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP12.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP12.VDID, FieldUnitObj)
    External (_SB_.PC02.RP13, DeviceObj)
    External (_SB_.PC02.RP13.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PBNU, IntObj)
    External (_SB_.PC02.RP13.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP13.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PRMV, IntObj)
    External (_SB_.PC02.RP13.PRTP, IntObj)
    External (_SB_.PC02.RP13.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP13.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP13.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP13.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP13.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP13.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP13.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP13.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP13.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP13.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP13.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP13.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP13.RD3C, IntObj)
    External (_SB_.PC02.RP13.SLOT, IntObj)
    External (_SB_.PC02.RP13.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP13.VDID, FieldUnitObj)
    External (_SB_.PC02.RP14.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PBNU, IntObj)
    External (_SB_.PC02.RP14.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP14.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP14.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP14.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP14.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP14.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP14.VDID, FieldUnitObj)
    External (_SB_.PC02.RP15.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PBNU, IntObj)
    External (_SB_.PC02.RP15.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP15.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP15.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP15.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP15.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP15.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP15.VDID, FieldUnitObj)
    External (_SB_.PC02.RP16.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PBNU, IntObj)
    External (_SB_.PC02.RP16.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP16.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP16.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP16.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP16.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP16.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP16.VDID, FieldUnitObj)
    External (_SB_.PC02.RP17, DeviceObj)
    External (_SB_.PC02.RP17.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PBNU, IntObj)
    External (_SB_.PC02.RP17.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP17.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PRMV, IntObj)
    External (_SB_.PC02.RP17.PRTP, IntObj)
    External (_SB_.PC02.RP17.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP17.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP17.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP17.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP17.RD3C, IntObj)
    External (_SB_.PC02.RP17.SLOT, IntObj)
    External (_SB_.PC02.RP17.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP17.VDID, FieldUnitObj)
    External (_SB_.PC02.RP18.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PBNU, IntObj)
    External (_SB_.PC02.RP18.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP18.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP18.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP18.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP18.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP18.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP18.VDID, FieldUnitObj)
    External (_SB_.PC02.RP19.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PBNU, IntObj)
    External (_SB_.PC02.RP19.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP19.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP19.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP19.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP19.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP19.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP19.VDID, FieldUnitObj)
    External (_SB_.PC02.RP20.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PBNU, IntObj)
    External (_SB_.PC02.RP20.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP20.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP20.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP20.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP20.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP20.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP20.VDID, FieldUnitObj)
    External (_SB_.PC02.RP21, DeviceObj)
    External (_SB_.PC02.RP21.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PBNU, IntObj)
    External (_SB_.PC02.RP21.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP21.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PRMV, IntObj)
    External (_SB_.PC02.RP21.PRTP, IntObj)
    External (_SB_.PC02.RP21.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.BOFC, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.BRMT, IntObj)
    External (_SB_.PC02.RP21.PXSX.BTIE, FieldUnitObj)
    External (_SB_.PC02.RP21.PXSX.CRFI, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.DPRS, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.DRIE, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.EFUN.CRFI, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.FDEL, IntObj)
    External (_SB_.PC02.RP21.PXSX.FLRC, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PXSX.L1C1, FieldUnitObj)
    External (_SB_.PC02.RP21.PXSX.L1C2, FieldUnitObj)
    External (_SB_.PC02.RP21.PXSX.MSNL, FieldUnitObj)
    External (_SB_.PC02.RP21.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PXSX.PDEL, IntObj)
    External (_SB_.PC02.RP21.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PXSX.PTMR, FieldUnitObj)
    External (_SB_.PC02.RP21.PXSX.RDLY, IntObj)
    External (_SB_.PC02.RP21.PXSX.RSTY, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP21.PXSX.VDEL, IntObj)
    External (_SB_.PC02.RP21.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.PXSX.WVHO, IntObj)
    External (_SB_.PC02.RP21.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP21.RD3C, IntObj)
    External (_SB_.PC02.RP21.SLOT, IntObj)
    External (_SB_.PC02.RP21.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP21.VDID, FieldUnitObj)
    External (_SB_.PC02.RP22.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PBNU, IntObj)
    External (_SB_.PC02.RP22.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP22.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP22.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP22.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP22.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP22.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP22.VDID, FieldUnitObj)
    External (_SB_.PC02.RP23.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PBNU, IntObj)
    External (_SB_.PC02.RP23.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP23.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP23.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP23.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP23.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP23.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP23.VDID, FieldUnitObj)
    External (_SB_.PC02.RP24.ADSD, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PBNU, IntObj)
    External (_SB_.PC02.RP24.PINI, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.POFF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PON_, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PPBA, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP24.PPS0, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PPS3, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.BCCX, UnknownObj)
    External (_SB_.PC02.RP24.PXSX.ISGX, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.PAHC, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.PIXX, UnknownObj)
    External (_SB_.PC02.RP24.PXSX.PNVM, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.SCCX, UnknownObj)
    External (_SB_.PC02.RP24.PXSX.WIST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.PXSX.WWST, MethodObj)    // 0 Arguments
    External (_SB_.PC02.RP24.UPRD, MethodObj)    // 1 Arguments
    External (_SB_.PC02.RP24.VDID, FieldUnitObj)
    External (_SB_.PC02.SAT0.PRT0.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT0.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT0.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT1.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT1.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT1.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT2.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT2.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT2.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT3.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT3.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT3.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT4.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT4.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT4.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT5.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT5.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT5.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT6.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT6.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT6.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT7.PRES, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT7.SPOF, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.PRT7.SPON, MethodObj)    // 0 Arguments
    External (_SB_.PC02.SAT0.SATC, MethodObj)    // 1 Arguments
    External (_SB_.PC02.SAT0.SATD, MethodObj)    // 4 Arguments
    External (_SB_.PC02.SAT0.ZPOV, MethodObj)    // 3 Arguments
    External (_SB_.PC02.THC0.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC02.THC1.CINI, MethodObj)    // 2 Arguments
    External (_SB_.PC02.VMDE, UnknownObj)
    External (_SB_.PC02.VMPP, UnknownObj)
    External (_SB_.PC02.XDCI.XDAT, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI._PS0.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI._PS3.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.HS03.VTCM, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS05.VTCM, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.BRMT, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.CBTA, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.CBTC, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.CBTI, IntObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.CRFP, UnknownObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.RDLY, UnknownObj)
    External (_SB_.PC02.XHCI.RHUB.HS14.WVHO, IntObj)
    External (_SB_.PC02.XHCI.RHUB.INIR, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.PS0X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.PS2X, MethodObj)    // 0 Arguments
    External (_SB_.PC02.XHCI.RHUB.PS3X, MethodObj)    // 0 Arguments
    External (_SB_.PDTS, UnknownObj)
    External (_SB_.PGPI.SGOV, MethodObj)    // 2 Arguments
    External (_SB_.PKGA, UnknownObj)
    External (_SB_.PR00.LPSS, PkgObj)
    External (_SB_.PR00.TPSS, PkgObj)
    External (_SB_.PWRB, DeviceObj)
    External (_SB_.PWRB.PBST, IntObj)
    External (_SB_.SGOV, MethodObj)    // 2 Arguments
    External (_SB_.TCWK, MethodObj)    // 1 Arguments
    External (_SB_.TPM_.PTS_, MethodObj)    // 1 Arguments
    External (_SB_.TRPD, UnknownObj)
    External (_SB_.TRPF, UnknownObj)
    External (_SB_.UBTC, DeviceObj)
    External (_SB_.UBTC.CCI0, IntObj)
    External (_SB_.UBTC.CCI1, IntObj)
    External (_SB_.UBTC.CCI2, IntObj)
    External (_SB_.UBTC.CCI3, IntObj)
    External (_SB_.UBTC.MGI0, IntObj)
    External (_SB_.UBTC.MGI1, IntObj)
    External (_SB_.UBTC.MGI2, IntObj)
    External (_SB_.UBTC.MGI3, IntObj)
    External (_SB_.UBTC.MGI4, IntObj)
    External (_SB_.UBTC.MGI5, IntObj)
    External (_SB_.UBTC.MGI6, IntObj)
    External (_SB_.UBTC.MGI7, IntObj)
    External (_SB_.UBTC.MGI8, IntObj)
    External (_SB_.UBTC.MGI9, IntObj)
    External (_SB_.UBTC.MGIA, IntObj)
    External (_SB_.UBTC.MGIB, IntObj)
    External (_SB_.UBTC.MGIC, IntObj)
    External (_SB_.UBTC.MGID, IntObj)
    External (_SB_.UBTC.MGIE, IntObj)
    External (_SB_.UBTC.MGIF, IntObj)
    External (_TZ_.ETMD, IntObj)
    External (_TZ_.TZ00, DeviceObj)
    External (_TZ_.TZ00._TMP, MethodObj)    // 0 Arguments
    External (AC0F, FieldUnitObj)
    External (AC1F, FieldUnitObj)
    External (ADBG, MethodObj)    // 1 Arguments
    External (ARLP, UnknownObj)
    External (ARLS, UnknownObj)
    External (BGIA, IntObj)
    External (BGMA, IntObj)
    External (BGMS, IntObj)
    External (BRMT, IntObj)
    External (CGLS, UnknownObj)
    External (CNMT, UnknownObj)
    External (CRBI, UnknownObj)
    External (DGBA, UnknownObj)
    External (DGDX, UnknownObj)
    External (DIDX, UnknownObj)
    External (DIDY, UnknownObj)
    External (DME0, UnknownObj)
    External (DME1, UnknownObj)
    External (DPRS, IntObj)
    External (DPTR, IntObj)
    External (DSCE, IntObj)
    External (DTFS, UnknownObj)
    External (DTRT, UnknownObj)
    External (EPTU, FieldUnitObj)
    External (ESPC, UnknownObj)
    External (GMIO, MethodObj)    // 3 Arguments
    External (GPRV, MethodObj)    // 2 Arguments
    External (HDBO, UnknownObj)
    External (HGDT, UnknownObj)
    External (IGDS, FieldUnitObj)
    External (ISAR, MethodObj)    // 4 Arguments
    External (ISI9, UnknownObj)
    External (LIDS, FieldUnitObj)
    External (M32B, IntObj)
    External (M32L, IntObj)
    External (M64B, IntObj)
    External (M64L, IntObj)
    External (MDBG, MethodObj)    // 1 Arguments
    External (MOID, UnknownObj)
    External (ODBG, MethodObj)    // 1 Arguments
    External (P0WK, UnknownObj)
    External (P1WK, UnknownObj)
    External (P2PG, UnknownObj)
    External (P2RG, UnknownObj)
    External (P2WK, UnknownObj)
    External (P3PG, UnknownObj)
    External (P3RG, UnknownObj)
    External (P3WK, UnknownObj)
    External (PBNU, IntObj)
    External (PBSB, IntObj)
    External (PBSS, FieldUnitObj)
    External (PBUS, UnknownObj)
    External (PCHS, FieldUnitObj)
    External (PG3S, UnknownObj)
    External (PPOE, UnknownObj)
    External (PSON, UnknownObj)
    External (PWRS, FieldUnitObj)
    External (RPN0, IntObj)
    External (RPN1, IntObj)
    External (RPS0, IntObj)
    External (RPS1, IntObj)
    External (RPSG, FieldUnitObj)
    External (RPT0, IntObj)
    External (RPT1, IntObj)
    External (RSTY, IntObj)
    External (SIME, UnknownObj)
    External (SPNT, MethodObj)    // 0 Arguments
    External (SPTS, MethodObj)    // 1 Arguments
    External (STD3, FieldUnitObj)
    External (SWAK, MethodObj)    // 2 Arguments
    External (TDCE, UnknownObj)
    External (TFWB, FieldUnitObj)
    External (THCE, UnknownObj)
    External (TRE0, UnknownObj)
    External (TRE1, UnknownObj)
    External (TRE2, UnknownObj)
    External (TRE3, UnknownObj)
    External (TVBS, FieldUnitObj)
    External (VDSD, IntObj)
    External (VMDE, FieldUnitObj)
    External (VMSP, UnknownObj)
    External (XBAS, UnknownObj)
    External (ZPPB, FieldUnitObj)

    Name (MCHB, 0xFEDC0000)
    Name (MCHL, 0x00020000)
    Name (EGPB, 0xFEDA1000)
    Name (EGPL, 0x1000)
    Name (DMIB, 0xFEDA0000)
    Name (DMIL, 0x1000)
    Name (VTBS, 0xFC800000)
    Name (VTLN, 0x00020000)
    Name (CPVD, Zero)
    Name (SMIP, 0xB2)
    Name (PMBA, 0x1800)
    Name (SMCR, 0x1830)
    Name (TCBR, 0xFED08000)
    Name (TCLT, 0x1000)
    Name (SMBL, 0x20)
    Name (APCB, 0xFEC00000)
    Name (APCL, 0x1000)
    Name (ITSW, 0xBD)
    Name (FMBL, One)
    Name (FDTP, 0x02)
    Name (FUPS, 0x04)
    Name (FUWS, 0x03)
    Name (FEMD, 0x04)
    Name (IOBS, 0x0580)
    Name (ASSB, Zero)
    Name (AOTB, Zero)
    Name (AAXB, Zero)
    Name (PEHP, One)
    Name (SHPC, One)
    Name (PEPM, One)
    Name (PEER, One)
    Name (PECS, One)
    Name (ITKE, Zero)
    Name (MBEC, 0xFFFF)
    Name (PEBS, 0xC0000000)
    Name (PELN, 0x10000000)
    Name (CSMI, 0x61)
    Name (FHPP, One)
    Name (SMIA, 0xB2)
    Name (OFST, 0x35)
    Name (TRST, 0x02)
    Name (TCMF, Zero)
    Name (TMF1, Zero)
    Name (TTPF, Zero)
    Name (TTDP, One)
    Name (TPMB, 0xFFFFFFFF)
    Name (TPBS, 0x1000)
    Name (TPMC, 0xFFFFFFFF)
    Name (TPCS, 0x1000)
    Name (TPMM, 0xFED40000)
    Name (FTPM, 0xFED40040)
    Name (PPIM, 0x61DFEF98)
    Name (PPIL, 0x1C)
    Name (AMDT, Zero)
    Name (TPMF, One)
    Name (PPIV, One)
    Name (DTP1, One)
    Name (SANB, 0x61DFED98)
    Name (SANL, 0x0138)
    Name (VMNB, 0x61DFE718)
    Name (VMNL, 0x000B)
    Name (BRMT, Zero)
    Name (RDLY, 0xA0)
    OperationRegion (SANV, SystemMemory, SANB, SANL)
    Field (SANV, AnyAcc, Lock, Preserve)
    {
        ASLB,   32, 
        IGDS,   8, 
        NDID,   8, 
        DID1,   32, 
        DID2,   32, 
        DID3,   32, 
        DID4,   32, 
        DID5,   32, 
        DID6,   32, 
        DID7,   32, 
        DID8,   32, 
        DID9,   32, 
        DIDA,   32, 
        DIDB,   32, 
        DIDC,   32, 
        DIDD,   32, 
        DIDE,   32, 
        DIDF,   32, 
        DIDX,   32, 
        NXD1,   32, 
        NXD2,   32, 
        NXD3,   32, 
        NXD4,   32, 
        NXD5,   32, 
        NXD6,   32, 
        NXD7,   32, 
        NXD8,   32, 
        NXDX,   32, 
        LIDS,   8, 
        BRTL,   8, 
        ALSE,   8, 
        LLOW,   8, 
        LHIH,   8, 
        IPTP,   8, 
        EDPV,   8, 
        DLPW,   16, 
        DLHR,   16, 
        XBAS,   32, 
        AMDA,   32, 
        LTRZ,   8, 
        M64B,   64, 
        M64L,   64, 
        CPEX,   32, 
        M32B,   32, 
        M32L,   32, 
        P0WK,   32, 
        P1WK,   32, 
        P2WK,   32, 
        VTDS,   8, 
        VTB1,   32, 
        VTB2,   32, 
        VTB3,   32, 
        VTB4,   32, 
        VTB5,   32, 
        VTB6,   32, 
        VTB7,   32, 
        VE1V,   16, 
        VE2V,   16, 
        RPIN,   8, 
        RPBA,   32, 
        SIME,   8, 
        THCE,   8, 
        TDCE,   8, 
        DME0,   8, 
        DME1,   8, 
        TRE0,   8, 
        TRE1,   8, 
        TRE2,   8, 
        TRE3,   8, 
        TPA0,   32, 
        TPA1,   32, 
        TPA2,   32, 
        TPA3,   32, 
        TCDS,   32, 
        TCIT,   8, 
        TCIR,   8, 
        TRTD,   8, 
        ITM0,   32, 
        ITM1,   32, 
        LTE0,   8, 
        LTE1,   8, 
        LTE2,   8, 
        LTE3,   8, 
        PSL0,   16, 
        PSL1,   16, 
        PSL2,   16, 
        PSL3,   16, 
        PNS0,   16, 
        PNS1,   16, 
        PNS2,   16, 
        PNS3,   16, 
        IMRY,   8, 
        TIVS,   8, 
        DIDY,   32, 
        NXDY,   32, 
        SLTS,   8, 
        MPGN,   8, 
        CMBM,   8, 
        DPMS,   8, 
        PMSA,   64, 
        PMRL,   64, 
        PBR1,   8, 
        PBR2,   8, 
        PBR3,   8, 
        REGO,   16, 
        IOMB,   64, 
        RTBM,   8, 
        RPCC,   32
    }

    OperationRegion (VMNV, SystemMemory, VMNB, VMNL)
    Field (VMNV, AnyAcc, Lock, Preserve)
    {
        VMDE,   8, 
        VMSP,   32, 
        VMPP,   32, 
        VMS0,   8, 
        PBUS,   8
    }

    OperationRegion (GNVS, SystemMemory, 0x61C93000, 0x0DAB)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        OSYS,   16, 
        SMIF,   8, 
        PRM0,   8, 
        PRM1,   8, 
        SCIF,   8, 
        PRM2,   8, 
        PRM3,   8, 
        LCKF,   8, 
        PRM4,   8, 
        PRM5,   8, 
        PWRS,   8, 
        DBGS,   8, 
        THOF,   8, 
        ACT1,   8, 
        ACTT,   8, 
        PSVT,   8, 
        TC1V,   8, 
        TC2V,   8, 
        TSPV,   8, 
        CRTT,   8, 
        REVN,   8, 
        APIC,   8, 
        TCNT,   8, 
        PCP0,   8, 
        PCP1,   8, 
        PPCM,   8, 
        PPMF,   32, 
        C67L,   8, 
        NATP,   8, 
        CMAP,   8, 
        CMBP,   8, 
        LPTP,   8, 
        FDCP,   8, 
        CMCP,   8, 
        CIRP,   8, 
        SMSC,   8, 
        W381,   8, 
        SMC1,   8, 
        EMAE,   8, 
        EMAP,   16, 
        EMAL,   16, 
        MEFE,   8, 
        DSTS,   8, 
        MORD,   8, 
        TCGP,   8, 
        PPRP,   32, 
        PPRQ,   8, 
        LPPR,   8, 
        IDEM,   8, 
        PLID,   8, 
        BTYP,   8, 
        OSCC,   8, 
        NEXP,   8, 
        SBV1,   8, 
        SBV2,   8, 
        ECON,   8, 
        DSEN,   8, 
        GPIC,   8, 
        CTYP,   8, 
        L01C,   8, 
        VFN0,   8, 
        VFN1,   8, 
        VFN2,   8, 
        VFN3,   8, 
        VFN4,   8, 
        VFN5,   8, 
        VFN6,   8, 
        VFN7,   8, 
        VFN8,   8, 
        VFN9,   8, 
        PNHM,   32, 
        TBAL,   32, 
        TBAH,   32, 
        TSOD,   8, 
        PFLV,   8, 
        BREV,   16, 
        PAMT,   8, 
        AC0F,   8, 
        AC1F,   8, 
        XTUB,   32, 
        XTUS,   32, 
        XMPB,   32, 
        DDRF,   8, 
        RTD3,   8, 
        PEP0,   8, 
        PEP3,   8, 
        PGRT,   8, 
        S0ID,   8, 
        PUIS,   8, 
        CTDB,   8, 
        DKSM,   8, 
        SIO1,   16, 
        SIO2,   16, 
        SPBA,   16, 
        Offset (0x1F3), 
        PG3S,   8, 
        XHPR,   8, 
        RIC0,   8, 
        GBSX,   8, 
        AUDD,   16, 
        IC0D,   16, 
        IC1D,   16, 
        IC1S,   16, 
        VRRD,   16, 
        PSCP,   8, 
        I20D,   16, 
        I21D,   16, 
        RCG0,   16, 
        RCG1,   16, 
        STD3,   8, 
        P2ME,   8, 
        SCMK,   8, 
        SSH0,   16, 
        SSL0,   16, 
        SSD0,   16, 
        FMH0,   16, 
        FML0,   16, 
        FMD0,   16, 
        FPH0,   16, 
        FPL0,   16, 
        FPD0,   16, 
        HSH0,   16, 
        HSL0,   16, 
        HSD0,   16, 
        Offset (0x23D), 
        SSH1,   16, 
        SSL1,   16, 
        SSD1,   16, 
        FMH1,   16, 
        FML1,   16, 
        FMD1,   16, 
        FPH1,   16, 
        FPL1,   16, 
        FPD1,   16, 
        HSH1,   16, 
        HSL1,   16, 
        HSD1,   16, 
        Offset (0x256), 
        SSH2,   16, 
        SSL2,   16, 
        SSD2,   16, 
        FMH2,   16, 
        FML2,   16, 
        FMD2,   16, 
        FPH2,   16, 
        FPL2,   16, 
        FPD2,   16, 
        HSH2,   16, 
        HSL2,   16, 
        HSD2,   16, 
        Offset (0x26F), 
        SSH3,   16, 
        SSL3,   16, 
        SSD3,   16, 
        FMH3,   16, 
        FML3,   16, 
        FMD3,   16, 
        FPH3,   16, 
        FPL3,   16, 
        FPD3,   16, 
        HSH3,   16, 
        HSL3,   16, 
        HSD3,   16, 
        Offset (0x288), 
        SSH4,   16, 
        SSL4,   16, 
        SSD4,   16, 
        FMH4,   16, 
        FML4,   16, 
        FMD4,   16, 
        FPH4,   16, 
        FPL4,   16, 
        FPD4,   16, 
        HSH4,   16, 
        HSL4,   16, 
        HSD4,   16, 
        Offset (0x2A1), 
        SSH5,   16, 
        SSL5,   16, 
        SSD5,   16, 
        FMH5,   16, 
        FML5,   16, 
        FMD5,   16, 
        FPH5,   16, 
        FPL5,   16, 
        FPD5,   16, 
        HSH5,   16, 
        HSL5,   16, 
        HSD5,   16, 
        Offset (0x2BA), 
        M0C0,   16, 
        M1C0,   16, 
        M0C1,   16, 
        M1C1,   16, 
        M0C2,   16, 
        M1C2,   16, 
        M0C3,   16, 
        M1C3,   16, 
        M0C4,   16, 
        M1C4,   16, 
        M0C5,   16, 
        M1C5,   16, 
        M0C6,   16, 
        M1C6,   16, 
        M0C7,   16, 
        M1C7,   16, 
        M0C8,   16, 
        M1C8,   16, 
        Offset (0x2DF), 
        M0C9,   16, 
        M1C9,   16, 
        M0CA,   16, 
        M1CA,   16, 
        M0CB,   16, 
        M1CB,   16, 
        Offset (0x2EC), 
        GIRQ,   32, 
        DMTP,   8, 
        DMTD,   8, 
        DMSH,   8, 
        SHSB,   8, 
        PLCS,   8, 
        PLVL,   16, 
        WWSD,   8, 
        CVSD,   8, 
        SSDD,   8, 
        INLD,   8, 
        IFAT,   8, 
        IFPT,   8, 
        IFCT,   8, 
        IFHT,   8, 
        USBH,   8, 
        BCV4,   8, 
        WTV0,   8, 
        WTV1,   8, 
        APFU,   8, 
        Offset (0x30A), 
        PEPC,   64, 
        VRSD,   16, 
        PB1E,   8, 
        GNID,   8, 
        Offset (0x320), 
        AUPL,   32, 
        ESPC,   8, 
        PSME,   8, 
        PDT1,   8, 
        PLM1,   32, 
        PTW1,   32, 
        DDT1,   8, 
        DDP1,   8, 
        DLI1,   16, 
        DPL1,   16, 
        DTW1,   32, 
        DMI1,   16, 
        DMA1,   16, 
        DMT1,   16, 
        WIFE,   8, 
        DOM1,   8, 
        LIM1,   16, 
        TIM1,   32, 
        TRD0,   8, 
        TRL0,   8, 
        TRD1,   8, 
        TRL1,   8, 
        WDM1,   8, 
        CID1,   16, 
        Offset (0x3FB), 
        SDS0,   8, 
        SDS1,   8, 
        SDS2,   8, 
        SDS3,   8, 
        SDS4,   8, 
        SDS5,   8, 
        SDS6,   8, 
        SDS7,   8, 
        SDS8,   8, 
        SDS9,   8, 
        SDSA,   8, 
        TPLT,   8, 
        TPLM,   8, 
        TPLB,   8, 
        TPLH,   16, 
        TPLS,   8, 
        TPDT,   8, 
        TPDM,   8, 
        TPDB,   8, 
        TPDH,   16, 
        TPDS,   8, 
        FPTT,   8, 
        FPTM,   8, 
        WTVX,   8, 
        WITX,   8, 
        GPTD,   8, 
        GDBT,   16, 
        UTKX,   8, 
        SPTD,   8, 
        Offset (0x42A), 
        ATLB,   32, 
        SDM0,   8, 
        SDM1,   8, 
        SDM2,   8, 
        SDM3,   8, 
        SDM4,   8, 
        SDM5,   8, 
        SDM6,   8, 
        SDM7,   8, 
        SDM8,   8, 
        SDM9,   8, 
        SDMA,   8, 
        SDMB,   8, 
        Offset (0x43B), 
        USTP,   8, 
        Offset (0x465), 
        GFPS,   32, 
        GFPI,   32, 
        WBBR,   32, 
        GBTK,   32, 
        GBTI,   32, 
        GPDI,   32, 
        CL00,   8, 
        CL01,   8, 
        CL02,   8, 
        CL03,   8, 
        CL04,   8, 
        CL05,   8, 
        L0EN,   8, 
        L1EN,   8, 
        L2EN,   8, 
        L3EN,   8, 
        L4EN,   8, 
        L5EN,   8, 
        L0LC,   8, 
        L1LC,   8, 
        L2LC,   8, 
        L3LC,   8, 
        L4LC,   8, 
        L5LC,   8, 
        C0VE,   8, 
        C0TP,   8, 
        C0CV,   8, 
        C0IC,   32, 
        C0GP,   8, 
        C0IB,   8, 
        C0IA,   16, 
        C0P0,   8, 
        C0P1,   8, 
        C0P2,   8, 
        C0P3,   8, 
        C0P4,   8, 
        C0P5,   8, 
        C0G0,   8, 
        C0G1,   8, 
        C0G2,   8, 
        C0G3,   8, 
        C0G4,   8, 
        C0G5,   8, 
        C0F0,   8, 
        C0F1,   8, 
        C0F2,   8, 
        C0F3,   8, 
        C0F4,   8, 
        C0F5,   8, 
        C0A0,   8, 
        C0A1,   8, 
        C0A2,   8, 
        C0A3,   8, 
        C0A4,   8, 
        C0A5,   8, 
        C0I0,   8, 
        C0I1,   8, 
        C0I2,   8, 
        C0I3,   8, 
        C0I4,   8, 
        C0I5,   8, 
        C0PL,   8, 
        C0W0,   8, 
        C0W1,   8, 
        C0W2,   8, 
        C0W3,   8, 
        C0SP,   8, 
        C0W4,   8, 
        C0W5,   8, 
        C0CS,   8, 
        C1VE,   8, 
        C1TP,   8, 
        C1CV,   8, 
        C1IC,   32, 
        C1GP,   8, 
        C1IB,   8, 
        C1IA,   16, 
        C1P0,   8, 
        C1P1,   8, 
        C1P2,   8, 
        C1P3,   8, 
        C1P4,   8, 
        C1P5,   8, 
        C1G0,   8, 
        C1G1,   8, 
        C1G2,   8, 
        C1G3,   8, 
        C1G4,   8, 
        C1G5,   8, 
        C1F0,   8, 
        C1F1,   8, 
        C1F2,   8, 
        C1F3,   8, 
        C1F4,   8, 
        C1F5,   8, 
        C1A0,   8, 
        C1A1,   8, 
        C1A2,   8, 
        C1A3,   8, 
        C1A4,   8, 
        C1A5,   8, 
        C1I0,   8, 
        C1I1,   8, 
        C1I2,   8, 
        C1I3,   8, 
        C1I4,   8, 
        C1I5,   8, 
        C1PL,   8, 
        C1W0,   8, 
        C1W1,   8, 
        C1W2,   8, 
        C1W3,   8, 
        C1SP,   8, 
        C1W4,   8, 
        C1W5,   8, 
        C1CS,   8, 
        C2VE,   8, 
        C2TP,   8, 
        C2CV,   8, 
        C2IC,   32, 
        C2GP,   8, 
        C2IB,   8, 
        C2IA,   16, 
        C2P0,   8, 
        C2P1,   8, 
        C2P2,   8, 
        C2P3,   8, 
        C2P4,   8, 
        C2P5,   8, 
        C2G0,   8, 
        C2G1,   8, 
        C2G2,   8, 
        C2G3,   8, 
        C2G4,   8, 
        C2G5,   8, 
        C2F0,   8, 
        C2F1,   8, 
        C2F2,   8, 
        C2F3,   8, 
        C2F4,   8, 
        C2F5,   8, 
        C2A0,   8, 
        C2A1,   8, 
        C2A2,   8, 
        C2A3,   8, 
        C2A4,   8, 
        C2A5,   8, 
        C2I0,   8, 
        C2I1,   8, 
        C2I2,   8, 
        C2I3,   8, 
        C2I4,   8, 
        C2I5,   8, 
        C2PL,   8, 
        C2W0,   8, 
        C2W1,   8, 
        C2W2,   8, 
        C2W3,   8, 
        C2SP,   8, 
        C2W4,   8, 
        C2W5,   8, 
        C2CS,   8, 
        C3VE,   8, 
        C3TP,   8, 
        C3CV,   8, 
        C3IC,   32, 
        C3GP,   8, 
        C3IB,   8, 
        C3IA,   16, 
        C3P0,   8, 
        C3P1,   8, 
        C3P2,   8, 
        C3P3,   8, 
        C3P4,   8, 
        C3P5,   8, 
        C3G0,   8, 
        C3G1,   8, 
        C3G2,   8, 
        C3G3,   8, 
        C3G4,   8, 
        C3G5,   8, 
        C3F0,   8, 
        C3F1,   8, 
        C3F2,   8, 
        C3F3,   8, 
        C3F4,   8, 
        C3F5,   8, 
        C3A0,   8, 
        C3A1,   8, 
        C3A2,   8, 
        C3A3,   8, 
        C3A4,   8, 
        C3A5,   8, 
        C3I0,   8, 
        C3I1,   8, 
        C3I2,   8, 
        C3I3,   8, 
        C3I4,   8, 
        C3I5,   8, 
        C3PL,   8, 
        C3W0,   8, 
        C3W1,   8, 
        C3W2,   8, 
        C3W3,   8, 
        C3SP,   8, 
        C3W4,   8, 
        C3W5,   8, 
        C3CS,   8, 
        C4VE,   8, 
        C4TP,   8, 
        C4CV,   8, 
        C4IC,   32, 
        C4GP,   8, 
        C4IB,   8, 
        C4IA,   16, 
        C4P0,   8, 
        C4P1,   8, 
        C4P2,   8, 
        C4P3,   8, 
        C4P4,   8, 
        C4P5,   8, 
        C4G0,   8, 
        C4G1,   8, 
        C4G2,   8, 
        C4G3,   8, 
        C4G4,   8, 
        C4G5,   8, 
        C4F0,   8, 
        C4F1,   8, 
        C4F2,   8, 
        C4F3,   8, 
        C4F4,   8, 
        C4F5,   8, 
        C4A0,   8, 
        C4A1,   8, 
        C4A2,   8, 
        C4A3,   8, 
        C4A4,   8, 
        C4A5,   8, 
        C4I0,   8, 
        C4I1,   8, 
        C4I2,   8, 
        C4I3,   8, 
        C4I4,   8, 
        C4I5,   8, 
        C4PL,   8, 
        C4W0,   8, 
        C4W1,   8, 
        C4W2,   8, 
        C4W3,   8, 
        C4SP,   8, 
        C4W4,   8, 
        C4W5,   8, 
        C4CS,   8, 
        C5VE,   8, 
        C5TP,   8, 
        C5CV,   8, 
        C5IC,   32, 
        C5GP,   8, 
        C5IB,   8, 
        C5IA,   16, 
        C5P0,   8, 
        C5P1,   8, 
        C5P2,   8, 
        C5P3,   8, 
        C5P4,   8, 
        C5P5,   8, 
        C5G0,   8, 
        C5G1,   8, 
        C5G2,   8, 
        C5G3,   8, 
        C5G4,   8, 
        C5G5,   8, 
        C5F0,   8, 
        C5F1,   8, 
        C5F2,   8, 
        C5F3,   8, 
        C5F4,   8, 
        C5F5,   8, 
        C5A0,   8, 
        C5A1,   8, 
        C5A2,   8, 
        C5A3,   8, 
        C5A4,   8, 
        C5A5,   8, 
        C5I0,   8, 
        C5I1,   8, 
        C5I2,   8, 
        C5I3,   8, 
        C5I4,   8, 
        C5I5,   8, 
        C5PL,   8, 
        C5W0,   8, 
        C5W1,   8, 
        C5W2,   8, 
        C5W3,   8, 
        C5SP,   8, 
        C5W4,   8, 
        C5W5,   8, 
        C5CS,   8, 
        L0SM,   8, 
        L0H0,   8, 
        L0H1,   8, 
        L0H2,   8, 
        L0H3,   8, 
        L0H4,   8, 
        L0H5,   8, 
        L0H6,   8, 
        L0H7,   8, 
        L0H8,   8, 
        L0PL,   8, 
        L0M0,   8, 
        L0M1,   8, 
        L0M2,   8, 
        L0M3,   8, 
        L0M4,   8, 
        L0M5,   8, 
        L0M6,   8, 
        L0M7,   8, 
        L0M8,   8, 
        L0M9,   8, 
        L0MA,   8, 
        L0MB,   8, 
        L0MC,   8, 
        L0MD,   8, 
        L0ME,   8, 
        L0MF,   8, 
        L0DI,   8, 
        L0BS,   8, 
        L0A0,   16, 
        L0A1,   16, 
        L0A2,   16, 
        L0A3,   16, 
        L0A4,   16, 
        L0A5,   16, 
        L0A6,   16, 
        L0A7,   16, 
        L0A8,   16, 
        L0A9,   16, 
        L0AA,   16, 
        L0AB,   16, 
        L0D0,   8, 
        L0D1,   8, 
        L0D2,   8, 
        L0D3,   8, 
        L0D4,   8, 
        L0D5,   8, 
        L0D6,   8, 
        L0D7,   8, 
        L0D8,   8, 
        L0D9,   8, 
        L0DA,   8, 
        L0DB,   8, 
        L0DV,   8, 
        L0CV,   8, 
        L0LU,   8, 
        L0NL,   8, 
        L0EE,   8, 
        L0VC,   8, 
        L0FS,   8, 
        L0LE,   8, 
        L0DG,   8, 
        L0CK,   32, 
        L0CL,   8, 
        L0PP,   8, 
        L0VR,   8, 
        L0FD,   8, 
        L1SM,   8, 
        L1H0,   8, 
        L1H1,   8, 
        L1H2,   8, 
        L1H3,   8, 
        L1H4,   8, 
        L1H5,   8, 
        L1H6,   8, 
        L1H7,   8, 
        L1H8,   8, 
        L1PL,   8, 
        L1M0,   8, 
        L1M1,   8, 
        L1M2,   8, 
        L1M3,   8, 
        L1M4,   8, 
        L1M5,   8, 
        L1M6,   8, 
        L1M7,   8, 
        L1M8,   8, 
        L1M9,   8, 
        L1MA,   8, 
        L1MB,   8, 
        L1MC,   8, 
        L1MD,   8, 
        L1ME,   8, 
        L1MF,   8, 
        L1DI,   8, 
        L1BS,   8, 
        L1A0,   16, 
        L1A1,   16, 
        L1A2,   16, 
        L1A3,   16, 
        L1A4,   16, 
        L1A5,   16, 
        L1A6,   16, 
        L1A7,   16, 
        L1A8,   16, 
        L1A9,   16, 
        L1AA,   16, 
        L1AB,   16, 
        L1D0,   8, 
        L1D1,   8, 
        L1D2,   8, 
        L1D3,   8, 
        L1D4,   8, 
        L1D5,   8, 
        L1D6,   8, 
        L1D7,   8, 
        L1D8,   8, 
        L1D9,   8, 
        L1DA,   8, 
        L1DB,   8, 
        L1DV,   8, 
        L1CV,   8, 
        L1LU,   8, 
        L1NL,   8, 
        L1EE,   8, 
        L1VC,   8, 
        L1FS,   8, 
        L1LE,   8, 
        L1DG,   8, 
        L1CK,   32, 
        L1CL,   8, 
        L1PP,   8, 
        L1VR,   8, 
        L1FD,   8, 
        L2SM,   8, 
        L2H0,   8, 
        L2H1,   8, 
        L2H2,   8, 
        L2H3,   8, 
        L2H4,   8, 
        L2H5,   8, 
        L2H6,   8, 
        L2H7,   8, 
        L2H8,   8, 
        L2PL,   8, 
        L2M0,   8, 
        L2M1,   8, 
        L2M2,   8, 
        L2M3,   8, 
        L2M4,   8, 
        L2M5,   8, 
        L2M6,   8, 
        L2M7,   8, 
        L2M8,   8, 
        L2M9,   8, 
        L2MA,   8, 
        L2MB,   8, 
        L2MC,   8, 
        L2MD,   8, 
        L2ME,   8, 
        L2MF,   8, 
        L2DI,   8, 
        L2BS,   8, 
        L2A0,   16, 
        L2A1,   16, 
        L2A2,   16, 
        L2A3,   16, 
        L2A4,   16, 
        L2A5,   16, 
        L2A6,   16, 
        L2A7,   16, 
        L2A8,   16, 
        L2A9,   16, 
        L2AA,   16, 
        L2AB,   16, 
        L2D0,   8, 
        L2D1,   8, 
        L2D2,   8, 
        L2D3,   8, 
        L2D4,   8, 
        L2D5,   8, 
        L2D6,   8, 
        L2D7,   8, 
        L2D8,   8, 
        L2D9,   8, 
        L2DA,   8, 
        L2DB,   8, 
        L2DV,   8, 
        L2CV,   8, 
        L2LU,   8, 
        L2NL,   8, 
        L2EE,   8, 
        L2VC,   8, 
        L2FS,   8, 
        L2LE,   8, 
        L2DG,   8, 
        L2CK,   32, 
        L2CL,   8, 
        L2PP,   8, 
        L2VR,   8, 
        L2FD,   8, 
        L3SM,   8, 
        L3H0,   8, 
        L3H1,   8, 
        L3H2,   8, 
        L3H3,   8, 
        L3H4,   8, 
        L3H5,   8, 
        L3H6,   8, 
        L3H7,   8, 
        L3H8,   8, 
        L3PL,   8, 
        L3M0,   8, 
        L3M1,   8, 
        L3M2,   8, 
        L3M3,   8, 
        L3M4,   8, 
        L3M5,   8, 
        L3M6,   8, 
        L3M7,   8, 
        L3M8,   8, 
        L3M9,   8, 
        L3MA,   8, 
        L3MB,   8, 
        L3MC,   8, 
        L3MD,   8, 
        L3ME,   8, 
        L3MF,   8, 
        L3DI,   8, 
        L3BS,   8, 
        L3A0,   16, 
        L3A1,   16, 
        L3A2,   16, 
        L3A3,   16, 
        L3A4,   16, 
        L3A5,   16, 
        L3A6,   16, 
        L3A7,   16, 
        L3A8,   16, 
        L3A9,   16, 
        L3AA,   16, 
        L3AB,   16, 
        L3D0,   8, 
        L3D1,   8, 
        L3D2,   8, 
        L3D3,   8, 
        L3D4,   8, 
        L3D5,   8, 
        L3D6,   8, 
        L3D7,   8, 
        L3D8,   8, 
        L3D9,   8, 
        L3DA,   8, 
        L3DB,   8, 
        L3DV,   8, 
        L3CV,   8, 
        L3LU,   8, 
        L3NL,   8, 
        L3EE,   8, 
        L3VC,   8, 
        L3FS,   8, 
        L3LE,   8, 
        L3DG,   8, 
        L3CK,   32, 
        L3CL,   8, 
        L3PP,   8, 
        L3VR,   8, 
        L3FD,   8, 
        L4SM,   8, 
        L4H0,   8, 
        L4H1,   8, 
        L4H2,   8, 
        L4H3,   8, 
        L4H4,   8, 
        L4H5,   8, 
        L4H6,   8, 
        L4H7,   8, 
        L4H8,   8, 
        L4PL,   8, 
        L4M0,   8, 
        L4M1,   8, 
        L4M2,   8, 
        L4M3,   8, 
        L4M4,   8, 
        L4M5,   8, 
        L4M6,   8, 
        L4M7,   8, 
        L4M8,   8, 
        L4M9,   8, 
        L4MA,   8, 
        L4MB,   8, 
        L4MC,   8, 
        L4MD,   8, 
        L4ME,   8, 
        L4MF,   8, 
        L4DI,   8, 
        L4BS,   8, 
        L4A0,   16, 
        L4A1,   16, 
        L4A2,   16, 
        L4A3,   16, 
        L4A4,   16, 
        L4A5,   16, 
        L4A6,   16, 
        L4A7,   16, 
        L4A8,   16, 
        L4A9,   16, 
        L4AA,   16, 
        L4AB,   16, 
        L4D0,   8, 
        L4D1,   8, 
        L4D2,   8, 
        L4D3,   8, 
        L4D4,   8, 
        L4D5,   8, 
        L4D6,   8, 
        L4D7,   8, 
        L4D8,   8, 
        L4D9,   8, 
        L4DA,   8, 
        L4DB,   8, 
        L4DV,   8, 
        L4CV,   8, 
        L4LU,   8, 
        L4NL,   8, 
        L4EE,   8, 
        L4VC,   8, 
        L4FS,   8, 
        L4LE,   8, 
        L4DG,   8, 
        L4CK,   32, 
        L4CL,   8, 
        L4PP,   8, 
        L4VR,   8, 
        L4FD,   8, 
        L5SM,   8, 
        L5H0,   8, 
        L5H1,   8, 
        L5H2,   8, 
        L5H3,   8, 
        L5H4,   8, 
        L5H5,   8, 
        L5H6,   8, 
        L5H7,   8, 
        L5H8,   8, 
        L5PL,   8, 
        L5M0,   8, 
        L5M1,   8, 
        L5M2,   8, 
        L5M3,   8, 
        L5M4,   8, 
        L5M5,   8, 
        L5M6,   8, 
        L5M7,   8, 
        L5M8,   8, 
        L5M9,   8, 
        L5MA,   8, 
        L5MB,   8, 
        L5MC,   8, 
        L5MD,   8, 
        L5ME,   8, 
        L5MF,   8, 
        L5DI,   8, 
        L5BS,   8, 
        L5A0,   16, 
        L5A1,   16, 
        L5A2,   16, 
        L5A3,   16, 
        L5A4,   16, 
        L5A5,   16, 
        L5A6,   16, 
        L5A7,   16, 
        L5A8,   16, 
        L5A9,   16, 
        L5AA,   16, 
        L5AB,   16, 
        L5D0,   8, 
        L5D1,   8, 
        L5D2,   8, 
        L5D3,   8, 
        L5D4,   8, 
        L5D5,   8, 
        L5D6,   8, 
        L5D7,   8, 
        L5D8,   8, 
        L5D9,   8, 
        L5DA,   8, 
        L5DB,   8, 
        L5DV,   8, 
        L5CV,   8, 
        L5LU,   8, 
        L5NL,   8, 
        L5EE,   8, 
        L5VC,   8, 
        L5FS,   8, 
        L5LE,   8, 
        L5DG,   8, 
        L5CK,   32, 
        L5CL,   8, 
        L5PP,   8, 
        L5VR,   8, 
        L5FD,   8, 
        F0FM,   8, 
        F0MS,   8, 
        F0M0,   8, 
        F0M1,   8, 
        F0M2,   8, 
        F0M3,   8, 
        F0M4,   8, 
        F0M5,   8, 
        F0M6,   8, 
        F0M7,   8, 
        F0M8,   8, 
        F0M9,   8, 
        F0MA,   8, 
        F0MB,   8, 
        F0MC,   8, 
        F0MD,   8, 
        F0ME,   8, 
        F0MF,   8, 
        F0BS,   8, 
        F0AB,   16, 
        F0GP,   8, 
        F0GG,   16, 
        F0AV,   8, 
        F0IV,   8, 
        F0OM,   8, 
        F1FM,   8, 
        F1MS,   8, 
        F1M0,   8, 
        F1M1,   8, 
        F1M2,   8, 
        F1M3,   8, 
        F1M4,   8, 
        F1M5,   8, 
        F1M6,   8, 
        F1M7,   8, 
        F1M8,   8, 
        F1M9,   8, 
        F1MA,   8, 
        F1MB,   8, 
        F1MC,   8, 
        F1MD,   8, 
        F1ME,   8, 
        F1MF,   8, 
        F1BS,   8, 
        F1AB,   16, 
        F1GP,   8, 
        F1GG,   16, 
        F1AV,   8, 
        F1IV,   8, 
        F1OM,   8, 
        F2FM,   8, 
        F2MS,   8, 
        F2M0,   8, 
        F2M1,   8, 
        F2M2,   8, 
        F2M3,   8, 
        F2M4,   8, 
        F2M5,   8, 
        F2M6,   8, 
        F2M7,   8, 
        F2M8,   8, 
        F2M9,   8, 
        F2MA,   8, 
        F2MB,   8, 
        F2MC,   8, 
        F2MD,   8, 
        F2ME,   8, 
        F2MF,   8, 
        F2BS,   8, 
        F2AB,   16, 
        F2GP,   8, 
        F2GG,   16, 
        F2AV,   8, 
        F2IV,   8, 
        F2OM,   8, 
        F3FM,   8, 
        F3MS,   8, 
        F3M0,   8, 
        F3M1,   8, 
        F3M2,   8, 
        F3M3,   8, 
        F3M4,   8, 
        F3M5,   8, 
        F3M6,   8, 
        F3M7,   8, 
        F3M8,   8, 
        F3M9,   8, 
        F3MA,   8, 
        F3MB,   8, 
        F3MC,   8, 
        F3MD,   8, 
        F3ME,   8, 
        F3MF,   8, 
        F3BS,   8, 
        F3AB,   16, 
        F3GP,   8, 
        F3GG,   16, 
        F3AV,   8, 
        F3IV,   8, 
        F3OM,   8, 
        F4FM,   8, 
        F4MS,   8, 
        F4M0,   8, 
        F4M1,   8, 
        F4M2,   8, 
        F4M3,   8, 
        F4M4,   8, 
        F4M5,   8, 
        F4M6,   8, 
        F4M7,   8, 
        F4M8,   8, 
        F4M9,   8, 
        F4MA,   8, 
        F4MB,   8, 
        F4MC,   8, 
        F4MD,   8, 
        F4ME,   8, 
        F4MF,   8, 
        F4BS,   8, 
        F4AB,   16, 
        F4GP,   8, 
        F4GG,   16, 
        F4AV,   8, 
        F4IV,   8, 
        F4OM,   8, 
        F5FM,   8, 
        F5MS,   8, 
        F5M0,   8, 
        F5M1,   8, 
        F5M2,   8, 
        F5M3,   8, 
        F5M4,   8, 
        F5M5,   8, 
        F5M6,   8, 
        F5M7,   8, 
        F5M8,   8, 
        F5M9,   8, 
        F5MA,   8, 
        F5MB,   8, 
        F5MC,   8, 
        F5MD,   8, 
        F5ME,   8, 
        F5MF,   8, 
        F5BS,   8, 
        F5AB,   16, 
        F5GP,   8, 
        F5GG,   16, 
        F5AV,   8, 
        F5IV,   8, 
        F5OM,   8, 
        Offset (0x84D), 
        ECR1,   8, 
        I2SC,   8, 
        I2SI,   32, 
        I2SB,   8, 
        UBCB,   32, 
        PPOE,   8, 
        Offset (0x85E), 
        WIFC,   8, 
        Offset (0x865), 
        ADPM,   32, 
        AG1L,   64, 
        AG1H,   64, 
        AG2L,   64, 
        AG2H,   64, 
        AG3L,   64, 
        AG3H,   64, 
        HEFE,   8, 
        XDCE,   8, 
        STXE,   8, 
        ST10,   8, 
        ST11,   8, 
        ST12,   8, 
        ST13,   8, 
        ST14,   8, 
        ST15,   8, 
        ST16,   8, 
        ST17,   8, 
        ST18,   8, 
        ST19,   8, 
        ENVM,   8, 
        DHSP,   16, 
        DSSP,   16, 
        DSTP,   8, 
        STDE,   8, 
        STRS,   8, 
        ST20,   8, 
        ST21,   8, 
        ST22,   8, 
        ST23,   8, 
        ST24,   8, 
        ST25,   8, 
        ST26,   8, 
        ST27,   8, 
        ST28,   8, 
        ST29,   8, 
        ST30,   8, 
        ST31,   8, 
        ST32,   8, 
        ST33,   8, 
        ST34,   8, 
        ST35,   8, 
        ST36,   8, 
        ST37,   8, 
        ST38,   8, 
        ST39,   8, 
        ST40,   8, 
        ST41,   8, 
        ST42,   8, 
        ST43,   8, 
        ST44,   8, 
        ST45,   8, 
        ST46,   8, 
        ST47,   8, 
        ST48,   8, 
        ST49,   8, 
        SD11,   8, 
        SD12,   8, 
        SD13,   8, 
        SD14,   8, 
        SD15,   8, 
        SD16,   8, 
        SD21,   8, 
        SD22,   8, 
        SD23,   8, 
        SD24,   8, 
        SD25,   8, 
        SD26,   8, 
        SD31,   8, 
        SD32,   8, 
        SD33,   8, 
        SD34,   8, 
        SD35,   8, 
        SD36,   8, 
        Offset (0x907), 
        SDAA,   8, 
        SDAB,   8, 
        BTSE,   8, 
        BIPM,   8, 
        BSPL,   8, 
        BTBR,   8, 
        BED2,   8, 
        BED3,   8, 
        BTLE,   8, 
        BTL2,   8, 
        BTLL,   8, 
        ATDV,   8, 
        COEM,   8, 
        RTVM,   8, 
        USTC,   8, 
        HEB1,   32, 
        TSDB,   8, 
        Offset (0x91C), 
        CVFS,   8, 
        CVFT,   8, 
        CUPN,   8, 
        SCSS,   8, 
        NCTC,   8, 
        NCTI,   8, 
        NCTH,   8, 
        HSIO,   8, 
        HUAR,   8, 
        ZPOD,   8, 
        RGBC,   8, 
        DPTC,   8, 
        CEDS,   8, 
        VBST,   8, 
        AEAB,   8, 
        AHDB,   8, 
        UCMS,   8, 
        UCG1,   32, 
        UCG2,   32, 
        RPSG,   32, 
        TBD3,   8, 
        Offset (0x972), 
        UDGF,   8, 
        UDUP,   8, 
        DBGF,   8, 
        DBUP,   8, 
        TTUP,   8, 
        TP1T,   8, 
        TP1P,   8, 
        TP1D,   8, 
        TP2T,   8, 
        TP2P,   8, 
        TP2D,   8, 
        TP3T,   8, 
        TP3P,   8, 
        TP3D,   8, 
        TP4T,   8, 
        TP4P,   8, 
        TP4D,   8, 
        TP5T,   8, 
        TP5P,   8, 
        TP5D,   8, 
        TP6T,   8, 
        TP6P,   8, 
        TP6D,   8, 
        STAS,   8, 
        WRTO,   8, 
        PRST,   32, 
        WPRP,   8, 
        P1WG,   32, 
        P1RN,   8, 
        P1PG,   32, 
        P1EP,   8, 
        P1RG,   32, 
        P1RP,   8, 
        P2WG,   32, 
        P2RN,   8, 
        P2PG,   32, 
        P2EP,   8, 
        P2RG,   32, 
        P2RP,   8, 
        P3WG,   32, 
        P3RN,   8, 
        P3PG,   32, 
        P3EP,   8, 
        P3RG,   32, 
        P3RP,   8, 
        P4WG,   32, 
        P4RN,   8, 
        P4PG,   32, 
        P4EP,   8, 
        P4RG,   32, 
        P4RP,   8, 
        P5WG,   32, 
        P5RN,   8, 
        P5PG,   32, 
        P5EP,   8, 
        P5RG,   32, 
        P5RP,   8, 
        P6WG,   32, 
        P6RN,   8, 
        P6PG,   32, 
        P6EP,   8, 
        P6RG,   32, 
        P6RP,   8, 
        P7WG,   32, 
        P7RN,   8, 
        P7PG,   32, 
        P7EP,   8, 
        P7RG,   32, 
        P7RP,   8, 
        POME,   8, 
        WFCP,   32, 
        PFCP,   8, 
        WBRS,   32, 
        PBRS,   8, 
        WWKP,   32, 
        T0PE,   32, 
        T0PR,   32, 
        T0IP,   8, 
        T0EP,   8, 
        T0RP,   8, 
        T0GI,   32, 
        T1PE,   32, 
        T1PR,   32, 
        T1IP,   8, 
        T1EP,   8, 
        T1RP,   8, 
        T1GI,   32, 
        PPDI,   8, 
        WLWK,   32, 
        WLRP,   8, 
        SATP,   32, 
        STPP,   8, 
        S1PG,   32, 
        S1PP,   8, 
        S1RG,   32, 
        S1RP,   8, 
        S2PG,   32, 
        S2PP,   8, 
        S2RG,   32, 
        S2RP,   8, 
        S3PG,   32, 
        S3PP,   8, 
        S3RG,   32, 
        S3RP,   8, 
        S4PG,   32, 
        S4PP,   8, 
        S4RG,   32, 
        S4RP,   8, 
        S5PG,   32, 
        S5PP,   8, 
        S5RG,   32, 
        S5RP,   8, 
        SXI1,   8, 
        SXI2,   8, 
        SXP1,   8, 
        SXP2,   8, 
        TSD0,   8, 
        WCLK,   8, 
        CECV,   32, 
        WWRP,   8, 
        WAGM,   8, 
        AGA1,   8, 
        AGA2,   8, 
        AGA3,   8, 
        AGA4,   8, 
        AGA5,   8, 
        AGB1,   8, 
        AGB2,   8, 
        AGB3,   8, 
        AGB4,   8, 
        AGB5,   8, 
        ACSD,   8, 
        I5BS,   8, 
        DGVR,   32, 
        LPMR,   32, 
        GP1E,   8, 
        Offset (0xA88), 
        WPFA,   32, 
        WPFB,   32, 
        WPFC,   32, 
        WPFD,   32, 
        ST50,   8, 
        ST51,   8, 
        ST52,   8, 
        ST53,   8, 
        ST54,   8, 
        ST55,   8, 
        ST56,   8, 
        ST57,   8, 
        ST58,   8, 
        ST59,   8, 
        ST5A,   8, 
        ST5B,   8, 
        ST60,   8, 
        ST61,   8, 
        ST62,   8, 
        ST63,   8, 
        ST64,   8, 
        ST65,   8, 
        ST66,   8, 
        ST67,   8, 
        ST68,   8, 
        ST69,   8, 
        ST6A,   8, 
        ST6B,   8, 
        ST70,   8, 
        ST71,   8, 
        ST72,   8, 
        ST73,   8, 
        ST74,   8, 
        ST75,   8, 
        ST76,   8, 
        ST77,   8, 
        ST78,   8, 
        ST79,   8, 
        ST7A,   8, 
        ST7B,   8, 
        ST80,   8, 
        ST81,   8, 
        ST82,   8, 
        ST83,   8, 
        ST84,   8, 
        ST85,   8, 
        ST86,   8, 
        ST87,   8, 
        ST88,   8, 
        ST89,   8, 
        ST8A,   8, 
        ST8B,   8, 
        SD17,   8, 
        SD18,   8, 
        SD19,   8, 
        SD27,   8, 
        SD28,   8, 
        SD29,   8, 
        SD37,   8, 
        SD38,   8, 
        SD39,   8, 
        AGA6,   8, 
        AGA7,   8, 
        AGA8,   8, 
        AGA9,   8, 
        AGAA,   8, 
        AGAB,   8, 
        AGB6,   8, 
        AGB7,   8, 
        AGB8,   8, 
        AGB9,   8, 
        AGBA,   8, 
        AGBB,   8, 
        UHBS,   32, 
        AXSU,   8, 
        AXMU,   8, 
        AXSR,   8, 
        AXMR,   8, 
        CD10,   8, 
        CD11,   8, 
        CD12,   8, 
        CD13,   8, 
        CD14,   8, 
        CD15,   8, 
        CD16,   8, 
        CD17,   8, 
        CD18,   8, 
        CD19,   8, 
        CD1A,   8, 
        CD20,   8, 
        CD21,   8, 
        CD22,   8, 
        CD23,   8, 
        CD24,   8, 
        CD25,   8, 
        CD26,   8, 
        CD27,   8, 
        CD28,   8, 
        CD29,   8, 
        CD2A,   8, 
        CD30,   8, 
        CD31,   8, 
        CD32,   8, 
        CD33,   8, 
        CD34,   8, 
        CD35,   8, 
        CD36,   8, 
        CD37,   8, 
        CD38,   8, 
        CD39,   8, 
        CD3A,   8, 
        CD3B,   8, 
        CD3C,   8, 
        CD3D,   8, 
        CD3E,   8, 
        CD3F,   8, 
        CD40,   8, 
        CD41,   8, 
        CD42,   8, 
        CD43,   8, 
        CD44,   8, 
        CD45,   8, 
        CD46,   8, 
        CD47,   8, 
        CD48,   8, 
        CD49,   8, 
        CD4A,   8, 
        CD4B,   8, 
        CD4C,   8, 
        CD4D,   8, 
        CD4E,   8, 
        CD4F,   8, 
        CD50,   8, 
        CD51,   8, 
        CD52,   8, 
        CD53,   8, 
        CD54,   8, 
        CD55,   8, 
        CD56,   8, 
        CD57,   8, 
        CD58,   8, 
        CD59,   8, 
        CD5A,   8, 
        CD5B,   8, 
        CD5C,   8, 
        CD5D,   8, 
        CD5E,   8, 
        CD5F,   8, 
        CD60,   8, 
        CD61,   8, 
        CD62,   8, 
        CD63,   8, 
        CD64,   8, 
        CD65,   8, 
        CD66,   8, 
        CD67,   8, 
        CD68,   8, 
        CD69,   8, 
        CD6A,   8, 
        CD6B,   8, 
        CD6C,   8, 
        CD6D,   8, 
        CD6E,   8, 
        CD6F,   8, 
        CD70,   8, 
        CD71,   8, 
        WTSE,   32, 
        WTLE,   8, 
        BL01,   16, 
        BL02,   16, 
        BL03,   16, 
        BL04,   16, 
        BL05,   16, 
        BL06,   16, 
        BL07,   16, 
        BL08,   16, 
        BL09,   16, 
        BL10,   16, 
        BL11,   16, 
        BL12,   16, 
        BL13,   16, 
        BL14,   16, 
        BL15,   16, 
        BL16,   16, 
        TILE,   8, 
        TIS0,   8, 
        TS0X,   8, 
        TIS4,   8, 
        TIS5,   8, 
        BLEC,   8, 
        BLPD,   8, 
        BLPI,   8, 
        PXDC,   8, 
        PXAC,   8, 
        PXWC,   8, 
        PXUC,   8, 
        PXFD,   8, 
        PDOD,   16, 
        XSMI,   32, 
        WWEN,   8, 
        WFFD,   8, 
        TN2B,   16, 
        TB2R,   16, 
        TR2P,   16, 
        TR2B,   16, 
        TB2F,   16, 
        TFDI,   16, 
        TBTG,   16, 
        TBTP,   16, 
        EPTU,   8, 
        U4CM,   8, 
        CMSK,   8, 
        U4SE,   8, 
        U4CL,   8, 
        WSID,   16, 
        WSTO,   16, 
        DUWS,   8, 
        WFRC,   32, 
        WFUC,   32, 
        UNI4,   32, 
        WFIC,   32, 
        WFBS,   32, 
        UDRS,   8, 
        HGDT,   8, 
        WCEN,   8, 
        WLBI,   8, 
        WHBI,   8, 
        SDGN,   8, 
        SD41,   8, 
        SD42,   8, 
        SD43,   8, 
        SD44,   8, 
        SD45,   8, 
        SD46,   8, 
        SD47,   8, 
        SD48,   8, 
        SD49,   8, 
        SD51,   8, 
        SD52,   8, 
        SD53,   8, 
        SD54,   8, 
        SD55,   8, 
        SD56,   8, 
        SD57,   8, 
        SD58,   8, 
        SD59,   8, 
        SD61,   8, 
        SD62,   8, 
        SD63,   8, 
        SD64,   8, 
        SD65,   8, 
        SD66,   8, 
        SD67,   8, 
        SD68,   8, 
        SD69,   8, 
        SD71,   8, 
        SD72,   8, 
        SD73,   8, 
        SD74,   8, 
        SD75,   8, 
        SD76,   8, 
        SD77,   8, 
        SD78,   8, 
        SD79,   8, 
        SD81,   8, 
        SD82,   8, 
        SD83,   8, 
        SD84,   8, 
        SD85,   8, 
        SD86,   8, 
        SD87,   8, 
        SD88,   8, 
        SD89,   8, 
        SSH6,   16, 
        SSL6,   16, 
        SSD6,   16, 
        FMH6,   16, 
        FML6,   16, 
        FMD6,   16, 
        FPH6,   16, 
        FPL6,   16, 
        FPD6,   16, 
        HSH6,   16, 
        HSL6,   16, 
        HSD6,   16, 
        M0CC,   16, 
        M1CC,   16, 
        SSH7,   16, 
        SSL7,   16, 
        SSD7,   16, 
        FMH7,   16, 
        FML7,   16, 
        FMD7,   16, 
        FPH7,   16, 
        FPL7,   16, 
        FPD7,   16, 
        HSH7,   16, 
        HSL7,   16, 
        HSD7,   16, 
        M0CD,   16, 
        M1CD,   16, 
        L0FI,   8, 
        L1FI,   8, 
        L2FI,   8, 
        L3FI,   8, 
        L4FI,   8, 
        L5FI,   8, 
        C0C0,   16, 
        C0C1,   16, 
        C0C2,   16, 
        C0C3,   16, 
        C0C4,   16, 
        C0C5,   16, 
        C1C0,   16, 
        C1C1,   16, 
        C1C2,   16, 
        C1C3,   16, 
        C1C4,   16, 
        C1C5,   16, 
        C2C0,   16, 
        C2C1,   16, 
        C2C2,   16, 
        C2C3,   16, 
        C2C4,   16, 
        C2C5,   16, 
        C3C0,   16, 
        C3C1,   16, 
        C3C2,   16, 
        C3C3,   16, 
        C3C4,   16, 
        C3C5,   16, 
        C4C0,   16, 
        C4C1,   16, 
        C4C2,   16, 
        C4C3,   16, 
        C4C4,   16, 
        C4C5,   16, 
        C5C0,   16, 
        C5C1,   16, 
        C5C2,   16, 
        C5C3,   16, 
        C5C4,   16, 
        C5C5,   16, 
        F0CP,   16, 
        F1CP,   16, 
        F2CP,   16, 
        F3CP,   16, 
        F4CP,   16, 
        F5CP,   16, 
        TP7T,   8, 
        TP7P,   8, 
        TP7D,   8, 
        TP8T,   8, 
        TP8P,   8, 
        TP8D,   8, 
        TP9T,   8, 
        TP9P,   8, 
        TP9D,   8, 
        TPAT,   8, 
        TPAP,   8, 
        TPAD,   8, 
        TP1U,   8, 
        TP2U,   8, 
        TP3U,   8, 
        TP4U,   8, 
        TP5U,   8, 
        TP6U,   8, 
        TP7U,   8, 
        TP8U,   8, 
        TP9U,   8, 
        TPAU,   8, 
        DGBA,   64, 
        DGOP,   32, 
        DBRL,   8, 
        SVDC,   8, 
        IADG,   8, 
        SRLD,   8, 
        WEDT,   32, 
        WF7C,   32, 
        EDMX,   32, 
        DNID,   8, 
        DGD1,   32, 
        DGD2,   32, 
        DGD3,   32, 
        DGD4,   32, 
        DGD5,   32, 
        DGD6,   32, 
        DGD7,   32, 
        DGD8,   32, 
        DGD9,   32, 
        DGDA,   32, 
        DGDB,   32, 
        DGDC,   32, 
        DGDD,   32, 
        DGDE,   32, 
        DGDF,   32, 
        DGDX,   32, 
        DGDS,   8, 
        CIRM,   8, 
        DWFK,   32, 
        WLRT,   32, 
        WVHO,   32, 
        WDCO,   32, 
        SBSB,   8, 
        SBSL,   8, 
        SIOB,   16, 
        SIOL,   16, 
        SMEB,   32, 
        SMEL,   32, 
        SPMB,   64, 
        SPML,   64, 
        PBSB,   8, 
        PBSL,   8, 
        PIOB,   16, 
        PIOL,   16, 
        PMEB,   32, 
        PMEL,   32, 
        PPMB,   64, 
        PPML,   64, 
        I2SE,   8, 
        ITCM,   8, 
        ITHW,   8, 
        ITSI,   8, 
        VTCM,   8, 
        ZPDA,   32, 
        ZDPR,   32, 
        ZDPW,   32, 
        ZDPP,   8, 
        ZPPB,   8, 
        ARLP,   8, 
        ARLS,   8, 
        FVWP,   32, 
        FVRE,   32, 
        FVRP,   8, 
        FVPE,   32, 
        FVPP,   8, 
        FVSP,   8, 
        RPFV,   8, 
        CBTA,   8, 
        ICS0,   32, 
        ICS1,   32, 
        ICS2,   32, 
        ICS3,   32, 
        ICS4,   32, 
        ICS5,   32, 
        L0PV,   8, 
        L0PU,   8, 
        L1PV,   8, 
        L1PU,   8, 
        L2PV,   8, 
        L2PU,   8, 
        L3PU,   8, 
        L3PV,   8, 
        L4PU,   8, 
        L4PV,   8, 
        L5PU,   8, 
        L5PV,   8, 
        A0H0,   8, 
        A0H1,   8, 
        A0H2,   8, 
        A0H3,   8, 
        A0H4,   8, 
        A0H5,   8, 
        A0H6,   8, 
        A0H7,   8, 
        A0H8,   8, 
        A1H0,   8, 
        A1H1,   8, 
        A1H2,   8, 
        A1H3,   8, 
        A1H4,   8, 
        A1H5,   8, 
        A1H6,   8, 
        A1H7,   8, 
        A1H8,   8, 
        CGLS,   8, 
        TP1C,   8, 
        TP2C,   8, 
        TP3C,   8, 
        TP4C,   8, 
        TP5C,   8, 
        TP6C,   8, 
        TP7C,   8, 
        TP8C,   8, 
        TP9C,   8, 
        TPAC,   8, 
        EVSA,   8, 
        DR01,   32, 
        DR02,   32, 
        DR03,   32, 
        DR04,   32, 
        MFDP,   8, 
        DLRM,   8, 
        S1G4,   8, 
        S2G4,   8, 
        S3G4,   8, 
        S4G4,   8, 
        DRIE,   8, 
        CTEM,   8
    }

    Name (PNVB, 0x61DFE098)
    Name (PNVL, 0x04AF)
    OperationRegion (PNVA, SystemMemory, PNVB, PNVL)
    Field (PNVA, AnyAcc, Lock, Preserve)
    {
        PCHS,   16, 
        PCHG,   16, 
        PSTP,   16, 
        RPA1,   32, 
        RPA2,   32, 
        RPA3,   32, 
        RPA4,   32, 
        RPA5,   32, 
        RPA6,   32, 
        RPA7,   32, 
        RPA8,   32, 
        RPA9,   32, 
        RPAA,   32, 
        RPAB,   32, 
        RPAC,   32, 
        RPAD,   32, 
        RPAE,   32, 
        RPAF,   32, 
        RPAG,   32, 
        RPAH,   32, 
        RPAI,   32, 
        RPAJ,   32, 
        RPAK,   32, 
        RPAL,   32, 
        RPAM,   32, 
        RPAN,   32, 
        RPAO,   32, 
        RPAP,   32, 
        RPAQ,   32, 
        RPAR,   32, 
        RPAS,   32, 
        NHAA,   64, 
        NHLL,   32, 
        ADFM,   32, 
        SWQ0,   8, 
        SWQ1,   8, 
        SWQ2,   8, 
        SWQ3,   8, 
        ACS0,   8, 
        ACS1,   8, 
        ACS2,   8, 
        ACS3,   8, 
        DAI0,   8, 
        DAI1,   8, 
        DAI2,   8, 
        DAI3,   8, 
        DOD0,   8, 
        DOD1,   8, 
        DOD2,   8, 
        DOD3,   8, 
        HDBO,   16, 
        SWMC,   8, 
        XTAL,   32, 
        SBRG,   32, 
        GEI0,   8, 
        GEI1,   8, 
        GEI2,   8, 
        GED0,   8, 
        GED1,   8, 
        GED2,   8, 
        PML1,   16, 
        PML2,   16, 
        PML3,   16, 
        PML4,   16, 
        PML5,   16, 
        PML6,   16, 
        PML7,   16, 
        PML8,   16, 
        PML9,   16, 
        PMLA,   16, 
        PMLB,   16, 
        PMLC,   16, 
        PMLD,   16, 
        PMLE,   16, 
        PMLF,   16, 
        PMLG,   16, 
        PMLH,   16, 
        PMLI,   16, 
        PMLJ,   16, 
        PMLK,   16, 
        PMLL,   16, 
        PMLM,   16, 
        PMLN,   16, 
        PMLO,   16, 
        PMLP,   16, 
        PMLQ,   16, 
        PMLR,   16, 
        PMLS,   16, 
        PNL1,   16, 
        PNL2,   16, 
        PNL3,   16, 
        PNL4,   16, 
        PNL5,   16, 
        PNL6,   16, 
        PNL7,   16, 
        PNL8,   16, 
        PNL9,   16, 
        PNLA,   16, 
        PNLB,   16, 
        PNLC,   16, 
        PNLD,   16, 
        PNLE,   16, 
        PNLF,   16, 
        PNLG,   16, 
        PNLH,   16, 
        PNLI,   16, 
        PNLJ,   16, 
        PNLK,   16, 
        PNLL,   16, 
        PNLM,   16, 
        PNLN,   16, 
        PNLO,   16, 
        PNLP,   16, 
        PNLQ,   16, 
        PNLR,   16, 
        PNLS,   16, 
        XHPC,   8, 
        XRPC,   8, 
        XSPC,   8, 
        XSPA,   8, 
        HPTB,   32, 
        HPTE,   8, 
        SM00,   8, 
        SM01,   8, 
        SM02,   8, 
        SM03,   8, 
        SM04,   8, 
        SM05,   8, 
        SM06,   8, 
        SC00,   64, 
        SC01,   64, 
        SC02,   64, 
        SC03,   64, 
        SC04,   64, 
        SC05,   64, 
        SC06,   64, 
        IM00,   8, 
        IM01,   8, 
        IM02,   8, 
        IM03,   8, 
        IM04,   8, 
        IM05,   8, 
        IM06,   8, 
        IM07,   8, 
        IC00,   64, 
        IC01,   64, 
        IC02,   64, 
        IC03,   64, 
        IC04,   64, 
        IC05,   64, 
        IC06,   64, 
        IC07,   64, 
        UM00,   8, 
        UM01,   8, 
        UM02,   8, 
        UM03,   8, 
        UM04,   8, 
        UM05,   8, 
        UM06,   8, 
        UC00,   64, 
        UC01,   64, 
        UC02,   64, 
        UC03,   64, 
        UC04,   64, 
        UC05,   64, 
        UC06,   64, 
        UD00,   8, 
        UD01,   8, 
        UD02,   8, 
        UD03,   8, 
        UD04,   8, 
        UD05,   8, 
        UD06,   8, 
        UP00,   8, 
        UP01,   8, 
        UP02,   8, 
        UP03,   8, 
        UP04,   8, 
        UP05,   8, 
        UP06,   8, 
        UI00,   8, 
        UI01,   8, 
        UI02,   8, 
        UI03,   8, 
        UI04,   8, 
        UI05,   8, 
        UI06,   8, 
        SGIR,   8, 
        GPHD,   8, 
        NIT1,   8, 
        NIT2,   8, 
        NIT3,   8, 
        NPM1,   8, 
        NPM2,   8, 
        NPM3,   8, 
        NPC1,   8, 
        NPC2,   8, 
        NPC3,   8, 
        NL11,   16, 
        NL12,   16, 
        NL13,   16, 
        ND21,   8, 
        ND22,   8, 
        ND23,   8, 
        ND11,   32, 
        ND12,   32, 
        ND13,   32, 
        NLR1,   16, 
        NLR2,   16, 
        NLR3,   16, 
        NLD1,   32, 
        NLD2,   32, 
        NLD3,   32, 
        NEA1,   16, 
        NEA2,   16, 
        NEA3,   16, 
        NEB1,   16, 
        NEB2,   16, 
        NEB3,   16, 
        NEC1,   16, 
        NEC2,   16, 
        NEC3,   16, 
        NRA1,   16, 
        NRA2,   16, 
        NRA3,   16, 
        NMB1,   32, 
        NMB2,   32, 
        NMB3,   32, 
        NMV1,   32, 
        NMV2,   32, 
        NMV3,   32, 
        NPB1,   32, 
        NPB2,   32, 
        NPB3,   32, 
        NPV1,   32, 
        NPV2,   32, 
        NPV3,   32, 
        NRP1,   32, 
        NRP2,   32, 
        NRP3,   32, 
        EMH4,   8, 
        EMDS,   8, 
        CSKU,   8, 
        ITA0,   16, 
        ITA1,   16, 
        ITA2,   16, 
        ITA3,   16, 
        ITS0,   8, 
        ITS1,   8, 
        ITS2,   8, 
        ITS3,   8, 
        PMBS,   16, 
        PWRM,   32, 
        CRFP,   8, 
        PCNV,   16, 
        CWFC,   8, 
        CBTC,   8, 
        CBTI,   8, 
        GBTP,   32, 
        CVPR,   8, 
        CRFI,   8, 
        TVBS,   8, 
        TFWB,   32, 
        PSON,   8, 
        LTR1,   8, 
        LTR2,   8, 
        LTR3,   8, 
        LTR4,   8, 
        LTR5,   8, 
        LTR6,   8, 
        LTR7,   8, 
        LTR8,   8, 
        LTR9,   8, 
        LTRA,   8, 
        LTRB,   8, 
        LTRC,   8, 
        LTRD,   8, 
        LTRE,   8, 
        LTRF,   8, 
        LTRG,   8, 
        LTRH,   8, 
        LTRI,   8, 
        LTRJ,   8, 
        LTRK,   8, 
        LTRL,   8, 
        LTRM,   8, 
        LTRN,   8, 
        LTRO,   8, 
        LTRP,   8, 
        LTRQ,   8, 
        LTRR,   8, 
        LTRS,   8, 
        GBES,   8, 
        PPDS,   32, 
        EMCE,   8, 
        SDCE,   8, 
        TGEA,   8, 
        TGEB,   8, 
        CR00,   8, 
        CR01,   8, 
        CR02,   8, 
        CR03,   8, 
        CR04,   8, 
        CR05,   8, 
        CR06,   8, 
        CR07,   8, 
        CR08,   8, 
        CR09,   8, 
        CR10,   8, 
        CR11,   8, 
        CR12,   8, 
        CR13,   8, 
        CR14,   8, 
        CR15,   8, 
        CR16,   8, 
        CR17,   8, 
        TCOB,   16, 
        ICKP,   16, 
        PU2C,   8, 
        PU3C,   8, 
        SPPR,   8, 
        IPCC,   8, 
        CQ00,   8, 
        CQ01,   8, 
        CQ02,   8, 
        CQ03,   8, 
        CQ04,   8, 
        CQ05,   8, 
        CQ06,   8, 
        CQ07,   8, 
        CQ08,   8, 
        CQ09,   8, 
        CQ10,   8, 
        CQ11,   8, 
        CQ12,   8, 
        CQ13,   8, 
        CQ14,   8, 
        CQ15,   8, 
        CQ16,   8, 
        CQ17,   8, 
        TIN0,   32, 
        TIN1,   32, 
        TMD0,   16, 
        TMD1,   16, 
        UF0E,   8, 
        UF1E,   8, 
        UAOE,   8, 
        T010,   32, 
        T011,   32, 
        T020,   8, 
        T021,   8, 
        T030,   32, 
        T031,   32, 
        T040,   32, 
        T041,   32, 
        T050,   32, 
        T051,   32, 
        T060,   32, 
        T061,   32, 
        T070,   32, 
        T071,   32, 
        T080,   32, 
        T081,   32, 
        T090,   32, 
        T091,   32, 
        T0A0,   32, 
        T0A1,   32, 
        T0B0,   32, 
        T0B1,   32, 
        T0C0,   32, 
        T0C1,   32, 
        T0D0,   32, 
        T0D1,   32, 
        T0E0,   32, 
        T0E1,   32, 
        T0F0,   32, 
        T0F1,   32, 
        T0G0,   16, 
        T0G1,   16, 
        T0H0,   32, 
        T0H1,   32, 
        T0I0,   8, 
        T0I1,   8, 
        T0J0,   64, 
        T0J1,   64, 
        T0K0,   64, 
        T0K1,   64, 
        T0L0,   64, 
        T0L1,   64, 
        T0M0,   64, 
        T0M1,   64, 
        T0N0,   64, 
        T0N1,   64, 
        T0O0,   64, 
        T0O1,   64, 
        T0P0,   64, 
        T0P1,   64, 
        T0Q0,   64, 
        T0Q1,   64, 
        T0R0,   64, 
        T0R1,   64, 
        T0S0,   64, 
        T0S1,   64, 
        T0T0,   64, 
        T0T1,   64, 
        T0U0,   64, 
        T0U1,   64, 
        T0V0,   64, 
        T0V1,   64, 
        T0W0,   64, 
        T0W1,   64, 
        T0X0,   64, 
        T0X1,   64, 
        T0Y0,   64, 
        T0Y1,   64, 
        T0Z0,   64, 
        T0Z1,   64, 
        T000,   64, 
        T001,   64, 
        CPPE,   8, 
        PCHA,   8, 
        ARLM,   8, 
        SML0,   8, 
        SML1,   8, 
        SML2,   8, 
        SML3,   8
    }

    Scope (_SB)
    {
    }

    Name (TPNB, 0x61C98000)
    Name (TPNL, 0x0059)
    OperationRegion (TPNV, SystemMemory, TPNB, TPNL)
    Field (TPNV, AnyAcc, Lock, Preserve)
    {
        MXD1,   32, 
        MXD2,   32, 
        MXD3,   32, 
        MXD4,   32, 
        MXD5,   32, 
        MXD6,   32, 
        MXD7,   32, 
        MXD8,   32, 
        EBAS,   32, 
        DGVS,   32, 
        DGVB,   32, 
        HYSS,   32, 
        NVAF,   8, 
        VEND,   16, 
        DEID,   16, 
        DPMF,   8, 
        SDMF,   8, 
        CHPV,   8, 
        EGBN,   8, 
        MCEN,   8, 
        P0DL,   16, 
        P1SN,   8, 
        NCPT,   16, 
        HGMD,   8, 
        TWGP,   32, 
        TPWG,   32, 
        TPWP,   8, 
        TRSG,   32, 
        TRSP,   8, 
        SGGP,   8, 
        HGFL,   8, 
        NVHA,   32, 
        NVGA,   32, 
        PABI,   8
    }

    Name (SS1, Zero)
    Name (SS2, Zero)
    Name (SS3, One)
    Name (SS4, One)
    Name (IOST, 0xC400)
    Name (TOPM, 0x00000000)
    Name (ROMS, 0xFFE00000)
    Name (VGAF, One)
    Name (CNVB, 0x61AB0000)
    Name (CNVL, 0x0020)
    OperationRegion (CPNV, SystemMemory, CNVB, CNVL)
    Field (CPNV, AnyAcc, Lock, Preserve)
    {
        NTPB,   8
    }

    Name (OGAD, 0x61DFEB18)
    Name (OGSZ, 0x020F)
    OperationRegion (OGNV, SystemMemory, OGAD, OGSZ)
    Field (OGNV, AnyAcc, Lock, Preserve)
    {
        DA18,   8, 
        BAEX,   8, 
        WOL5,   8, 
        TCCO,   8, 
        PEDD,   4096, 
        GSNC,   8, 
        MOID,   8, 
        ISI9,   8, 
        I9HK,   8, 
        CBSD,   8, 
        PPFG,   8, 
        MNID,   16, 
        YTLN,   8, 
        DGPU,   8, 
        MTJM,   8
    }

    Name (ADAR, 0x61DFEF18)
    Name (ADSZ, 0x0010)
    OperationRegion (ADGV, SystemMemory, ADAR, ADSZ)
    Field (ADGV, AnyAcc, Lock, Preserve)
    {
        Offset (0x04), 
        ADSN,   8, 
        Offset (0x0B), 
        ADI1,   8, 
        ADI2,   8, 
        ADI3,   8, 
        ADI4,   8, 
        ADI5,   8
    }

    Scope (_SB)
    {
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {3,4,5,6,10,11,12,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, PRSE)
        Alias (PRSA, PRSF)
        Alias (PRSA, PRSG)
        Alias (PRSA, PRSH)
        Name (PD21, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR21, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD22, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR22, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD23, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR23, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD24, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR24, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD01, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR01, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD03, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR03, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD00, Package (0x1E)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR00, Package (0x1E)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                Zero, 
                0x20
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                Zero, 
                0x21
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                Zero, 
                0x22
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                Zero, 
                0x23
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                Zero, 
                Zero, 
                0x23
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0001FFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD80, Package (0x2B)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                One, 
                LNKB, 
                Zero
            }
        })
        Name (AR80, Package (0x2B)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x02, 
                Zero, 
                0x1B
            }, 

            Package (0x04)
            {
                0x001EFFFF, 
                0x03, 
                Zero, 
                0x1C
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001CFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x001BFFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                Zero, 
                Zero, 
                0x1D
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                One, 
                Zero, 
                0x1E
            }, 

            Package (0x04)
            {
                0x0019FFFF, 
                0x02, 
                Zero, 
                0x1F
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                Zero, 
                0x20
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                Zero, 
                0x21
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                Zero, 
                0x22
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                Zero, 
                0x23
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                Zero, 
                Zero, 
                0x24
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                One, 
                Zero, 
                0x25
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                Zero, 
                0x1A
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                One, 
                Zero, 
                0x26
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                0x02, 
                Zero, 
                0x19
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                Zero, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                One, 
                Zero, 
                0x16
            }
        })
        Name (PD89, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR89, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD8A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR8A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD8B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR8B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PD8C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR8C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PD8D, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR8D, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD8E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR8E, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD8F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR8F, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PD90, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR90, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PD81, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR81, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD82, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR82, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD83, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR83, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PD84, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR84, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PD85, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR85, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD86, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR86, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD87, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR87, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PD88, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR88, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PD91, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR91, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD92, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR92, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD93, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR93, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PD94, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR94, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
        Name (PD95, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR95, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        Name (PD96, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                Zero
            }
        })
        Name (AR96, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x10
            }
        })
        Name (PD97, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR97, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PD98, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                Zero
            }
        })
        Name (AR98, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x12
            }
        })
    }

    Scope (_SB)
    {
        Device (PC00)
        {
            Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
            Name (_ADR, Zero)  // _ADR: Address
            Method (^BN00, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
            {
                Return (BN00 ())
            }

            Name (_UID, Zero)  // _UID: Unique ID
            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (PICM)
                {
                    Return (AR00) /* \_SB_.AR00 */
                }

                Return (PD00) /* \_SB_.PD00 */
            }

            Device (RP01)
            {
                Name (_ADR, 0x00060000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR04) /* \_SB_.AR04 */
                    }

                    Return (PD04) /* \_SB_.PD04 */
                }
            }

            Device (RP17)
            {
                Name (_ADR, 0x00060001)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR01) /* \_SB_.AR01 */
                    }

                    Return (PD01) /* \_SB_.PD01 */
                }
            }

            Device (BR24)
            {
                Name (_ADR, 0x00060002)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR02) /* \_SB_.AR02 */
                    }

                    Return (PD02) /* \_SB_.PD02 */
                }
            }

            Device (RP09)
            {
                Name (_ADR, 0x00060003)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR05) /* \_SB_.AR05 */
                    }

                    Return (PD05) /* \_SB_.PD05 */
                }
            }

            Device (RP13)
            {
                Name (_ADR, 0x00060004)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR06) /* \_SB_.AR06 */
                    }

                    Return (PD06) /* \_SB_.PD06 */
                }
            }

            Device (RP21)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR03) /* \_SB_.AR03 */
                    }

                    Return (PD03) /* \_SB_.PD03 */
                }
            }

            Device (LPCB)
            {
                Name (_ADR, 0x001F0000)  // _ADR: Address
                Device (PS2K)
                {
                    Name (_HID, "MSFT0001")  // _HID: Hardware ID
                    Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                    {
                        IO (Decode16,
                            0x0060,             // Range Minimum
                            0x0060,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0064,             // Range Minimum
                            0x0064,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IRQNoFlags ()
                            {1}
                    })
                    Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x0060,             // Range Minimum
                                0x0060,             // Range Maximum
                                0x00,               // Alignment
                                0x01,               // Length
                                )
                            IO (Decode16,
                                0x0064,             // Range Minimum
                                0x0064,             // Range Maximum
                                0x00,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {1}
                        }
                        EndDependentFn ()
                    })
                    Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
                    {
                        KBFG = Arg0
                    }
                }

                Scope (\)
                {
                    Name (KBFG, One)
                }

                Method (LPTS, 1, NotSerialized)
                {
                    SLPX = One
                    SLPE = One
                    If (PWBT)
                    {
                        PBEN = One
                    }
                }

                Method (LWAK, 1, NotSerialized)
                {
                    SLPE = Zero
                    If (PBEN)
                    {
                        PWBT = One
                        PBEN = Zero
                    }

                    If (NTPB)
                    {
                        Notify (PWRB, 0x02) // Device Wake
                    }
                }

                Name (PBEN, Zero)
                OperationRegion (SMIE, SystemIO, PMBA, 0x04)
                Field (SMIE, ByteAcc, NoLock, Preserve)
                {
                        ,   10, 
                    RTCS,   1, 
                        ,   3, 
                    PEXS,   1, 
                    WAKS,   1, 
                    Offset (0x03), 
                    PWBT,   1, 
                    Offset (0x04)
                }

                OperationRegion (SLPR, SystemIO, SMCR, 0x08)
                Field (SLPR, ByteAcc, NoLock, Preserve)
                {
                        ,   4, 
                    SLPE,   1, 
                        ,   31, 
                    SLPX,   1, 
                    Offset (0x08)
                }
            }
        }

        Device (PC02)
        {
            Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
            Name (_ADR, Zero)  // _ADR: Address
            Method (^BN80, 0, NotSerialized)
            {
                Return (0x80)
            }

            Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
            {
                Return (BN80 ())
            }

            Name (_UID, 0x02)  // _UID: Unique ID
            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                If (PICM)
                {
                    Return (AR80) /* \_SB_.AR80 */
                }

                Return (PD80) /* \_SB_.PD80 */
            }

            Name (BUF0, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0081,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x007F,             // Length
                    ,, _Y00)
                DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x00000000,         // Granularity
                    0x00008000,         // Range Minimum
                    0x0000FFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00008000,         // Length
                    ,, _Y01, TypeStatic, DenseTranslation)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0xB0000000,         // Range Minimum
                    0xBFFFFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x10000000,         // Length
                    ,, _Y02, AddressRangeMemory, TypeStatic)
                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                    0x0000000000000000, // Granularity
                    0x0000004000000000, // Range Minimum
                    0x0000005FFFFFFFFF, // Range Maximum
                    0x0000000000000000, // Translation Offset
                    0x0000002000000000, // Length
                    ,, _Y03, AddressRangeMemory, TypeStatic)
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                CreateWordField (BUF0, \_SB.PC02._Y00._MAX, PBMX)  // _MAX: Maximum Base Address
                CreateWordField (BUF0, \_SB.PC02._Y00._MIN, PBMN)  // _MIN: Minimum Base Address
                CreateWordField (BUF0, \_SB.PC02._Y00._LEN, PBLN)  // _LEN: Length
                PBMN = PBSB /* External reference */
                PBMX = PBSL /* \PBSL */
                PBLN = (PBMX - PBMN) /* \_SB_.PC02._CRS.PBMN */
                PBLN += One
                CreateDWordField (BUF0, \_SB.PC02._Y01._MIN, I1MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PC02._Y01._MAX, I1MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PC02._Y01._LEN, I1LN)  // _LEN: Length
                I1MN = PIOB /* \PIOB */
                I1MX = PIOL /* \PIOL */
                I1LN = (I1MX - I1MN) /* \_SB_.PC02._CRS.I1MN */
                I1LN += One
                CreateDWordField (BUF0, \_SB.PC02._Y02._MIN, M1MN)  // _MIN: Minimum Base Address
                CreateDWordField (BUF0, \_SB.PC02._Y02._MAX, M1MX)  // _MAX: Maximum Base Address
                CreateDWordField (BUF0, \_SB.PC02._Y02._LEN, M1LN)  // _LEN: Length
                M1MN = PMEB /* \PMEB */
                M1MX = PMEL /* \PMEL */
                M1LN = (M1MX - M1MN) /* \_SB_.PC02._CRS.M1MN */
                M1LN += One
                CreateQWordField (BUF0, \_SB.PC02._Y03._LEN, M2LN)  // _LEN: Length
                CreateQWordField (BUF0, \_SB.PC02._Y03._MIN, M2MN)  // _MIN: Minimum Base Address
                CreateQWordField (BUF0, \_SB.PC02._Y03._MAX, M2MX)  // _MAX: Maximum Base Address
                M2MN = PPMB /* \PPMB */
                M2MX = PPML /* \PPML */
                M2LN = (M2MX - M2MN) /* \_SB_.PC02._CRS.M2MN */
                M2LN += One
                Return (BUF0) /* \_SB_.PC02.BUF0 */
            }

            Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
            Name (SUPP, Zero)
            Name (CTRL, Zero)
            Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
            {
                Local0 = Arg3
                CreateDWordField (Local0, Zero, CDW1)
                CreateDWordField (Local0, 0x04, CDW2)
                CreateDWordField (Local0, 0x08, CDW3)
                If ((Arg0 != GUID))
                {
                    CDW1 |= 0x04
                    Return (Local0)
                }

                If ((Arg1 != One))
                {
                    CDW1 |= 0x08
                    Return (Local0)
                }

                SUPP = CDW2 /* \_SB_.PC02._OSC.CDW2 */
                CTRL = CDW3 /* \_SB_.PC02._OSC.CDW3 */
                ADBG ("PC02 Support")
                ADBG (ToHexString (SUPP))
                ADBG ("PC02 Control")
                ADBG (ToHexString (CTRL))
                If ((CDW3 != CTRL))
                {
                    ADBG ("Rejecting OS request new control")
                    ADBG (ToHexString (CTRL))
                    CDW1 |= 0x10
                    CDW3 = CTRL /* \_SB_.PC02.CTRL */
                }

                Return (Local0)
            }

            Device (RP09)
            {
                Name (_ADR, 0x001D0000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR89) /* \_SB_.AR89 */
                    }

                    Return (PD89) /* \_SB_.PD89 */
                }
            }

            Device (RP10)
            {
                Name (_ADR, 0x001D0001)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR8A) /* \_SB_.AR8A */
                    }

                    Return (PD8A) /* \_SB_.PD8A */
                }
            }

            Device (RP11)
            {
                Name (_ADR, 0x001D0002)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR8B) /* \_SB_.AR8B */
                    }

                    Return (PD8B) /* \_SB_.PD8B */
                }
            }

            Device (RP12)
            {
                Name (_ADR, 0x001D0003)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR8C) /* \_SB_.AR8C */
                    }

                    Return (PD8C) /* \_SB_.PD8C */
                }
            }

            Device (RP13)
            {
                Name (_ADR, 0x001D0004)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR8D) /* \_SB_.AR8D */
                    }

                    Return (PD8D) /* \_SB_.PD8D */
                }
            }

            Device (RP14)
            {
                Name (_ADR, 0x001D0005)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR8E) /* \_SB_.AR8E */
                    }

                    Return (PD8E) /* \_SB_.PD8E */
                }
            }

            Device (RP15)
            {
                Name (_ADR, 0x001D0006)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR8F) /* \_SB_.AR8F */
                    }

                    Return (PD8F) /* \_SB_.PD8F */
                }
            }

            Device (RP16)
            {
                Name (_ADR, 0x001D0007)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR90) /* \_SB_.AR90 */
                    }

                    Return (PD90) /* \_SB_.PD90 */
                }
            }

            Device (RP01)
            {
                Name (_ADR, 0x001C0005)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR81) /* \_SB_.AR81 */
                    }

                    Return (PD81) /* \_SB_.PD81 */
                }
            }

            Device (RP02)
            {
                Name (_ADR, 0x001C0001)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR82) /* \_SB_.AR82 */
                    }

                    Return (PD82) /* \_SB_.PD82 */
                }
            }

            Device (RP03)
            {
                Name (_ADR, 0x001C0002)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR83) /* \_SB_.AR83 */
                    }

                    Return (PD83) /* \_SB_.PD83 */
                }
            }

            Device (RP04)
            {
                Name (_ADR, 0x001C0003)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR84) /* \_SB_.AR84 */
                    }

                    Return (PD84) /* \_SB_.PD84 */
                }
            }

            Device (RP05)
            {
                Name (_ADR, 0x001C0004)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR85) /* \_SB_.AR85 */
                    }

                    Return (PD85) /* \_SB_.PD85 */
                }
            }

            Device (RP06)
            {
                Name (_ADR, 0x001C0000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR86) /* \_SB_.AR86 */
                    }

                    Return (PD86) /* \_SB_.PD86 */
                }
            }

            Device (RP07)
            {
                Name (_ADR, 0x001C0006)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR87) /* \_SB_.AR87 */
                    }

                    Return (PD87) /* \_SB_.PD87 */
                }
            }

            Device (RP08)
            {
                Name (_ADR, 0x001C0007)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR88) /* \_SB_.AR88 */
                    }

                    Return (PD88) /* \_SB_.PD88 */
                }
            }

            Device (RP17)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR91) /* \_SB_.AR91 */
                    }

                    Return (PD91) /* \_SB_.PD91 */
                }
            }

            Device (RP18)
            {
                Name (_ADR, 0x001B0001)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR92) /* \_SB_.AR92 */
                    }

                    Return (PD92) /* \_SB_.PD92 */
                }
            }

            Device (RP19)
            {
                Name (_ADR, 0x001B0002)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR93) /* \_SB_.AR93 */
                    }

                    Return (PD93) /* \_SB_.PD93 */
                }
            }

            Device (RP20)
            {
                Name (_ADR, 0x001B0003)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR94) /* \_SB_.AR94 */
                    }

                    Return (PD94) /* \_SB_.PD94 */
                }
            }

            Device (RP21)
            {
                Name (_ADR, 0x001B0004)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR95) /* \_SB_.AR95 */
                    }

                    Return (PD95) /* \_SB_.PD95 */
                }
            }

            Device (RP22)
            {
                Name (_ADR, 0x001B0005)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR96) /* \_SB_.AR96 */
                    }

                    Return (PD96) /* \_SB_.PD96 */
                }
            }

            Device (RP23)
            {
                Name (_ADR, 0x001B0006)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR97) /* \_SB_.AR97 */
                    }

                    Return (PD97) /* \_SB_.PD97 */
                }
            }

            Device (RP24)
            {
                Name (_ADR, 0x001B0007)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR98) /* \_SB_.AR98 */
                    }

                    Return (PD98) /* \_SB_.PD98 */
                }
            }
        }
    }

    Name (_S0, Package (0x04)  // _S0_: S0 System State
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S3, Package (0x04)  // _S3_: S3 System State
    {
        0x05, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S4, Package (0x04)  // _S4_: S4 System State
    {
        0x06, 
        Zero, 
        Zero, 
        Zero
    })
    Name (_S5, Package (0x04)  // _S5_: S5 System State
    {
        0x07, 
        Zero, 
        Zero, 
        Zero
    })
    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        If (Arg0)
        {
            \_SB.PC00.LPCB.EC0.EPTS (Arg0)
            \_SB.TPM.TPTS (Arg0)
            \_SB.PC00.MC.NPTS (Arg0)
            RPTS (Arg0)
        }
    }

    Method (_WAK, 1, NotSerialized)  // _WAK: Wake
    {
        RWAK (Arg0)
        \_SB.PC00.MC.NWAK (Arg0)
        \_SB.PC00.LPCB.EC0.EWAK (Arg0)
        Return (AM00) /* \AM00 */
    }

    Scope (_SB.PC00)
    {
        Device (MC)
        {
            Name (_ADR, Zero)  // _ADR: Address
            OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
            Field (HBUS, DWordAcc, NoLock, Preserve)
            {
                Offset (0x40), 
                EPEN,   1, 
                    ,   11, 
                EPBR,   20, 
                Offset (0x48), 
                MHEN,   1, 
                    ,   14, 
                MHBR,   17, 
                Offset (0x50), 
                GCLK,   1, 
                Offset (0x54), 
                D0EN,   1, 
                D1F2,   1, 
                D1F1,   1, 
                D1F0,   1, 
                Offset (0x56), 
                D6F0,   1, 
                Offset (0x60), 
                PXEN,   1, 
                PXSZ,   3, 
                    ,   22, 
                PXBR,   6, 
                Offset (0x68), 
                DIEN,   1, 
                    ,   11, 
                DIBR,   20, 
                Offset (0x70), 
                    ,   20, 
                MEBR,   12, 
                Offset (0x80), 
                    ,   4, 
                PM0H,   2, 
                Offset (0x81), 
                PM1L,   2, 
                    ,   2, 
                PM1H,   2, 
                Offset (0x82), 
                PM2L,   2, 
                    ,   2, 
                PM2H,   2, 
                Offset (0x83), 
                PM3L,   2, 
                    ,   2, 
                PM3H,   2, 
                Offset (0x84), 
                PM4L,   2, 
                    ,   2, 
                PM4H,   2, 
                Offset (0x85), 
                PM5L,   2, 
                    ,   2, 
                PM5H,   2, 
                Offset (0x86), 
                PM6L,   2, 
                    ,   2, 
                PM6H,   2, 
                Offset (0x87), 
                Offset (0xA8), 
                    ,   20, 
                TUUD,   19, 
                Offset (0xBC), 
                    ,   20, 
                TLUD,   12, 
                Offset (0xC8), 
                    ,   7, 
                HTSE,   1
            }
        }

        Name (BUF0, ResourceTemplate ()
        {
            WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                0x0000,             // Granularity
                0x0000,             // Range Minimum
                0x00FF,             // Range Maximum
                0x0000,             // Translation Offset
                0x0100,             // Length
                ,, _Y04)
            DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                0x00000000,         // Granularity
                0x00000000,         // Range Minimum
                0x00000CF7,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00000CF8,         // Length
                ,, , TypeStatic, DenseTranslation)
            IO (Decode16,
                0x0CF8,             // Range Minimum
                0x0CF8,             // Range Maximum
                0x01,               // Alignment
                0x08,               // Length
                )
            DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                0x00000000,         // Granularity
                0x00000D00,         // Range Minimum
                0x0000FFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x0000F300,         // Length
                ,, _Y12, TypeStatic, DenseTranslation)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000A0000,         // Range Minimum
                0x000BFFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00020000,         // Length
                ,, , AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000C0000,         // Range Minimum
                0x000C3FFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y05, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000C4000,         // Range Minimum
                0x000C7FFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y06, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000C8000,         // Range Minimum
                0x000CBFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y07, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000CC000,         // Range Minimum
                0x000CFFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y08, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000D0000,         // Range Minimum
                0x000D3FFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y09, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000D4000,         // Range Minimum
                0x000D7FFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y0A, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000D8000,         // Range Minimum
                0x000DBFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y0B, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000DC000,         // Range Minimum
                0x000DFFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y0C, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000E0000,         // Range Minimum
                0x000E3FFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y0D, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000E4000,         // Range Minimum
                0x000E7FFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y0E, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000E8000,         // Range Minimum
                0x000EBFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y0F, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000EC000,         // Range Minimum
                0x000EFFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00004000,         // Length
                ,, _Y10, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                0x00000000,         // Granularity
                0x000F0000,         // Range Minimum
                0x000FFFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0x00010000,         // Length
                ,, _Y11, AddressRangeMemory, TypeStatic)
            DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                0x00000000,         // Granularity
                0x00000000,         // Range Minimum
                0xDFFFFFFF,         // Range Maximum
                0x00000000,         // Translation Offset
                0xE0000000,         // Length
                ,, _Y13, AddressRangeMemory, TypeStatic)
            QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                0x0000000000000000, // Granularity
                0x0000000000010000, // Range Minimum
                0x000000000001FFFF, // Range Maximum
                0x0000000000000000, // Translation Offset
                0x0000000000010000, // Length
                ,, _Y14, AddressRangeMemory, TypeStatic)
        })
        Name (EP_B, Zero)
        Name (MH_B, Zero)
        Name (PC_B, Zero)
        Name (PC_L, Zero)
        Name (DM_B, Zero)
        Method (GEPB, 0, Serialized)
        {
            If ((EP_B == Zero))
            {
                EP_B = (^MC.EPBR << 0x0C)
            }

            Return (EP_B) /* \_SB_.PC00.EP_B */
        }

        Method (GMHB, 0, Serialized)
        {
            If ((MH_B == Zero))
            {
                MH_B = (^MC.MHBR << 0x0F)
            }

            Return (MH_B) /* \_SB_.PC00.MH_B */
        }

        Method (GPCB, 0, Serialized)
        {
            If ((PC_B == Zero))
            {
                PC_B = (^MC.PXBR << 0x1A)
            }

            Return (PC_B) /* \_SB_.PC00.PC_B */
        }

        Method (PC2M, 2, Serialized)
        {
            Local0 = GPCB ()
            Local0 += (Arg1 << 0x14)
            Local0 += ((Arg0 & 0x001F0000) >> One)
            Local0 += ((Arg0 & 0x07) << 0x0C)
            Return (Local0)
        }

        Method (GPCL, 0, Serialized)
        {
            If ((PC_L == Zero))
            {
                If ((^MC.PXSZ < 0x03))
                {
                    PC_L = (0x10000000 >> ^MC.PXSZ) /* \_SB_.PC00.MC__.PXSZ */
                }
                Else
                {
                    PC_L = 0x10000000
                }
            }

            Return (PC_L) /* \_SB_.PC00.PC_L */
        }

        Method (GDMB, 0, Serialized)
        {
            If ((DM_B == Zero))
            {
                DM_B = (^MC.DIBR << 0x0C)
            }

            Return (DM_B) /* \_SB_.PC00.DM_B */
        }

        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
        {
            CreateWordField (BUF0, \_SB.PC00._Y04._MAX, PBMX)  // _MAX: Maximum Base Address
            CreateWordField (BUF0, \_SB.PC00._Y04._LEN, PBLN)  // _LEN: Length
            CreateWordField (BUF0, \_SB.PC00._Y04._MIN, PBMN)  // _MIN: Minimum Base Address
            Local0 = GPCL ()
            PBMX = ((Local0 >> 0x14) - 0x02)
            PBLN = ((Local0 >> 0x14) - One)
            If (CondRefOf (\VMDE))
            {
                If (((VMDE == One) && (PBMX > 0xDF)))
                {
                    PBMX = 0xDF
                    PBLN = 0xE0
                    ADBG (Concatenate ("[ASL]VMD is enabled, restricting Bus numbers to -", ToHexString (PBMX)))
                }
            }

            If (^MC.PM1L)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y05._LEN, C0LN)  // _LEN: Length
                C0LN = Zero
            }

            If ((^MC.PM1L == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y05._RW, C0RW)  // _RW_: Read-Write Status
                C0RW = Zero
            }

            If (^MC.PM1H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y06._LEN, C4LN)  // _LEN: Length
                C4LN = Zero
            }

            If ((^MC.PM1H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y06._RW, C4RW)  // _RW_: Read-Write Status
                C4RW = Zero
            }

            If (^MC.PM2L)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y07._LEN, C8LN)  // _LEN: Length
                C8LN = Zero
            }

            If ((^MC.PM2L == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y07._RW, C8RW)  // _RW_: Read-Write Status
                C8RW = Zero
            }

            If (^MC.PM2H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y08._LEN, CCLN)  // _LEN: Length
                CCLN = Zero
            }

            If ((^MC.PM2H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y08._RW, CCRW)  // _RW_: Read-Write Status
                CCRW = Zero
            }

            If (^MC.PM3L)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y09._LEN, D0LN)  // _LEN: Length
                D0LN = Zero
            }

            If ((^MC.PM3L == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y09._RW, D0RW)  // _RW_: Read-Write Status
                D0RW = Zero
            }

            If (^MC.PM3H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y0A._LEN, D4LN)  // _LEN: Length
                D4LN = Zero
            }

            If ((^MC.PM3H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y0A._RW, D4RW)  // _RW_: Read-Write Status
                D4RW = Zero
            }

            If (^MC.PM4L)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y0B._LEN, D8LN)  // _LEN: Length
                D8LN = Zero
            }

            If ((^MC.PM4L == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y0B._RW, D8RW)  // _RW_: Read-Write Status
                D8RW = Zero
            }

            If (^MC.PM4H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y0C._LEN, DCLN)  // _LEN: Length
                DCLN = Zero
            }

            If ((^MC.PM4H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y0C._RW, DCRW)  // _RW_: Read-Write Status
                DCRW = Zero
            }

            If (^MC.PM5L)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y0D._LEN, E0LN)  // _LEN: Length
                E0LN = Zero
            }

            If ((^MC.PM5L == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y0D._RW, E0RW)  // _RW_: Read-Write Status
                E0RW = Zero
            }

            If (^MC.PM5H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y0E._LEN, E4LN)  // _LEN: Length
                E4LN = Zero
            }

            If ((^MC.PM5H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y0E._RW, E4RW)  // _RW_: Read-Write Status
                E4RW = Zero
            }

            If (^MC.PM6L)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y0F._LEN, E8LN)  // _LEN: Length
                E8LN = Zero
            }

            If ((^MC.PM6L == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y0F._RW, E8RW)  // _RW_: Read-Write Status
                E8RW = Zero
            }

            If (^MC.PM6H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y10._LEN, ECLN)  // _LEN: Length
                ECLN = Zero
            }

            If ((^MC.PM6H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y10._RW, ECRW)  // _RW_: Read-Write Status
                ECRW = Zero
            }

            If (^MC.PM0H)
            {
                CreateDWordField (BUF0, \_SB.PC00._Y11._LEN, F0LN)  // _LEN: Length
                F0LN = Zero
            }

            If ((^MC.PM0H == One))
            {
                CreateBitField (BUF0, \_SB.PC00._Y11._RW, F0RW)  // _RW_: Read-Write Status
                F0RW = Zero
            }

            CreateDWordField (BUF0, \_SB.PC00._Y12._MIN, I1MN)  // _MIN: Minimum Base Address
            CreateDWordField (BUF0, \_SB.PC00._Y12._MAX, I1MX)  // _MAX: Maximum Base Address
            CreateDWordField (BUF0, \_SB.PC00._Y12._LEN, I1LN)  // _LEN: Length
            CreateDWordField (BUF0, \_SB.PC00._Y13._MIN, M1MN)  // _MIN: Minimum Base Address
            CreateDWordField (BUF0, \_SB.PC00._Y13._MAX, M1MX)  // _MAX: Maximum Base Address
            CreateDWordField (BUF0, \_SB.PC00._Y13._LEN, M1LN)  // _LEN: Length
            M1LN = M32L /* External reference */
            M1MN = M32B /* External reference */
            M1MX = ((M1MN + M1LN) - One)
            If ((M64L == Zero))
            {
                CreateQWordField (BUF0, \_SB.PC00._Y14._LEN, MSLN)  // _LEN: Length
                MSLN = Zero
            }
            Else
            {
                CreateQWordField (BUF0, \_SB.PC00._Y14._LEN, M2LN)  // _LEN: Length
                CreateQWordField (BUF0, \_SB.PC00._Y14._MIN, M2MN)  // _MIN: Minimum Base Address
                CreateQWordField (BUF0, \_SB.PC00._Y14._MAX, M2MX)  // _MAX: Maximum Base Address
                M2LN = M64L /* External reference */
                M2MN = M64B /* External reference */
                M2MX = ((M2MN + M2LN) - One)
            }

            If ((PCHA != Zero))
            {
                PBMN = SBSB /* \SBSB */
                PBMX = SBSL /* \SBSL */
                PBLN = (SBSL - SBSB) /* \SBSB */
                PBLN += One
                I1MN = SIOB /* \SIOB */
                I1MX = SIOL /* \SIOL */
                I1LN = (I1MX - I1MN) /* \_SB_.PC00._CRS.I1MN */
                I1LN += One
                M1MN = SMEB /* \SMEB */
                M1MX = SMEL /* \SMEL */
                M1LN = (M1MX - M1MN) /* \_SB_.PC00._CRS.M1MN */
                M1LN += One
                M2MN = SPMB /* \SPMB */
                M2MX = SPML /* \SPML */
                M2LN = (M2MX - M2MN) /* \_SB_.PC00._CRS.M2MN */
                M2LN += One
            }

            Return (BUF0) /* \_SB_.PC00.BUF0 */
        }

        Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
        Name (SUPP, Zero)
        Name (CTRL, Zero)
        Name (XCNT, Zero)
        Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
        {
            Local0 = Arg3
            CreateDWordField (Local0, Zero, CDW1)
            CreateDWordField (Local0, 0x04, CDW2)
            CreateDWordField (Local0, 0x08, CDW3)
            If ((Arg0 == GUID))
            {
                SUPP = CDW2 /* \_SB_.PC00._OSC.CDW2 */
                CTRL = CDW3 /* \_SB_.PC00._OSC.CDW3 */
                If (!NEXP)
                {
                    CTRL &= 0xFFFFFFF8
                }

                If (~(CDW1 & One))
                {
                    OSCC = CTRL /* \_SB_.PC00.CTRL */
                    If (CondRefOf (SWAK))
                    {
                        SWAK (0xFFFF, Zero)
                    }
                }

                If ((Arg1 != One))
                {
                    CDW1 |= 0x08
                }

                If ((CDW3 != CTRL))
                {
                    CDW1 |= 0x10
                }

                CDW3 = CTRL /* \_SB_.PC00.CTRL */
                OSCC = CTRL /* \_SB_.PC00.CTRL */
                Return (Local0)
            }
            Else
            {
                CDW1 |= 0x04
                Return (Local0)
            }
        }

        Scope (\_SB.PC00)
        {
            Device (GFX0)
            {
                Name (_ADR, 0x00020000)  // _ADR: Address
            }

            Device (TCPU)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Name (_ADR, 0x00040000)  // _ADR: Address
            }

            Device (IPU0)
            {
                Name (_ADR, 0x00050000)  // _ADR: Address
            }

            Device (GNA0)
            {
                Name (_ADR, 0x00080000)  // _ADR: Address
            }

            Device (VPU0)
            {
                Name (_ADR, 0x000B0000)  // _ADR: Address
            }
        }

        Scope (\)
        {
            Method (ADBG, 1, Serialized)
            {
                If (IADG)
                {
                    If (CondRefOf (ODBG))
                    {
                        ODBG (Arg0)
                    }

                    Debug = Arg0
                    If (CondRefOf (SRLD))
                    {
                        If ((SRLD == One))
                        {
                            SDBG (Arg0)
                        }
                    }

                    If (CondRefOf (MDBG))
                    {
                        THDH (Arg0)
                        Return (MDBG (Arg0))
                    }
                }

                Return (Zero)
            }
        }

        Scope (MC)
        {
            Name (PA0H, Zero)
            Name (PA1H, Zero)
            Name (PA1L, Zero)
            Name (PA2H, Zero)
            Name (PA2L, Zero)
            Name (PA3H, Zero)
            Name (PA3L, Zero)
            Name (PA4H, Zero)
            Name (PA4L, Zero)
            Name (PA5H, Zero)
            Name (PA5L, Zero)
            Name (PA6H, Zero)
            Name (PA6L, Zero)
            Name (PACP, Zero)
            Name (PAAC, Zero)
            OperationRegion (MCHR, SystemMemory, (GMHB () + 0x6100), 0x0100)
            Field (MCHR, ByteAcc, NoLock, Preserve)
            {
                Offset (0x28), 
                PGCP,   1, 
                Offset (0x30), 
                PWAC,   1
            }

            Method (NPTS, 1, NotSerialized)
            {
                PA0H = PM0H /* \_SB_.PC00.MC__.PM0H */
                PA1H = PM1H /* \_SB_.PC00.MC__.PM1H */
                PA1L = PM1L /* \_SB_.PC00.MC__.PM1L */
                PA2H = PM2H /* \_SB_.PC00.MC__.PM2H */
                PA2L = PM2L /* \_SB_.PC00.MC__.PM2L */
                PA3H = PM3H /* \_SB_.PC00.MC__.PM3H */
                PA3L = PM3L /* \_SB_.PC00.MC__.PM3L */
                PA4H = PM4H /* \_SB_.PC00.MC__.PM4H */
                PA4L = PM4L /* \_SB_.PC00.MC__.PM4L */
                PA5H = PM5H /* \_SB_.PC00.MC__.PM5H */
                PA5L = PM5L /* \_SB_.PC00.MC__.PM5L */
                PA6H = PM6H /* \_SB_.PC00.MC__.PM6H */
                PA6L = PM6L /* \_SB_.PC00.MC__.PM6L */
                PACP = PGCP /* \_SB_.PC00.MC__.PGCP */
                PAAC = PWAC /* \_SB_.PC00.MC__.PWAC */
            }

            Method (NWAK, 1, NotSerialized)
            {
                PM0H = PA0H /* \_SB_.PC00.MC__.PA0H */
                PM1H = PA1H /* \_SB_.PC00.MC__.PA1H */
                PM1L = PA1L /* \_SB_.PC00.MC__.PA1L */
                PM2H = PA2H /* \_SB_.PC00.MC__.PA2H */
                PM2L = PA2L /* \_SB_.PC00.MC__.PA2L */
                PM3H = PA3H /* \_SB_.PC00.MC__.PA3H */
                PM3L = PA3L /* \_SB_.PC00.MC__.PA3L */
                PM4H = PA4H /* \_SB_.PC00.MC__.PA4H */
                PM4L = PA4L /* \_SB_.PC00.MC__.PA4L */
                PM5H = PA5H /* \_SB_.PC00.MC__.PA5H */
                PM5L = PA5L /* \_SB_.PC00.MC__.PA5L */
                PM6H = PA6H /* \_SB_.PC00.MC__.PA6H */
                PM6L = PA6L /* \_SB_.PC00.MC__.PA6L */
                PGCP = PACP /* \_SB_.PC00.MC__.PACP */
                PWAC = PAAC /* \_SB_.PC00.MC__.PAAC */
            }
        }
    }

    Scope (_SB.PC02)
    {
        Device (AWAC)
        {
            Name (_HID, "ACPI000E" /* Time and Alarm Device */)  // _HID: Hardware ID
            Name (WAST, Zero)
            Name (WTTR, Zero)
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }

            Mutex (RTCL, 0x00)
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((STAS == Zero))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_GCP, 0, NotSerialized)  // _GCP: Get Capabilities
            {
                Return (0xB7)
            }

            OperationRegion (RTCM, SystemCMOS, Zero, 0x3F)
            Field (RTCM, ByteAcc, Lock, Preserve)
            {
                SEC,    8, 
                Offset (0x02), 
                MIN,    8, 
                Offset (0x04), 
                HOR,    8, 
                Offset (0x07), 
                DAY,    8, 
                MON,    8, 
                YEAR,   8, 
                REGA,   8, 
                Offset (0x32), 
                CNTY,   8
            }

            Method (_GRT, 0, Serialized)  // _GRT: Get Real Time
            {
                Name (BUFF, Buffer (0x10){})
                CreateWordField (BUFF, Zero, Y)
                CreateByteField (BUFF, 0x02, M)
                CreateByteField (BUFF, 0x03, D)
                CreateByteField (BUFF, 0x04, H)
                CreateByteField (BUFF, 0x05, MIN1)
                CreateByteField (BUFF, 0x06, S)
                CreateByteField (BUFF, 0x07, V)
                CreateWordField (BUFF, 0x0A, TZ)
                CreateByteField (BUFF, 0x0C, DL)
                Acquire (RTCL, 0xFFFF)
                Local1 = Zero
                Name (TOUT, 0x000186A0)
                TOUT /= 0x0A
                While (((REGA & 0x80) && (Local1 < TOUT)))
                {
                    Stall (0x0A)
                    Local1 += 0x0A
                }

                If ((Local1 >= TOUT))
                {
                    ADBG ("_GRT timeout fail")
                }

                FromBCD (YEAR, Local5)
                FromBCD (CNTY, Local6)
                Y = ((Local6 * 0x64) + Local5)
                FromBCD (MON, M) /* \_SB_.PC02.AWAC._GRT.M___ */
                FromBCD (DAY, D) /* \_SB_.PC02.AWAC._GRT.D___ */
                FromBCD (HOR, H) /* \_SB_.PC02.AWAC._GRT.H___ */
                FromBCD (MIN, MIN1) /* \_SB_.PC02.AWAC._GRT.MIN1 */
                FromBCD (SEC, S) /* \_SB_.PC02.AWAC._GRT.S___ */
                Release (RTCL)
                TZ = 0x07FF
                DL = Zero
                V = One
                Return (BUFF) /* \_SB_.PC02.AWAC._GRT.BUFF */
            }

            Method (_SRT, 1, NotSerialized)  // _SRT: Set Real Time
            {
                CreateWordField (Arg0, Zero, Y)
                CreateByteField (Arg0, 0x02, M)
                CreateByteField (Arg0, 0x03, D)
                CreateByteField (Arg0, 0x04, H)
                CreateByteField (Arg0, 0x05, MIN1)
                CreateByteField (Arg0, 0x06, S)
                Acquire (RTCL, 0xFFFF)
                Local1 = Zero
                Name (TOUT, 0x000186A0)
                TOUT /= 0x0A
                While (((REGA & 0x80) && (Local1 < TOUT)))
                {
                    Stall (0x0A)
                    Local1 += 0x0A
                }

                If ((Local1 >= TOUT))
                {
                    ADBG ("_SRT timeout fail")
                    Release (RTCL)
                    Return (0xFFFFFFFF)
                }

                Divide (Y, 0x64, Local5, Local4)
                ToBCD (Local4, CNTY) /* \_SB_.PC02.AWAC.CNTY */
                ToBCD (Local5, YEAR) /* \_SB_.PC02.AWAC.YEAR */
                ToBCD (M, MON) /* \_SB_.PC02.AWAC.MON_ */
                ToBCD (D, DAY) /* \_SB_.PC02.AWAC.DAY_ */
                ToBCD (H, HOR) /* \_SB_.PC02.AWAC.HOR_ */
                ToBCD (MIN1, MIN) /* \_SB_.PC02.AWAC.MIN_ */
                ToBCD (S, SEC) /* \_SB_.PC02.AWAC.SEC_ */
                Release (RTCL)
                Return (Zero)
            }

            Method (_GWS, 1, Serialized)  // _GWS: Get Wake Status
            {
                Local0 = Zero
                If ((Arg0 == Zero))
                {
                    If (((^^PPMC.ACWA == 0xFFFFFFFF) && (One & WTTR)))
                    {
                        Local0 |= One
                        WTTR ^= One /* \_SB_.PC02.AWAC.WTTR */
                    }
                }
                ElseIf (((^^PPMC.DCWA == 0xFFFFFFFF) && (0x02 & WTTR)))
                {
                    Local0 |= One
                    WTTR ^= 0x02 /* \_SB_.PC02.AWAC.WTTR */
                }

                If (WAST)
                {
                    Local0 |= 0x02
                    WAST = Zero
                }

                Return (Local0)
            }

            Method (_CWS, 1, NotSerialized)  // _CWS: Clear Wake Alarm Status
            {
                Return (Zero)
            }

            Method (_STP, 2, NotSerialized)  // _STP: Set Expired Timer Wake Policy
            {
                If ((Arg0 == Zero))
                {
                    ^^PPMC.ACET = Arg1
                }
                Else
                {
                    ^^PPMC.DCET = Arg1
                }

                Return (Zero)
            }

            Method (_STV, 2, Serialized)  // _STV: Set Timer Value
            {
                If ((Arg0 == Zero))
                {
                    ^^PPMC.ACWA = Arg1
                    WTTR |= One /* \_SB_.PC02.AWAC.WTTR */
                }
                Else
                {
                    ^^PPMC.DCWA = Arg1
                    WTTR |= 0x02 /* \_SB_.PC02.AWAC.WTTR */
                }

                Return (Zero)
            }

            Method (_TIP, 1, NotSerialized)  // _TIP: Expired Timer Wake Policy
            {
                If ((Arg0 == Zero))
                {
                    Return (^^PPMC.ACET) /* \_SB_.PC02.PPMC.ACET */
                }
                Else
                {
                    Return (^^PPMC.DCET) /* \_SB_.PC02.PPMC.DCET */
                }
            }

            Method (_TIV, 1, NotSerialized)  // _TIV: Timer Values
            {
                If ((Arg0 == Zero))
                {
                    Return (^^PPMC.ACWA) /* \_SB_.PC02.PPMC.ACWA */
                }
                Else
                {
                    Return (^^PPMC.DCWA) /* \_SB_.PC02.PPMC.DCWA */
                }
            }
        }
    }

    Scope (_SB)
    {
        Method (ASRT, 2, NotSerialized)
        {
            Local1 = (Arg0 & 0xFF)
            While (One)
            {
                Local0 = 0x09
                P8XH (Zero, Local1)
                ADBG (ToHexString (Arg1))
                While ((Local0 > Zero))
                {
                    P8XH (One, Local0)
                    Local0--
                    Local2 = 0x2710
                    While ((Local2 > Zero))
                    {
                        Stall (0x64)
                        Local2--
                    }
                }

                P8XH (Zero, 0xB6)
                P8XH (One, 0xAD)
                Sleep (0xEA60)
            }
        }
    }

    If ((ECR1 == One))
    {
        Scope (_SB.PC00)
        {
            Name (PCIG, ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)
            Method (PCID, 4, Serialized)
            {
                If ((Arg0 == PCIG))
                {
                    If ((Arg1 >= 0x03))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0x01, 0x03                                       // ..
                            })
                        }

                        If ((Arg2 == 0x08))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x09))
                        {
                            Return (Package (0x05)
                            {
                                0xC350, 
                                Ones, 
                                Ones, 
                                0xC350, 
                                Ones
                            })
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }

        If (CondRefOf (\_SB.PC02))
        {
            Scope (_SB.PC02)
            {
                Method (PCID, 4, Serialized)
                {
                    Return (^^PC00.PCID (Arg0, Arg1, Arg2, Arg3))
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Method (PCIC, 1, Serialized)
        {
            If ((ECR1 == One))
            {
                If ((Arg0 == PCIG))
                {
                    Return (One)
                }
            }

            Return (Zero)
        }

        If ((PCHA == Zero))
        {
            Method (IICB, 2, Serialized)
            {
                Switch (ToInteger (Arg1))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, _Y15, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC00.IICB._Y15._ADR, DAD0)  // _ADR: Address
                        DAD0 = Arg0
                        Return (IIC0) /* \_SB_.PC00.IICB.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, _Y16, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC00.IICB._Y16._ADR, DAD1)  // _ADR: Address
                        DAD1 = Arg0
                        Return (IIC1) /* \_SB_.PC00.IICB.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, _Y17, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC00.IICB._Y17._ADR, DAD2)  // _ADR: Address
                        DAD2 = Arg0
                        Return (IIC2) /* \_SB_.PC00.IICB.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, _Y18, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC00.IICB._Y18._ADR, DAD3)  // _ADR: Address
                        DAD3 = Arg0
                        Return (IIC3) /* \_SB_.PC00.IICB.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, _Y19, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC00.IICB._Y19._ADR, DAD4)  // _ADR: Address
                        DAD4 = Arg0
                        Return (IIC4) /* \_SB_.PC00.IICB.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, _Y1A, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC00.IICB._Y1A._ADR, DAD5)  // _ADR: Address
                        DAD5 = Arg0
                        Return (IIC5) /* \_SB_.PC00.IICB.IIC5 */
                    }
                    Case (0x06)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C6",
                                0x00, ResourceConsumer, _Y1B, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC00.IICB._Y1B._ADR, DAD6)  // _ADR: Address
                        DAD6 = Arg0
                        Return (IIC6) /* \_SB_.PC00.IICB.IIC6 */
                    }
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C7",
                                0x00, ResourceConsumer, _Y1C, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC00.IICB._Y1C._ADR, DAD7)  // _ADR: Address
                        DAD7 = Arg0
                        Return (IIC7) /* \_SB_.PC00.IICB.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
        }

        Method (VIIC, 2, Serialized)
        {
            Switch (ToInteger (Arg1))
            {
                Case (Zero)
                {
                    Name (VI00, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.XHCI.RHUB.VIC0",
                            0x00, ResourceConsumer, _Y1D, Exclusive,
                            )
                    })
                    CreateWordField (VI00, \_SB.PC00.VIIC._Y1D._ADR, DAR0)  // _ADR: Address
                    DAR0 = Arg0
                    Return (VI00) /* \_SB_.PC00.VIIC.VI00 */
                }
                Case (One)
                {
                    Name (VI11, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.XHCI.RHUB.VIC1",
                            0x00, ResourceConsumer, _Y1E, Exclusive,
                            )
                    })
                    CreateWordField (VI11, \_SB.PC00.VIIC._Y1E._ADR, DAQ1)  // _ADR: Address
                    DAQ1 = Arg0
                    Return (VI11) /* \_SB_.PC00.VIIC.VI11 */
                }
                Default
                {
                    Return (ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.XHCI.RHUB.VICX",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                }

            }
        }

        Method (INTB, 3, Serialized)
        {
            Name (INTR, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y1F)
                {
                    0x00000000,
                }
            })
            CreateDWordField (INTR, \_SB.PC00.INTB._Y1F._INT, NUMI)  // _INT: Interrupts
            NUMI = INUM (Arg0)
            CreateBitField (INTR, \_SB.PC00.INTB._Y1F._HE, LEVI)  // _HE_: High-Edge
            LEVI = Arg1
            CreateBitField (INTR, \_SB.PC00.INTB._Y1F._LL, ACTI)  // _LL_: Low Level
            ACTI = Arg2
            Return (INTR) /* \_SB_.PC00.INTB.INTR */
        }
    }

    If (CondRefOf (\_SB.PC02))
    {
        Scope (_SB.PC02)
        {
            Method (PCIC, 1, Serialized)
            {
                Return (^^PC00.PCIC (Arg0))
            }

            Method (IICB, 2, Serialized)
            {
                Switch (ToInteger (Arg1))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, _Y20, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC02.IICB._Y20._ADR, DAD0)  // _ADR: Address
                        DAD0 = Arg0
                        Return (IIC0) /* \_SB_.PC02.IICB.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, _Y21, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC02.IICB._Y21._ADR, DAD1)  // _ADR: Address
                        DAD1 = Arg0
                        Return (IIC1) /* \_SB_.PC02.IICB.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, _Y22, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC02.IICB._Y22._ADR, DAD2)  // _ADR: Address
                        DAD2 = Arg0
                        Return (IIC2) /* \_SB_.PC02.IICB.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, _Y23, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC02.IICB._Y23._ADR, DAD3)  // _ADR: Address
                        DAD3 = Arg0
                        Return (IIC3) /* \_SB_.PC02.IICB.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, _Y24, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC02.IICB._Y24._ADR, DAD4)  // _ADR: Address
                        DAD4 = Arg0
                        Return (IIC4) /* \_SB_.PC02.IICB.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, _Y25, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC02.IICB._Y25._ADR, DAD5)  // _ADR: Address
                        DAD5 = Arg0
                        Return (IIC5) /* \_SB_.PC02.IICB.IIC5 */
                    }
                    Case (0x06)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C6",
                                0x00, ResourceConsumer, _Y26, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC02.IICB._Y26._ADR, DAD6)  // _ADR: Address
                        DAD6 = Arg0
                        Return (IIC6) /* \_SB_.PC02.IICB.IIC6 */
                    }
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C7",
                                0x00, ResourceConsumer, _Y27, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC02.IICB._Y27._ADR, DAD7)  // _ADR: Address
                        DAD7 = Arg0
                        Return (IIC7) /* \_SB_.PC02.IICB.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Method (INTB, 3, Serialized)
            {
                Name (INTR, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y28)
                    {
                        0x00000000,
                    }
                })
                CreateDWordField (INTR, \_SB.PC02.INTB._Y28._INT, NUMI)  // _INT: Interrupts
                NUMI = INUM (Arg0)
                CreateBitField (INTR, \_SB.PC02.INTB._Y28._HE, LEVI)  // _HE_: High-Edge
                LEVI = Arg1
                CreateBitField (INTR, \_SB.PC02.INTB._Y28._LL, ACTI)  // _LL_: Low Level
                ACTI = Arg2
                Return (INTR) /* \_SB_.PC02.INTB.INTR */
            }
        }
    }

    Scope (_SB.PC00.LPCB)
    {
        Device (H_EC)
        {
            Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                ^^^GFX0.CLID = 0x03
                Return (Zero)
            }

            Name (ECAV, Zero)
            Name (B1ST, 0x32)
            Name (B2ST, 0x36)
            Name (CFAN, 0x05)
            Name (CMDR, 0x3A)
            Name (DOCK, 0xFF)
            Name (PLMX, One)
            Name (PECH, 0x83)
            Name (PECL, 0x82)
            Name (PENV, 0x44)
            Name (PINV, 0x43)
            Name (PPSH, 0x42)
            Name (PPSL, 0x41)
            Name (PSTP, 0x45)
            Name (RPWR, 0x03)
            Name (LSTE, 0x06)
            Name (VPWR, 0x30)
            Name (DLED, 0x78)
            Name (SPT2, 0xC8)
            Name (IWCW, 0x04)
            Name (IWCR, 0x18)
            Name (PVOL, 0xE8)
            Name (PWRT, 0x4E)
            Method (ECRD, 1, Serialized)
            {
                Local0 = DerefOf (Arg0)
                Switch (ToInteger (Local0))
                {
                    Case (0x32)
                    {
                        Return (Zero)
                    }
                    Case (0x36)
                    {
                        Return (Zero)
                    }
                    Case (0x05)
                    {
                        Return (Zero)
                    }
                    Case (0x3A)
                    {
                        Return (Zero)
                    }
                    Case (0xFF)
                    {
                        Return (Zero)
                    }
                    Case (One)
                    {
                        Return (Zero)
                    }
                    Case (0x83)
                    {
                        Return (Zero)
                    }
                    Case (0x82)
                    {
                        Return (Zero)
                    }
                    Case (0x44)
                    {
                        Return (Zero)
                    }
                    Case (0x43)
                    {
                        Return (Zero)
                    }
                    Case (0x42)
                    {
                        Return (Zero)
                    }
                    Case (0x41)
                    {
                        Return (Zero)
                    }
                    Case (0x45)
                    {
                        Return (Zero)
                    }
                    Case (0x03)
                    {
                        Return (Zero)
                    }
                    Case (0x06)
                    {
                        Return (Zero)
                    }
                    Case (0x30)
                    {
                        Return (Zero)
                    }
                    Case (0x78)
                    {
                        Return (Zero)
                    }
                    Case (0xC8)
                    {
                        Return (Zero)
                    }
                    Case (0x04)
                    {
                        Return (Zero)
                    }
                    Case (0x18)
                    {
                        Return (Zero)
                    }
                    Case (0xE8)
                    {
                        Return (Zero)
                    }
                    Case (0x4E)
                    {
                        Return (Zero)
                    }

                }

                Return (Zero)
            }

            Method (ECWT, 2, Serialized)
            {
                Local0 = DerefOf (Arg0)
                Switch (ToInteger (Local0))
                {
                    Case (0x32)
                    {
                    }
                    Case (0x36)
                    {
                    }
                    Case (0x05)
                    {
                    }
                    Case (0x3A)
                    {
                    }
                    Case (0xFF)
                    {
                    }
                    Case (One)
                    {
                    }
                    Case (0x83)
                    {
                    }
                    Case (0x82)
                    {
                    }
                    Case (0x44)
                    {
                    }
                    Case (0x43)
                    {
                    }
                    Case (0x42)
                    {
                    }
                    Case (0x41)
                    {
                    }
                    Case (0x45)
                    {
                    }
                    Case (0x03)
                    {
                    }
                    Case (0x06)
                    {
                    }
                    Case (0x30)
                    {
                    }
                    Case (0x78)
                    {
                    }
                    Case (0xC8)
                    {
                    }
                    Case (0x04)
                    {
                    }
                    Case (0x18)
                    {
                    }
                    Case (0xE8)
                    {
                    }
                    Case (0x4E)
                    {
                    }

                }
            }

            Method (ECMD, 1, Serialized)
            {
            }

            Method (ECNT, 1, Serialized)
            {
            }

            Device (BAT0)
            {
                Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
                Name (_UID, Zero)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }
            }

            Device (BAT1)
            {
                Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
                Name (_UID, One)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }

                Method (_BST, 0, NotSerialized)  // _BST: Battery Status
                {
                    Return (BST1 ())
                }
            }

            Device (BAT2)
            {
                Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
                Name (_UID, 0x02)  // _UID: Unique ID
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }

                Method (_BST, 0, NotSerialized)  // _BST: Battery Status
                {
                    Return (BST2 ())
                }
            }

            Method (WOPM, 1, Serialized)
            {
            }

            Method (ERPO, 0, NotSerialized)
            {
            }
        }
    }

    Scope (\)
    {
        Field (GNVS, AnyAcc, Lock, Preserve)
        {
            Offset (0x20), 
            B1SC,   8, 
            Offset (0x23), 
            B1SS,   8
        }
    }

    Scope (\)
    {
        Field (GNVS, AnyAcc, Lock, Preserve)
        {
            Offset (0x21), 
            B2SC,   8, 
            Offset (0x24), 
            B2SS,   8
        }
    }

    Device (_SB.PC00.DOCK)
    {
        Name (_HID, "ABCD0000")  // _HID: Hardware ID
        Name (_CID, EisaId ("PNP0C15") /* Docking Station */)  // _CID: Compatible ID
        Name (_UID, 0x02)  // _UID: Unique ID
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            Return (Zero)
        }
    }

    Scope (_SB)
    {
        Method (PWPR, 0, Serialized)
        {
        }

        Method (PWRR, 0, Serialized)
        {
        }
    }

    Scope (_SB.PC00.LPCB.H_EC)
    {
        Device (LID0)
        {
            Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (Zero)
            }

            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                Return (One)
            }
        }
    }

    Name (SNVB, 0x61C99000)
    Name (SNVL, 0x0008)
    OperationRegion (SBNV, SystemMemory, SNVB, SNVL)
    Field (SBNV, AnyAcc, Lock, Preserve)
    {
        PIRA,   8, 
        PIRB,   8, 
        PIRC,   8, 
        PIRD,   8, 
        PIRE,   8, 
        PIRF,   8, 
        PIRG,   8, 
        PIRH,   8
    }

    Scope (_SB)
    {
        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRA & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLA, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLA, One, IRQ0)
                IRQ0 = PIRA /* \PIRA */
                Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRA |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRA = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSA) /* \_SB_.PRSA */
            }
        }

        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x02)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRB & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLB, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {10}
                })
                CreateWordField (RTLB, One, IRQ0)
                IRQ0 = PIRB /* \PIRB */
                Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRB |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRB = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSB) /* \_SB_.PRSB */
            }
        }

        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x03)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRC & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLC, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLC, One, IRQ0)
                IRQ0 = PIRC /* \PIRC */
                Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRC |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRC = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSC) /* \_SB_.PRSC */
            }
        }

        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x04)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRD & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLD, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLD, One, IRQ0)
                IRQ0 = PIRD /* \PIRD */
                Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRD |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRD = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSD) /* \_SB_.PRSD */
            }
        }

        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x05)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRE & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLE, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLE, One, IRQ0)
                IRQ0 = PIRE /* \PIRE */
                Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRE |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRE = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSE) /* \_SB_.PRSE */
            }
        }

        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x06)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRF & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLF, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLF, One, IRQ0)
                IRQ0 = PIRF /* \PIRF */
                Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRF |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRF = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSF) /* \_SB_.PRSF */
            }
        }

        Device (LNKG)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x07)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRG & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLG, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLG, One, IRQ0)
                IRQ0 = PIRG /* \PIRG */
                Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRG |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRG = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSG) /* \_SB_.PRSG */
            }
        }

        Device (LNKH)
        {
            Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
            Name (_UID, 0x08)  // _UID: Unique ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Local0 = (PIRH & 0x80)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (RTLH, ResourceTemplate ()
                {
                    IRQ (Level, ActiveLow, Shared, )
                        {11}
                })
                CreateWordField (RTLH, One, IRQ0)
                IRQ0 = PIRH /* \PIRH */
                Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
                PIRH |= 0x80
            }

            Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Local0--
                PIRH = Local0
            }

            Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
            {
                Return (PRSH) /* \_SB_.PRSH */
            }
        }
    }

    OperationRegion (_SB.PC00.LPCB.LPCR, PCI_Config, 0x80, 0x04)
    Field (\_SB.PC00.LPCB.LPCR, ByteAcc, NoLock, Preserve)
    {
        CARN,   3, 
            ,   1, 
        CBDR,   3, 
        Offset (0x01), 
        LTDR,   2, 
            ,   2, 
        FDDR,   1, 
        Offset (0x02), 
        CALE,   1, 
        CBLE,   1, 
        LTLE,   1, 
        FDLE,   1, 
        Offset (0x03), 
        GLLE,   1, 
        GHLE,   1, 
        KCLE,   1, 
        MCLE,   1, 
        C1LE,   1, 
        C2LE,   1, 
        Offset (0x04)
    }

    Method (UXDV, 1, Serialized)
    {
        Local0 = 0xFF
        Switch ((Arg0 + Zero))
        {
            Case (0x03F8)
            {
                Local0 = Zero
            }
            Case (0x02F8)
            {
                Local0 = One
            }
            Case (0x0220)
            {
                Local0 = 0x02
            }
            Case (0x0228)
            {
                Local0 = 0x03
            }
            Case (0x0238)
            {
                Local0 = 0x04
            }
            Case (0x02E8)
            {
                Local0 = 0x05
            }
            Case (0x0338)
            {
                Local0 = 0x06
            }
            Case (0x03E8)
            {
                Local0 = 0x07
            }

        }

        Return (Local0)
    }

    Method (RRIO, 4, Serialized)
    {
        Switch ((Arg0 + Zero))
        {
            Case (Zero)
            {
                CALE = Zero
                Local0 = UXDV (Arg2)
                If ((Local0 != 0xFF))
                {
                    CARN = Local0
                }

                If (Arg1)
                {
                    CALE = One
                }
            }
            Case (One)
            {
                CBLE = Zero
                Local0 = UXDV (Arg2)
                If ((Local0 != 0xFF))
                {
                    CBDR = Local0
                }

                If (Arg1)
                {
                    CBLE = One
                }
            }
            Case (0x02)
            {
                LTLE = Zero
                If ((Arg2 == 0x0378))
                {
                    LTDR = Zero
                }

                If ((Arg2 == 0x0278))
                {
                    LTDR = One
                }

                If ((Arg2 == 0x03BC))
                {
                    LTDR = 0x02
                }

                If (Arg1)
                {
                    LTLE = One
                }
            }
            Case (0x03)
            {
                FDLE = Zero
                If ((Arg2 == 0x03F0))
                {
                    FDDR = Zero
                }

                If ((Arg2 == 0x0370))
                {
                    FDDR = One
                }

                If (Arg1)
                {
                    FDLE = One
                }
            }
            Case (0x08)
            {
                If ((Arg2 == 0x0200))
                {
                    If (Arg1)
                    {
                        GLLE = One
                    }
                    Else
                    {
                        GLLE = Zero
                    }
                }

                If ((Arg2 == 0x0208))
                {
                    If (Arg1)
                    {
                        GHLE = One
                    }
                    Else
                    {
                        GHLE = Zero
                    }
                }
            }
            Case (0x09)
            {
                If ((Arg2 == 0x0200))
                {
                    If (Arg1)
                    {
                        GLLE = One
                    }
                    Else
                    {
                        GLLE = Zero
                    }
                }

                If ((Arg2 == 0x0208))
                {
                    If (Arg1)
                    {
                        GHLE = One
                    }
                    Else
                    {
                        GHLE = Zero
                    }
                }
            }
            Case (0x0A)
            {
                If (((Arg2 == 0x60) || (Arg2 == 0x64)))
                {
                    If (Arg1)
                    {
                        KCLE = One
                    }
                    Else
                    {
                        KCLE = Zero
                    }
                }
            }
            Case (0x0B)
            {
                If (((Arg2 == 0x62) || (Arg2 == 0x66)))
                {
                    If (Arg1)
                    {
                        MCLE = One
                    }
                    Else
                    {
                        MCLE = Zero
                    }
                }
            }
            Case (0x0C)
            {
                If ((Arg2 == 0x2E))
                {
                    If (Arg1)
                    {
                        C1LE = One
                    }
                    Else
                    {
                        C1LE = Zero
                    }
                }

                If ((Arg2 == 0x4E))
                {
                    If (Arg1)
                    {
                        C2LE = One
                    }
                    Else
                    {
                        C2LE = Zero
                    }
                }
            }
            Case (0x0D)
            {
                If ((Arg2 == 0x2E))
                {
                    If (Arg1)
                    {
                        C1LE = One
                    }
                    Else
                    {
                        C1LE = Zero
                    }
                }

                If ((Arg2 == 0x4E))
                {
                    If (Arg1)
                    {
                        C2LE = One
                    }
                    Else
                    {
                        C2LE = Zero
                    }
                }
            }

        }
    }

    Method (RDMA, 3, NotSerialized)
    {
    }

    Scope (_SB)
    {
        Method (PSD3, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch ((Zero + Arg0--))
            {
                Case (Zero)
                {
                    RAA0 = One
                    While (((APA0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (One)
                {
                    RAA1 = One
                    While (((APA1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x02)
                {
                    RAA2 = One
                    While (((APA2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x03)
                {
                    RAA3 = One
                    While (((APA3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x04)
                {
                    RPB0 = One
                    While (((APB0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x05)
                {
                    RPB1 = One
                    While (((APB1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x06)
                {
                    RPB2 = One
                    While (((APB2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x07)
                {
                    RPB3 = One
                    While (((APB3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x08)
                {
                    RPC0 = One
                    While (((APC0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x09)
                {
                    RPC1 = One
                    While (((APC1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0A)
                {
                    RPC2 = One
                    While (((APC2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0B)
                {
                    RPC3 = One
                    While (((APC3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0C)
                {
                    RPD0 = One
                    While (((APD0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0D)
                {
                    RPD1 = One
                    While (((APD1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0E)
                {
                    RPD2 = One
                    While (((APD2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0F)
                {
                    RPD3 = One
                    While (((APD3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x10)
                {
                    RPE0 = One
                    While (((APE0 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x11)
                {
                    RPE1 = One
                    While (((APE1 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x12)
                {
                    RPE2 = One
                    While (((APE2 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x13)
                {
                    RPE3 = One
                    While (((APE3 == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }

        Method (PSD0, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch ((Zero + Arg0--))
            {
                Case (Zero)
                {
                    RAA0 = Zero
                    While (((APA0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (One)
                {
                    RAA1 = Zero
                    While (((APA1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x02)
                {
                    RAA2 = Zero
                    While (((APA2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x03)
                {
                    RAA3 = Zero
                    While (((APA3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x04)
                {
                    RPB0 = Zero
                    While (((APB0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x05)
                {
                    RPB1 = Zero
                    While (((APB1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x06)
                {
                    RPB2 = Zero
                    While (((APB2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x07)
                {
                    RPB3 = Zero
                    While (((APB3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x08)
                {
                    RPC0 = Zero
                    While (((APC0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x09)
                {
                    RPC1 = Zero
                    While (((APC1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0A)
                {
                    RPC2 = Zero
                    While (((APC2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0B)
                {
                    RPC3 = Zero
                    While (((APC3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0C)
                {
                    RPD0 = Zero
                    While (((APD0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0D)
                {
                    RPD1 = Zero
                    While (((APD1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0E)
                {
                    RPD2 = Zero
                    While (((APD2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x0F)
                {
                    RPD3 = Zero
                    While (((APD3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x10)
                {
                    RPE0 = Zero
                    While (((APE0 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x11)
                {
                    RPE1 = Zero
                    While (((APE1 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x12)
                {
                    RPE2 = Zero
                    While (((APE2 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x13)
                {
                    RPE3 = Zero
                    While (((APE3 == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }

        Method (CSD3, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch (ToInteger (Arg0))
            {
                Case (0x14)
                {
                    RSAT = One
                    While (((ASAT == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x15)
                {
                    RGBE = One
                    While (((AGBE == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x16)
                {
                    RXHC = One
                    While (((AXHC == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x17)
                {
                    RXDC = One
                    While (((AXDC == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x18)
                {
                    RUFS = One
                    While (((AUFS == Zero) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }

        Method (CSD0, 1, Serialized)
        {
            Local0 = Zero
            If (((SIME == One) || !IMPS ()))
            {
                Return (Zero)
            }

            Switch (ToInteger (Arg0))
            {
                Case (0x14)
                {
                    RSAT = Zero
                    While (((ASAT == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x15)
                {
                    RGBE = Zero
                    While (((AGBE == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x16)
                {
                    RXHC = Zero
                    While (((AXHC == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x17)
                {
                    RXDC = Zero
                    While (((AXDC == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }
                Case (0x18)
                {
                    RUFS = Zero
                    While (((AUFS == One) && (Local0 < 0x2710)))
                    {
                        Local0++
                        Sleep (One)
                    }
                }

            }

            If ((Local0 >= 0x2710))
            {
                ADBG ("Error: Timeout occurred")
            }
        }
    }

    Name (THMN, 0x48)
    Name (THCN, 0x0E)
    Name (CNPM, 0x80)
    Name (FMSN, 0x10)
    Scope (\)
    {
        Method (THDA, 2, Serialized)
        {
            Local0 = TFWB /* \TFWB */
            Local0 += (0x40 * (CNPM * (Arg0 - FMSN)))
            Local0 += (0x40 * Arg1)
            Return (Local0)
        }

        Method (STRD, 3, Serialized)
        {
            If (((Arg1 + Arg2) > SizeOf (Arg0)))
            {
                Return (Zero)
            }

            ToBuffer (Arg0, Local3)
            Local0 = Zero
            Local1 = Zero
            While ((Local1 < Arg2))
            {
                Local2 = DerefOf (Local3 [(Arg1 + Local1)])
                Local0 += (Local2 << (0x08 * Local1))
                Local1++
            }

            Return (Local0)
        }

        Method (THDS, 1, Serialized)
        {
            If (!(TVBS & One))
            {
                Return (Zero)
            }

            Concatenate (Arg0, "\n", Local2)
            Local0 = SizeOf (Local2)
            Local1 = THDA (THMN, THCN)
            OperationRegion (THBA, SystemMemory, Local1, 0x40)
            Field (THBA, QWordAcc, NoLock, WriteAsZeros)
            {
                QO00,   64
            }

            Field (THBA, DWordAcc, NoLock, WriteAsZeros)
            {
                DO00,   32, 
                Offset (0x10), 
                DO10,   32, 
                Offset (0x30), 
                DO30,   32
            }

            Field (THBA, WordAcc, NoLock, WriteAsZeros)
            {
                WO00,   16
            }

            Field (THBA, ByteAcc, NoLock, WriteAsZeros)
            {
                BO00,   8
            }

            DO10 = 0x01000242
            WO00 = Local0
            Local6 = Zero
            Local7 = Local0
            While ((Local7 >= 0x08))
            {
                QO00 = STRD (Local2, Local6, 0x08)
                Local6 += 0x08
                Local7 -= 0x08
            }

            If ((Local7 >= 0x04))
            {
                DO00 = STRD (Local2, Local6, 0x04)
                Local6 += 0x04
                Local7 -= 0x04
            }

            If ((Local7 >= 0x02))
            {
                WO00 = STRD (Local2, Local6, 0x02)
                Local6 += 0x02
                Local7 -= 0x02
            }

            If ((Local7 >= One))
            {
                BO00 = STRD (Local2, Local6, One)
                Local6 += One
                Local7 -= One
            }

            DO30 = Zero
        }

        Method (THDH, 1, Serialized)
        {
            THDS (ToHexString (Arg0))
        }

        Method (THDD, 1, Serialized)
        {
            THDS (ToDecimalString (Arg0))
        }
    }

    Name (PCHH, One)
    Name (PCHN, 0x03)
    Name (PCHL, 0x02)
    Name (PCHP, 0x05)
    Name (PCHM, 0x06)
    Name (PCHX, 0x04)
    Scope (_SB)
    {
        Method (PWAK, 1, NotSerialized)
        {
            If ((Arg0 == 0x03))
            {
                S23W ()
            }
        }

        Name (HDAA, One)
        Name (DISA, One)
        Name (CIWF, One)
        Name (CIBT, One)
        Name (S23C, Zero)
        Method (S23W, 0, NotSerialized)
        {
            HDAA = One
            DISA = One
            CIWF = One
            CIBT = One
        }

        Method (DION, 0, NotSerialized)
        {
            S023 (One, One)
        }

        Method (DIOF, 0, NotSerialized)
        {
            S023 (One, Zero)
        }

        Method (S023, 2, Serialized)
        {
        }

        Device (PRRE)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "PCHRESV")  // _UID: Unique ID
            Name (_STA, 0x08)  // _STA: Status
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0xFE000000,         // Address Base
                        0x00020000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE04C000,         // Address Base
                        0x00004000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE050000,         // Address Base
                        0x00060000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE0D0000,         // Address Base
                        0x00030000,         // Address Length
                        )
                    Memory32Fixed (ReadWrite,
                        0xFE200000,         // Address Base
                        0x00600000,         // Address Length
                        )
                    Memory32Fixed (ReadOnly,
                        0xFF000000,         // Address Base
                        0x01000000,         // Address Length
                        )
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y29)
                })
                CreateWordField (BUF0, \_SB.PRRE._CRS._Y29._MIN, AMIN)  // _MIN: Minimum Base Address
                CreateWordField (BUF0, \_SB.PRRE._CRS._Y29._MAX, AMAX)  // _MAX: Maximum Base Address
                AMIN = PMBS /* \PMBS */
                AMAX = PMBS /* \PMBS */
                Name (SBR0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00D10000,         // Address Length
                        _Y2A)
                })
                CreateDWordField (SBR0, \_SB.PRRE._CRS._Y2A._BAS, BAS0)  // _BAS: Base Address
                BAS0 = SBRG /* \SBRG */
                ConcatenateResTemplate (BUF0, SBR0, Local0)
                Name (SBRE, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00000000,         // Address Length
                        _Y2B)
                })
                CreateDWordField (SBRE, \_SB.PRRE._CRS._Y2B._BAS, BAS3)  // _BAS: Base Address
                CreateDWordField (SBRE, \_SB.PRRE._CRS._Y2B._LEN, LEN3)  // _LEN: Length
                BAS3 = (SBRG + 0x00D60000)
                LEN3 = ((SBRG + 0x10000000) - BAS3)
                ConcatenateResTemplate (Local0, SBRE, Local2)
                Return (Local2)
            }
        }

        Device (IOTR)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "IoTraps")  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (BUF0, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2C)
                })
                Name (BUF1, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2D)
                })
                Name (BUF2, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2E)
                })
                Name (BUF3, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0xFF,               // Length
                        _Y2F)
                })
                CreateWordField (BUF0, \_SB.IOTR._CRS._Y2C._MIN, AMI0)  // _MIN: Minimum Base Address
                CreateWordField (BUF0, \_SB.IOTR._CRS._Y2C._MAX, AMA0)  // _MAX: Maximum Base Address
                CreateWordField (BUF1, \_SB.IOTR._CRS._Y2D._MIN, AMI1)  // _MIN: Minimum Base Address
                CreateWordField (BUF1, \_SB.IOTR._CRS._Y2D._MAX, AMA1)  // _MAX: Maximum Base Address
                CreateWordField (BUF2, \_SB.IOTR._CRS._Y2E._MIN, AMI2)  // _MIN: Minimum Base Address
                CreateWordField (BUF2, \_SB.IOTR._CRS._Y2E._MAX, AMA2)  // _MAX: Maximum Base Address
                CreateWordField (BUF3, \_SB.IOTR._CRS._Y2F._MIN, AMI3)  // _MIN: Minimum Base Address
                CreateWordField (BUF3, \_SB.IOTR._CRS._Y2F._MAX, AMA3)  // _MAX: Maximum Base Address
                Local2 = Zero
                If ((ITS0 == One))
                {
                    AMI0 = ITA0 /* \ITA0 */
                    AMA0 = ITA0 /* \ITA0 */
                    Local0 = BUF0 /* \_SB_.IOTR._CRS.BUF0 */
                    Local2 = One
                }

                If ((ITS1 == One))
                {
                    AMI1 = ITA1 /* \ITA1 */
                    AMA1 = ITA1 /* \ITA1 */
                    If ((Local2 == One))
                    {
                        ConcatenateResTemplate (BUF1, Local0, Local1)
                        Local0 = Local1
                    }
                    Else
                    {
                        Local0 = BUF1 /* \_SB_.IOTR._CRS.BUF1 */
                        Local2 = One
                    }
                }

                If ((ITS2 == One))
                {
                    AMI2 = ITA2 /* \ITA2 */
                    AMA2 = ITA2 /* \ITA2 */
                    If ((Local2 == One))
                    {
                        ConcatenateResTemplate (BUF2, Local0, Local1)
                        Local0 = Local1
                    }
                    Else
                    {
                        Local0 = BUF2 /* \_SB_.IOTR._CRS.BUF2 */
                        Local2 = One
                    }
                }

                If ((ITS3 == One))
                {
                    AMI3 = ITA3 /* \ITA3 */
                    AMA3 = ITA3 /* \ITA3 */
                    If ((Local2 == One))
                    {
                        ConcatenateResTemplate (BUF3, Local0, Local1)
                        Local0 = Local1
                    }
                    Else
                    {
                        Local0 = BUF3 /* \_SB_.IOTR._CRS.BUF3 */
                        Local2 = One
                    }
                }

                If ((Local2 == One))
                {
                    Return (Local0)
                }
                Else
                {
                    Return (Buffer (0x02)
                    {
                         0x79, 0x00                                       // y.
                    })
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Name (TEMP, Zero)
        Scope (LPCB)
        {
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            OperationRegion (LPC, PCI_Config, Zero, 0x0100)
            Field (LPC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x02), 
                CDID,   16, 
                Offset (0x08), 
                CRID,   8, 
                Offset (0x80), 
                IOD0,   8, 
                IOD1,   8, 
                Offset (0xA0), 
                    ,   9, 
                PRBL,   1, 
                Offset (0xDC), 
                    ,   2, 
                ESPI,   1
            }
        }

        If ((PCHS != 0x04))
        {
            Device (SBUS)
            {
                Name (_ADR, 0x001F0004)  // _ADR: Address
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }
    }

    Scope (\)
    {
        OperationRegion (PMIO, SystemIO, PMBS, 0x80)
        Field (PMIO, ByteAcc, NoLock, Preserve)
        {
            Offset (0x01), 
            PBSS,   1, 
            Offset (0x40), 
                ,   17, 
            GPEC,   1, 
            Offset (0x6C), 
            Offset (0x7C), 
                ,   18, 
            WAEN,   1
        }

        Method (IMPS, 0, NotSerialized)
        {
            If ((PCHS == 0x04))
            {
                Return (Zero)
            }
            Else
            {
                Return (One)
            }
        }

        Method (IPCS, 7, Serialized)
        {
            Name (RPKG, Package (0x05)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            ADBG ("PMC IPC")
            ADBG (Concatenate ("Command: ", ToHexString (Arg0)))
            ADBG (Concatenate ("SubCmdId: ", ToHexString (Arg1)))
            ADBG (Concatenate ("Size: ", ToHexString (Arg2)))
            ADBG (Concatenate ("WBuff0: ", ToHexString (Arg3)))
            ADBG (Concatenate ("WBuff1: ", ToHexString (Arg4)))
            ADBG (Concatenate ("WBuff2: ", ToHexString (Arg5)))
            ADBG (Concatenate ("WBuff3: ", ToHexString (Arg6)))
            If ((Arg2 > 0x10))
            {
                ADBG ("CmdSize>16 Error")
                RPKG [Zero] = One
                Return (RPKG) /* \IPCS.RPKG */
            }

            IWB0 = Arg3
            IWB1 = Arg4
            IWB2 = Arg5
            IWB3 = Arg6
            Local0 = Zero
            Local0 += (Arg0 << Zero)
            Local0 += (Arg1 << 0x0C)
            Local0 += (Arg2 << 0x10)
            CMDR = Local0
            Local0 = Zero
            While (One)
            {
                If ((!IBSY || (IERR == One)))
                {
                    Break
                }

                If ((Local0 > 0x0A))
                {
                    ADBG ("IPC Busy TO")
                    RPKG [Zero] = 0x03
                    Return (RPKG) /* \IPCS.RPKG */
                }

                Sleep (One)
                Local0++
            }

            If ((IERR == One))
            {
                ADBG ("IPC Error:")
                ADBG (IERC)
                ADBG (Arg0)
                ADBG (Arg1)
                ADBG (Arg2)
                ADBG (Arg3)
                ADBG (Arg4)
                ADBG (Arg5)
                ADBG (Arg6)
                RPKG [Zero] = 0x02
                Return (RPKG) /* \IPCS.RPKG */
            }

            RPKG [One] = IRB0 /* \IRB0 */
            RPKG [0x02] = IRB1 /* \IRB1 */
            RPKG [0x03] = IRB2 /* \IRB2 */
            RPKG [0x04] = IRB3 /* \IRB3 */
            Return (RPKG) /* \IPCS.RPKG */
        }

        Method (ULTR, 1, Serialized)
        {
            LTRU = Arg0
        }

        OperationRegion (PWMR, SystemMemory, PWRM, 0x1E30)
        Field (PWMR, DWordAcc, NoLock, Preserve)
        {
            CMDR,   32, 
            IBSY,   1, 
            IERR,   1, 
                ,   1, 
                ,   1, 
            Offset (0x05), 
            Offset (0x06), 
            IERC,   8, 
            Offset (0x08), 
            Offset (0x80), 
            IWB0,   32, 
            IWB1,   32, 
            IWB2,   32, 
            IWB3,   32, 
            IRB0,   32, 
            IRB1,   32, 
            IRB2,   32, 
            IRB3,   32, 
            Offset (0x10D0), 
            RAA0,   1, 
            RAA1,   1, 
            RAA2,   1, 
            RAA3,   1, 
            RPB0,   1, 
            RPB1,   1, 
            RPB2,   1, 
            RPB3,   1, 
            RPC0,   1, 
            RPC1,   1, 
            RPC2,   1, 
            RPC3,   1, 
            RSAT,   1, 
            RGBE,   1, 
            RXHC,   1, 
            RXDC,   1, 
            RUFS,   1, 
            RPD0,   1, 
            RPD1,   1, 
            RPD2,   1, 
            RPD3,   1, 
            RPE0,   1, 
            RPE1,   1, 
            RPE2,   1, 
            RPE3,   1, 
            Offset (0x10D4), 
            APA0,   1, 
            APA1,   1, 
            APA2,   1, 
            APA3,   1, 
            APB0,   1, 
            APB1,   1, 
            APB2,   1, 
            APB3,   1, 
            APC0,   1, 
            APC1,   1, 
            APC2,   1, 
            APC3,   1, 
            ASAT,   1, 
            AGBE,   1, 
            AXHC,   1, 
            AXDC,   1, 
            AUFS,   1, 
            APD0,   1, 
            APD1,   1, 
            APD2,   1, 
            APD3,   1, 
            APE0,   1, 
            APE1,   1, 
            APE2,   1, 
            APE3,   1, 
            Offset (0x1800), 
            ACWA,   32, 
            DCWA,   32, 
            ACET,   32, 
            DCET,   32, 
            Offset (0x18E8), 
                ,   29, 
            APG3,   1, 
                ,   1, 
            CECE,   1, 
            Offset (0x1B0C), 
                ,   2, 
            ISAT,   1, 
                ,   18, 
            LTRU,   1, 
            Offset (0x1B1C), 
                ,   22, 
            XSQD,   1, 
            Offset (0x1BD0), 
                ,   31, 
            CPPM,   1, 
            Offset (0x1E20), 
            GBED,   1, 
            Offset (0x1E28), 
                ,   22, 
            SCFD,   1
        }

        Method (PG3C, 1, Serialized)
        {
            If (Arg0)
            {
                ADBG ("PG3 Enable")
                APG3 = One
            }
            Else
            {
                ADBG ("PG3 Disable")
                APG3 = Zero
            }
        }

        Method (PG3T, 0, NotSerialized)
        {
            If (APG3)
            {
                Return (One)
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (PSOC, 1, Serialized)
        {
            If (PSON)
            {
                If (Arg0)
                {
                    ADBG ("PS_ON Enable")
                    CECE = One
                }
                Else
                {
                    ADBG ("PS_ON Disable")
                    CECE = Zero
                }
            }
        }

        Method (PSOS, 0, NotSerialized)
        {
            If (CECE)
            {
                Return (One)
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (CFAE, 1, NotSerialized)
        {
            If (CondRefOf (CPPE))
            {
                If ((CPPE == One))
                {
                    If (DerefOf (Arg0 [Zero]))
                    {
                        ADBG ("CPPM Forced Alignment Disable")
                        CPPM = Zero
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                    Else
                    {
                        ADBG ("CPPM Forced Alignment Enable")
                        CPPM = One
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }
            }

            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }
    }

    Scope (_SB.PC00)
    {
        Name (LTEN, Zero)
        Name (LMSL, Zero)
        Name (LNSL, Zero)
    }

    If ((PCHS != 0x04))
    {
        Scope (_SB.PC00)
        {
            Device (XDCI)
            {
                Name (_ADR, 0x00140001)  // _ADR: Address
                OperationRegion (OTGD, PCI_Config, Zero, 0x0100)
                Field (OTGD, DWordAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XDCB,   64
                }

                Field (OTGD, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x84), 
                    D0I3,   2
                }

                Method (XDBA, 0, NotSerialized)
                {
                    Return ((XDCB & 0xFFFFFFFFFFFFFF00))
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    ADBG ("XDCI DSM")
                    If ((Arg0 == ToUUID ("732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511") /* Unknown UUID */))
                    {
                        If ((Arg1 == One))
                        {
                            Method (SPPS, 2, Serialized)
                            {
                                OperationRegion (XDBW, SystemMemory, XDBA (), 0x00110000)
                                Field (XDBW, WordAcc, NoLock, Preserve)
                                {
                                    Offset (0x10F810), 
                                    Offset (0x10F811), 
                                    U2CP,   2, 
                                    U3CP,   2, 
                                    Offset (0x10F818), 
                                    PUPS,   2, 
                                        ,   1, 
                                    PURC,   1, 
                                    Offset (0x10F81A), 
                                    Offset (0x10F81C), 
                                        ,   3, 
                                    UXPE,   2, 
                                    Offset (0x10F81E)
                                }

                                Local1 = Arg0
                                Local2 = Arg1
                                If ((Local1 == Zero))
                                {
                                    ADBG ("PMU D0")
                                    UXPE = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x0A))
                                    {
                                        Stall (0x64)
                                        Local0++
                                    }

                                    PUPS = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == Zero) && (U3CP == Zero)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    Return (Zero)
                                }

                                If ((Local1 == 0x03))
                                {
                                    ADBG ("PMU D3")
                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    PUPS = 0x03
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == 0x03) && (U3CP == 0x03)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != 0x03))
                                    {
                                        ADBG ("U2 not in D3")
                                    }

                                    If ((U3CP != 0x03))
                                    {
                                        ADBG ("U3 not in D3")
                                    }

                                    UXPE = Local2
                                    Return (Zero)
                                }

                                Return (Zero)
                            }

                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    ADBG ("XDCI Fn0")
                                    Return (Buffer (0x02)
                                    {
                                         0xB3, 0x03                                       // ..
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("XDCI Fn1")
                                    Return (One)
                                }
                                Case (0x04)
                                {
                                    ADBG ("XDCI Fn4")
                                    Local1 = DerefOf (Arg3 [Zero])
                                    ADBG (Local1)
                                    SPPS (Local1, Zero)
                                }
                                Case (0x05)
                                {
                                    ADBG ("XDCI Fn5")
                                    If (CondRefOf (XDAT))
                                    {
                                        If ((XDAT () == One))
                                        {
                                            ADBG ("USB Attach")
                                            Notify (XDCI, 0x80) // Status Change
                                        }
                                        Else
                                        {
                                            ADBG ("USB Detach")
                                            Notify (XDCI, 0x81) // Information Change
                                        }
                                    }

                                    Return (Zero)
                                }
                                Case (0x07)
                                {
                                    ADBG ("XDCI Fn7")
                                    OperationRegion (XD22, SystemMemory, XDBA (), 0x00110000)
                                    Field (XD22, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0x10F818), 
                                        P2PS,   2, 
                                        Offset (0x10F81A)
                                    }

                                    Local0 = P2PS /* \_SB_.PC00.XDCI._DSM.P2PS */
                                    Return (Local0)
                                }
                                Case (0x08)
                                {
                                    ADBG ("XDCI Fn8")
                                    Return (One)
                                }
                                Case (0x09)
                                {
                                    ADBG ("XDCI Fn9")
                                    OperationRegion (XGCT, SystemMemory, XDBA (), 0x00110000)
                                    Field (XGCT, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0xC110), 
                                        GCTL,   32
                                    }

                                    Local1 = (PPDS & 0xFFF80000)
                                    Local1 >>= 0x13
                                    ADBG (Concatenate ("PCH XDCI: Func9 Return Val = ", ToHexString (Local1)))
                                    Return (Local1)
                                }

                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Name (_DDN, "PCH XDCI controller")  // _DDN: DOS Device Name
                Name (_STR, Unicode ("PCH XDCI controller"))  // _STR: Description String
                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0x8C, 0x04))
                        }
                    }

                    Return (GPRW (0x6D, 0x04))
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }
            }

            If ((GBES != Zero))
            {
                Device (GLAN)
                {
                    Name (_ADR, 0x001F0006)  // _ADR: Address
                    Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x86, 0x04))
                            }
                        }

                        Return (GPRW (0x6D, 0x04))
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                    {
                    }
                }
            }

            Device (XHCI)
            {
                Name (_ADR, 0x00140000)  // _ADR: Address
                Name (DUWS, Zero)
                Name (PU2C, Zero)
                Name (PU3C, Zero)
                Name (AHWA, One)
                Name (PPID, 0x3A)
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (DUWS))
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x89, DUWS))
                            }
                        }

                        Return (GPRW (0x6D, DUWS))
                    }
                    Else
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x89, 0x04))
                            }
                        }

                        Return (GPRW (0x6D, 0x04))
                    }
                }

                DUWS = \DUWS
                PU2C = \PU2C
                PU3C = \PU3C
                OperationRegion (XPRT, PCI_Config, Zero, 0x0100)
                Field (XPRT, AnyAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XADR,   64, 
                    Offset (0xA2), 
                        ,   2, 
                    D3HE,   1
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("XHCI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((Arg0 == ToUUID ("203b203b-1f13-409a-9aae-1a0347525584") /* Unknown UUID */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Case (One)
                            {
                                If (CondRefOf (AHWA))
                                {
                                    Return ((AHWA && One))
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                {
                    Return (0x03)
                }

                Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                {
                    Return (Zero)
                }

                Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
                {
                    Return (0x03)
                }

                Method (_S4W, 0, NotSerialized)  // _S4W: S4 Device Wake State
                {
                    Return (Zero)
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If (CondRefOf (^RHUB.INIR))
                    {
                        ^RHUB.INIR ()
                    }
                }

                Method (USRA, 1, Serialized)
                {
                    Return ((PU2C + Arg0))
                }

                Method (SSPA, 1, Serialized)
                {
                    Return ((PU2C + (0x02 + Arg0)))
                }

                Method (UPRU, 3, NotSerialized)
                {
                    ^^SBSC.PCAO (PPID, Arg0, Arg1, Arg2)
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("XHCI D0")
                    UPRU (Zero, 0xFFFFFFF7, Zero)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("XHCI D3")
                    UPRU (Zero, 0xFFFFFFFF, 0x08)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (CUID, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                        ADBG ("XHCI RHUB PS0")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS0X))
                        {
                            ADBG ("XHCI CSD0")
                            CSD0 (0x16)
                            PS0X ()
                        }
                    }

                    Method (_PS2, 0, Serialized)  // _PS2: Power State 2
                    {
                        ADBG ("XHCI RHUB PS2")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS2X))
                        {
                            PS2X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                        ADBG ("XHCI RHUB PS3")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS3X))
                        {
                            PS3X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("XHCI RHUB _DSM")
                        If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
                        {
                            If ((Arg2 == Zero))
                            {
                                ADBG ("XHCI RHUB F0")
                                Return (Buffer (One)
                                {
                                     0x81                                             // .
                                })
                            }

                            If ((Arg2 == 0x07))
                            {
                                ADBG ("XHCI RHUB F7")
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If (CondRefOf (PU2C))
                    {
                        If ((One <= PU2C))
                        {
                            Device (HS01)
                            {
                                Name (_ADR, One)  // _ADR: Address
                            }
                        }

                        If ((0x02 <= PU2C))
                        {
                            Device (HS02)
                            {
                                Name (_ADR, 0x02)  // _ADR: Address
                            }
                        }

                        If ((0x03 <= PU2C))
                        {
                            Device (HS03)
                            {
                                Name (_ADR, 0x03)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x03) || (SXP2 == 0x03)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x03 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x04 <= PU2C))
                        {
                            Device (HS04)
                            {
                                Name (_ADR, 0x04)  // _ADR: Address
                            }
                        }

                        If ((0x05 <= PU2C))
                        {
                            Device (HS05)
                            {
                                Name (_ADR, 0x05)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x05) || (SXP2 == 0x05)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x05 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x06 <= PU2C))
                        {
                            Device (HS06)
                            {
                                Name (_ADR, 0x06)  // _ADR: Address
                            }
                        }

                        If ((0x07 <= PU2C))
                        {
                            Device (HS07)
                            {
                                Name (_ADR, 0x07)  // _ADR: Address
                            }
                        }

                        If ((0x08 <= PU2C))
                        {
                            Device (HS08)
                            {
                                Name (_ADR, 0x08)  // _ADR: Address
                            }
                        }

                        If ((0x09 <= PU2C))
                        {
                            Device (HS09)
                            {
                                Name (_ADR, 0x09)  // _ADR: Address
                            }
                        }

                        If ((0x0A <= PU2C))
                        {
                            Device (HS10)
                            {
                                Name (_ADR, 0x0A)  // _ADR: Address
                            }
                        }

                        If ((0x0B <= PU2C))
                        {
                            Device (HS11)
                            {
                                Name (_ADR, 0x0B)  // _ADR: Address
                            }
                        }

                        If ((0x0C <= PU2C))
                        {
                            Device (HS12)
                            {
                                Name (_ADR, 0x0C)  // _ADR: Address
                            }
                        }

                        If ((0x0D <= PU2C))
                        {
                            Device (HS13)
                            {
                                Name (_ADR, 0x0D)  // _ADR: Address
                            }
                        }

                        If ((0x0E <= PU2C))
                        {
                            Device (HS14)
                            {
                                Name (_ADR, 0x0E)  // _ADR: Address
                            }
                        }

                        Device (USR1)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (One))
                            }
                        }

                        Device (USR2)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (0x02))
                            }
                        }
                    }

                    If (CondRefOf (PU3C))
                    {
                        If ((One <= PU3C))
                        {
                            Device (SS01)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (One))
                                }
                            }
                        }

                        If ((0x02 <= PU3C))
                        {
                            Device (SS02)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x02))
                                }
                            }
                        }

                        If ((0x03 <= PU3C))
                        {
                            Device (SS03)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x03))
                                }
                            }
                        }

                        If ((0x04 <= PU3C))
                        {
                            Device (SS04)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x04))
                                }
                            }
                        }

                        If ((0x05 <= PU3C))
                        {
                            Device (SS05)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x05))
                                }
                            }
                        }

                        If ((0x06 <= PU3C))
                        {
                            Device (SS06)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x06))
                                }
                            }
                        }

                        If ((0x07 <= PU3C))
                        {
                            Device (SS07)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x07))
                                }
                            }
                        }

                        If ((0x08 <= PU3C))
                        {
                            Device (SS08)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x08))
                                }
                            }
                        }

                        If ((0x09 <= PU3C))
                        {
                            Device (SS09)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x09))
                                }
                            }
                        }

                        If ((0x0A <= PU3C))
                        {
                            Device (SS10)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x0A))
                                }
                            }
                        }
                    }
                }
            }

            Device (HDAS)
            {
                Name (_ADR, 0x001F0003)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("HD-A Ctrlr D0")
                    S023 (Zero, One)
                    If (CondRefOf (\_SB.PC00.HDAS.PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("HD-A Ctrlr D3")
                    S023 (Zero, Zero)
                    If (CondRefOf (\_SB.PC00.HDAS.PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0x8A, 0x04))
                        }
                    }

                    Return (GPRW (0x6D, 0x04))
                }

                OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
                Field (HDAR, WordAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Name (NBU0, ResourceTemplate ()
                {
                    QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
                        0x0000000000000001, // Granularity
                        0x0000000000000000, // Range Minimum
                        0x0000000000000000, // Range Maximum
                        0x0000000000000000, // Translation Offset
                        0x0000000000000000, // Length
                        ,, _Y30, AddressRangeACPI, TypeStatic)
                })
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    ADBG ("HDAS _INI")
                    CreateQWordField (NBU0, \_SB.PC00.HDAS._Y30._MIN, NBA0)  // _MIN: Minimum Base Address
                    CreateQWordField (NBU0, \_SB.PC00.HDAS._Y30._MAX, NMA0)  // _MAX: Maximum Base Address
                    CreateQWordField (NBU0, \_SB.PC00.HDAS._Y30._LEN, NLE0)  // _LEN: Length
                    NBA0 = NHAA /* \NHAA */
                    NMA0 = (NHAA + (NHLL - One))
                    NLE0 = NHLL /* \NHLL */
                }

                Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                {
                    ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                    Package (0x01)
                    {
                        Package (0x02)
                        {
                            "nhlt-version", 
                            "1.8-0"
                        }
                    }
                })
                Device (IDA)
                {
                    Name (_ADR, 0x10000000)  // _ADR: Address
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("HDAS _DSM")
                        ADBG (Arg2)
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((Arg0 == ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0xCF                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("_DSM Fun 1 NHLT")
                                    Switch (ToInteger (Arg3))
                                    {
                                        Case (Zero)
                                        {
                                            Return (NBU0) /* \_SB_.PC00.HDAS.NBU0 */
                                        }
                                        Default
                                        {
                                            Return (NBU0) /* \_SB_.PC00.HDAS.NBU0 */
                                        }

                                    }
                                }
                                Case (0x02)
                                {
                                    ADBG ("_DSM Fun 2 FMSK")
                                    Return (ADFM) /* \ADFM */
                                }
                                Case (0x03)
                                {
                                    ADBG ("_DSM Fun 3 PPMS")
                                    If (CondRefOf (\_SB.PC00.HDAS.PPMS))
                                    {
                                        Return (PPMS (Arg3))
                                    }
                                    Else
                                    {
                                        ADBG ("PPMS not found")
                                    }

                                    Return (Zero)
                                }
                                Case (0x06)
                                {
                                    ADBG ("_DSM Fun 6 XCFG")
                                    Return (XTAL) /* \XTAL */
                                }
                                Case (0x07)
                                {
                                    ADBG ("_DSM Fun 7 HDBO")
                                    ADBG (HDBO)
                                    Return (HDBO) /* \HDBO */
                                }
                                Default
                                {
                                    ADBG ("_DSM Fun NOK")
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If (CondRefOf (HIWC))
                        {
                            If (HIWC (Arg0))
                            {
                                If (CondRefOf (HIDW))
                                {
                                    Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                                }
                            }
                        }

                        ADBG ("_DSM UUID NOK")
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }
            }

            Scope (HDAS.IDA)
            {
                Device (SNDW)
                {
                    Name (_ADR, 0x40000000)  // _ADR: Address
                    Name (_CID, Package (0x02)  // _CID: Compatible ID
                    {
                        "PRP00001", 
                        "PNP0A05" /* Generic Container Device */
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Method (QCFG, 4, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [Zero]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x04]) [One]
                             = Arg2
                        DerefOf (DerefOf (Arg0 [One]) [0x05]) [One]
                             = Arg3
                    }

                    Method (XCFG, 2, NotSerialized)
                    {
                        If ((Arg1 == 0x016E3600))
                        {
                            ADBG ("XTAL 24MHz")
                            Local0 = 0x016E3600
                            Local1 = Package (0x01)
                                {
                                    0x005B8D80
                                }
                            Local2 = 0x7D
                            Local3 = 0x02
                        }
                        ElseIf ((Arg1 == 0x0249F000))
                        {
                            ADBG ("XTAL 38.4MHz")
                            Local0 = 0x0249F000
                            Local1 = Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        ElseIf ((Arg1 == 0x0124F800))
                        {
                            ADBG ("XTAL 19.2MHz")
                            Local0 = 0x0124F800
                            Local1 = Package (0x01)
                                {
                                    0x00493E00
                                }
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        Else
                        {
                            ADBG ("XTAL UNSUPPORTED")
                            Local0 = Zero
                            Local1 = Zero
                            Local2 = Zero
                            Local3 = Zero
                        }

                        DerefOf (DerefOf (Arg0 [One]) [One]) [One]
                             = Local0
                        DerefOf (DerefOf (Arg0 [One]) [0x08]) [One]
                             = Local1
                        DerefOf (DerefOf (Arg0 [One]) [0x0A]) [One]
                             = Local2
                        DerefOf (DerefOf (Arg0 [One]) [0x0B]) [One]
                             = Local3
                    }

                    Method (DCFG, 3, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [0x02]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x03]) [One]
                             = Arg2
                    }

                    Method (SDWU, 1, NotSerialized)
                    {
                        DerefOf (DerefOf (_DSD [One]) [0x02]) [One]
                             = Arg0
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        ADBG ("SNDW _INI")
                        SDWU (SWMC)
                        QCFG (LNK0, SWQ0, ACS0, SML0)
                        QCFG (LNK1, SWQ1, ACS1, SML1)
                        QCFG (LNK2, SWQ2, ACS2, SML2)
                        QCFG (LNK3, SWQ3, ACS3, SML3)
                        XCFG (LNK0, XTAL)
                        XCFG (LNK1, XTAL)
                        XCFG (LNK2, XTAL)
                        XCFG (LNK3, XTAL)
                        DCFG (LNK0, DAI0, DOD0)
                        DCFG (LNK1, DAI1, DOD0)
                        DCFG (LNK2, DAI2, DOD0)
                        DCFG (LNK3, DAI3, DOD0)
                    }

                    Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x03)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-sw-interface-revision", 
                                0x00010000
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-manager-list", 
                                0x0F
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-master-count", 
                                0x04
                            }
                        }, 

                        ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                        Package (0x04)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-link-0-subproperties", 
                                "LNK0"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-1-subproperties", 
                                "LNK1"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-2-subproperties", 
                                "LNK2"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-3-subproperties", 
                                "LNK3"
                            }
                        }
                    })
                    Name (LNK0, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK1, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK2, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK3, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                }

                If ((UAOE != Zero))
                {
                    Device (UAOL)
                    {
                        Name (_ADR, 0x50000000)  // _ADR: Address
                        Name (_CID, Package (0x02)  // _CID: Compatible ID
                        {
                            "PRP00001", 
                            "PNP0A05" /* Generic Container Device */
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Return (0x0B)
                        }

                        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                        {
                            ADBG ("UAOL _DSM")
                            If ((Arg0 == ToUUID ("2e60aefc-1ba8-467a-b8cc-5727b98cecb7") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x03                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        Return (CFAE (Arg3))
                                    }

                                }
                            }

                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "uaol-ctrl-count", 
                                    0x02
                                }
                            }, 

                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            Package (0x02)
                            {
                                Package (0x02)
                                {
                                    "uaol-descriptor-0", 
                                    "UAO0"
                                }, 

                                Package (0x02)
                                {
                                    "uaol-descriptor-1", 
                                    "UAO1"
                                }
                            }
                        })
                        Name (UAO0, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0x98ED
                                }
                            }
                        })
                        Name (UAO1, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    One
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0xABCD
                                }
                            }
                        })
                    }
                }
            }

            Device (HECI)
            {
                Name (_ADR, 0x00160000)  // _ADR: Address
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("HECI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (CondRefOf (HIWC))
                    {
                        If (HIWC (Arg0))
                        {
                            If (CondRefOf (HIDW))
                            {
                                Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (HEC3)
            {
                Name (_ADR, 0x00160004)  // _ADR: Address
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (ISHD)
            {
                Name (_ADR, 0x00120000)  // _ADR: Address
            }
        }
    }

    If ((PCHS != 0x04))
    {
        Scope (_SB.PC00)
        {
            Method (SOD3, 3, Serialized)
            {
                OperationRegion (ICB1, SystemMemory, (GPCB () + Arg0), 0x88)
                If (Arg1)
                {
                    Field (ICB1, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    PMEC = 0x03
                    PMEC |= Zero
                }

                If ((Arg1 && Arg2))
                {
                    Field (ICB1, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    BAR0 = Zero
                }
            }

            Device (I2C0)
            {
                If ((IM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150000)
                }
            }

            Device (I2C1)
            {
                If ((IM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150001)
                }
            }

            Device (I2C2)
            {
                If ((IM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150002)
                }
            }

            Device (I2C3)
            {
                If ((IM03 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150003)
                }
            }

            Device (I2C4)
            {
                If ((IM04 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC04, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190000)
                }
            }

            Device (I2C5)
            {
                If ((IM05 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC05, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190001)
                }
            }

            Scope (\_SB.PC00)
            {
                Device (I3C0)
                {
                    Name (I3CR, Package (0x38)
                    {
                        0xD0, 
                        0x00200002, 
                        0xD4, 
                        0x01010404, 
                        0x0214, 
                        0x00FA00FA, 
                        0x0218, 
                        0x00080008, 
                        0x021C, 
                        0x00FA00FA, 
                        0x0220, 
                        0x00640064, 
                        0x0224, 
                        0x032003AC, 
                        0x0228, 
                        0x20202020, 
                        0x022C, 
                        0x00030000, 
                        0x0230, 
                        0x00010000, 
                        0x0234, 
                        0x08, 
                        0x02BC, 
                        0x0800, 
                        0x02C0, 
                        0x0800, 
                        0x02C8, 
                        Zero, 
                        0x02CC, 
                        0x08, 
                        0x02D0, 
                        0x52, 
                        0x02D4, 
                        0x20442044, 
                        0x04D0, 
                        0x00200002, 
                        0x04D4, 
                        0x01010404, 
                        0x0614, 
                        0x00FA00FA, 
                        0x0618, 
                        0x00080008, 
                        0x061C, 
                        0x00FA00FA, 
                        0x0620, 
                        0x00640064, 
                        0x0624, 
                        0x032003AC, 
                        0x0628, 
                        0x20202020, 
                        0x062C, 
                        0x00030000, 
                        0x0630, 
                        0x00010000, 
                        0x0634, 
                        0x08
                    })
                    Name (_ADR, 0x00150004)  // _ADR: Address
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((Arg0 == ToUUID ("e59152de-bd93-4164-8a5e-2828fbd8b959") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (0x08)
                                    {
                                         0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                                    })
                                }
                                Case (One)
                                {
                                    Return (I3CR) /* \_SB_.PC00.I3C0.I3CR */
                                }

                            }

                            Return (Buffer (0x08)
                            {
                                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                            })
                        }

                        Return (Buffer (0x08)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        })
                    }

                    Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                    {
                        Return (0x03)
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x8E, 0x04))
                            }
                        }

                        Return (GPRW (0x6D, 0x04))
                    }
                }
            }

            Device (SPI0)
            {
                If ((SM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0002)
                }
            }

            Device (SPI1)
            {
                If ((SM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0003)
                }
            }

            Device (SPI2)
            {
                If ((SM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00120006)
                }
            }

            Method (UDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f7af8347-a966-49fe-9022-7a9deeebdb27") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (UDMA, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (Buffer (0x08)
                        {
                             0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        })
                    }
                    Case (One)
                    {
                        Return (ToInteger (Arg1))
                    }

                }

                Return (Buffer (0x08)
                {
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                })
            }
        }

        Scope (_SB)
        {
            Device (URSC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_STA, 0x03)  // _STA: Status
                Name (_UID, 0x05)  // _UID: Unique ID
                Method (UARB, 2, Serialized)
                {
                    If (((Arg0 == 0x02) || (Arg0 == 0x03)))
                    {
                        OperationRegion (UACF, SystemMemory, Arg1, 0x20)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64, 
                            BAR1,   64
                        }

                        Name (BUF1, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000FF8,         // Address Length
                                _Y31)
                        })
                        Name (BUF2, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00001000,         // Address Length
                                _Y32)
                        })
                        CreateDWordField (BUF1, \_SB.URSC.UARB._Y31._BAS, ADR1)  // _BAS: Base Address
                        CreateDWordField (BUF2, \_SB.URSC.UARB._Y32._BAS, ADR2)  // _BAS: Base Address
                        Local1 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR1 = (Local1 + 0x08)
                        ADR2 = (BAR1 & 0xFFFFFFFFFFFFF000)
                        ConcatenateResTemplate (BUF1, BUF2, Local0)
                        Return (Local0)
                    }

                    Return (Buffer (0x02)
                    {
                         0x79, 0x00                                       // y.
                    })
                }

                Name (URDA, Package (0x0A)
                {
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        Zero, 
                        Package (0x06)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
            }

            Method (URSA, 2, Serialized)
            {
                Local0 = Zero
                While ((Local0 < SizeOf (^URSC.URDA)))
                {
                    Local1 = DerefOf (DerefOf (^URSC.URDA [Local0]) [Zero])
                    If ((Local1 == Arg0))
                    {
                        DerefOf (^URSC.URDA [Local0]) [One] = Arg1
                        Return (Zero)
                    }

                    Local0 += One
                }

                Local0 = Zero
                While ((Local0 < SizeOf (^URSC.URDA)))
                {
                    Local1 = DerefOf (DerefOf (^URSC.URDA [Local0]) [Zero])
                    If ((Local1 == Zero))
                    {
                        DerefOf (^URSC.URDA [Local0]) [Zero] = Arg0
                        DerefOf (^URSC.URDA [Local0]) [One] = Arg1
                        Return (Zero)
                    }

                    Local0 += One
                }
            }

            Method (URRS, 1, Serialized)
            {
                Local0 = Zero
                While ((Local0 < SizeOf (^URSC.URDA)))
                {
                    Local1 = DerefOf (DerefOf (^URSC.URDA [Local0]) [Zero])
                    If ((Local1 == Arg0))
                    {
                        Return (DerefOf (DerefOf (^URSC.URDA [Local0]) [One]))
                    }

                    Local0 += One
                }

                Return (Package (0x08)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
            }

            Method (UARH, 2, Serialized)
            {
                OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                Field (UACF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    BAR0,   64
                }

                Name (BUF0, ResourceTemplate ()
                {
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00000008,         // Address Length
                        _Y33)
                })
                Name (IBUF, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y34)
                    {
                        0x00000014,
                    }
                })
                CreateDWordField (BUF0, \_SB.UARH._Y33._BAS, ADR0)  // _BAS: Base Address
                CreateDWordField (IBUF, \_SB.UARH._Y34._INT, IRQN)  // _INT: Interrupts
                Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                ADR0 = Local0
                IRQN = Arg1
                ConcatenateResTemplate (BUF0, IBUF, Local1)
                Return (Local1)
            }

            Method (UAPG, 3, Serialized)
            {
                If ((Arg1 != 0x02))
                {
                    Return (Arg1)
                }

                OperationRegion (UACF, SystemMemory, Arg2, 0x18)
                Field (UACF, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                    BAR0,   64
                }

                OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x10)
                Field (UAB0, ByteAcc, Lock, Preserve)
                {
                    DLL,    8, 
                    DLH,    8, 
                    FCR,    8, 
                    LCR,    8
                }

                Local0 = LCR /* \_SB_.UAPG.LCR_ */
                If ((Local0 && 0x7F))
                {
                    Return (Zero)
                }

                Return (One)
            }

            Method (UHID, 1, Serialized)
            {
                If ((Arg0 == 0x03))
                {
                    Return (0x0105D041)
                }

                Return (0x020CD041)
            }

            Method (UPS3, 2, Serialized)
            {
                Name (REGS, Package (0x08)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                If ((Arg0 == One))
                {
                    OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                    Field (UACF, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    Field (UACF, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                    Field (UAB0, ByteAcc, Lock, Preserve)
                    {
                        DLL,    8, 
                        DLH,    8, 
                        FCR,    8, 
                        LCR,    8, 
                        MCR,    8, 
                        Offset (0x81), 
                        PPRR,   8
                    }

                    Field (UAB0, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x80), 
                        PCLK,   32
                    }

                    Local1 = LCR /* \_SB_.UPS3.LCR_ */
                    LCR |= 0x80
                    REGS [Zero] = DLL /* \_SB_.UPS3.DLL_ */
                    REGS [One] = DLH /* \_SB_.UPS3.DLH_ */
                    LCR = Local1
                    REGS [0x02] = FCR /* \_SB_.UPS3.FCR_ */
                    REGS [0x03] = Local1
                    REGS [0x04] = MCR /* \_SB_.UPS3.MCR_ */
                    REGS [0x05] = PCLK /* \_SB_.UPS3.PCLK */
                    If (((DerefOf (REGS [0x05]) != Zero) && (
                        DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                    {
                        URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                    }

                    PPRR = Zero
                    PPRR |= Zero
                    PMEC = 0x03
                    PMEC |= Zero
                }
            }

            Method (UPS0, 2, Serialized)
            {
                If ((Arg0 == One))
                {
                    OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                    Field (UACF, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    Field (UACF, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                    Field (UAB0, ByteAcc, Lock, Preserve)
                    {
                        DLL,    8, 
                        DLH,    8, 
                        FCR,    8, 
                        LCR,    8, 
                        MCR,    8, 
                        Offset (0x81), 
                        PPRR,   8
                    }

                    Field (UAB0, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x80), 
                        PCLK,   32
                    }

                    PMEC = Zero
                    PMEC |= Zero
                    PPRR = 0x07
                    Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                    If (((DerefOf (Local0 [0x05]) != Zero) && (
                        DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                    {
                        LCR |= 0x80
                        DLL = DerefOf (Local0 [Zero])
                        DLH = DerefOf (Local0 [One])
                        LCR = DerefOf (Local0 [0x03])
                        FCR = DerefOf (Local0 [0x02])
                        MCR = DerefOf (Local0 [0x04])
                        Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                        PCLK = Local2
                        Local2 = (DerefOf (Local0 [0x05]) | One)
                        PCLK = Local2
                    }
                }
            }

            Method (UPSC, 1, Serialized)
            {
                OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                Field (UACF, ByteAcc, NoLock, Preserve)
                {
                    PMEC,   8
                }

                Return ((PMEC & 0x03))
            }
        }

        Scope (_SB.URSC)
        {
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Local0 = UARB (UM00, UC00)
                ConcatenateResTemplate (Local0, UARB (UM01, UC01), Local1)
                Local0 = Local1
                ConcatenateResTemplate (Local0, UARB (UM02, UC02), Local1)
                Local0 = Local1
                Return (Local0)
            }
        }

        Scope (_SB.PC00)
        {
            Device (UA00)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (UDSM (Arg0))
                    {
                        Return (UDMA (Arg2, UD00))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0000)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    SOD3 (UC00, One, One)
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                }
            }
        }

        Scope (_SB)
        {
            If (((UM00 == 0x02) || (UM00 == 0x03)))
            {
                Device (UAH0)
                {
                    Name (_DDN, "SerialIoUart0")  // _DDN: DOS Device Name
                    Name (_UID, "SerialIoUart0")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (UM00))
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (UC00, UI00))
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((UM00 == 0x03))
                        {
                            If ((UP00 == 0x02))
                            {
                                UP00 = UAPG (UM00, UP00, UC00)
                            }

                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    If ((UM00 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (UC00))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (UP00, UC00)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (UP00, UC00)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (UA01)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (UDSM (Arg0))
                    {
                        Return (UDMA (Arg2, UD01))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0001)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    SOD3 (UC01, One, One)
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                }
            }
        }

        Scope (_SB)
        {
            If (((UM01 == 0x02) || (UM01 == 0x03)))
            {
                Device (UAH1)
                {
                    Name (_DDN, "SerialIoUart1")  // _DDN: DOS Device Name
                    Name (_UID, "SerialIoUart1")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (UM01))
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (UC01, UI01))
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((UM01 == 0x03))
                        {
                            If ((UP01 == 0x02))
                            {
                                UP01 = UAPG (UM01, UP01, UC01)
                            }

                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    If ((UM01 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (UC01))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (UP01, UC01)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (UP01, UC01)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (UA02)
            {
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (UDSM (Arg0))
                    {
                        Return (UDMA (Arg2, UD02))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190002)
                }

                Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                {
                    SOD3 (UC02, One, One)
                }

                Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                {
                }
            }
        }

        Scope (_SB)
        {
            If (((UM02 == 0x02) || (UM02 == 0x03)))
            {
                Device (UAH2)
                {
                    Name (_DDN, "SerialIoUart2")  // _DDN: DOS Device Name
                    Name (_UID, "SerialIoUart2")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (UM02))
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (UC02, UI02))
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((UM02 == 0x03))
                        {
                            If ((UP02 == 0x02))
                            {
                                UP02 = UAPG (UM02, UP02, UC02)
                            }

                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    If ((UM02 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (UC02))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (UP02, UC02)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (UP02, UC02)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            If ((CRFP == One))
            {
                If ((CWFC == One))
                {
                    Device (CNVW)
                    {
                        Name (_ADR, 0x00140003)  // _ADR: Address
                        Name (PU2C, Zero)
                        PU2C = \PU2C
                        Method (BASE, 0, NotSerialized)
                        {
                            Local0 = PC2M (_ADR, Zero)
                            Return (Local0)
                        }

                        Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                        {
                            ADBG ("CNVW Ctrlr D0")
                            S023 (0x02, One)
                        }

                        Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                        {
                            ADBG ("CNVW Ctrlr D3")
                            Local0 = PCRR (PCNV, 0x8100)
                            If (((Local0 & 0x7F) == 0x4C))
                            {
                                S023 (0x02, Zero)
                            }
                        }

                        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                        {
                            If (CondRefOf (GP1E))
                            {
                                If ((GP1E != Zero))
                                {
                                    Return (GPRW (0x85, 0x04))
                                }
                            }

                            Return (GPRW (0x6D, 0x04))
                        }

                        Name (ADEL, Zero)
                        If ((ARLM == One))
                        {
                            ADEL = 0x32
                        }
                        Else
                        {
                            ADEL = 0x0A
                        }

                        Name (RSTT, Zero)
                        Name (PRRS, Zero)
                        OperationRegion (CWAR, SystemMemory, BASE (), 0x0100)
                        Field (CWAR, WordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x44), 
                                ,   28, 
                            WFLR,   1, 
                            Offset (0x48), 
                                ,   15, 
                            WIFR,   1
                        }

                        Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                        {
                            Return (0x03)
                        }

                        Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                        {
                        }

                        PowerResource (WRST, 0x05, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)  // _STA: Status
                            {
                                Return (One)
                            }

                            Method (_ON, 0, NotSerialized)  // _ON_: Power On
                            {
                            }

                            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                            {
                            }

                            Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                            {
                                Local0 = Acquire (CNMT, 0x03E8)
                                If ((Local0 == Zero))
                                {
                                    CFLR ()
                                    PRRS = One
                                    If ((CondRefOf (RSTT) && (RSTT == One)))
                                    {
                                        ADBG ("WiFi Product Reset")
                                        ADBG (Concatenate ("PID of CNVi = ", ToHexString (PCNV)))
                                        Local5 = ^^^SBSC.PCRR (PCNV, 0x80)
                                        ADBG (Concatenate ("Register PLDB Value = ", ToHexString (Local5)))
                                        If (((^^^SBSC.PCRR (PCNV, 0x80) & 0x02) == Zero))
                                        {
                                            ADBG ("ABORT_REQUEST = 0, previous PLDR completed")
                                            If ((GBTR () == One))
                                            {
                                                BTRK (Zero)
                                                Sleep (0xA0)
                                                Local2 = One
                                            }

                                            ^^^SBSC.PCRO (PCNV, 0x80, 0x03)
                                            ADBG (Concatenate ("WiFi PLDR Timeout wait(ms) = ", ToHexString (ADEL)))
                                            Sleep (ADEL)
                                            Local1 = ^^^SBSC.PCRR (PCNV, 0x80)
                                            ADBG (Concatenate ("CNVI_PLDR_ABORT = ", ToHexString (Local1)))
                                            If ((((Local1 & 0x02) == Zero) && (Local1 & 0x04)))
                                            {
                                                ADBG ("WiFi Product Reset Completed")
                                                PRRS = 0x02
                                                If ((Local2 == One))
                                                {
                                                    BTRK (One)
                                                    Sleep (0xA0)
                                                }
                                            }
                                            Else
                                            {
                                                PRRS = 0x04
                                                BTRK (One)
                                            }
                                        }
                                        Else
                                        {
                                            PRRS = 0x03
                                        }
                                    }

                                    ADBG (Concatenate ("WiFi PRRS = ", PRRS))
                                    Release (CNMT)
                                }
                            }
                        }

                        Name (_PRR, Package (0x01)  // _PRR: Power Resource for Reset
                        {
                            WRST
                        })
                        Method (CFLR, 0, NotSerialized)
                        {
                            ADBG (Concatenate ("WiFi Core Reset, WFLR = ", WFLR))
                            If ((WFLR == One))
                            {
                                WIFR = One
                            }
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Device (SAT0)
            {
                Name (_ADR, 0x00170000)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("SATA0 Ctrlr D0")
                    If ((PCHS == PCHP))
                    {
                        If (!SCFD)
                        {
                            CSD0 (0x14)
                        }
                    }

                    ISAT = Zero
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("SATA0 Ctrlr D3")
                    ISAT = One
                    If ((PCHS == PCHP))
                    {
                        CSD3 (0x14)
                    }
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "StorageD3Enable", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((CondRefOf (SATC) && CondRefOf (SATD)))
                    {
                        If (SATC (Arg0))
                        {
                            Return (SATD (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Device (PRT0)
                {
                    Name (_ADR, 0xFFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT1)
                {
                    Name (_ADR, 0x0001FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x02))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT2)
                {
                    Name (_ADR, 0x0002FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x04))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT3)
                {
                    Name (_ADR, 0x0003FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x08))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT4)
                {
                    Name (_ADR, 0x0004FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x10))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT5)
                {
                    Name (_ADR, 0x0005FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x20))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT6)
                {
                    Name (_ADR, 0x0006FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x40))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT7)
                {
                    Name (_ADR, 0x0007FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x80))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC00)
        {
            Method (TINT, 1, Serialized)
            {
                Name (TINR, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                CreateWordField (TINR, 0x17, INT1)
                INT1 = GNUM (Arg0)
                Return (TINR) /* \_SB_.PC00.TINT.TINR */
            }

            Device (THC0)
            {
                Name (_ADR, 0x00100000)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD0 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T040))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T050))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T060))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T070)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC00.THC0._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T080)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC00.THC0._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T090))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T030))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C0))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D0))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A0))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B0))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN0 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN0))
                        }
                    }

                    If ((TMD0 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            SHPO (T010, One)
                            SPMV (T010, Zero)
                            SPC0 (T010, (0x42000200 | (~(T020 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T010, T0F0)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            SGOV (T010, (T020 & One))
                            Sleep (T0F0)
                            SGOV (T010, (~(T020 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }

            Device (THC1)
            {
                Name (_ADR, 0x00100001)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD1 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T041))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T051))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T061))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T071)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC00.THC1._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T081)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC00.THC1._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T091))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T031))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C1))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D1))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A1))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B1))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN1 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN1))
                        }
                    }

                    If ((TMD1 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            SHPO (T011, One)
                            SPMV (T011, Zero)
                            SPC0 (T011, (0x42000200 | (~(T021 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T011, T0F1)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            SGOV (T011, (T021 & One))
                            Sleep (T0F1)
                            SGOV (T011, (~(T021 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Scope (\_SB.PC00)
        {
            If ((UF0E == One))
            {
                Device (PUF0)
                {
                    Name (_ADR, 0x00120007)  // _ADR: Address
                    Name (_DDN, "Intel(R) UFS Controller")  // _DDN: DOS Device Name
                }
            }
        }
    }

    Scope (_SB)
    {
        Device (ICLK)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "SOCCLK")  // _UID: Unique ID
            OperationRegion (CKOR, SystemMemory, (SBRG + ((ICKP << 0x10) + 0x8000)), 0x40)
            Field (CKOR, AnyAcc, Lock, Preserve)
            {
                CLK0,   8, 
                Offset (0x0C), 
                CLK1,   8, 
                Offset (0x18), 
                CLK2,   8, 
                Offset (0x24), 
                CLK3,   8, 
                Offset (0x30), 
                CLK4,   8, 
                Offset (0x3C), 
                CLK5,   8
            }

            Method (NCLK, 0, NotSerialized)
            {
                Return (0x06)
            }

            Method (CLKC, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = CLK0 /* \_SB_.ICLK.CLK0 */
                        CLK0 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (One)
                    {
                        Local0 = CLK1 /* \_SB_.ICLK.CLK1 */
                        CLK1 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x02)
                    {
                        Local0 = CLK2 /* \_SB_.ICLK.CLK2 */
                        CLK2 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x03)
                    {
                        Local0 = CLK3 /* \_SB_.ICLK.CLK3 */
                        CLK3 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x04)
                    {
                        Local0 = CLK4 /* \_SB_.ICLK.CLK4 */
                        CLK4 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }
                    Case (0x05)
                    {
                        Local0 = CLK5 /* \_SB_.ICLK.CLK5 */
                        CLK5 = ((Local0 & 0xFFFFFFFFFFFFFFFB) | (Arg1 << 0x02))
                    }

                }
            }

            Method (CLKF, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = CLK0 /* \_SB_.ICLK.CLK0 */
                        CLK0 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (One)
                    {
                        Local0 = CLK1 /* \_SB_.ICLK.CLK1 */
                        CLK1 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x02)
                    {
                        Local0 = CLK2 /* \_SB_.ICLK.CLK2 */
                        CLK2 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x03)
                    {
                        Local0 = CLK3 /* \_SB_.ICLK.CLK3 */
                        CLK3 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x04)
                    {
                        Local0 = CLK4 /* \_SB_.ICLK.CLK4 */
                        CLK4 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }
                    Case (0x05)
                    {
                        Local0 = CLK5 /* \_SB_.ICLK.CLK5 */
                        CLK5 = ((Local0 & 0xFFFFFFFFFFFFFFFC) | (Arg1 & 0x03))
                    }

                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x03)
            }

            Name (PID, 0x64)
            Method (CLKD, 1, NotSerialized)
            {
                ^^PC00.SBSC.PCRA (PID, 0x8080, ~(One << Arg0))
            }

            Method (CLKE, 1, NotSerialized)
            {
                ^^PC00.SBSC.PCRO (PID, 0x8080, (One << Arg0))
            }
        }

        Device (ECLK)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "IOECLK")  // _UID: Unique ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x03)
            }

            Name (PID, 0x64)
            Method (CLKD, 1, NotSerialized)
            {
                ^^PC00.SBIE.PCRA (PID, 0x8080, ~(One << Arg0))
            }

            Method (CLKE, 1, NotSerialized)
            {
                ^^PC00.SBIE.PCRO (PID, 0x8080, (One << Arg0))
            }
        }
    }

    Scope (\)
    {
        Method (SPCO, 2, Serialized)
        {
            ADBG ("Calling SPCO method to configure PCIe ClkReq Override")
            If ((PCHS == 0x04))
            {
                If ((Arg1 == One))
                {
                    If ((Arg0 > 0x03))
                    {
                        \_SB.ECLK.CLKE ((Arg0 - 0x04))
                    }
                    Else
                    {
                        \_SB.ICLK.CLKE (Arg0)
                    }
                }
                ElseIf ((Arg0 > 0x03))
                {
                    \_SB.ECLK.CLKD ((Arg0 - 0x04))
                }
                Else
                {
                    \_SB.ICLK.CLKD (Arg0)
                }
            }
            ElseIf ((Arg1 == One))
            {
                If ((Arg0 > 0x05))
                {
                    \_SB.ECLK.CLKE ((Arg0 - 0x06))
                }
                Else
                {
                    \_SB.ICLK.CLKE (Arg0)
                }
            }
            ElseIf ((Arg0 > 0x05))
            {
                \_SB.ECLK.CLKD ((Arg0 - 0x06))
            }
            Else
            {
                \_SB.ICLK.CLKD (Arg0)
            }
        }

        Method (HBCM, 2, Serialized)
        {
        }
    }

    Scope (_SB)
    {
        Device (GPI0)
        {
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If ((GPHD == One))
                {
                    Return ("PNP0C02")
                }

                If ((PCHS == 0x04))
                {
                    Return ("INTC1082")
                }
                ElseIf ((ARLM == One))
                {
                    Return ("INTC105E")
                }
                Else
                {
                    Return ("INTC1083")
                }
            }

            Name (LINK, "\\_SB.GPI0")
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBPS, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y35)
                    {
                        0x0000000E,
                    }
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y36)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y37)
                    Memory32Fixed (ReadWrite,
                        0x00000000,         // Address Base
                        0x00010000,         // Address Length
                        _Y38)
                })
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y35._INT, INTH)  // _INT: Interrupts
                INTH = SGIR /* \SGIR */
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y36._BAS, CMH0)  // _BAS: Base Address
                CMH0 = (SBRG + 0x00D10000)
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y37._BAS, CMH1)  // _BAS: Base Address
                CMH1 = (SBRG + 0x00D20000)
                CreateDWordField (RBPS, \_SB.GPI0._CRS._Y38._BAS, CMH3)  // _BAS: Base Address
                CMH3 = (SBRG + 0x00D30000)
                If ((PCHS != 0x04))
                {
                    Name (RBFS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x00010000,         // Address Length
                            _Y39)
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x00010000,         // Address Length
                            _Y3A)
                    })
                    CreateDWordField (RBFS, \_SB.GPI0._CRS._Y39._BAS, CMH4)  // _BAS: Base Address
                    CMH4 = (SBRG + 0x00D40000)
                    CreateDWordField (RBFS, \_SB.GPI0._CRS._Y3A._BAS, CMH5)  // _BAS: Base Address
                    CMH5 = (SBRG + 0x00D50000)
                    ConcatenateResTemplate (RBPS, RBFS, Local0)
                    Return (Local0)
                }

                Return (RBPS) /* \_SB_.GPI0._CRS.RBPS */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((GPHD == One))
                {
                    Return (0x08)
                }

                Return (0x0F)
            }
        }
    }

    Scope (_SB)
    {
        Name (GPCM, Package (0x05)
        {
            Package (0x02)
            {
                0x00D10000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x05, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        Zero, 
                        Zero
                    }, 

                    Package (0x09)
                    {
                        0x18, 
                        0x0650, 
                        0x0144, 
                        0xB4, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x20, 
                        One
                    }, 

                    Package (0x09)
                    {
                        0x18, 
                        0x07D0, 
                        0x0148, 
                        0xC0, 
                        0x0238, 
                        0x0120, 
                        0x0124, 
                        0x40, 
                        0x02
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D20000, 
                Package (0x02)
                {
                    Package (0x09)
                    {
                        0x19, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0x60, 
                        0x03
                    }, 

                    Package (0x09)
                    {
                        0x19, 
                        0x0790, 
                        0x0144, 
                        0xC0, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x80, 
                        0x04
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D30000, 
                Package (0x04)
                {
                    Package (0x09)
                    {
                        0x1A, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0xA0, 
                        0x05
                    }, 

                    Package (0x09)
                    {
                        0x1A, 
                        0x07A0, 
                        0x0144, 
                        0xC0, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0xC0, 
                        0x06
                    }, 

                    Package (0x09)
                    {
                        0x0F, 
                        0x0940, 
                        0x0148, 
                        0xD0, 
                        0x0238, 
                        0x0120, 
                        0x0124, 
                        0xE0, 
                        0x07
                    }, 

                    Package (0x09)
                    {
                        0x0E, 
                        0x0A30, 
                        0x014C, 
                        0xD8, 
                        0x023C, 
                        0x0128, 
                        0x012C, 
                        0x0100, 
                        0x08
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D40000, 
                Package (0x02)
                {
                    Package (0x09)
                    {
                        0x08, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0x0120, 
                        0x09
                    }, 

                    Package (0x09)
                    {
                        0x0C, 
                        0x0680, 
                        0x0144, 
                        0xB4, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x0140, 
                        0x0A
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D50000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x19, 
                        0x0600, 
                        0x0140, 
                        0xB0, 
                        0x0230, 
                        0x0110, 
                        0x0114, 
                        0x0160, 
                        0x0B
                    }, 

                    Package (0x09)
                    {
                        0x19, 
                        0x0790, 
                        0x0144, 
                        0xC0, 
                        0x0234, 
                        0x0118, 
                        0x011C, 
                        0x0180, 
                        0x0C
                    }, 

                    Package (0x09)
                    {
                        0x23, 
                        0x0920, 
                        0x0148, 
                        0xD0, 
                        0x0238, 
                        0x0120, 
                        0x0124, 
                        0x01A0, 
                        0x0D
                    }
                }
            }
        })
        Name (GPCS, Package (0x03)
        {
            Package (0x02)
            {
                0x00D10000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x1C, 
                        0x0600, 
                        0x0110, 
                        0xB0, 
                        0x0220, 
                        0xF0, 
                        0xF4, 
                        Zero, 
                        Zero
                    }, 

                    Package (0x09)
                    {
                        0x06, 
                        0x07C0, 
                        0x0114, 
                        0xC0, 
                        0x0224, 
                        0xF8, 
                        0xFC, 
                        0x20, 
                        One
                    }, 

                    Package (0x09)
                    {
                        0x1B, 
                        0x08E0, 
                        0x0118, 
                        0xCC, 
                        0x0228, 
                        0x0100, 
                        0x0104, 
                        0x40, 
                        0x02
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D20000, 
                Package (0x03)
                {
                    Package (0x09)
                    {
                        0x14, 
                        0x0600, 
                        0x0110, 
                        0xB0, 
                        0x0220, 
                        0xF0, 
                        0xF4, 
                        0x60, 
                        0x03
                    }, 

                    Package (0x09)
                    {
                        0x07, 
                        0x0740, 
                        0x0114, 
                        0xBC, 
                        0x0224, 
                        0xF8, 
                        0xFC, 
                        0x80, 
                        0x04
                    }, 

                    Package (0x09)
                    {
                        0x18, 
                        0x0760, 
                        0x0118, 
                        0xC0, 
                        0x0228, 
                        0x0100, 
                        0x0104, 
                        0xA0, 
                        0x05
                    }
                }
            }, 

            Package (0x02)
            {
                0x00D30000, 
                Package (0x02)
                {
                    Package (0x09)
                    {
                        0x10, 
                        0x0600, 
                        0x0110, 
                        0xB0, 
                        0x0220, 
                        0xF0, 
                        0xF4, 
                        0xC0, 
                        0x06
                    }, 

                    Package (0x09)
                    {
                        0x02, 
                        0x0700, 
                        0x0114, 
                        0xB8, 
                        0x0224, 
                        0xF8, 
                        0xFC, 
                        0xE0, 
                        0x07
                    }
                }
            }
        })
    }

    Scope (_SB)
    {
        Method (GDSC, 0, NotSerialized)
        {
            If ((PCHS == 0x04))
            {
                Return (GPCS) /* \_SB_.GPCS */
            }
            Else
            {
                Return (GPCM) /* \_SB_.GPCM */
            }
        }

        Method (GMXG, 0, NotSerialized)
        {
            If ((PCHS == 0x04))
            {
                Return (0x08)
            }
            Else
            {
                Return (0x0E)
            }
        }

        Method (GCMP, 1, NotSerialized)
        {
            Local0 = GDSC ()
            Return (DerefOf (DerefOf (Local0 [Arg0]) [Zero]))
        }

        Method (GINF, 3, NotSerialized)
        {
            Local0 = GDSC ()
            Return (DerefOf (DerefOf (DerefOf (DerefOf (Local0 [Arg0]) [
                One]) [Arg1]) [Arg2]))
        }

        Method (GCOM, 1, Serialized)
        {
            Local0 = ((Arg0 >> 0x0A) & 0x07)
            Return (Local0)
        }

        Method (GGRP, 1, Serialized)
        {
            Local0 = ((Arg0 >> 0x07) & 0x07)
            Return (Local0)
        }

        Method (GNMB, 1, Serialized)
        {
            Return ((Arg0 & 0x7F))
        }

        Method (GADR, 2, NotSerialized)
        {
            Local2 = GGRP (Arg0)
            Local3 = GCOM (Arg0)
            Local0 = (GCMP (Local3) + SBRG)
            Local1 = GINF (Local3, Local2, Arg1)
            Return ((Local0 + Local1))
        }

        Method (GNUM, 1, NotSerialized)
        {
            Local0 = GNMB (Arg0)
            Local1 = GGRP (Arg0)
            Local2 = GCOM (Arg0)
            Return ((GINF (Local2, Local1, 0x07) + Local0))
        }

        Method (GGGP, 1, NotSerialized)
        {
            Local0 = GGRP (Arg0)
            Local1 = GCOM (Arg0)
            Return (GINF (Local1, Local0, 0x08))
        }

        Method (INUM, 1, NotSerialized)
        {
            Return ((GPC1 (Arg0) & 0x7F))
        }

        Method (GGPE, 1, NotSerialized)
        {
            Local0 = GGGP (Arg0)
            Local1 = GNMB (Arg0)
            Local2 = (Local1 >> 0x05)
            If (!((((GEI0 == Local0) && (GED0 == Local2)) | (
                (GEI1 == Local0) && (GED1 == Local2))) | ((GEI2 == Local0) && (GED2 == 
                Local2))))
            {
                Return (0x6F)
            }
            Else
            {
                If (((GEI0 == Local0) && (GED0 == Local2)))
                {
                    Local3 = Zero
                }
                ElseIf (((GEI1 == Local0) && (GED1 == Local2)))
                {
                    Local3 = One
                }
                ElseIf (((GEI2 == Local0) && (GED2 == Local2)))
                {
                    Local3 = 0x02
                }
                Else
                {
                    BreakPoint
                    Return (Zero)
                }

                Return ((((Local3 - Local2) * 0x20) + Local1))
            }
        }

        Method (GPC0, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (TEMP) /* \_SB_.GPC0.TEMP */
        }

        Method (SPC0, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            TEMP = Arg1
        }

        Method (GPC1, 1, Serialized)
        {
            Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                ) + 0x04)
            OperationRegion (PDW1, SystemMemory, Local2, 0x04)
            Field (PDW1, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (TEMP) /* \_SB_.GPC1.TEMP */
        }

        Method (SPC1, 2, Serialized)
        {
            Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                ) + 0x04)
            OperationRegion (PDW1, SystemMemory, Local2, 0x04)
            Field (PDW1, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            TEMP = Arg1
        }

        Method (SRXO, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   28, 
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GGIV, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   1, 
                TEMP,   1, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GGIV.TEMP */
        }

        Method (GGOV, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   1, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GGOV.TEMP */
        }

        Method (SGOV, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GGII, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   23, 
                TEMP,   1, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GGII.TEMP */
        }

        Method (SGII, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   23, 
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GPMV, 1, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   10, 
                TEMP,   3, 
                Offset (0x04)
            }

            Return (TEMP) /* \_SB_.GPMV.TEMP */
        }

        Method (SPMV, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   10, 
                TEMP,   3, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (GHPO, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
            Local4 = (Local1 & 0x1F)
            OperationRegion (PREG, SystemMemory, Local3, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> Local4) & One))
        }

        Method (SHPO, 2, Serialized)
        {
            Local1 = GNMB (Arg0)
            ADBG ("Pad number")
            ADBG (ToHexString (Local1))
            Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
            ADBG ("HOST owner offset")
            ADBG (ToHexString (Local3))
            Local4 = (Local1 & 0x1F)
            ADBG ("Pad position")
            ADBG (ToHexString (Local4))
            OperationRegion (PREG, SystemMemory, Local3, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            ADBG ("HOST own before")
            ADBG (ToHexString (TEMP))
            If (Arg1)
            {
                TEMP |= (One << Local4)
            }
            Else
            {
                TEMP &= ~(One << Local4)
            }

            ADBG ("HOST own after")
            ADBG (ToHexString (TEMP))
        }

        Method (GGPO, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local2 = (GADR (Arg0, 0x03) + ((Local1 >> 0x03) * 0x04
                ))
            OperationRegion (PREG, SystemMemory, Local2, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> ((Local1 & 0x07) * 0x04)) & 
                0x03))
        }

        Method (SGRA, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   20, 
                TEMP,   1, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (SGWP, 2, Serialized)
        {
            Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                ) + 0x04)
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   10, 
                TEMP,   4, 
                Offset (0x04)
            }

            TEMP = Arg1
        }

        Method (CGPI, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            ADBG ("Pad number")
            ADBG (ToHexString (Local1))
            Local4 = (Local1 >> 0x05)
            ADBG ("Group DW")
            ADBG (ToHexString (Local4))
            Local3 = GADR (Arg0, 0x04)
            ADBG ("Reg offset")
            ADBG (ToHexString (Local3))
            If (((Local3 & 0xFFFF) != 0xFFFF))
            {
                ADBG ("Clearing GPI")
                OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                Field (GPPX, AnyAcc, NoLock, Preserve)
                {
                    STSX,   32
                }

                Local2 = (One << (Local1 % 0x20))
                ADBG ("STSX before")
                ADBG (ToHexString (STSX))
                STSX = Local2
                ADBG ("STSX after")
                ADBG (ToHexString (STSX))
            }
        }

        Method (CAGS, 1, Serialized)
        {
            Local0 = GGGP (Arg0)
            Local1 = GNMB (Arg0)
            Local4 = (Local1 >> 0x05)
            If (!((((GEI0 == Local0) && (GED0 == Local4)) | (
                (GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (GED2 == 
                Local4))))
            {
                Local3 = GADR (Arg0, 0x04)
                If (((Local3 & 0xFFFF) != 0xFFFF))
                {
                    OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                    Field (GPPX, AnyAcc, NoLock, Preserve)
                    {
                        STSX,   32
                    }

                    Local2 = (One << (Local1 % 0x20))
                    STSX = Local2
                }
            }
        }

        Method (IGPI, 1, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local4 = (Local1 >> 0x05)
            If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
            {
                Return (Zero)
            }

            Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
            Local3 = (Local1 & 0x1F)
            OperationRegion (GPPX, SystemMemory, Local2, 0x24)
            Field (GPPX, AnyAcc, NoLock, Preserve)
            {
                STSX,   32, 
                Offset (0x20), 
                GENX,   32
            }

            Return ((((STSX & GENX) >> Local3) & One))
        }

        Method (ISME, 1, Serialized)
        {
            Local0 = GGGP (Arg0)
            Local1 = GNMB (Arg0)
            Local4 = (Local1 >> 0x05)
            If (!!((((GEI0 == Local0) && (GED0 == Local4)) | 
                ((GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (
                GED2 == Local4))))
            {
                Return (Zero)
            }

            If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
            {
                Return (Zero)
            }

            Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
            Local3 = (Local1 & 0x1F)
            OperationRegion (GPPX, SystemMemory, Local2, 0x24)
            Field (GPPX, AnyAcc, NoLock, Preserve)
            {
                STSX,   32, 
                Offset (0x20), 
                GENX,   32
            }

            Return ((((STSX & GENX) >> Local3) & One))
        }

        Method (GRXE, 2, Serialized)
        {
            Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
            OperationRegion (PDW0, SystemMemory, Local2, 0x04)
            Field (PDW0, AnyAcc, NoLock, Preserve)
            {
                    ,   25, 
                RCFG,   2, 
                Offset (0x04)
            }

            RCFG = Arg1
        }

        Method (GLOC, 2, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local2 = GADR (Arg0, 0x05)
            OperationRegion (PREG, SystemMemory, Local2, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> Local1) & One))
        }

        Method (GLOT, 2, Serialized)
        {
            Local1 = GNMB (Arg0)
            Local2 = GADR (Arg0, 0x06)
            OperationRegion (PREG, SystemMemory, Local2, 0x04)
            Field (PREG, AnyAcc, NoLock, Preserve)
            {
                TEMP,   32
            }

            Return (((TEMP >> Local1) & One))
        }
    }

    Scope (_SB.PC00)
    {
        Device (SBSC)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "SOCP2SB")  // _UID: Unique ID
            Name (_STA, 0x08)  // _STA: Status
            Name (SBRG, Zero)
            SBRG = \SBRG
            Method (PCRR, 2, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBSC.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                Return (DAT0) /* \_SB_.PC00.SBSC.PCRR.DAT0 */
            }

            Method (PCRW, 3, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBSC.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                DAT0 = Arg2
            }

            Method (PCRO, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 | Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCRA, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 & Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCAO, 4, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = ((Local0 & Arg2) | Arg3)
                PCRW (Arg0, Arg1, Local1)
            }
        }

        Device (SBIE)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, "IOEP2SB")  // _UID: Unique ID
            Name (_STA, 0x08)  // _STA: Status
            Name (SBRG, 0x000003FFF0000000)
            Method (PCRR, 2, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBIE.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                Return (DAT0) /* \_SB_.PC00.SBIE.PCRR.DAT0 */
            }

            Method (PCRW, 3, Serialized)
            {
                Local1 = (Arg1 & 0xFFFF)
                Local2 = ((Arg1 & 0x000F0000) << 0x08)
                Local0 = ((Arg0 << 0x10) + Local1)
                Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC00.SBIE.SBRG */
                OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                Field (PCR0, DWordAcc, Lock, Preserve)
                {
                    DAT0,   32
                }

                DAT0 = Arg2
            }

            Method (PCRO, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 | Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCRA, 3, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = (Local0 & Arg2)
                PCRW (Arg0, Arg1, Local1)
            }

            Method (PCAO, 4, Serialized)
            {
                Local0 = PCRR (Arg0, Arg1)
                Local1 = ((Local0 & Arg2) | Arg3)
                PCRW (Arg0, Arg1, Local1)
            }
        }
    }

    Scope (\)
    {
        Method (PCRR, 2, Serialized)
        {
            Local1 = (Arg1 & 0xFFFF)
            Local2 = ((Arg1 & 0x000F0000) << 0x08)
            Local0 = ((Arg0 << 0x10) + Local1)
            Local0 = ((Local2 + Local0) + SBRG) /* \SBRG */
            OperationRegion (PCR0, SystemMemory, Local0, 0x04)
            Field (PCR0, DWordAcc, Lock, Preserve)
            {
                DAT0,   32
            }

            Return (DAT0) /* \PCRR.DAT0 */
        }

        Method (PCRW, 3, Serialized)
        {
            Local1 = (Arg1 & 0xFFFF)
            Local2 = ((Arg1 & 0x000F0000) << 0x08)
            Local0 = ((Arg0 << 0x10) + Local1)
            Local0 = ((Local2 + Local0) + SBRG) /* \SBRG */
            OperationRegion (PCR0, SystemMemory, Local0, 0x04)
            Field (PCR0, DWordAcc, Lock, Preserve)
            {
                DAT0,   32
            }

            DAT0 = Arg2
        }

        Method (PCRO, 3, Serialized)
        {
            Local0 = PCRR (Arg0, Arg1)
            Local1 = (Local0 | Arg2)
            PCRW (Arg0, Arg1, Local1)
        }

        Method (PCRA, 3, Serialized)
        {
            Local0 = PCRR (Arg0, Arg1)
            Local1 = (Local0 & Arg2)
            PCRW (Arg0, Arg1, Local1)
        }

        Method (PCAO, 4, Serialized)
        {
            Local0 = PCRR (Arg0, Arg1)
            Local1 = ((Local0 & Arg2) | Arg3)
            PCRW (Arg0, Arg1, Local1)
        }
    }

    If ((PCHA != Zero))
    {
        Name (MNVB, 0x61DFE798)
        Name (MNVL, 0x020F)
        Scope (_SB.PC02)
        {
            OperationRegion (MTNV, SystemMemory, MNVB, MNVL)
            Field (MTNV, AnyAcc, Lock, Preserve)
            {
                PWRM,   32, 
                ABAS,   16, 
                SBRG,   64, 
                PU2C,   8, 
                PU3C,   8, 
                GBES,   8, 
                NHAA,   64, 
                NHLL,   32, 
                ADFM,   32, 
                SWQ0,   8, 
                SWQ1,   8, 
                SWQ2,   8, 
                SWQ3,   8, 
                ACS0,   8, 
                ACS1,   8, 
                ACS2,   8, 
                ACS3,   8, 
                DAI0,   8, 
                DAI1,   8, 
                DAI2,   8, 
                DAI3,   8, 
                DOD0,   8, 
                DOD1,   8, 
                DOD2,   8, 
                DOD3,   8, 
                HDBO,   16, 
                SWMC,   8, 
                XTAL,   32, 
                RPA1,   32, 
                RPA2,   32, 
                RPA3,   32, 
                RPA4,   32, 
                RPA5,   32, 
                RPA6,   32, 
                RPA7,   32, 
                RPA8,   32, 
                RPA9,   32, 
                RPAA,   32, 
                RPAB,   32, 
                RPAC,   32, 
                RPAD,   32, 
                RPAE,   32, 
                RPAF,   32, 
                RPAG,   32, 
                RPAH,   32, 
                RPAI,   32, 
                RPAJ,   32, 
                RPAK,   32, 
                RPAL,   32, 
                RPAM,   32, 
                RPAN,   32, 
                RPAO,   32, 
                PML1,   16, 
                PML2,   16, 
                PML3,   16, 
                PML4,   16, 
                PML5,   16, 
                PML6,   16, 
                PML7,   16, 
                PML8,   16, 
                PML9,   16, 
                PMLA,   16, 
                PMLB,   16, 
                PMLC,   16, 
                PMLD,   16, 
                PMLE,   16, 
                PMLF,   16, 
                PMLG,   16, 
                PMLH,   16, 
                PMLI,   16, 
                PMLJ,   16, 
                PMLK,   16, 
                PMLL,   16, 
                PMLM,   16, 
                PMLN,   16, 
                PMLO,   16, 
                PNL1,   16, 
                PNL2,   16, 
                PNL3,   16, 
                PNL4,   16, 
                PNL5,   16, 
                PNL6,   16, 
                PNL7,   16, 
                PNL8,   16, 
                PNL9,   16, 
                PNLA,   16, 
                PNLB,   16, 
                PNLC,   16, 
                PNLD,   16, 
                PNLE,   16, 
                PNLF,   16, 
                PNLG,   16, 
                PNLH,   16, 
                PNLI,   16, 
                PNLJ,   16, 
                PNLK,   16, 
                PNLL,   16, 
                PNLM,   16, 
                PNLN,   16, 
                PNLO,   16, 
                TIN0,   32, 
                TIN1,   32, 
                TMD0,   16, 
                TMD1,   16, 
                UF0E,   8, 
                UF1E,   8, 
                UAOE,   8, 
                T010,   32, 
                T011,   32, 
                T020,   8, 
                T021,   8, 
                T030,   32, 
                T031,   32, 
                T040,   32, 
                T041,   32, 
                T050,   32, 
                T051,   32, 
                T060,   32, 
                T061,   32, 
                T070,   32, 
                T071,   32, 
                T080,   32, 
                T081,   32, 
                T090,   32, 
                T091,   32, 
                T0A0,   32, 
                T0A1,   32, 
                T0B0,   32, 
                T0B1,   32, 
                T0C0,   32, 
                T0C1,   32, 
                T0D0,   32, 
                T0D1,   32, 
                T0E0,   32, 
                T0E1,   32, 
                T0F0,   32, 
                T0F1,   32, 
                SM00,   8, 
                SM01,   8, 
                SM02,   8, 
                SM03,   8, 
                SC00,   64, 
                SC01,   64, 
                SC02,   64, 
                SC03,   64, 
                IM00,   8, 
                IM01,   8, 
                IM02,   8, 
                IM03,   8, 
                IM04,   8, 
                IM05,   8, 
                IC00,   64, 
                IC01,   64, 
                IC02,   64, 
                IC03,   64, 
                IC04,   64, 
                IC05,   64, 
                UM00,   8, 
                UM01,   8, 
                UM02,   8, 
                UM03,   8, 
                UC00,   64, 
                UC01,   64, 
                UC02,   64, 
                UC03,   64, 
                UD00,   8, 
                UD01,   8, 
                UD02,   8, 
                UD03,   8, 
                UP00,   8, 
                UP01,   8, 
                UP02,   8, 
                UP03,   8, 
                UI00,   8, 
                UI01,   8, 
                UI02,   8, 
                UI03,   8, 
                PCNV,   16, 
                GEI0,   8, 
                GEI1,   8, 
                GEI2,   8, 
                GED0,   8, 
                GED1,   8, 
                GED2,   8, 
                SML0,   8, 
                SML1,   8, 
                SML2,   8, 
                SML3,   8
            }

            Device (SBPC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "PCHP2SB")  // _UID: Unique ID
                Name (_STA, 0x08)  // _STA: Status
                Name (SBRG, Zero)
                SBRG = ^SBRG /* \_SB_.PC02.SBRG */
                Method (PCRR, 2, Serialized)
                {
                    Local1 = (Arg1 & 0xFFFF)
                    Local2 = ((Arg1 & 0x000F0000) << 0x08)
                    Local0 = ((Arg0 << 0x10) + Local1)
                    Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC02.SBPC.SBRG */
                    OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                    Field (PCR0, DWordAcc, Lock, Preserve)
                    {
                        DAT0,   32
                    }

                    Return (DAT0) /* \_SB_.PC02.SBPC.PCRR.DAT0 */
                }

                Method (PCRW, 3, Serialized)
                {
                    Local1 = (Arg1 & 0xFFFF)
                    Local2 = ((Arg1 & 0x000F0000) << 0x08)
                    Local0 = ((Arg0 << 0x10) + Local1)
                    Local0 = ((Local2 + Local0) + SBRG) /* \_SB_.PC02.SBPC.SBRG */
                    OperationRegion (PCR0, SystemMemory, Local0, 0x04)
                    Field (PCR0, DWordAcc, Lock, Preserve)
                    {
                        DAT0,   32
                    }

                    DAT0 = Arg2
                }

                Method (PCRO, 3, Serialized)
                {
                    Local0 = PCRR (Arg0, Arg1)
                    Local1 = (Local0 | Arg2)
                    PCRW (Arg0, Arg1, Local1)
                }

                Method (PCRA, 3, Serialized)
                {
                    Local0 = PCRR (Arg0, Arg1)
                    Local1 = (Local0 & Arg2)
                    PCRW (Arg0, Arg1, Local1)
                }

                Method (PCAO, 4, Serialized)
                {
                    Local0 = PCRR (Arg0, Arg1)
                    Local1 = ((Local0 & Arg2) | Arg3)
                    PCRW (Arg0, Arg1, Local1)
                }
            }

            Device (PPMC)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "MTPPMC")  // _UID: Unique ID
                Name (_STA, 0x08)  // _STA: Status
                Method (IPCS, 7, Serialized)
                {
                    Name (RPKG, Package (0x05)
                    {
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    })
                    ADBG ("PMC IPC")
                    ADBG (Concatenate ("Command: ", ToHexString (Arg0)))
                    ADBG (Concatenate ("SubCmdId: ", ToHexString (Arg1)))
                    ADBG (Concatenate ("Size: ", ToHexString (Arg2)))
                    ADBG (Concatenate ("WBuff0: ", ToHexString (Arg3)))
                    ADBG (Concatenate ("WBuff1: ", ToHexString (Arg4)))
                    ADBG (Concatenate ("WBuff2: ", ToHexString (Arg5)))
                    ADBG (Concatenate ("WBuff3: ", ToHexString (Arg6)))
                    If ((Arg2 > 0x10))
                    {
                        ADBG ("CmdSize>16 Error")
                        RPKG [Zero] = One
                        Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                    }

                    IWB0 = Arg3
                    IWB1 = Arg4
                    IWB2 = Arg5
                    IWB3 = Arg6
                    Local0 = Zero
                    Local0 += (Arg0 << Zero)
                    Local0 += (Arg1 << 0x0C)
                    Local0 += (Arg2 << 0x10)
                    CMDR = Local0
                    Local0 = Zero
                    While (One)
                    {
                        If ((!IBSY || (IERR == One)))
                        {
                            Break
                        }

                        If ((Local0 > 0x0A))
                        {
                            ADBG ("IPC Busy TO")
                            RPKG [Zero] = 0x03
                            Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                        }

                        Sleep (One)
                        Local0++
                    }

                    If ((IERR == One))
                    {
                        ADBG ("IPC Error:")
                        ADBG (IERC)
                        ADBG (Arg0)
                        ADBG (Arg1)
                        ADBG (Arg2)
                        ADBG (Arg3)
                        ADBG (Arg4)
                        ADBG (Arg5)
                        ADBG (Arg6)
                        RPKG [Zero] = 0x02
                        Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                    }

                    RPKG [One] = IRB0 /* \_SB_.PC02.PPMC.IRB0 */
                    RPKG [0x02] = IRB1 /* \_SB_.PC02.PPMC.IRB1 */
                    RPKG [0x03] = IRB2 /* \_SB_.PC02.PPMC.IRB2 */
                    RPKG [0x04] = IRB3 /* \_SB_.PC02.PPMC.IRB3 */
                    Return (RPKG) /* \_SB_.PC02.PPMC.IPCS.RPKG */
                }

                Method (ULTR, 1, Serialized)
                {
                    LTRU = Arg0
                }

                OperationRegion (PWMR, SystemMemory, PWRM, 0x1E30)
                Field (PWMR, DWordAcc, NoLock, Preserve)
                {
                    CMDR,   32, 
                    IBSY,   1, 
                    IERR,   1, 
                        ,   1, 
                        ,   1, 
                    Offset (0x05), 
                    Offset (0x06), 
                    IERC,   8, 
                    Offset (0x08), 
                    Offset (0x80), 
                    IWB0,   32, 
                    IWB1,   32, 
                    IWB2,   32, 
                    IWB3,   32, 
                    IRB0,   32, 
                    IRB1,   32, 
                    IRB2,   32, 
                    IRB3,   32, 
                    Offset (0x10D0), 
                    RAA0,   1, 
                    RAA1,   1, 
                    RAA2,   1, 
                    RAA3,   1, 
                    RPB0,   1, 
                    RPB1,   1, 
                    RPB2,   1, 
                    RPB3,   1, 
                    RPC0,   1, 
                    RPC1,   1, 
                    RPC2,   1, 
                    RPC3,   1, 
                    RSAT,   1, 
                    RGBE,   1, 
                    RXHC,   1, 
                    RXDC,   1, 
                    RUFS,   1, 
                    RPD0,   1, 
                    RPD1,   1, 
                    RPD2,   1, 
                    RPD3,   1, 
                    RPE0,   1, 
                    RPE1,   1, 
                    RPE2,   1, 
                    RPE3,   1, 
                    Offset (0x10D4), 
                    APA0,   1, 
                    APA1,   1, 
                    APA2,   1, 
                    APA3,   1, 
                    APB0,   1, 
                    APB1,   1, 
                    APB2,   1, 
                    APB3,   1, 
                    APC0,   1, 
                    APC1,   1, 
                    APC2,   1, 
                    APC3,   1, 
                    ASAT,   1, 
                    AGBE,   1, 
                    AXHC,   1, 
                    AXDC,   1, 
                    AUFS,   1, 
                    APD0,   1, 
                    APD1,   1, 
                    APD2,   1, 
                    APD3,   1, 
                    APE0,   1, 
                    APE1,   1, 
                    APE2,   1, 
                    APE3,   1, 
                    Offset (0x1800), 
                    ACWA,   32, 
                    DCWA,   32, 
                    ACET,   32, 
                    DCET,   32, 
                    Offset (0x18E8), 
                        ,   29, 
                    APG3,   1, 
                        ,   1, 
                    CECE,   1, 
                    Offset (0x1B0C), 
                        ,   2, 
                    ISAT,   1, 
                        ,   18, 
                    LTRU,   1, 
                    Offset (0x1B1C), 
                        ,   22, 
                    XSQD,   1, 
                    Offset (0x1BD0), 
                        ,   31, 
                    CPPM,   1, 
                    Offset (0x1E20), 
                    GBED,   1, 
                    Offset (0x1E28), 
                        ,   22, 
                    SCFD,   1
                }

                Method (PG3C, 1, Serialized)
                {
                    If (Arg0)
                    {
                        ADBG ("PG3 Enable")
                        APG3 = One
                    }
                    Else
                    {
                        ADBG ("PG3 Disable")
                        APG3 = Zero
                    }
                }

                Method (PG3T, 0, NotSerialized)
                {
                    If (APG3)
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (PSOC, 1, Serialized)
                {
                    If (PSON)
                    {
                        If (Arg0)
                        {
                            ADBG ("PS_ON Enable")
                            CECE = One
                        }
                        Else
                        {
                            ADBG ("PS_ON Disable")
                            CECE = Zero
                        }
                    }
                }

                Method (PSOS, 0, NotSerialized)
                {
                    If (CECE)
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (CFAE, 1, NotSerialized)
                {
                    If (CondRefOf (CPPE))
                    {
                        If ((CPPE == One))
                        {
                            If (DerefOf (Arg0 [Zero]))
                            {
                                ADBG ("CPPM Forced Alignment Disable")
                                CPPM = Zero
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }
                            Else
                            {
                                ADBG ("CPPM Forced Alignment Enable")
                                CPPM = One
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (SAT0)
            {
                Name (_ADR, 0x00170000)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ^^PPMC.ISAT = Zero
                    ADBG (Concatenate ("SATA PS0 LTR ignore bit status = ", ToHexString (^^PPMC.ISAT)))
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ^^PPMC.ISAT = One
                    ADBG (Concatenate ("SATA PS3 LTR ignore bit status = ", ToHexString (^^PPMC.ISAT)))
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "StorageD3Enable", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((CondRefOf (SATC) && CondRefOf (SATD)))
                    {
                        If (SATC (Arg0))
                        {
                            Return (SATD (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Device (PRT0)
                {
                    Name (_ADR, 0xFFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & One))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT1)
                {
                    Name (_ADR, 0x0001FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x02))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT2)
                {
                    Name (_ADR, 0x0002FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x04))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT3)
                {
                    Name (_ADR, 0x0003FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x08))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT4)
                {
                    Name (_ADR, 0x0004FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x10))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT5)
                {
                    Name (_ADR, 0x0005FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x20))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT6)
                {
                    Name (_ADR, 0x0006FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x40))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Device (PRT7)
                {
                    Name (_ADR, 0x0007FFFF)  // _ADR: Address
                    Method (PRES, 0, NotSerialized)
                    {
                        If ((SPPR & 0x80))
                        {
                            Return (One)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }
            }

            Device (XHCI)
            {
                Name (_ADR, 0x00140000)  // _ADR: Address
                Name (DUWS, Zero)
                Name (PU2C, Zero)
                Name (PU3C, Zero)
                Name (AHWA, One)
                Name (PPID, 0x4F)
                DUWS = \DUWS
                PU2C = ^PU2C /* \_SB_.PC02.PU2C */
                PU3C = ^PU3C /* \_SB_.PC02.PU3C */
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (DUWS))
                    {
                        Return (GPRW (0x6B, DUWS))
                    }
                    Else
                    {
                        Return (GPRW (0x6B, 0x04))
                    }
                }

                OperationRegion (XPRT, PCI_Config, Zero, 0x0100)
                Field (XPRT, AnyAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XADR,   64, 
                    Offset (0xA2), 
                        ,   2, 
                    D3HE,   1
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("XHCI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If ((Arg0 == ToUUID ("203b203b-1f13-409a-9aae-1a0347525584") /* Unknown UUID */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Case (One)
                            {
                                If (CondRefOf (AHWA))
                                {
                                    Return ((AHWA && One))
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                {
                    Return (0x03)
                }

                Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                {
                    Return (Zero)
                }

                Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
                {
                    Return (0x03)
                }

                Method (_S4W, 0, NotSerialized)  // _S4W: S4 Device Wake State
                {
                    Return (Zero)
                }

                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If (CondRefOf (^RHUB.INIR))
                    {
                        ^RHUB.INIR ()
                    }
                }

                Method (USRA, 1, Serialized)
                {
                    Return ((PU2C + Arg0))
                }

                Method (SSPA, 1, Serialized)
                {
                    Return ((PU2C + (0x02 + Arg0)))
                }

                Method (UPRU, 3, NotSerialized)
                {
                    ^^SBPC.PCAO (PPID, Arg0, Arg1, Arg2)
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("XHCI D0")
                    UPRU (Zero, 0xFFFFFFF7, Zero)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("XHCI D3")
                    UPRU (Zero, 0xFFFFFFFF, 0x08)
                    If ((DVID == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    If (CondRefOf (PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (CUID, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                    {
                        ADBG ("XHCI RHUB PS0")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS0X))
                        {
                            ADBG ("XHCI CSD0")
                            CSD0 (0x16)
                            PS0X ()
                        }
                    }

                    Method (_PS2, 0, Serialized)  // _PS2: Power State 2
                    {
                        ADBG ("XHCI RHUB PS2")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS2X))
                        {
                            PS2X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                    {
                        ADBG ("XHCI RHUB PS3")
                        If ((DVID == 0xFFFF))
                        {
                            Return (Zero)
                        }

                        If (CondRefOf (PS3X))
                        {
                            PS3X ()
                            ADBG ("XHCI CSD3")
                            CSD3 (0x16)
                        }
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("XHCI RHUB _DSM")
                        If ((Arg0 == ToUUID ("ce2ee385-00e6-48cb-9f05-2edb927c4899") /* USB Controller */))
                        {
                            If ((Arg2 == Zero))
                            {
                                ADBG ("XHCI RHUB F0")
                                Return (Buffer (One)
                                {
                                     0x81                                             // .
                                })
                            }

                            If ((Arg2 == 0x07))
                            {
                                ADBG ("XHCI RHUB F7")
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If (CondRefOf (PU2C))
                    {
                        If ((One <= PU2C))
                        {
                            Device (HS01)
                            {
                                Name (_ADR, One)  // _ADR: Address
                            }
                        }

                        If ((0x02 <= PU2C))
                        {
                            Device (HS02)
                            {
                                Name (_ADR, 0x02)  // _ADR: Address
                            }
                        }

                        If ((0x03 <= PU2C))
                        {
                            Device (HS03)
                            {
                                Name (_ADR, 0x03)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x03) || (SXP2 == 0x03)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x03 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x04 <= PU2C))
                        {
                            Device (HS04)
                            {
                                Name (_ADR, 0x04)  // _ADR: Address
                            }
                        }

                        If ((0x05 <= PU2C))
                        {
                            Device (HS05)
                            {
                                Name (_ADR, 0x05)  // _ADR: Address
                                If ((CondRefOf (VTCM) && (VTCM == One)))
                                {
                                    If (((SXP1 == 0x05) || (SXP2 == 0x05)))
                                    {
                                        Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                                        {
                                            0xFF, 
                                            0xFF, 
                                            Zero, 
                                            Zero
                                        })
                                        Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                        {
                                            ToPLD (
                                                PLD_Revision           = 0x2,
                                                PLD_IgnoreColor        = 0x1,
                                                PLD_Red                = 0x0,
                                                PLD_Green              = 0x0,
                                                PLD_Blue               = 0x0,
                                                PLD_Width              = 0x0,
                                                PLD_Height             = 0x0,
                                                PLD_UserVisible        = 0x0,
                                                PLD_Dock               = 0x0,
                                                PLD_Lid                = 0x0,
                                                PLD_Panel              = "TOP",
                                                PLD_VerticalPosition   = "UPPER",
                                                PLD_HorizontalPosition = "LEFT",
                                                PLD_Shape              = "ROUND",
                                                PLD_GroupOrientation   = 0x0,
                                                PLD_GroupToken         = 0x1,
                                                PLD_GroupPosition      = 0x1,
                                                PLD_Bay                = 0x0,
                                                PLD_Ejectable          = 0x0,
                                                PLD_EjectRequired      = 0x0,
                                                PLD_CabinetNumber      = 0x0,
                                                PLD_CardCageNumber     = 0x0,
                                                PLD_Reference          = 0x0,
                                                PLD_Rotation           = 0x0,
                                                PLD_Order              = 0x0,
                                                PLD_VerticalOffset     = 0xFFFF,
                                                PLD_HorizontalOffset   = 0xFFFF)

                                        })
                                        Device (CIR)
                                        {
                                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                            {
                                                Return ((0x05 + SXI1))
                                            }

                                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                                            {
                                                ToPLD (
                                                    PLD_Revision           = 0x2,
                                                    PLD_IgnoreColor        = 0x1,
                                                    PLD_Red                = 0x0,
                                                    PLD_Green              = 0x0,
                                                    PLD_Blue               = 0x0,
                                                    PLD_Width              = 0x0,
                                                    PLD_Height             = 0x0,
                                                    PLD_UserVisible        = 0x0,
                                                    PLD_Dock               = 0x0,
                                                    PLD_Lid                = 0x1,
                                                    PLD_Panel              = "FRONT",
                                                    PLD_VerticalPosition   = "UPPER",
                                                    PLD_HorizontalPosition = "CENTER",
                                                    PLD_Shape              = "ROUND",
                                                    PLD_GroupOrientation   = 0x0,
                                                    PLD_GroupToken         = 0x0,
                                                    PLD_GroupPosition      = 0x0,
                                                    PLD_Bay                = 0x0,
                                                    PLD_Ejectable          = 0x0,
                                                    PLD_EjectRequired      = 0x0,
                                                    PLD_CabinetNumber      = 0x0,
                                                    PLD_CardCageNumber     = 0x0,
                                                    PLD_Reference          = 0x0,
                                                    PLD_Rotation           = 0x0,
                                                    PLD_Order              = 0x0,
                                                    PLD_VerticalOffset     = 0xC8,
                                                    PLD_HorizontalOffset   = 0xA0)

                                            })
                                        }
                                    }
                                }
                            }
                        }

                        If ((0x06 <= PU2C))
                        {
                            Device (HS06)
                            {
                                Name (_ADR, 0x06)  // _ADR: Address
                            }
                        }

                        If ((0x07 <= PU2C))
                        {
                            Device (HS07)
                            {
                                Name (_ADR, 0x07)  // _ADR: Address
                            }
                        }

                        If ((0x08 <= PU2C))
                        {
                            Device (HS08)
                            {
                                Name (_ADR, 0x08)  // _ADR: Address
                            }
                        }

                        If ((0x09 <= PU2C))
                        {
                            Device (HS09)
                            {
                                Name (_ADR, 0x09)  // _ADR: Address
                            }
                        }

                        If ((0x0A <= PU2C))
                        {
                            Device (HS10)
                            {
                                Name (_ADR, 0x0A)  // _ADR: Address
                            }
                        }

                        If ((0x0B <= PU2C))
                        {
                            Device (HS11)
                            {
                                Name (_ADR, 0x0B)  // _ADR: Address
                            }
                        }

                        If ((0x0C <= PU2C))
                        {
                            Device (HS12)
                            {
                                Name (_ADR, 0x0C)  // _ADR: Address
                            }
                        }

                        If ((0x0D <= PU2C))
                        {
                            Device (HS13)
                            {
                                Name (_ADR, 0x0D)  // _ADR: Address
                            }
                        }

                        If ((0x0E <= PU2C))
                        {
                            Device (HS14)
                            {
                                Name (_ADR, 0x0E)  // _ADR: Address
                            }
                        }

                        Device (USR1)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (One))
                            }
                        }

                        Device (USR2)
                        {
                            Method (_ADR, 0, NotSerialized)  // _ADR: Address
                            {
                                Return (USRA (0x02))
                            }
                        }
                    }

                    If (CondRefOf (PU3C))
                    {
                        If ((One <= PU3C))
                        {
                            Device (SS01)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (One))
                                }
                            }
                        }

                        If ((0x02 <= PU3C))
                        {
                            Device (SS02)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x02))
                                }
                            }
                        }

                        If ((0x03 <= PU3C))
                        {
                            Device (SS03)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x03))
                                }
                            }
                        }

                        If ((0x04 <= PU3C))
                        {
                            Device (SS04)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x04))
                                }
                            }
                        }

                        If ((0x05 <= PU3C))
                        {
                            Device (SS05)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x05))
                                }
                            }
                        }

                        If ((0x06 <= PU3C))
                        {
                            Device (SS06)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x06))
                                }
                            }
                        }

                        If ((0x07 <= PU3C))
                        {
                            Device (SS07)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x07))
                                }
                            }
                        }

                        If ((0x08 <= PU3C))
                        {
                            Device (SS08)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x08))
                                }
                            }
                        }

                        If ((0x09 <= PU3C))
                        {
                            Device (SS09)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x09))
                                }
                            }
                        }

                        If ((0x0A <= PU3C))
                        {
                            Device (SS10)
                            {
                                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                                {
                                    Return (SSPA (0x0A))
                                }
                            }
                        }
                    }
                }
            }

            Device (GLAN)
            {
                Name (_ADR, 0x001F0006)  // _ADR: Address
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }
            }

            Device (HDAS)
            {
                Name (_ADR, 0x001F0003)  // _ADR: Address
                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("HD-A Ctrlr D0")
                    S023 (Zero, One)
                    If (CondRefOf (\_SB.PC02.HDAS.PS0X))
                    {
                        PS0X ()
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("HD-A Ctrlr D3")
                    S023 (Zero, Zero)
                    If (CondRefOf (\_SB.PC02.HDAS.PS3X))
                    {
                        PS3X ()
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }

                OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
                Field (HDAR, WordAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }

                Name (NBU0, ResourceTemplate ()
                {
                    QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
                        0x0000000000000001, // Granularity
                        0x0000000000000000, // Range Minimum
                        0x0000000000000000, // Range Maximum
                        0x0000000000000000, // Translation Offset
                        0x0000000000000000, // Length
                        ,, _Y3B, AddressRangeACPI, TypeStatic)
                })
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    ADBG ("HDAS _INI")
                    CreateQWordField (NBU0, \_SB.PC02.HDAS._Y3B._MIN, NBA0)  // _MIN: Minimum Base Address
                    CreateQWordField (NBU0, \_SB.PC02.HDAS._Y3B._MAX, NMA0)  // _MAX: Maximum Base Address
                    CreateQWordField (NBU0, \_SB.PC02.HDAS._Y3B._LEN, NLE0)  // _LEN: Length
                    NBA0 = NHAA /* \_SB_.PC02.NHAA */
                    NMA0 = (NHAA + (NHLL - One))
                    NLE0 = NHLL /* \_SB_.PC02.NHLL */
                }

                Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                {
                    ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                    Package (0x01)
                    {
                        Package (0x02)
                        {
                            "nhlt-version", 
                            "1.8-0"
                        }
                    }
                })
                Device (IDA)
                {
                    Name (_ADR, 0x10000000)  // _ADR: Address
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        ADBG ("HDAS _DSM")
                        ADBG (Arg2)
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((Arg0 == ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0xCF                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("_DSM Fun 1 NHLT")
                                    Switch (ToInteger (Arg3))
                                    {
                                        Case (Zero)
                                        {
                                            Return (NBU0) /* \_SB_.PC02.HDAS.NBU0 */
                                        }
                                        Default
                                        {
                                            Return (NBU0) /* \_SB_.PC02.HDAS.NBU0 */
                                        }

                                    }
                                }
                                Case (0x02)
                                {
                                    ADBG ("_DSM Fun 2 FMSK")
                                    Return (ADFM) /* \_SB_.PC02.ADFM */
                                }
                                Case (0x03)
                                {
                                    ADBG ("_DSM Fun 3 PPMS")
                                    If (CondRefOf (\_SB.PC02.HDAS.PPMS))
                                    {
                                        Return (PPMS (Arg3))
                                    }
                                    Else
                                    {
                                        ADBG ("PPMS not found")
                                    }

                                    Return (Zero)
                                }
                                Case (0x06)
                                {
                                    ADBG ("_DSM Fun 6 XCFG")
                                    Return (XTAL) /* \_SB_.PC02.XTAL */
                                }
                                Case (0x07)
                                {
                                    ADBG ("_DSM Fun 7 HDBO")
                                    ADBG (HDBO)
                                    Return (HDBO) /* \_SB_.PC02.HDBO */
                                }
                                Default
                                {
                                    ADBG ("_DSM Fun NOK")
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If (CondRefOf (HIWC))
                        {
                            If (HIWC (Arg0))
                            {
                                If (CondRefOf (HIDW))
                                {
                                    Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                                }
                            }
                        }

                        ADBG ("_DSM UUID NOK")
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }
            }

            Scope (HDAS.IDA)
            {
                Device (SNDW)
                {
                    Name (_ADR, 0x40000000)  // _ADR: Address
                    Name (_CID, Package (0x02)  // _CID: Compatible ID
                    {
                        "PRP00001", 
                        "PNP0A05" /* Generic Container Device */
                    })
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        Return (0x0F)
                    }

                    Method (QCFG, 4, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [Zero]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x04]) [One]
                             = Arg2
                        DerefOf (DerefOf (Arg0 [One]) [0x05]) [One]
                             = Arg3
                    }

                    Method (XCFG, 2, NotSerialized)
                    {
                        If ((Arg1 == 0x016E3600))
                        {
                            ADBG ("XTAL 24MHz")
                            Local0 = 0x016E3600
                            Local1 = Package (0x01)
                                {
                                    0x005B8D80
                                }
                            Local2 = 0x7D
                            Local3 = 0x02
                        }
                        ElseIf ((Arg1 == 0x0249F000))
                        {
                            ADBG ("XTAL 38.4MHz")
                            Local0 = 0x0249F000
                            Local1 = Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        ElseIf ((Arg1 == 0x0124F800))
                        {
                            ADBG ("XTAL 19.2MHz")
                            Local0 = 0x0124F800
                            Local1 = Package (0x01)
                                {
                                    0x00493E00
                                }
                            Local2 = 0x32
                            Local3 = 0x04
                        }
                        Else
                        {
                            ADBG ("XTAL UNSUPPORTED")
                            Local0 = Zero
                            Local1 = Zero
                            Local2 = Zero
                            Local3 = Zero
                        }

                        DerefOf (DerefOf (Arg0 [One]) [One]) [One]
                             = Local0
                        DerefOf (DerefOf (Arg0 [One]) [0x08]) [One]
                             = Local1
                        DerefOf (DerefOf (Arg0 [One]) [0x0A]) [One]
                             = Local2
                        DerefOf (DerefOf (Arg0 [One]) [0x0B]) [One]
                             = Local3
                    }

                    Method (DCFG, 3, NotSerialized)
                    {
                        DerefOf (DerefOf (Arg0 [One]) [0x02]) [One]
                             = Arg1
                        DerefOf (DerefOf (Arg0 [One]) [0x03]) [One]
                             = Arg2
                    }

                    Method (SDWU, 1, NotSerialized)
                    {
                        DerefOf (DerefOf (_DSD [One]) [0x02]) [One]
                             = Arg0
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        ADBG ("SNDW _INI")
                        SDWU (SWMC)
                        QCFG (LNK0, SWQ0, ACS0, SML0)
                        QCFG (LNK1, SWQ1, ACS1, SML1)
                        QCFG (LNK2, SWQ2, ACS2, SML2)
                        QCFG (LNK3, SWQ3, ACS3, SML3)
                        XCFG (LNK0, XTAL)
                        XCFG (LNK1, XTAL)
                        XCFG (LNK2, XTAL)
                        XCFG (LNK3, XTAL)
                        DCFG (LNK0, DAI0, DOD0)
                        DCFG (LNK1, DAI1, DOD0)
                        DCFG (LNK2, DAI2, DOD0)
                        DCFG (LNK3, DAI3, DOD0)
                    }

                    Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x03)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-sw-interface-revision", 
                                0x00010000
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-manager-list", 
                                0x0F
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-master-count", 
                                0x04
                            }
                        }, 

                        ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                        Package (0x04)
                        {
                            Package (0x02)
                            {
                                "mipi-sdw-link-0-subproperties", 
                                "LNK0"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-1-subproperties", 
                                "LNK1"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-2-subproperties", 
                                "LNK2"
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-link-3-subproperties", 
                                "LNK3"
                            }
                        }
                    })
                    Name (LNK0, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK1, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK2, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                    Name (LNK3, Package (0x02)
                    {
                        ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                        Package (0x0E)
                        {
                            Package (0x02)
                            {
                                "intel-quirk-mask", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-ip-clock", 
                                0x0249F000
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-doais", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-dods", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "intel-autonomous-clock-stop", 
                                Zero
                            }, 

                            Package (0x02)
                            {
                                "intel-sdw-lane-mask", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode0-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-stop-mode1-supported", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-clock-frequencies-supported", 
                                Package (0x02)
                                {
                                    0x00493E00, 
                                    0x00927C00
                                }
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-rate", 
                                0xBB80
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-row-size", 
                                0x32
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-default-frame-col-size", 
                                0x04
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-dynamic-frame-shape", 
                                One
                            }, 

                            Package (0x02)
                            {
                                "mipi-sdw-command-error-threshold", 
                                0x10
                            }
                        }
                    })
                }

                If ((UAOE != Zero))
                {
                    Device (UAOL)
                    {
                        Name (_ADR, 0x50000000)  // _ADR: Address
                        Name (_CID, Package (0x02)  // _CID: Compatible ID
                        {
                            "PRP00001", 
                            "PNP0A05" /* Generic Container Device */
                        })
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            Return (0x0B)
                        }

                        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                        {
                            ADBG ("UAOL _DSM")
                            If ((Arg0 == ToUUID ("2e60aefc-1ba8-467a-b8cc-5727b98cecb7") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x03                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        Return (CFAE (Arg3))
                                    }

                                }
                            }

                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "uaol-ctrl-count", 
                                    0x02
                                }
                            }, 

                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            Package (0x02)
                            {
                                Package (0x02)
                                {
                                    "uaol-descriptor-0", 
                                    "UAO0"
                                }, 

                                Package (0x02)
                                {
                                    "uaol-descriptor-1", 
                                    "UAO1"
                                }
                            }
                        })
                        Name (UAO0, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0x98ED
                                }
                            }
                        })
                        Name (UAO1, Package (0x02)
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            Package (0x03)
                            {
                                Package (0x02)
                                {
                                    "uaol-instance-number", 
                                    One
                                }, 

                                Package (0x02)
                                {
                                    "bdf-routing-enabled", 
                                    Zero
                                }, 

                                Package (0x02)
                                {
                                    "peer-integrated-controller-identifier", 
                                    0xABCD
                                }
                            }
                        })
                    }
                }
            }

            Scope (RP01)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, One)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR1 /* \LTR1 */
                    LMSL = PML1 /* \_SB_.PC02.PML1 */
                    LNSL = PNL1 /* \_SB_.PC02.PNL1 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & One) != Zero)))
                        {
                            ADBG ("PCH RP01 (129/28/0) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP01))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP01.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP01._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP01.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP02)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x02)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR2 /* \LTR2 */
                    LMSL = PML2 /* \_SB_.PC02.PML2 */
                    LNSL = PNL2 /* \_SB_.PC02.PNL2 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x02) != Zero)))
                        {
                            ADBG ("PCH RP02 (129/28/1) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP02))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP02.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP02._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP02.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP03)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x03)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR3 /* \LTR3 */
                    LMSL = PML3 /* \_SB_.PC02.PML3 */
                    LNSL = PNL3 /* \_SB_.PC02.PNL3 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x04) != Zero)))
                        {
                            ADBG ("PCH RP03 (129/28/2) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP03))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP03.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP03._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP03.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP04)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x04)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR4 /* \LTR4 */
                    LMSL = PML4 /* \_SB_.PC02.PML4 */
                    LNSL = PNL4 /* \_SB_.PC02.PNL4 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x08) != Zero)))
                        {
                            ADBG ("PCH RP04 (129/28/3) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP04))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP04.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP04._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP04.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP05)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x05)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR5 /* \LTR5 */
                    LMSL = PML5 /* \_SB_.PC02.PML5 */
                    LNSL = PNL4 /* \_SB_.PC02.PNL4 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x10) != Zero)))
                        {
                            ADBG ("PCH RP05 (129/28/4) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP05))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP05.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP05._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP05.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP06)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x06)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR6 /* \LTR6 */
                    LMSL = PML6 /* \_SB_.PC02.PML6 */
                    LNSL = PNL6 /* \_SB_.PC02.PNL6 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x20) != Zero)))
                        {
                            ADBG ("PCH RP06 (129/28/5) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP06))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP06.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Sleep (One)
                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, One)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP06._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP06.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, 0x04))
                    }

                    Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
                    {
                        If ((PAHC () || PNVM ()))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP07)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x07)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR7 /* \LTR7 */
                    LMSL = PML7 /* \_SB_.PC02.PML7 */
                    LNSL = PNL7 /* \_SB_.PC02.PNL7 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x40) != Zero)))
                        {
                            ADBG ("PCH RP07 (129/28/6) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP07))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP07.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP07._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP07.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        If ((WOL5 == Zero))
                        {
                            Return (GPRW (0x69, Zero))
                        }
                        Else
                        {
                            Return (GPRW (0x69, 0x04))
                        }
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP08)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x08)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR8 /* \LTR8 */
                    LMSL = PML8 /* \_SB_.PC02.PML8 */
                    LNSL = PNL8 /* \_SB_.PC02.PNL8 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x80) != Zero)))
                        {
                            ADBG ("PCH RP08 (129/28/7) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP08))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP08.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP08._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP08.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP09)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x09)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTR9 /* \LTR9 */
                    LMSL = PML9 /* \_SB_.PC02.PML9 */
                    LNSL = PNL9 /* \_SB_.PC02.PNL9 */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0100) != Zero)))
                        {
                            ADBG ("PCH RP09 (129/29/0) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP09))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP09.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP09._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP09.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP10)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x0A)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRA /* \LTRA */
                    LMSL = PMLA /* \_SB_.PC02.PMLA */
                    LNSL = PNLA /* \_SB_.PC02.PNLA */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0200) != Zero)))
                        {
                            ADBG ("PCH RP10 (129/29/1) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP10))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP10.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP10._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP10.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP11)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x0B)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRB /* \LTRB */
                    LMSL = PMLB /* \_SB_.PC02.PMLB */
                    LNSL = PNLB /* \_SB_.PC02.PNLB */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0400) != Zero)))
                        {
                            ADBG ("PCH RP11 (129/29/2) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP11))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP11.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP11._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP11.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP12)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x0C)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRC /* \LTRC */
                    LMSL = PMLC /* \_SB_.PC02.PMLC */
                    LNSL = PNLC /* \_SB_.PC02.PNLC */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x0800) != Zero)))
                        {
                            ADBG ("PCH RP12 (129/29/3) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP12))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP12.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP12._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP12.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP13)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x0D)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRD /* \LTRD */
                    LMSL = PMLD /* \_SB_.PC02.PMLD */
                    LNSL = PNLD /* \_SB_.PC02.PNLD */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x1000) != Zero)))
                        {
                            ADBG ("PCH RP13 (129/29/4) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP13))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP13.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP13._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP13.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP14)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x0E)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRE /* \LTRE */
                    LMSL = PMLE /* \_SB_.PC02.PMLE */
                    LNSL = PNLE /* \_SB_.PC02.PNLE */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x2000) != Zero)))
                        {
                            ADBG ("PCH RP14 (129/29/5) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP14))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP14.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP14._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP14.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP15)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x0F)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRF /* \LTRF */
                    LMSL = PMLF /* \_SB_.PC02.PMLF */
                    LNSL = PNLF /* \_SB_.PC02.PNLF */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x4000) != Zero)))
                        {
                            ADBG ("PCH RP15 (129/29/6) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP15))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP15.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP15._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP15.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP16)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x10)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRG /* \LTRG */
                    LMSL = PMLG /* \_SB_.PC02.PMLG */
                    LNSL = PNLG /* \_SB_.PC02.PNLG */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x8000) != Zero)))
                        {
                            ADBG ("PCH RP16 (129/29/7) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP16))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP16.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP16._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP16.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP17)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x11)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRH /* \LTRH */
                    LMSL = PMLH /* \_SB_.PC02.PMLH */
                    LNSL = PNLH /* \_SB_.PC02.PNLH */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00010000) != Zero)))
                        {
                            ADBG ("PCH RP17 (129/27/0) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP17))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP17.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP17._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP17.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP18)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x12)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRI /* \LTRI */
                    LMSL = PMLI /* \_SB_.PC02.PMLI */
                    LNSL = PNLI /* \_SB_.PC02.PNLI */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00020000) != Zero)))
                        {
                            ADBG ("PCH RP18 (129/27/1) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP18))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP18.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP18._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP18.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP19)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x13)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRJ /* \LTRJ */
                    LMSL = PMLJ /* \_SB_.PC02.PMLJ */
                    LNSL = PNLJ /* \_SB_.PC02.PNLJ */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00040000) != Zero)))
                        {
                            ADBG ("PCH RP19 (129/27/2) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP19))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP19.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP19._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP19.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP20)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x14)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRK /* \LTRK */
                    LMSL = PMLK /* \_SB_.PC02.PMLK */
                    LNSL = PNLK /* \_SB_.PC02.PNLK */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00080000) != Zero)))
                        {
                            ADBG ("RP20 (129/29/3) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP20))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP20.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP20._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP20.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP21)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x15)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRL /* \LTRL */
                    LMSL = PMLL /* \_SB_.PC02.PMLL */
                    LNSL = PNLL /* \_SB_.PC02.PNLL */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00100000) != Zero)))
                        {
                            ADBG ("RP21 (129/27/4) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP21))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP21.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP21._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP21.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP22)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x16)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRM /* \LTRM */
                    LMSL = PMLM /* \_SB_.PC02.PMLM */
                    LNSL = PNLM /* \_SB_.PC02.PNLM */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00200000) != Zero)))
                        {
                            ADBG ("PCH RP22 (129/27/5) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP22))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP22.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP22._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP22.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP23)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x17)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRN /* \LTRN */
                    LMSL = PMLN /* \_SB_.PC02.PMLN */
                    LNSL = PNLN /* \_SB_.PC02.PNLN */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00400000) != Zero)))
                        {
                            ADBG ("PCH RP23 (129/27/6) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP23))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP23.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP23._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP23.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Scope (RP24)
            {
                Name (PBNU, Zero)
                PBNU = PBSB /* External reference */
                Name (SLOT, 0x18)
                Name (PRTP, 0x02)
                Name (LTEN, Zero)
                Name (LMSL, Zero)
                Name (LNSL, Zero)
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    LTEN = LTRO /* \LTRO */
                    LMSL = PMLO /* \_SB_.PC02.PMLO */
                    LNSL = PNLO /* \_SB_.PC02.PNLO */
                    If ((CondRefOf (VMPP) && CondRefOf (VMDE)))
                    {
                        If (((VMDE == One) && ((VMPP & 0x00800000) != Zero)))
                        {
                            ADBG ("RP24 (129/27/7) is mapped under VMD")
                            PRMV = One
                        }
                    }

                    If (PRES ())
                    {
                        If (CondRefOf (PINI))
                        {
                            PINI ()
                        }
                    }

                    If (CondRefOf (\_SB.PC02.RP24))
                    {
                        If ((VDID != 0xFFFFFFFF))
                        {
                            If (CondRefOf (\STD3))
                            {
                                If (CondRefOf (\_SB.PC02.RP24.PRMV))
                                {
                                    If ((PRMV == One))
                                    {
                                        ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                        RD3C = STD3 /* \STD3 */
                                    }
                                }

                                If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                                {
                                    ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }
                        }
                    }
                }

                OperationRegion (PXCS, SystemMemory, ^^PC00.PC2M (_ADR, PBNU), 0x0480)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                    VDID,   32, 
                    Offset (0x50), 
                    L0SE,   1, 
                        ,   3, 
                    LDIS,   1, 
                    Offset (0x51), 
                    Offset (0x52), 
                        ,   13, 
                    LASX,   1, 
                    Offset (0x5A), 
                    ABPX,   1, 
                        ,   2, 
                    PDCX,   1, 
                        ,   2, 
                    PDSX,   1, 
                    Offset (0x5B), 
                    Offset (0x60), 
                    Offset (0x62), 
                    PSPX,   1, 
                    Offset (0x68), 
                        ,   10, 
                    LNRE,   1, 
                    Offset (0xA4), 
                    D3HT,   2, 
                    Offset (0xD8), 
                        ,   30, 
                    HPEX,   1, 
                    PMEX,   1, 
                    Offset (0xE0), 
                    SCB0,   1, 
                        ,   6, 
                    NCB7,   1, 
                    Offset (0xE2), 
                        ,   2, 
                    L23E,   1, 
                    L23R,   1, 
                    Offset (0x328), 
                    Offset (0x32B), 
                    LTSM,   8, 
                    Offset (0x404), 
                    LSOE,   1, 
                    LNSE,   1
                }

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
                {
                    Offset (0xDC), 
                        ,   30, 
                    HPSX,   1, 
                    PMSX,   1
                }

                Method (L23D, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                    If ((SCB0 != One))
                    {
                        ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                        Return (Zero)
                    }

                    L23R = One
                    Local0 = Zero
                    While (L23R)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    SCB0 = Zero
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x08))
                        {
                            ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                }

                Method (DL23, 0, Serialized)
                {
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                    If (((LASX == One) && (LNRE == Zero)))
                    {
                        If (((LSOE == One) || (LNSE == One)))
                        {
                            LNRE = One
                            Local0 = Zero
                            Local1 = 0xA0
                            While ((Local0 < Local1))
                            {
                                Local0 += One
                                Stall (0x64)
                            }

                            LNRE = Zero
                            ADBG ("Toggle LNRE")
                        }
                    }

                    L23E = One
                    Sleep (0x10)
                    Local0 = Zero
                    While (L23E)
                    {
                        If ((Local0 > 0x04))
                        {
                            ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                            Break
                        }

                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        Local0++
                    }

                    ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                    SCB0 = One
                    ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
                }

                Name (LTRV, Package (0x04)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (PRMV, Zero)
                Name (RD3C, 0x02)
                Method (PRES, 0, NotSerialized)
                {
                    If ((VDID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (OPTS, Buffer (0x02)
                                {
                                     0x00, 0x00                                       // ..
                                })
                                CreateBitField (OPTS, Zero, FUN0)
                                CreateBitField (OPTS, 0x06, FUN6)
                                CreateBitField (OPTS, 0x08, FUN8)
                                CreateBitField (OPTS, 0x09, FUN9)
                                CreateBitField (OPTS, 0x0A, FUNA)
                                CreateBitField (OPTS, 0x0B, FUNB)
                                If ((Arg1 >= 0x02))
                                {
                                    FUN0 = One
                                    If ((LTEN != Zero))
                                    {
                                        FUN6 = One
                                    }

                                    If (CondRefOf (ECR1))
                                    {
                                        If ((ECR1 == One))
                                        {
                                            If ((Arg1 >= 0x03))
                                            {
                                                FUN8 = One
                                                FUN9 = One
                                            }
                                        }
                                    }
                                }

                                If ((Arg1 >= 0x04))
                                {
                                    If (CondRefOf (PPBA))
                                    {
                                        FUNA = One
                                    }

                                    If (CondRefOf (UPRD))
                                    {
                                        FUNB = One
                                    }
                                }

                                ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                                Return (OPTS) /* \_SB_.PC02.RP24._DSM.OPTS */
                            }
                            Case (0x06)
                            {
                                If ((Arg1 >= 0x02))
                                {
                                    LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                    LTRV [One] = (LMSL & 0x03FF)
                                    LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                    LTRV [0x03] = (LNSL & 0x03FF)
                                    Return (LTRV) /* \_SB_.PC02.RP24.LTRV */
                                }
                            }
                            Case (0x08)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (One)
                                        }
                                    }
                                }
                            }
                            Case (0x09)
                            {
                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            Return (Package (0x05)
                                            {
                                                0xC350, 
                                                Ones, 
                                                Ones, 
                                                0xC350, 
                                                Ones
                                            })
                                        }
                                    }
                                }
                            }
                            Case (0x0A)
                            {
                                If (CondRefOf (PPBA))
                                {
                                    Return (PPBA (Arg3))
                                }
                            }
                            Case (0x0B)
                            {
                                If (CondRefOf (UPRD))
                                {
                                    Return (UPRD (Arg3))
                                }
                            }

                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Device (PXSX)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                    Field (PCCX, ByteAcc, NoLock, Preserve)
                    {
                        DVID,   32, 
                        Offset (0x09), 
                        PIXX,   8, 
                        SCCX,   8, 
                        BCCX,   8
                    }

                    Method (PAHC, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x06))
                            {
                                If ((PIXX == One))
                                {
                                    ADBG ("PSSD AHCI")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PNVM, 0, Serialized)
                    {
                        If ((BCCX == One))
                        {
                            If ((SCCX == 0x08))
                            {
                                If ((PIXX == 0x02))
                                {
                                    ADBG ("PSSD NVMe")
                                    Return (One)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    Method (PRES, 0, Serialized)
                    {
                        If ((DVID == 0xFFFFFFFF))
                        {
                            Return (Zero)
                        }
                        Else
                        {
                            Return (One)
                        }
                    }

                    Method (ISGX, 0, Serialized)
                    {
                        If ((BCCX == 0x03))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                    If (CondRefOf (\STD3))
                    {
                        If ((STD3 != Zero))
                        {
                            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                            {
                                If ((PAHC () || PNVM ()))
                                {
                                    ADBG ("NVMe D3 Support Enable for Child Device")
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                One
                                            }
                                        }
                                    })
                                }
                                Else
                                {
                                    Return (Package (0x02)
                                    {
                                        ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                        Package (0x01)
                                        {
                                            Package (0x02)
                                            {
                                                "StorageD3Enable", 
                                                Zero
                                            }
                                        }
                                    })
                                }
                            }
                        }
                    }

                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                        If (CondRefOf (GP1E))
                        {
                            If ((GP1E != Zero))
                            {
                                Return (GPRW (0x6B, 0x04))
                            }
                        }

                        Return (GPRW (0x69, Zero))
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS0))
                    {
                        ADBG ("Calling Platform PCIE RP PS0 Hook")
                        PPS0 ()
                        ADBG ("Returned from Platform PCIE RP PS0 Hook")
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (PPS3))
                    {
                        ADBG ("Calling Platform PCIE RP PS3 Hook")
                        PPS3 ()
                        ADBG ("Returned from Platform PCIE RP PS3 Hook")
                    }
                }

                Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                {
                    ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (ADSD))
                    {
                        ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                        Return (ADSD ())
                    }

                    If (CondRefOf (PINI))
                    {
                        Return (Package (0x04)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }, 

                            ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                            Package (0x00){}
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (HPME, 0, Serialized)
                {
                    If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                    {
                        Notify (PXSX, 0x02) // Device Wake
                        PMSX = One
                        PSPX = One
                    }
                }
            }

            Device (XDCI)
            {
                Name (_ADR, 0x00140001)  // _ADR: Address
                OperationRegion (OTGD, PCI_Config, Zero, 0x0100)
                Field (OTGD, DWordAcc, NoLock, Preserve)
                {
                    DVID,   16, 
                    Offset (0x10), 
                    XDCB,   64
                }

                Field (OTGD, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x84), 
                    D0I3,   2
                }

                Method (XDBA, 0, NotSerialized)
                {
                    Return ((XDCB & 0xFFFFFFFFFFFFFF00))
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    ADBG ("XDCI DSM")
                    If ((Arg0 == ToUUID ("732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511") /* Unknown UUID */))
                    {
                        If ((Arg1 == One))
                        {
                            Method (SPPS, 2, Serialized)
                            {
                                OperationRegion (XDBW, SystemMemory, XDBA (), 0x00110000)
                                Field (XDBW, WordAcc, NoLock, Preserve)
                                {
                                    Offset (0x10F810), 
                                    Offset (0x10F811), 
                                    U2CP,   2, 
                                    U3CP,   2, 
                                    Offset (0x10F818), 
                                    PUPS,   2, 
                                        ,   1, 
                                    PURC,   1, 
                                    Offset (0x10F81A), 
                                    Offset (0x10F81C), 
                                        ,   3, 
                                    UXPE,   2, 
                                    Offset (0x10F81E)
                                }

                                Local1 = Arg0
                                Local2 = Arg1
                                If ((Local1 == Zero))
                                {
                                    ADBG ("PMU D0")
                                    UXPE = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x0A))
                                    {
                                        Stall (0x64)
                                        Local0++
                                    }

                                    PUPS = Zero
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == Zero) && (U3CP == Zero)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    Return (Zero)
                                }

                                If ((Local1 == 0x03))
                                {
                                    ADBG ("PMU D3")
                                    If ((U2CP != Zero))
                                    {
                                        ADBG ("U2 not in D0")
                                    }

                                    If ((U3CP != Zero))
                                    {
                                        ADBG ("U3 not in D0")
                                    }

                                    PUPS = 0x03
                                    Local0 = Zero
                                    While ((Local0 < 0x07D0))
                                    {
                                        Stall (0x64)
                                        If (((U2CP == 0x03) && (U3CP == 0x03)))
                                        {
                                            Break
                                        }

                                        Local0++
                                    }

                                    If ((U2CP != 0x03))
                                    {
                                        ADBG ("U2 not in D3")
                                    }

                                    If ((U3CP != 0x03))
                                    {
                                        ADBG ("U3 not in D3")
                                    }

                                    UXPE = Local2
                                    Return (Zero)
                                }

                                Return (Zero)
                            }

                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    ADBG ("XDCI Fn0")
                                    Return (Buffer (0x02)
                                    {
                                         0xB3, 0x03                                       // ..
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("XDCI Fn1")
                                    Return (One)
                                }
                                Case (0x04)
                                {
                                    ADBG ("XDCI Fn4")
                                    Local1 = DerefOf (Arg3 [Zero])
                                    ADBG (Local1)
                                    SPPS (Local1, Zero)
                                }
                                Case (0x05)
                                {
                                    ADBG ("XDCI Fn5")
                                    If (CondRefOf (XDAT))
                                    {
                                        If ((XDAT () == One))
                                        {
                                            ADBG ("USB Attach")
                                            Notify (^^^PC00.XDCI, 0x80) // Status Change
                                        }
                                        Else
                                        {
                                            ADBG ("USB Detach")
                                            Notify (^^^PC00.XDCI, 0x81) // Information Change
                                        }
                                    }

                                    Return (Zero)
                                }
                                Case (0x07)
                                {
                                    ADBG ("XDCI Fn7")
                                    OperationRegion (XD22, SystemMemory, XDBA (), 0x00110000)
                                    Field (XD22, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0x10F818), 
                                        P2PS,   2, 
                                        Offset (0x10F81A)
                                    }

                                    Local0 = P2PS /* \_SB_.PC02.XDCI._DSM.P2PS */
                                    Return (Local0)
                                }
                                Case (0x08)
                                {
                                    ADBG ("XDCI Fn8")
                                    Return (One)
                                }
                                Case (0x09)
                                {
                                    ADBG ("XDCI Fn9")
                                    OperationRegion (XGCT, SystemMemory, XDBA (), 0x00110000)
                                    Field (XGCT, WordAcc, NoLock, Preserve)
                                    {
                                        Offset (0xC110), 
                                        GCTL,   32
                                    }

                                    Local1 = (PPDS & 0xFFF80000)
                                    Local1 >>= 0x13
                                    ADBG (Concatenate ("PCH XDCI: Func9 Return Val = ", ToHexString (Local1)))
                                    Return (Local1)
                                }

                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Name (_DDN, "PCH XDCI controller")  // _DDN: DOS Device Name
                Name (_STR, Unicode ("PCH XDCI controller"))  // _STR: Description String
                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0x8C, 0x04))
                        }
                    }

                    Return (GPRW (0x6D, 0x04))
                }

                Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                {
                }
            }

            Device (HECI)
            {
                Name (_ADR, 0x00160000)  // _ADR: Address
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    ADBG ("HECI _DSM")
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (CondRefOf (HIWC))
                    {
                        If (HIWC (Arg0))
                        {
                            If (CondRefOf (HIDW))
                            {
                                Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (HEC3)
            {
                Name (_ADR, 0x00160004)  // _ADR: Address
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Method (SOD3, 3, Serialized)
            {
                OperationRegion (ICB1, SystemMemory, (^^PC00.GPCB () + Arg0), 0x88)
                If (Arg1)
                {
                    Field (ICB1, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x84), 
                        PMEC,   8
                    }

                    PMEC = 0x03
                    PMEC |= Zero
                }

                If ((Arg1 && Arg2))
                {
                    Field (ICB1, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    BAR0 = Zero
                }
            }

            Device (I2C0)
            {
                If ((IM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150000)
                }
            }

            Device (I2C1)
            {
                If ((IM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150001)
                }
            }

            Device (I2C2)
            {
                If ((IM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150002)
                }
            }

            Device (I2C3)
            {
                If ((IM03 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00150003)
                }
            }

            Device (I2C4)
            {
                If ((IM04 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC04, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190000)
                }
            }

            Device (I2C5)
            {
                If ((IM05 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (IC05, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00190001)
                }
            }

            Device (I3C0)
            {
                Name (_ADR, 0x00150004)  // _ADR: Address
                Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                {
                    Return (0x03)
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x6B, 0x04))
                }
            }

            Device (SPI0)
            {
                If ((SM00 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0002)
                }
            }

            Device (SPI1)
            {
                If ((SM01 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x001E0003)
                }
            }

            Device (SPI2)
            {
                If ((SM02 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00120006)
                }
            }

            Device (SPI3)
            {
                If ((SM03 == One))
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (SC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }

                Method (_ADR, 0, NotSerialized)  // _ADR: Address
                {
                    Return (0x00130000)
                }
            }

            Method (UDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f7af8347-a966-49fe-9022-7a9deeebdb27") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (UDMA, 2, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (Buffer (0x08)
                        {
                             0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                        })
                    }
                    Case (One)
                    {
                        Return (ToInteger (Arg1))
                    }

                }

                Return (Buffer (0x08)
                {
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                })
            }

            Device (ISHD)
            {
                Name (_ADR, 0x00120000)  // _ADR: Address
            }

            Device (SBUS)
            {
                Name (_ADR, 0x001F0004)  // _ADR: Address
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (PCIC (Arg0))
                    {
                        Return (PCID (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        If ((\_SB.PC02.UM00 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA00)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD00))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x001E0000)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC00, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM00 == 0x02) || (PC02.UM00 == 0x03)))
            {
                Device (PUA0)
                {
                    Name (_DDN, "MtlPchSerialIoUart0")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart0")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM00))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC00, ^^PC02.UI00))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y3C)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y3D)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA0.UARH._Y3C._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA0.UARH._Y3D._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM00 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA0.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA0.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA0.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA0.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA0.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA0.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM00 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC00))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP00, ^^PC02.UC00)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP00, ^^PC02.UC00)
                        }
                    }
                }
            }
        }

        If ((\_SB.PC02.UM01 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA01)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD01))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x001E0001)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC01, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM01 == 0x02) || (PC02.UM01 == 0x03)))
            {
                Device (PUA1)
                {
                    Name (_DDN, "MtlPchSerialIoUart1")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart1")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM01))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC01, ^^PC02.UI01))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y3E)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y3F)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA1.UARH._Y3E._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA1.UARH._Y3F._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM01 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA1.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA1.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA1.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA1.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA1.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA1.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM01 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC01))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP01, ^^PC02.UC01)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP01, ^^PC02.UC01)
                        }
                    }
                }
            }
        }

        If ((\_SB.PC02.UM02 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA02)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD02))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x00190002)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC02, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM02 == 0x02) || (PC02.UM02 == 0x03)))
            {
                Device (PUA2)
                {
                    Name (_DDN, "MtlPchSerialIoUart2")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart2")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM02))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC02, ^^PC02.UI02))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y40)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y41)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA2.UARH._Y40._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA2.UARH._Y41._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM02 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA2.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA2.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA2.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA2.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA2.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA2.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM02 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC02))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP02, ^^PC02.UC02)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP02, ^^PC02.UC02)
                        }
                    }
                }
            }
        }

        If ((\_SB.PC02.UM03 == One))
        {
            Scope (_SB.PC02)
            {
                Device (UA03)
                {
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (UDSM (Arg0))
                        {
                            Return (UDMA (Arg2, UD03))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (0x00130001)
                    }

                    Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                    {
                        SOD3 (UC03, One, One)
                    }

                    Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                    {
                    }
                }
            }
        }

        Scope (_SB)
        {
            If (((PC02.UM03 == 0x02) || (PC02.UM03 == 0x03)))
            {
                Device (PUA3)
                {
                    Name (_DDN, "MtlPchSerialIoUart3")  // _DDN: DOS Device Name
                    Name (_UID, "MtlPchSerialIoUart3")  // _UID: Unique ID
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return (UHID (^^PC02.UM03))
                    }

                    Method (UHID, 1, Serialized)
                    {
                        If ((Arg0 == 0x03))
                        {
                            Return (0x0105D041)
                        }

                        Return (0x020CD041)
                    }

                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (UARH (^^PC02.UC03, ^^PC02.UI03))
                    }

                    Method (UARH, 2, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, Arg0, 0x18)
                        Field (UACF, AnyAcc, NoLock, Preserve)
                        {
                            Offset (0x10), 
                            BAR0,   64
                        }

                        Name (BUF0, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadWrite,
                                0x00000000,         // Address Base
                                0x00000008,         // Address Length
                                _Y42)
                        })
                        Name (IBUF, ResourceTemplate ()
                        {
                            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y43)
                            {
                                0x00000014,
                            }
                        })
                        CreateDWordField (BUF0, \_SB.PUA3.UARH._Y42._BAS, ADR0)  // _BAS: Base Address
                        CreateDWordField (IBUF, \_SB.PUA3.UARH._Y43._INT, IRQN)  // _INT: Interrupts
                        Local0 = (BAR0 & 0xFFFFFFFFFFFFF000)
                        ADR0 = Local0
                        IRQN = Arg1
                        ConcatenateResTemplate (BUF0, IBUF, Local1)
                        Return (Local1)
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((^^PC02.UM03 == 0x03))
                        {
                            Return (0x0F)
                        }

                        Return (0x08)
                    }

                    Method (UPS3, 2, Serialized)
                    {
                        Name (REGS, Package (0x08)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            Local1 = LCR /* \_SB_.PUA3.UPS3.LCR_ */
                            LCR |= 0x80
                            REGS [Zero] = DLL /* \_SB_.PUA3.UPS3.DLL_ */
                            REGS [One] = DLH /* \_SB_.PUA3.UPS3.DLH_ */
                            LCR = Local1
                            REGS [0x02] = FCR /* \_SB_.PUA3.UPS3.FCR_ */
                            REGS [0x03] = Local1
                            REGS [0x04] = MCR /* \_SB_.PUA3.UPS3.MCR_ */
                            REGS [0x05] = PCLK /* \_SB_.PUA3.UPS3.PCLK */
                            If (((DerefOf (REGS [0x05]) != Zero) && (
                                DerefOf (REGS [0x05]) != 0xFFFFFFFF)))
                            {
                                URSA ((BAR0 & 0xFFFFFFFFFFFFF000), REGS)
                            }

                            PPRR = Zero
                            PPRR |= Zero
                            PMEC = 0x03
                            PMEC |= Zero
                        }
                    }

                    Method (UPS0, 2, Serialized)
                    {
                        If ((Arg0 == One))
                        {
                            OperationRegion (UACF, SystemMemory, Arg1, 0x88)
                            Field (UACF, AnyAcc, NoLock, Preserve)
                            {
                                Offset (0x10), 
                                BAR0,   64
                            }

                            Field (UACF, ByteAcc, NoLock, Preserve)
                            {
                                Offset (0x84), 
                                PMEC,   8
                            }

                            OperationRegion (UAB0, SystemMemory, (BAR0 & 0xFFFFFFFFFFFFF000), 0x85)
                            Field (UAB0, ByteAcc, Lock, Preserve)
                            {
                                DLL,    8, 
                                DLH,    8, 
                                FCR,    8, 
                                LCR,    8, 
                                MCR,    8, 
                                Offset (0x81), 
                                PPRR,   8
                            }

                            Field (UAB0, DWordAcc, NoLock, Preserve)
                            {
                                Offset (0x80), 
                                PCLK,   32
                            }

                            PMEC = Zero
                            PMEC |= Zero
                            PPRR = 0x07
                            Local0 = URRS ((BAR0 & 0xFFFFFFFFFFFFF000))
                            If (((DerefOf (Local0 [0x05]) != Zero) && (
                                DerefOf (Local0 [0x05]) != 0xFFFFFFFF)))
                            {
                                LCR |= 0x80
                                DLL = DerefOf (Local0 [Zero])
                                DLH = DerefOf (Local0 [One])
                                LCR = DerefOf (Local0 [0x03])
                                FCR = DerefOf (Local0 [0x02])
                                MCR = DerefOf (Local0 [0x04])
                                Local2 = (DerefOf (Local0 [0x05]) | 0x80000001)
                                PCLK = Local2
                                Local2 = (DerefOf (Local0 [0x05]) | One)
                                PCLK = Local2
                            }
                        }
                    }

                    Method (UPSC, 1, Serialized)
                    {
                        OperationRegion (UACF, SystemMemory, (Arg0 + 0x84), 0x04)
                        Field (UACF, ByteAcc, NoLock, Preserve)
                        {
                            PMEC,   8
                        }

                        Return ((PMEC & 0x03))
                    }

                    If ((^PC02.UM03 == 0x03))
                    {
                        Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
                        {
                            Return (UPSC (^^PC02.UC03))
                        }

                        Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
                        {
                            UPS3 (^^PC02.UP03, ^^PC02.UC03)
                        }

                        Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
                        {
                            UPS0 (^^PC02.UP03, ^^PC02.UC03)
                        }
                    }
                }
            }
        }

        Scope (_SB.PC02)
        {
            If ((CRFP == One))
            {
                If ((CWFC == One))
                {
                    Device (CNVW)
                    {
                        Name (_ADR, 0x00140003)  // _ADR: Address
                        Name (PU2C, Zero)
                        PU2C = ^PU2C /* \_SB_.PC02.PU2C */
                        Method (BASE, 0, NotSerialized)
                        {
                            Local0 = ^^^PC00.PC2M (_ADR, PBSB)
                            Return (Local0)
                        }

                        Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                        {
                            ADBG ("CNVW Ctrlr D0")
                        }

                        Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                        {
                            ADBG ("CNVW Ctrlr D3")
                        }

                        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                        {
                            Return (GPRW (0x6B, 0x04))
                        }

                        Name (ADEL, Zero)
                        If ((ARLM == One))
                        {
                            ADEL = 0x32
                        }
                        Else
                        {
                            ADEL = 0x0A
                        }

                        Name (RSTT, Zero)
                        Name (PRRS, Zero)
                        OperationRegion (CWAR, SystemMemory, BASE (), 0x0100)
                        Field (CWAR, WordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x44), 
                                ,   28, 
                            WFLR,   1, 
                            Offset (0x48), 
                                ,   15, 
                            WIFR,   1
                        }

                        Method (_S0W, 0, NotSerialized)  // _S0W: S0 Device Wake State
                        {
                            Return (0x03)
                        }

                        Method (_DSW, 3, NotSerialized)  // _DSW: Device Sleep Wake
                        {
                        }

                        PowerResource (WRST, 0x05, 0x0000)
                        {
                            Method (_STA, 0, NotSerialized)  // _STA: Status
                            {
                                Return (One)
                            }

                            Method (_ON, 0, NotSerialized)  // _ON_: Power On
                            {
                            }

                            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                            {
                            }

                            Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                            {
                                Local0 = Acquire (CNMT, 0x03E8)
                                If ((Local0 == Zero))
                                {
                                    CFLR ()
                                    PRRS = One
                                    If ((CondRefOf (RSTT) && (RSTT == One)))
                                    {
                                        ADBG ("WiFi Product Reset")
                                        ADBG (Concatenate ("PID of CNVi = ", ToHexString (PCNV)))
                                        Local5 = ^^^SBPC.PCRR (PCNV, 0x44)
                                        ADBG (Concatenate ("Register PLDB Value = ", ToHexString (Local5)))
                                        If (((^^^SBPC.PCRR (PCNV, 0x44) & 0x02) == Zero))
                                        {
                                            ADBG ("ABORT_REQUEST = 0, previous PLDR completed")
                                            If ((GBTR () == One))
                                            {
                                                BTRK (Zero)
                                                Sleep (0xA0)
                                                Local2 = One
                                            }

                                            ^^^SBPC.PCRO (PCNV, 0x44, 0x03)
                                            ADBG (Concatenate ("WiFi PLDR Timeout wait(ms) = ", ToHexString (ADEL)))
                                            Sleep (ADEL)
                                            Local1 = ^^^SBPC.PCRR (PCNV, 0x44)
                                            ADBG (Concatenate ("CNVI_PLDR_ABORT = ", ToHexString (Local1)))
                                            If ((((Local1 & 0x02) == Zero) && (Local1 & 0x04)))
                                            {
                                                ADBG ("WiFi Product Reset Completed")
                                                PRRS = 0x02
                                                If ((Local2 == One))
                                                {
                                                    BTRK (One)
                                                    Sleep (0xA0)
                                                }
                                            }
                                            Else
                                            {
                                                PRRS = 0x04
                                                BTRK (One)
                                            }
                                        }
                                        Else
                                        {
                                            PRRS = 0x03
                                        }
                                    }

                                    ADBG (Concatenate ("WiFi PRRS = ", PRRS))
                                    Release (CNMT)
                                }
                            }
                        }

                        Name (_PRR, Package (0x01)  // _PRR: Power Resource for Reset
                        {
                            WRST
                        })
                        Method (CFLR, 0, NotSerialized)
                        {
                            ADBG (Concatenate ("WiFi Core Reset, WFLR = ", WFLR))
                            If ((WFLR == One))
                            {
                                WIFR = One
                            }
                        }
                    }
                }
            }
        }

        Scope (_SB.PC02)
        {
            Method (TINT, 1, Serialized)
            {
                Name (TINR, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                CreateWordField (TINR, 0x17, INT1)
                INT1 = ^^PGPI.GNUM (Arg0)
                Return (TINR) /* \_SB_.PC02.TINT.TINR */
            }

            Device (THC0)
            {
                Name (_ADR, 0x00100000)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD0 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T040))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T050))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T060))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T070)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC02.THC0._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T080)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC02.THC0._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T090))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T030))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C0))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D0))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A0))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B0))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (ToInteger (T0E0))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN0 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN0))
                        }
                    }

                    If ((TMD0 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            ^^^PGPI.SHPO (T010, One)
                            ^^^PGPI.SPMV (T010, Zero)
                            ^^^PGPI.SPC0 (T010, (0x42000200 | (~(T020 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T010, T0F0)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            ^^^PGPI.SGOV (T010, (T020 & One))
                            Sleep (T0F0)
                            ^^^PGPI.SGOV (T010, (~(T020 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }

            Device (THC1)
            {
                Name (_ADR, 0x00100001)  // _ADR: Address
                Name (RSTL, Zero)
                OperationRegion (THCR, PCI_Config, Zero, 0x0100)
                Field (THCR, ByteAcc, NoLock, Preserve)
                {
                    VDID,   32
                }

                If ((VDID != 0xFFFFFFFF))
                {
                    Name (ICRS, Buffer (0x0C){})
                    CreateWordField (ICRS, Zero, DADR)
                    CreateQWordField (ICRS, 0x02, DSPD)
                    CreateByteField (ICRS, 0x0A, DADM)
                    Name (ISUB, Buffer (0x91){})
                    CreateQWordField (ISUB, Zero, SMHX)
                    CreateQWordField (ISUB, 0x08, SMLX)
                    CreateQWordField (ISUB, 0x10, SMTD)
                    CreateQWordField (ISUB, 0x18, SMRD)
                    CreateQWordField (ISUB, 0x20, FMHX)
                    CreateQWordField (ISUB, 0x28, FMLX)
                    CreateQWordField (ISUB, 0x30, FMTD)
                    CreateQWordField (ISUB, 0x38, FMRD)
                    CreateQWordField (ISUB, 0x40, FMSL)
                    CreateQWordField (ISUB, 0x48, FPHX)
                    CreateQWordField (ISUB, 0x50, FPLX)
                    CreateQWordField (ISUB, 0x58, FPTD)
                    CreateQWordField (ISUB, 0x60, FPRD)
                    CreateQWordField (ISUB, 0x68, HMHX)
                    CreateQWordField (ISUB, 0x70, HMLX)
                    CreateQWordField (ISUB, 0x78, HMTD)
                    CreateQWordField (ISUB, 0x80, HMRD)
                    CreateQWordField (ISUB, 0x88, HMSL)
                    DADR = Zero
                    DSPD = Zero
                    DADM = Zero
                    SMHX = Zero
                    SMLX = Zero
                    SMTD = Zero
                    SMRD = Zero
                    FMHX = Zero
                    FMLX = Zero
                    FMTD = Zero
                    FMRD = Zero
                    FMSL = Zero
                    FPHX = Zero
                    FPLX = Zero
                    FPTD = Zero
                    FPRD = Zero
                    HMHX = Zero
                    HMLX = Zero
                    HMTD = Zero
                    HMRD = Zero
                    HMSL = Zero
                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If (PCIC (Arg0))
                        {
                            Return (PCID (Arg0, Arg1, Arg2, Arg3))
                        }

                        If ((TMD1 == One))
                        {
                            If ((Arg0 == ToUUID ("6e2ac436-0fcf-41af-a265-b32a220dcfab") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Switch (ToInteger (Arg1))
                                        {
                                            Case (0x02)
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x7F                                             // .
                                                })
                                            }
                                            Default
                                            {
                                                Return (Buffer (One)
                                                {
                                                     0x00                                             // .
                                                })
                                            }

                                        }
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_HEADER_ADDRESS")
                                        Return (ToInteger (T041))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_INPUT_REPORT_BODY_ADDRESS")
                                        Return (ToInteger (T051))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_OUTPUT_REPORT_ADDRESS")
                                        Return (ToInteger (T061))
                                    }
                                    Case (0x04)
                                    {
                                        ADBG ("THC THC_READ_OPCODE")
                                        Name (BUF4, Buffer (One){})
                                        Local0 = ToBuffer (T071)
                                        BUF4 [Zero] = DerefOf (Local0 [Zero])
                                        Return (BUF4) /* \_SB_.PC02.THC1._DSM.BUF4 */
                                    }
                                    Case (0x05)
                                    {
                                        ADBG ("THC THC_WRITE_OPCODE")
                                        Name (BUF5, Buffer (One){})
                                        Local1 = ToBuffer (T081)
                                        BUF5 [Zero] = DerefOf (Local1 [Zero])
                                        Return (BUF5) /* \_SB_.PC02.THC1._DSM.BUF5 */
                                    }
                                    Case (0x06)
                                    {
                                        ADBG ("THC THC_FLAGS")
                                        Return (ToInteger (T091))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }

                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg0 == ToUUID ("300d35b7-ac20-413e-8e9c-92e4dafd0afe") /* Unknown UUID */))
                            {
                                Switch (ToInteger (Arg2))
                                {
                                    Case (Zero)
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x07                                             // .
                                        })
                                    }
                                    Case (One)
                                    {
                                        ADBG ("THC THC_CONNECTION_SPEED")
                                        Return (ToInteger (T031))
                                    }
                                    Case (0x02)
                                    {
                                        ADBG ("THC THC_LIMIT_PACKET_SIZE")
                                        Return (ToInteger (T0C1))
                                    }
                                    Case (0x03)
                                    {
                                        ADBG ("THC THC_PERFORMANCE_LIMITATION")
                                        Return (ToInteger (T0D1))
                                    }
                                    Default
                                    {
                                        Return (Buffer (One)
                                        {
                                             0x00                                             // .
                                        })
                                    }

                                }
                            }
                        }

                        If ((Arg0 == ToUUID ("84005682-5b71-41a4-8d66-8130f787a138") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_ACTIVE_LTR")
                                    Return (ToInteger (T0A1))
                                }
                                Case (0x02)
                                {
                                    ADBG ("THC THC_IDLE_LTR")
                                    Return (ToInteger (T0B1))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("9b1e77c4-53db-43bd-a276-f7287604d1bd") /* Unknown UUID */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_DISPLAY_FRAME_SYNC_PERIOD")
                                    Return (ToInteger (T0E1))
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x01                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    ADBG ("THC THC_HIDI2C_DEVICE_ADDRESS")
                                    Return (Zero)
                                }
                                Default
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }

                            }
                        }

                        Return (Buffer (Zero){})
                    }

                    If ((TIN1 != Zero))
                    {
                        Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Return (TINT (TIN1))
                        }
                    }

                    If ((TMD1 != Zero))
                    {
                        Method (_INI, 0, NotSerialized)  // _INI: Initialize
                        {
                            ADBG ("THC _INI")
                            ^^^PGPI.SHPO (T011, One)
                            ^^^PGPI.SPMV (T011, Zero)
                            ^^^PGPI.SPC0 (T011, (0x42000200 | (~(T021 & One) & One
                                )))
                            If (CondRefOf (^CINI))
                            {
                                CINI (T011, T0F1)
                            }
                        }

                        Method (_RST, 0, Serialized)  // _RST: Device Reset
                        {
                            ADBG ("THC _RST")
                            While ((RSTL == One))
                            {
                                Sleep (0x0A)
                            }

                            RSTL = One
                            ^^^PGPI.SGOV (T011, (T021 & One))
                            Sleep (T0F1)
                            ^^^PGPI.SGOV (T011, (~(T021 & One) & One))
                            RSTL = Zero
                        }

                        Name (_DSD, Package (0x04)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                            ICRS, 
                            ToUUID ("dbb8e3e6-5886-4ba6-8795-1319f52a966b") /* Hierarchical Data Extension */, 
                            ISUB
                        })
                    }
                }
            }
        }

        Scope (_SB)
        {
            Device (PGPI)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((GPHD == One))
                    {
                        Return ("PNP0C02")
                    }

                    Return ("INTC1084")
                }

                Name (SBRG, Zero)
                SBRG = ^PC02.SBRG /* \_SB_.PC02.SBRG */
                Name (GEI0, Zero)
                GEI0 = ^PC02.GEI0 /* \_SB_.PC02.GEI0 */
                Name (GEI1, Zero)
                GEI1 = ^PC02.GEI1 /* \_SB_.PC02.GEI1 */
                Name (GEI2, Zero)
                GEI2 = ^PC02.GEI2 /* \_SB_.PC02.GEI2 */
                Name (GED0, Zero)
                GED0 = ^PC02.GED0 /* \_SB_.PC02.GED0 */
                Name (GED1, Zero)
                GED1 = ^PC02.GED1 /* \_SB_.PC02.GED1 */
                Name (GED2, Zero)
                GED2 = ^PC02.GED2 /* \_SB_.PC02.GED2 */
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (RBFS, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y44)
                        {
                            0x0000000E,
                        }
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y45, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y46, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y47, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y48, AddressRangeMemory, TypeStatic)
                        QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                            0x0000000000000000, // Granularity
                            0x0000000000000000, // Range Minimum
                            0x000000000000FFFF, // Range Maximum
                            0x0000000000000000, // Translation Offset
                            0x0000000000010000, // Length
                            ,, _Y49, AddressRangeMemory, TypeStatic)
                    })
                    CreateDWordField (RBFS, \_SB.PGPI._CRS._Y44._INT, INTH)  // _INT: Interrupts
                    INTH = SGIR /* \SGIR */
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y45._MIN, CMN0)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y45._MAX, CMX0)  // _MAX: Maximum Base Address
                    CMN0 = (SBRG + 0x006E0000)
                    CMX0 = (CMN0 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y46._MIN, CMN1)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y46._MAX, CMX1)  // _MAX: Maximum Base Address
                    CMN1 = (SBRG + 0x006D0000)
                    CMX1 = (CMN1 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y47._MIN, CMN3)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y47._MAX, CMX3)  // _MAX: Maximum Base Address
                    CMN3 = (SBRG + 0x006B0000)
                    CMX3 = (CMN3 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y48._MIN, CMN4)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y48._MAX, CMX4)  // _MAX: Maximum Base Address
                    CMN4 = (SBRG + 0x006A0000)
                    CMX4 = (CMN4 + 0xFFFF)
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y49._MIN, CMN5)  // _MIN: Minimum Base Address
                    CreateQWordField (RBFS, \_SB.PGPI._CRS._Y49._MAX, CMX5)  // _MAX: Maximum Base Address
                    CMN5 = (SBRG + 0x00690000)
                    CMX5 = (CMN5 + 0xFFFF)
                    Return (RBFS) /* \_SB_.PGPI._CRS.RBFS */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((GPHD == One))
                    {
                        Return (0x08)
                    }

                    Return (0x0F)
                }

                Name (GPCS, Package (0x06)
                {
                    Package (0x02)
                    {
                        0x006E0000, 
                        Package (0x04)
                        {
                            Package (0x09)
                            {
                                0x19, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                Zero, 
                                Zero
                            }, 

                            Package (0x09)
                            {
                                0x0E, 
                                0x0790, 
                                0x0154, 
                                0xC0, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x20, 
                                One
                            }, 

                            Package (0x09)
                            {
                                0x12, 
                                0x0870, 
                                0x0158, 
                                0xC8, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0x40, 
                                0x02
                            }, 

                            Package (0x09)
                            {
                                0x1F, 
                                0x0990, 
                                0x015C, 
                                0xD4, 
                                0x024C, 
                                0x0128, 
                                0x012C, 
                                0x60, 
                                0x03
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006D0000, 
                        Package (0x03)
                        {
                            Package (0x09)
                            {
                                0x0F, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0x80, 
                                0x04
                            }, 

                            Package (0x09)
                            {
                                0x0C, 
                                0x0720, 
                                0x0154, 
                                0xB8, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0xA0, 
                                0x05
                            }, 

                            Package (0x09)
                            {
                                0x16, 
                                0x07B0, 
                                0x0158, 
                                0xC0, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0xC0, 
                                0x06
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006C0000, 
                        Package (0x01)
                        {
                            Package (0x09)
                            {
                                0x11, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0xFFFF, 
                                0xFFFF
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006B0000, 
                        Package (0x06)
                        {
                            Package (0x09)
                            {
                                0x09, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0xE0, 
                                0x08
                            }, 

                            Package (0x09)
                            {
                                0x18, 
                                0x0690, 
                                0x0154, 
                                0xB8, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x0100, 
                                0x09
                            }, 

                            Package (0x09)
                            {
                                0x14, 
                                0x0810, 
                                0x0158, 
                                0xC4, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0x0120, 
                                0x0A
                            }, 

                            Package (0x09)
                            {
                                0x04, 
                                0x0950, 
                                0x015C, 
                                0xD0, 
                                0x024C, 
                                0x0128, 
                                0x012C, 
                                0x0140, 
                                0x0B
                            }, 

                            Package (0x09)
                            {
                                0x08, 
                                0x0990, 
                                0x0160, 
                                0xD4, 
                                0x0250, 
                                0x0130, 
                                0x0134, 
                                0x0160, 
                                0x0C
                            }, 

                            Package (0x09)
                            {
                                0x1F, 
                                0x0A10, 
                                0x0164, 
                                0xD8, 
                                0x0254, 
                                0x0138, 
                                0x013C, 
                                0x0180, 
                                0x0D
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x006A0000, 
                        Package (0x04)
                        {
                            Package (0x09)
                            {
                                0x08, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0x01A0, 
                                0x0E
                            }, 

                            Package (0x09)
                            {
                                0x17, 
                                0x0680, 
                                0x0154, 
                                0xB4, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x01C0, 
                                0x0F
                            }, 

                            Package (0x09)
                            {
                                0x0E, 
                                0x07F0, 
                                0x0158, 
                                0xC0, 
                                0x0248, 
                                0x0120, 
                                0x0124, 
                                0x01E0, 
                                0x10
                            }, 

                            Package (0x09)
                            {
                                0x18, 
                                0x08D0, 
                                0x015C, 
                                0xC8, 
                                0x024C, 
                                0x0128, 
                                0x012C, 
                                0x0200, 
                                0x11
                            }
                        }
                    }, 

                    Package (0x02)
                    {
                        0x00690000, 
                        Package (0x02)
                        {
                            Package (0x09)
                            {
                                0x15, 
                                0x0600, 
                                0x0150, 
                                0xB0, 
                                0x0240, 
                                0x0110, 
                                0x0114, 
                                0x0220, 
                                0x12
                            }, 

                            Package (0x09)
                            {
                                0x10, 
                                0x0750, 
                                0x0154, 
                                0xBC, 
                                0x0244, 
                                0x0118, 
                                0x011C, 
                                0x0240, 
                                0x13
                            }
                        }
                    }
                })
                Method (GDSC, 0, NotSerialized)
                {
                    Return (GPCS) /* \_SB_.PGPI.GPCS */
                }

                Method (GMXG, 0, NotSerialized)
                {
                    Return (0x14)
                }

                Method (GCMP, 1, NotSerialized)
                {
                    Local0 = GDSC ()
                    Return (DerefOf (DerefOf (Local0 [Arg0]) [Zero]))
                }

                Method (GINF, 3, NotSerialized)
                {
                    Local0 = GDSC ()
                    Return (DerefOf (DerefOf (DerefOf (DerefOf (Local0 [Arg0]) [
                        One]) [Arg1]) [Arg2]))
                }

                Method (GCOM, 1, Serialized)
                {
                    Local0 = ((Arg0 >> 0x0A) & 0x07)
                    Return (Local0)
                }

                Method (GGRP, 1, Serialized)
                {
                    Local0 = ((Arg0 >> 0x07) & 0x07)
                    Return (Local0)
                }

                Method (GNMB, 1, Serialized)
                {
                    Return ((Arg0 & 0x7F))
                }

                Method (GADR, 2, NotSerialized)
                {
                    Local2 = GGRP (Arg0)
                    Local3 = GCOM (Arg0)
                    Local0 = (GCMP (Local3) + SBRG)
                    Local1 = GINF (Local3, Local2, Arg1)
                    Return ((Local0 + Local1))
                }

                Method (GNUM, 1, NotSerialized)
                {
                    Local0 = GNMB (Arg0)
                    Local1 = GGRP (Arg0)
                    Local2 = GCOM (Arg0)
                    Return ((GINF (Local2, Local1, 0x07) + Local0))
                }

                Method (GGGP, 1, NotSerialized)
                {
                    Local0 = GGRP (Arg0)
                    Local1 = GCOM (Arg0)
                    Return (GINF (Local1, Local0, 0x08))
                }

                Method (INUM, 1, NotSerialized)
                {
                    Return ((GPC1 (Arg0) & 0x7F))
                }

                Method (GGPE, 1, NotSerialized)
                {
                    Local0 = GGGP (Arg0)
                    Local1 = GNMB (Arg0)
                    Local2 = (Local1 >> 0x05)
                    If (!((((GEI0 == Local0) && (GED0 == Local2)) | (
                        (GEI1 == Local0) && (GED1 == Local2))) | ((GEI2 == Local0) && (GED2 == 
                        Local2))))
                    {
                        Return (0x6F)
                    }
                    Else
                    {
                        If (((GEI0 == Local0) && (GED0 == Local2)))
                        {
                            Local3 = Zero
                        }
                        ElseIf (((GEI1 == Local0) && (GED1 == Local2)))
                        {
                            Local3 = One
                        }
                        ElseIf (((GEI2 == Local0) && (GED2 == Local2)))
                        {
                            Local3 = 0x02
                        }
                        Else
                        {
                            BreakPoint
                            Return (Zero)
                        }

                        Return ((((Local3 - Local2) * 0x20) + Local1))
                    }
                }

                Method (GPC0, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (TEMP) /* \_SB_.PGPI.GPC0.TEMP */
                }

                Method (SPC0, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    TEMP = Arg1
                }

                Method (GPC1, 1, Serialized)
                {
                    Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                        ) + 0x04)
                    OperationRegion (PDW1, SystemMemory, Local2, 0x04)
                    Field (PDW1, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (TEMP) /* \_SB_.PGPI.GPC1.TEMP */
                }

                Method (SPC1, 2, Serialized)
                {
                    Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                        ) + 0x04)
                    OperationRegion (PDW1, SystemMemory, Local2, 0x04)
                    Field (PDW1, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    TEMP = Arg1
                }

                Method (SRXO, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   28, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GGIV, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   1, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GGIV.TEMP */
                }

                Method (GGOV, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GGOV.TEMP */
                }

                Method (SGOV, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GGII, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   23, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GGII.TEMP */
                }

                Method (SGII, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   23, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GPMV, 1, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   10, 
                        TEMP,   3, 
                        Offset (0x04)
                    }

                    Return (TEMP) /* \_SB_.PGPI.GPMV.TEMP */
                }

                Method (SPMV, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   10, 
                        TEMP,   3, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (GHPO, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
                    Local4 = (Local1 & 0x1F)
                    OperationRegion (PREG, SystemMemory, Local3, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> Local4) & One))
                }

                Method (SHPO, 2, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    ADBG ("Pad number")
                    ADBG (ToHexString (Local1))
                    Local3 = (GADR (Arg0, 0x02) + ((Local1 >> 0x05) * 0x04))
                    ADBG ("HOST owner offset")
                    ADBG (ToHexString (Local3))
                    Local4 = (Local1 & 0x1F)
                    ADBG ("Pad position")
                    ADBG (ToHexString (Local4))
                    OperationRegion (PREG, SystemMemory, Local3, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    ADBG ("HOST own before")
                    ADBG (ToHexString (TEMP))
                    If (Arg1)
                    {
                        TEMP |= (One << Local4)
                    }
                    Else
                    {
                        TEMP &= ~(One << Local4)
                    }

                    ADBG ("HOST own after")
                    ADBG (ToHexString (TEMP))
                }

                Method (GGPO, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local2 = (GADR (Arg0, 0x03) + ((Local1 >> 0x03) * 0x04
                        ))
                    OperationRegion (PREG, SystemMemory, Local2, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> ((Local1 & 0x07) * 0x04)) & 
                        0x03))
                }

                Method (SGRA, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   20, 
                        TEMP,   1, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (SGWP, 2, Serialized)
                {
                    Local2 = ((GADR (Arg0, One) + (GNMB (Arg0) * 0x10)
                        ) + 0x04)
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   10, 
                        TEMP,   4, 
                        Offset (0x04)
                    }

                    TEMP = Arg1
                }

                Method (CGPI, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    ADBG ("Pad number")
                    ADBG (ToHexString (Local1))
                    Local4 = (Local1 >> 0x05)
                    ADBG ("Group DW")
                    ADBG (ToHexString (Local4))
                    Local3 = GADR (Arg0, 0x04)
                    ADBG ("Reg offset")
                    ADBG (ToHexString (Local3))
                    If (((Local3 & 0xFFFF) != 0xFFFF))
                    {
                        ADBG ("Clearing GPI")
                        OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                        Field (GPPX, AnyAcc, NoLock, Preserve)
                        {
                            STSX,   32
                        }

                        Local2 = (One << (Local1 % 0x20))
                        ADBG ("STSX before")
                        ADBG (ToHexString (STSX))
                        STSX = Local2
                        ADBG ("STSX after")
                        ADBG (ToHexString (STSX))
                    }
                }

                Method (CAGS, 1, Serialized)
                {
                    Local0 = GGGP (Arg0)
                    Local1 = GNMB (Arg0)
                    Local4 = (Local1 >> 0x05)
                    If (!((((GEI0 == Local0) && (GED0 == Local4)) | (
                        (GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (GED2 == 
                        Local4))))
                    {
                        Local3 = GADR (Arg0, 0x04)
                        If (((Local3 & 0xFFFF) != 0xFFFF))
                        {
                            OperationRegion (GPPX, SystemMemory, (Local3 + (Local4 * 0x04)), 0x04)
                            Field (GPPX, AnyAcc, NoLock, Preserve)
                            {
                                STSX,   32
                            }

                            Local2 = (One << (Local1 % 0x20))
                            STSX = Local2
                        }
                    }
                }

                Method (IGPI, 1, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local4 = (Local1 >> 0x05)
                    If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
                    Local3 = (Local1 & 0x1F)
                    OperationRegion (GPPX, SystemMemory, Local2, 0x24)
                    Field (GPPX, AnyAcc, NoLock, Preserve)
                    {
                        STSX,   32, 
                        Offset (0x20), 
                        GENX,   32
                    }

                    Return ((((STSX & GENX) >> Local3) & One))
                }

                Method (ISME, 1, Serialized)
                {
                    Local0 = GGGP (Arg0)
                    Local1 = GNMB (Arg0)
                    Local4 = (Local1 >> 0x05)
                    If (!!((((GEI0 == Local0) && (GED0 == Local4)) | 
                        ((GEI1 == Local0) && (GED1 == Local4))) | ((GEI2 == Local0) && (
                        GED2 == Local4))))
                    {
                        Return (Zero)
                    }

                    If (((GADR (Arg0, 0x04) & 0xFFFF) == 0xFFFF))
                    {
                        Return (Zero)
                    }

                    Local2 = (GADR (Arg0, 0x04) + (Local4 * 0x04))
                    Local3 = (Local1 & 0x1F)
                    OperationRegion (GPPX, SystemMemory, Local2, 0x24)
                    Field (GPPX, AnyAcc, NoLock, Preserve)
                    {
                        STSX,   32, 
                        Offset (0x20), 
                        GENX,   32
                    }

                    Return ((((STSX & GENX) >> Local3) & One))
                }

                Method (GRXE, 2, Serialized)
                {
                    Local2 = (GADR (Arg0, One) + (GNMB (Arg0) * 0x10))
                    OperationRegion (PDW0, SystemMemory, Local2, 0x04)
                    Field (PDW0, AnyAcc, NoLock, Preserve)
                    {
                            ,   25, 
                        RCFG,   2, 
                        Offset (0x04)
                    }

                    RCFG = Arg1
                }

                Method (GLOC, 2, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local2 = GADR (Arg0, 0x05)
                    OperationRegion (PREG, SystemMemory, Local2, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> Local1) & One))
                }

                Method (GLOT, 2, Serialized)
                {
                    Local1 = GNMB (Arg0)
                    Local2 = GADR (Arg0, 0x06)
                    OperationRegion (PREG, SystemMemory, Local2, 0x04)
                    Field (PREG, AnyAcc, NoLock, Preserve)
                    {
                        TEMP,   32
                    }

                    Return (((TEMP >> Local1) & One))
                }
            }
        }

        Scope (_SB)
        {
            Device (PCLK)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, "PCHCLK")  // _UID: Unique ID
                Name (PID, 0xAD)
                Method (CLKD, 1, NotSerialized)
                {
                    If ((Arg0 > 0x06))
                    {
                        Local1 = (Arg0 + One)
                        Local1 -= 0x07
                        ^^PC02.SBPC.PCRA (PID, 0x8084, ~(One << Local1))
                    }
                    Else
                    {
                        Local1 = (Arg0 + 0x02)
                        ^^PC02.SBPC.PCRA (PID, 0x8080, ~(One << Local1))
                    }
                }

                Method (CLKE, 1, NotSerialized)
                {
                    If ((Arg0 > 0x06))
                    {
                        Local1 = (Arg0 + One)
                        Local1 -= 0x07
                        ^^PC02.SBPC.PCRO (PID, 0x8084, (One << Local1))
                    }
                    Else
                    {
                        Local1 = (Arg0 + 0x02)
                        ^^PC02.SBPC.PCRO (PID, 0x8080, (One << Local1))
                    }
                }

                Method (SPCO, 2, NotSerialized)
                {
                    ADBG ("Calling SPCO method to configure PCH PCIe ClkReq Override")
                    If ((Arg1 == One))
                    {
                        CLKE (Arg0)
                    }
                    Else
                    {
                        CLKD (Arg0)
                    }
                }
            }
        }
    }

    Scope (_SB.PC00)
    {
        Scope (RP01)
        {
            Name (PBNU, Zero)
            Name (SLOT, One)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR1 /* \LTR1 */
                LMSL = PML1 /* \PML1 */
                LNSL = PNL1 /* \PNL1 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & One) != Zero)))
                    {
                        ADBG ("RP01 (0/6/0) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP01))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP01.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR, PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Local0 = Zero
                    Local1 = 0xA0
                    While ((Local0 < Local1))
                    {
                        Local0 += One
                        Stall (0x64)
                    }

                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP01._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP01.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC0, 0x04))
                        }
                    }

                    Return (GPRW (0x69, Zero))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }
        }

        Scope (RP09)
        {
            Name (PBNU, Zero)
            Name (SLOT, 0x02)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR2 /* \LTR2 */
                LMSL = PML2 /* \PML2 */
                LNSL = PNL2 /* \PNL2 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x08) != Zero)))
                    {
                        ADBG ("RP09 (0/6/3) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP09))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP09.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR, PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Local0 = Zero
                    Local1 = 0xA0
                    While ((Local0 < Local1))
                    {
                        Local0 += One
                        Stall (0x64)
                    }

                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP09._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP09.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC0, 0x04))
                        }
                    }

                    Return (GPRW (0x69, Zero))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }
        }

        Scope (RP13)
        {
            Name (PBNU, Zero)
            Name (SLOT, 0x03)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR3 /* \LTR3 */
                LMSL = PML3 /* \PML3 */
                LNSL = PNL3 /* \PNL3 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x10) != Zero)))
                    {
                        ADBG ("RP13 (0/6/4) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP13))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP13.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR, PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Local0 = Zero
                    Local1 = 0xA0
                    While ((Local0 < Local1))
                    {
                        Local0 += One
                        Stall (0x64)
                    }

                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP13._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP13.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC1, 0x04))
                        }
                    }

                    Return (GPRW (0x69, Zero))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }
        }

        Scope (RP17)
        {
            Name (PBNU, Zero)
            Name (SLOT, 0x04)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR4 /* \LTR4 */
                LMSL = PML4 /* \PML4 */
                LNSL = PNL4 /* \PNL4 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x02) != Zero)))
                    {
                        ADBG ("RP17 (0/6/1) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP17))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP17.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR, PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Local0 = Zero
                    Local1 = 0xA0
                    While ((Local0 < Local1))
                    {
                        Local0 += One
                        Stall (0x64)
                    }

                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP17._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP17.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC7, 0x04))
                        }
                    }

                    Return (GPRW (0x69, Zero))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }
        }

        Scope (RP21)
        {
            Name (PBNU, Zero)
            Name (SLOT, 0x05)
            Name (PRTP, 0x04)
            Name (LTEN, Zero)
            Name (LMSL, Zero)
            Name (LNSL, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                LTEN = LTR5 /* \LTR5 */
                LMSL = PML5 /* \PML5 */
                LNSL = PNL5 /* \PNL5 */
                If ((CondRefOf (VMSP) && CondRefOf (VMDE)))
                {
                    If (((VMDE == One) && ((VMSP & 0x20) != Zero)))
                    {
                        ADBG ("RP21 (0/1/0) is mapped under VMD")
                        PRMV = One
                    }
                }

                If (PRES ())
                {
                    If (CondRefOf (PINI))
                    {
                        PINI ()
                    }
                }

                If (CondRefOf (\_SB.PC00.RP21))
                {
                    If ((VDID != 0xFFFFFFFF))
                    {
                        If (CondRefOf (\STD3))
                        {
                            If (CondRefOf (\_SB.PC00.RP21.PRMV))
                            {
                                If ((PRMV == One))
                                {
                                    ADBG (Concatenate ("VMD Storage Runtime D3 status:", ToHexString (RD3C)))
                                    RD3C = STD3 /* \STD3 */
                                }
                            }

                            If ((^PXSX.PNVM () || ^PXSX.PAHC ()))
                            {
                                ADBG (Concatenate ("Storage Runtime D3 status:", ToHexString (RD3C)))
                                RD3C = STD3 /* \STD3 */
                            }
                        }
                    }
                }
            }

            OperationRegion (PXCS, SystemMemory, PC2M (_ADR, PBNU), 0x0480)
            Field (PXCS, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x50), 
                L0SE,   1, 
                    ,   3, 
                LDIS,   1, 
                Offset (0x51), 
                Offset (0x52), 
                    ,   13, 
                LASX,   1, 
                Offset (0x5A), 
                ABPX,   1, 
                    ,   2, 
                PDCX,   1, 
                    ,   2, 
                PDSX,   1, 
                Offset (0x5B), 
                Offset (0x60), 
                Offset (0x62), 
                PSPX,   1, 
                Offset (0x68), 
                    ,   10, 
                LNRE,   1, 
                Offset (0xA4), 
                D3HT,   2, 
                Offset (0xD8), 
                    ,   30, 
                HPEX,   1, 
                PMEX,   1, 
                Offset (0xE0), 
                SCB0,   1, 
                    ,   6, 
                NCB7,   1, 
                Offset (0xE2), 
                    ,   2, 
                L23E,   1, 
                L23R,   1, 
                Offset (0x328), 
                Offset (0x32B), 
                LTSM,   8, 
                Offset (0x404), 
                LSOE,   1, 
                LNSE,   1
            }

            Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
            {
                Offset (0xDC), 
                    ,   30, 
                HPSX,   1, 
                PMSX,   1
            }

            Method (L23D, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at L23D Start  -", ToHexString (LTSM)))
                If ((SCB0 != One))
                {
                    ADBG (Concatenate ("PON SCB ", ToHexString (SLOT)))
                    Return (Zero)
                }

                L23R = One
                Local0 = Zero
                While (L23R)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("PCIE L23R TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                SCB0 = Zero
                Local0 = Zero
                While ((LASX == Zero))
                {
                    If ((Local0 > 0x08))
                    {
                        ADBG (Concatenate ("PCIE LASX TO ", ToHexString (SLOT)))
                        Break
                    }

                    Sleep (0x10)
                    Local0++
                }

                ADBG (Concatenate ("PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
            }

            Method (DL23, 0, Serialized)
            {
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 Start -", ToHexString (LTSM)))
                If (((LASX == One) && (LNRE == Zero)))
                {
                    If (((LSOE == One) || (LNSE == One)))
                    {
                        LNRE = One
                        Local0 = Zero
                        Local1 = 0xA0
                        While ((Local0 < Local1))
                        {
                            Local0 += One
                            Stall (0x64)
                        }

                        LNRE = Zero
                        ADBG ("Toggle LNRE")
                    }
                }

                L23E = One
                Sleep (0x10)
                Local0 = Zero
                While (L23E)
                {
                    If ((Local0 > 0x04))
                    {
                        ADBG (Concatenate ("POF L23E TO", ToHexString (SLOT)))
                        Break
                    }

                    Local0 = Zero
                    Local1 = 0xA0
                    While ((Local0 < Local1))
                    {
                        Local0 += One
                        Stall (0x64)
                    }

                    Local0++
                }

                ADBG (Concatenate ("POF RP ", ToHexString (SLOT)))
                SCB0 = One
                ADBG (Concatenate ("PCIe RP LTSSM at DL23 End -", ToHexString (LTSM)))
            }

            Name (LTRV, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (PRMV, Zero)
            Name (RD3C, 0x02)
            Method (PRES, 0, NotSerialized)
            {
                If ((VDID == 0xFFFFFFFF))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (One)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            Name (OPTS, Buffer (0x02)
                            {
                                 0x00, 0x00                                       // ..
                            })
                            CreateBitField (OPTS, Zero, FUN0)
                            CreateBitField (OPTS, 0x06, FUN6)
                            CreateBitField (OPTS, 0x08, FUN8)
                            CreateBitField (OPTS, 0x09, FUN9)
                            CreateBitField (OPTS, 0x0A, FUNA)
                            CreateBitField (OPTS, 0x0B, FUNB)
                            If ((Arg1 >= 0x02))
                            {
                                FUN0 = One
                                If ((LTEN != Zero))
                                {
                                    FUN6 = One
                                }

                                If (CondRefOf (ECR1))
                                {
                                    If ((ECR1 == One))
                                    {
                                        If ((Arg1 >= 0x03))
                                        {
                                            FUN8 = One
                                            FUN9 = One
                                        }
                                    }
                                }
                            }

                            If ((Arg1 >= 0x04))
                            {
                                If (CondRefOf (PPBA))
                                {
                                    FUNA = One
                                }

                                If (CondRefOf (UPRD))
                                {
                                    FUNB = One
                                }
                            }

                            ADBG (Concatenate ("_DSM PCIe RP OPTS -", ToHexString (OPTS)))
                            Return (OPTS) /* \_SB_.PC00.RP21._DSM.OPTS */
                        }
                        Case (0x06)
                        {
                            If ((Arg1 >= 0x02))
                            {
                                LTRV [Zero] = ((LMSL >> 0x0A) & 0x07)
                                LTRV [One] = (LMSL & 0x03FF)
                                LTRV [0x02] = ((LNSL >> 0x0A) & 0x07)
                                LTRV [0x03] = (LNSL & 0x03FF)
                                Return (LTRV) /* \_SB_.PC00.RP21.LTRV */
                            }
                        }
                        Case (0x08)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (One)
                                    }
                                }
                            }
                        }
                        Case (0x09)
                        {
                            If (CondRefOf (ECR1))
                            {
                                If ((ECR1 == One))
                                {
                                    If ((Arg1 >= 0x03))
                                    {
                                        Return (Package (0x05)
                                        {
                                            0xC350, 
                                            Ones, 
                                            Ones, 
                                            0xC350, 
                                            Ones
                                        })
                                    }
                                }
                            }
                        }
                        Case (0x0A)
                        {
                            If (CondRefOf (PPBA))
                            {
                                Return (PPBA (Arg3))
                            }
                        }
                        Case (0x0B)
                        {
                            If (CondRefOf (UPRD))
                            {
                                Return (UPRD (Arg3))
                            }
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Device (PXSX)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCCX, PCI_Config, Zero, 0x10)
                Field (PCCX, ByteAcc, NoLock, Preserve)
                {
                    DVID,   32, 
                    Offset (0x09), 
                    PIXX,   8, 
                    SCCX,   8, 
                    BCCX,   8
                }

                Method (PAHC, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x06))
                        {
                            If ((PIXX == One))
                            {
                                ADBG ("PSSD AHCI")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PNVM, 0, Serialized)
                {
                    If ((BCCX == One))
                    {
                        If ((SCCX == 0x08))
                        {
                            If ((PIXX == 0x02))
                            {
                                ADBG ("PSSD NVMe")
                                Return (One)
                            }
                        }
                    }

                    Return (Zero)
                }

                Method (PRES, 0, Serialized)
                {
                    If ((DVID == 0xFFFFFFFF))
                    {
                        Return (Zero)
                    }
                    Else
                    {
                        Return (One)
                    }
                }

                Method (ISGX, 0, Serialized)
                {
                    If ((BCCX == 0x03))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                If (CondRefOf (\STD3))
                {
                    If ((STD3 != Zero))
                    {
                        Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
                        {
                            If ((PAHC () || PNVM ()))
                            {
                                ADBG ("NVMe D3 Support Enable for Child Device")
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            One
                                        }
                                    }
                                })
                            }
                            Else
                            {
                                Return (Package (0x02)
                                {
                                    ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                                    Package (0x01)
                                    {
                                        Package (0x02)
                                        {
                                            "StorageD3Enable", 
                                            Zero
                                        }
                                    }
                                })
                            }
                        }
                    }
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    ADBG (Concatenate ("_PRW PCIe RP", ToHexString (SLOT)))
                    If (CondRefOf (GP1E))
                    {
                        If ((GP1E != Zero))
                        {
                            Return (GPRW (0xC7, 0x04))
                        }
                    }

                    Return (GPRW (0x69, Zero))
                }
            }

            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
            {
                ADBG (Concatenate ("_PS0 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS0))
                {
                    ADBG ("Calling Platform PCIE RP PS0 Hook")
                    PPS0 ()
                    ADBG ("Returned from Platform PCIE RP PS0 Hook")
                }
            }

            Method (_PS3, 0, Serialized)  // _PS3: Power State 3
            {
                ADBG (Concatenate ("_PS3 PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (PPS3))
                {
                    ADBG ("Calling Platform PCIE RP PS3 Hook")
                    PPS3 ()
                    ADBG ("Returned from Platform PCIE RP PS3 Hook")
                }
            }

            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                ADBG (Concatenate ("_DSD PCIe RP", ToHexString (SLOT)))
                If (CondRefOf (ADSD))
                {
                    ADBG (Concatenate ("Alternate _DSD PCIe RP", ToHexString (SLOT)))
                    Return (ADSD ())
                }

                If (CondRefOf (PINI))
                {
                    Return (Package (0x04)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }, 

                        ToUUID ("6b4ad420-8fd3-4364-acf8-eb94876fd9eb") /* Unknown UUID */, 
                        Package (0x00){}
                    })
                }
                Else
                {
                    Return (Package (0x02)
                    {
                        ToUUID ("fdf06fad-f744-4451-bb64-ecd792215b10") /* Unknown UUID */, 
                        Package (0x01)
                        {
                            Package (0x02)
                            {
                                "FundamentalDeviceResetTriggeredOnD3ToD0", 
                                One
                            }
                        }
                    })
                }
            }

            Method (HPME, 0, Serialized)
            {
                If (((VDID != 0xFFFFFFFF) && (PMSX == One)))
                {
                    Notify (PXSX, 0x02) // Device Wake
                    PMSX = One
                    PSPX = One
                }
            }
        }
    }

    Scope (_SB.PC00.LPCB)
    {
    }

    Scope (_SB)
    {
        Device (CWDT)
        {
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If ((((CPID & 0x0FFF0FF0) == 0x000C0650) || ((CPID & 0x0FFF0FF0
                    ) == 0x000B0650)))
                {
                    Return ("INTC109F")
                }
                ElseIf ((((CPID & 0x0FFF0FF0) == 0x000C0660) || ((CPID & 
                    0x0FFF0FF0) == 0x000C06A0)))
                {
                    Return ("INTC109F")
                }
                Else
                {
                    Return ("INTC109D")
                }
            }

            Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _CID: Compatible ID
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                Return (0x0F)
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x04,               // Alignment
                        0x04,               // Length
                        _Y4A)
                })
                CreateWordField (RBUF, \_SB.CWDT._CRS._Y4A._MIN, OMIN)  // _MIN: Minimum Base Address
                CreateWordField (RBUF, \_SB.CWDT._CRS._Y4A._MAX, OMAX)  // _MAX: Maximum Base Address
                OMIN = (PMBS + 0x54)
                OMAX = (PMBS + 0x54)
                Return (RBUF) /* \_SB_.CWDT._CRS.RBUF */
            }
        }
    }

    Scope (_SB.PC00.LPCB)
    {
        Device (HPET)
        {
            Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0xFED00000,         // Address Base
                    0x00000400,         // Address Length
                    _Y4B)
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (HPTE)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                If (HPTE)
                {
                    CreateDWordField (BUF0, \_SB.PC00.LPCB.HPET._Y4B._BAS, HPT0)  // _BAS: Base Address
                    HPT0 = HPTB /* \HPTB */
                }

                Return (BUF0) /* \_SB_.PC00.LPCB.HPET.BUF0 */
            }
        }

        Device (IPIC)
        {
            Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x0020,             // Range Minimum
                    0x0020,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0024,             // Range Minimum
                    0x0024,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0028,             // Range Minimum
                    0x0028,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x002C,             // Range Minimum
                    0x002C,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0030,             // Range Minimum
                    0x0030,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0034,             // Range Minimum
                    0x0034,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0038,             // Range Minimum
                    0x0038,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x003C,             // Range Minimum
                    0x003C,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00A0,             // Range Minimum
                    0x00A0,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00A4,             // Range Minimum
                    0x00A4,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00A8,             // Range Minimum
                    0x00A8,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00AC,             // Range Minimum
                    0x00AC,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00B0,             // Range Minimum
                    0x00B0,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00B4,             // Range Minimum
                    0x00B4,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00B8,             // Range Minimum
                    0x00B8,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x00BC,             // Range Minimum
                    0x00BC,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x04D0,             // Range Minimum
                    0x04D0,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IRQNoFlags ()
                    {2}
            })
        }

        Device (MATH)
        {
            Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x00F0,             // Range Minimum
                    0x00F0,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IRQNoFlags ()
                    {13}
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((PCHS == PCHH))
                {
                    Return (0x1F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

        Device (LDRC)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, 0x02)  // _UID: Unique ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x002E,             // Range Minimum
                    0x002E,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x004E,             // Range Minimum
                    0x004E,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0061,             // Range Minimum
                    0x0061,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0063,             // Range Minimum
                    0x0063,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0065,             // Range Minimum
                    0x0065,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0067,             // Range Minimum
                    0x0067,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0070,             // Range Minimum
                    0x0070,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0080,             // Range Minimum
                    0x0080,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0092,             // Range Minimum
                    0x0092,             // Range Maximum
                    0x01,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x00B2,             // Range Minimum
                    0x00B2,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
                IO (Decode16,
                    0x0680,             // Range Minimum
                    0x0680,             // Range Maximum
                    0x01,               // Alignment
                    0x20,               // Length
                    )
                IO (Decode16,
                    0x164E,             // Range Minimum
                    0x164E,             // Range Maximum
                    0x01,               // Alignment
                    0x02,               // Length
                    )
            })
        }

        Device (RTC)
        {
            Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x0070,             // Range Minimum
                    0x0070,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                IRQNoFlags ()
                    {8}
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((STAS == One))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }

        Device (TIMR)
        {
            Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x0040,             // Range Minimum
                    0x0040,             // Range Maximum
                    0x01,               // Alignment
                    0x04,               // Length
                    )
                IO (Decode16,
                    0x0050,             // Range Minimum
                    0x0050,             // Range Maximum
                    0x10,               // Alignment
                    0x04,               // Length
                    )
                IRQNoFlags ()
                    {0}
            })
        }
    }

    Scope (_SB.PC00.LPCB)
    {
        Method (ACCF, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                If ((Zero == Arg0))
                {
                    ^H_EC.DUMY.UPCF (Zero)
                }
            }
        }

        Method (NBIX, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Notify (^H_EC.DUMY.BAT0, 0x81) // Information Change
                Notify (^H_EC.DUMY.BAT1, 0x81) // Information Change
            }
        }

        Method (NBST, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Notify (^H_EC.DUMY.BAT0, 0x80) // Status Change
                Notify (^H_EC.DUMY.BAT1, 0x80) // Status Change
            }
        }

        Method (SWUB, 4, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                If (((Arg0 == 0x03) || (Arg0 == 0x04)))
                {
                    If ((Arg1 & 0x40))
                    {
                        If ((Arg2 & 0x08))
                        {
                            ^H_EC.DUMY.UPBT (0x06, One)
                        }
                        Else
                        {
                            ^H_EC.DUMY.UPBT (0x06, Zero)
                        }
                    }

                    If ((Arg1 & 0x80))
                    {
                        If ((Arg2 & 0x10))
                        {
                            ^H_EC.DUMY.UPBT (0x07, One)
                        }
                        Else
                        {
                            ^H_EC.DUMY.UPBT (0x07, Zero)
                        }
                    }

                    ^H_EC.DUMY.ONTM = One
                    LIDS = ^H_EC.DUMY.ERLD ()
                    If (Arg3)
                    {
                        If ((LIDS == Zero))
                        {
                            ^^GFX0.CLID = 0x80000000
                        }

                        If ((LIDS == One))
                        {
                            ^^GFX0.CLID = 0x80000003
                        }
                    }

                    Notify (^H_EC.DUMY.LID0, 0x80) // Status Change
                    Local0 = ^H_EC.DUMY.ERB1 ()
                    ^H_EC.DUMY.BNUM = ((Local0 & 0x08) >> 0x03)
                    ADBG (Concatenate ("BNUM resume from Sx: ", ToHexString (^H_EC.DUMY.BNUM)))
                    If ((^H_EC.DUMY.BNUM == Zero))
                    {
                        If ((^H_EC.DUMY.ERVP () != PWRS))
                        {
                            PWRS = ^H_EC.DUMY.ERVP ()
                            SPNT ()
                            BPNT ()
                        }
                    }
                    ElseIf ((^H_EC.DUMY.ERAP () != PWRS))
                    {
                        PWRS = ^H_EC.DUMY.ERAP ()
                        SPNT ()
                        BPNT ()
                    }

                    If ((^^^PWRB.PBST == One))
                    {
                        If (PBSS)
                        {
                            Notify (PWRB, 0x02) // Device Wake
                            PBSS = One
                        }
                    }
                }
            }
        }

        Method (PGWD, 4, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                ^H_EC.DUMY.UTEC (Zero, Arg0)
                ^H_EC.DUMY.UTEC (One, Arg1)
                ^H_EC.DUMY.UTEC (0x02, Arg2)
                ^H_EC.DUMY.UTEC (0x03, Arg3)
            }
        }

        Method (PGCL, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                ^H_EC.DUMY.PGER ()
            }
        }

        Method (MXTP, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Local0 = ^H_EC.DUMY.ERMT ()
                Local0 = (0x0AAC + (Local0 * 0x0A))
                Return (Local0)
            }

            Return (0x0BC2)
        }

        Method (UPFS, 3, Serialized)
        {
            If ((CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY) && Arg0))
            {
                If (((Arg1 != Zero) && (Arg2 != Zero)))
                {
                    ^H_EC.DUMY.UPFS (One, AC0F)
                }
                ElseIf (((Arg1 == Zero) && (Arg2 != Zero)))
                {
                    ^H_EC.DUMY.UPFS (One, AC1F)
                }
                Else
                {
                    ^H_EC.DUMY.UPFS (One, Zero)
                }
            }
        }

        Method (TSDD, 2, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Local0 = ((^H_EC.DUMY.ERPH () * 0x0A) + 0x0AAC)
                Local1 = ^H_EC.DUMY.ERSP ()
                Local2 = ^H_EC.DUMY.ERPM ()
                Local3 = ^H_EC.DUMY.ERPD ()
                Local4 = ^H_EC.DUMY.ERPH ()
                If ((Arg0 == One))
                {
                    Arg1 [Zero] = Local0
                    Arg1 [One] = Local0
                    Arg1 [0x02] = Local0
                    Arg1 [0x03] = Local0
                    Arg1 [0x04] = Local0
                    Arg1 [0x06] = (DerefOf (Local1 [One]) + 0x0AAC
                        )
                    Arg1 [0x07] = (DerefOf (Local1 [0x02]) + 0x0AAC
                        )
                    Arg1 [0x08] = (DerefOf (Local1 [0x03]) + 0x0AAC
                        )
                    Arg1 [0x09] = (DerefOf (Local1 [0x04]) + 0x0AAC
                        )
                    Arg1 [0x09] = ((Local2 * 0x0A) + 0x0AAC)
                    Arg1 [0x0A] = ((Local3 * 0x0A) + 0x0AAC)
                    Arg1 [0x0B] = ((Local4 * 0x0A) + 0x0AAC)
                }
                Else
                {
                    Arg1 [Zero] = Local0
                    Arg1 [One] = Local0
                    Arg1 [0x02] = Local0
                    Arg1 [0x03] = Local0
                    Arg1 [0x04] = Local0
                    Arg1 [0x05] = (DerefOf (Local1 [Zero]) + 0x0AAC
                        )
                    Arg1 [0x06] = (DerefOf (Local1 [One]) + 0x0AAC
                        )
                    Arg1 [0x07] = (DerefOf (Local1 [0x02]) + 0x0AAC
                        )
                    Arg1 [0x08] = (DerefOf (Local1 [0x03]) + 0x0AAC
                        )
                    Arg1 [0x09] = (DerefOf (Local1 [0x04]) + 0x0AAC
                        )
                    Arg1 [0x0A] = ((Local2 * 0x0A) + 0x0AAC)
                    Arg1 [0x0B] = ((Local3 * 0x0A) + 0x0AAC)
                    Arg1 [0x0C] = ((Local4 * 0x0A) + 0x0AAC)
                }
            }

            If ((Arg0 == One))
            {
                Arg1 [0x0D] = \_TZ.TZ00._TMP ()
            }
            Else
            {
                Arg1 [0x0E] = \_TZ.TZ00._TMP ()
            }

            Return (Arg1)
        }

        Method (PSDD, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Arg0 [Zero] = Zero
                Arg0 [One] = Zero
                Arg0 [0x02] = Zero
                Local0 = ^H_EC.DUMY.ERBP ()
                Arg0 [0x06] = DerefOf (Local0 [Zero])
                Arg0 [0x07] = DerefOf (Local0 [One])
                Arg0 [0x08] = DerefOf (Local0 [0x02])
                Arg0 [0x09] = DerefOf (Local0 [0x03])
                Arg0 [0x0A] = DerefOf (Local0 [0x04])
                Arg0 [0x0B] = DerefOf (Local0 [0x05])
                Arg0 [0x0C] = DerefOf (Local0 [0x06])
                Arg0 [0x0D] = DerefOf (Local0 [0x07])
                Arg0 [0x0E] = DerefOf (Local0 [0x08])
                Arg0 [0x0F] = DerefOf (Local0 [0x09])
                Arg0 [0x10] = DerefOf (Local0 [0x0A])
                Local0 = ^H_EC.DUMY.ERBA ()
                If (Local0)
                {
                    Local0 = ~Local0 |= 0xFFFF0000
                    Local0 = (Local0 += One * 0x0A)
                }

                Arg0 [0x11] = Local0
                Arg0 [0x12] = Zero
            }

            Return (Arg0)
        }

        Method (OSDD, 2, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                If ((Arg0 == One))
                {
                    Arg1 [Zero] = ^H_EC.DUMY.ERPN ()
                    Arg1 [One] = ^H_EC.DUMY.ERCF ()
                    Arg1 [0x02] = DerefOf (^H_EC.DUMY.ERSP () [0x02])
                }
                Else
                {
                    Arg1 [Zero] = ^H_EC.DUMY.ERPN ()
                    Arg1 [One] = ^H_EC.DUMY.ERCF ()
                }

                Return (Arg1)
            }

            Return (Package (0x00){})
        }

        Method (RPMD, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Return (^H_EC.DUMY.ERPC ())
            }

            Return (Buffer (0x1A){})
        }

        Method (WPMD, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                ^H_EC.DUMY.WPED (Arg0)
            }
        }

        Method (ISPC, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                ^H_EC.DUMY.SPET ()
            }
        }

        Method (ENPC, 0, NotSerialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                ^H_EC.DUMY.EPET ()
            }
        }

        Method (RPCS, 0, NotSerialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Return (^H_EC.DUMY.ERPS ())
            }

            Return (Zero)
        }

        Method (RPEC, 0, NotSerialized)
        {
            Local0 = Zero
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                Local1 = ^H_EC.DUMY.ERPE ()
                Local0 |= DerefOf (Local1 [Zero])
                Local0 |= (DerefOf (Local1 [One]) << 0x08)
                Local0 |= (DerefOf (Local1 [0x02]) << 0x10)
                Local0 |= (DerefOf (Local1 [0x03]) << 0x18)
            }

            Return (Local0)
        }

        Method (UPDK, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY.UPBT))
            {
                ^H_EC.DUMY.UPBT (0x90, Arg0)
            }
        }

        Method (NTIR, 1, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY.ECNT))
            {
                ^H_EC.DUMY.ECNT (Arg0)
            }
        }

        Method (WKEC, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY))
            {
                If ((LIDS != ^H_EC.DUMY.ERLD ()))
                {
                    LIDS = ^H_EC.DUMY.ERLD ()
                    If (IGDS)
                    {
                        If (^^GFX0.GLID (LIDS))
                        {
                            ^^GFX0.CLID |= 0x80000000 /* External reference */
                        }
                    }

                    If ((DGBA != Zero))
                    {
                        If (^^RP12.DLID (LIDS))
                        {
                            ^^RP12.CLID |= 0x80000000 /* External reference */
                        }
                    }

                    Notify (^H_EC.DUMY.LID0, 0x80) // Status Change
                }
                Else
                {
                    If ((^H_EC.DUMY.BNUM == Zero))
                    {
                        If ((PWRS != ^H_EC.DUMY.ERVP ()))
                        {
                            PWRS = ^H_EC.DUMY.ERVP ()
                            SPNT ()
                            BPNT ()
                        }
                    }

                    Notify (PWRB, 0x02) // Device Wake
                }
            }
        }

        Method (NRTS, 1, Serialized)
        {
            If (CondRefOf (RPSG))
            {
                If ((RPSG != Zero))
                {
                    ^^^PGPI.SGOV (RPSG, Arg0)
                }
            }
        }

        Method (XDAT, 0, Serialized)
        {
            If (CondRefOf (\_SB.PC00.LPCB.H_EC.DUMY.XDAT))
            {
                Return (^H_EC.DUMY.XDAT ())
            }

            Return (Zero)
        }
    }

    Mutex (MUTX, 0x00)
    Mutex (OSUM, 0x00)
    Mutex (WWMT, 0x00)
    Mutex (CNMT, 0x00)
    OperationRegion (PRT0, SystemIO, 0x80, 0x02)
    Field (PRT0, WordAcc, Lock, Preserve)
    {
        P80B,   16
    }

    Name (P80T, Zero)
    Method (D8XH, 2, Serialized)
    {
        If ((Arg0 == Zero))
        {
            P80T = ((P80T & 0xFF00) | Arg1)
        }

        If ((Arg0 == One))
        {
            P80T = ((P80T & 0xFF) | (Arg1 << 0x08))
        }

        P80B = P80T /* \P80T */
    }

    Method (P8XH, 2, Serialized)
    {
        If (CondRefOf (MDBG))
        {
            D8XH (Arg0, Arg1)
        }
    }

    OperationRegion (U3F8, SystemIO, 0x03F8, 0x10)
    Field (U3F8, ByteAcc, Lock, Preserve)
    {
        TXBF,   8, 
        DLM,    8, 
        FCR,    8, 
        LCR,    8
    }

    Method (SDBG, 1, Serialized)
    {
        Name (TXBU, Zero)
        Name (DLBU, Zero)
        Name (FCBU, Zero)
        Name (LCBU, Zero)
        TXBU = TXBF /* \TXBF */
        DLBU = DLM /* \DLM_ */
        FCBU = FCR /* \FCR_ */
        LCBU = LCR /* \LCR_ */
        LCR = 0x83
        TXBF = One
        DLM = Zero
        FCR = 0xE1
        LCR = 0x03
        DLM = Zero
        ToHexString (Arg0, Local3)
        Local4 = SizeOf (Local3)
        Local5 = Zero
        While ((Local5 < Local4))
        {
            Mid (Local3, Local5, One, TXBF) /* \TXBF */
            Stall (0x64)
            Local5++
        }

        Stall (0x64)
        TXBF = 0x0D
        Stall (0x64)
        TXBF = 0x0A
        TXBF = TXBU /* \SDBG.TXBU */
        DLM = DLBU /* \SDBG.DLBU */
        FCR = FCBU /* \SDBG.FCBU */
        LCR = LCBU /* \SDBG.LCBU */
    }

    OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
    Field (SPRT, ByteAcc, Lock, Preserve)
    {
        SSMP,   8
    }

    Name (AM00, Package (0x02)
    {
        Zero, 
        Zero
    })
    Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
    {
        GPIC = Arg0
        PICM = Arg0
    }

    Method (RPTS, 1, NotSerialized)
    {
        D8XH (Zero, Arg0)
        D8XH (One, Zero)
        ADBG (Concatenate ("_PTS=", ToHexString (Arg0)))
        If (((Arg0 == 0x04) || (Arg0 == 0x05)))
        {
            If ((PG3S == One)){}
        }

        If (CondRefOf (\_SB.TPM.PTS))
        {
            \_SB.TPM.PTS (Arg0)
        }

        SPTS (Arg0)
        If (CondRefOf (RPN1))
        {
            ADBG (Concatenate ("Root Port Selected, ACPI slot num = ", ToHexString (RPS1)))
            ADBG (Concatenate ("Root Port Type = ", ToHexString (RPT1)))
            If (((RPN1 == One) && (RPS1 == 0x09)))
            {
                If (((RPT1 == One) && (P3PG == 0x0016010F)))
                {
                    ADBG ("[dTBT] Turn off PCH BR power")
                    \_SB.PGPI.SGOV (P3RG, Zero)
                    Sleep (0x0A)
                    \_SB.PGPI.SGOV (P3PG, Zero)
                }
            }
        }

        If ((PFLV == 0x02))
        {
            If (CondRefOf (\ECON))
            {
                If ((ECON == One))
                {
                    ADBG ("[TCSS] 3rd PD PS_ON Sx")
                }
            }
        }

        If (CondRefOf (RPN0))
        {
            If (((RPN0 == One) && (RPS0 == 0x0A)))
            {
                If ((RPT0 == 0x02))
                {
                    If ((P2RG == 0x00140414))
                    {
                        \_SB.SGOV (P2RG, Zero)
                        \_SB.SGOV (P2PG, Zero)
                    }
                }
            }
        }
    }

    Method (PBCL, 0, NotSerialized)
    {
        Return (Package (0x67)
        {
            0x50, 
            0x32, 
            0x05, 
            0x05, 
            0x05, 
            0x05, 
            0x05, 
            0x05, 
            0x06, 
            0x07, 
            0x08, 
            0x09, 
            0x0A, 
            0x0B, 
            0x0C, 
            0x0D, 
            0x0E, 
            0x0F, 
            0x10, 
            0x11, 
            0x12, 
            0x13, 
            0x14, 
            0x15, 
            0x16, 
            0x17, 
            0x18, 
            0x19, 
            0x1A, 
            0x1B, 
            0x1C, 
            0x1D, 
            0x1E, 
            0x1F, 
            0x20, 
            0x21, 
            0x22, 
            0x23, 
            0x24, 
            0x25, 
            0x26, 
            0x27, 
            0x28, 
            0x29, 
            0x2A, 
            0x2B, 
            0x2C, 
            0x2D, 
            0x2E, 
            0x2F, 
            0x30, 
            0x31, 
            0x32, 
            0x33, 
            0x34, 
            0x35, 
            0x36, 
            0x37, 
            0x38, 
            0x39, 
            0x3A, 
            0x3B, 
            0x3C, 
            0x3D, 
            0x3E, 
            0x3F, 
            0x40, 
            0x41, 
            0x42, 
            0x43, 
            0x44, 
            0x45, 
            0x46, 
            0x47, 
            0x48, 
            0x49, 
            0x4A, 
            0x4B, 
            0x4C, 
            0x4D, 
            0x4E, 
            0x4F, 
            0x50, 
            0x51, 
            0x52, 
            0x53, 
            0x54, 
            0x55, 
            0x56, 
            0x57, 
            0x58, 
            0x59, 
            0x5A, 
            0x5B, 
            0x5C, 
            0x5D, 
            0x5E, 
            0x5F, 
            0x60, 
            0x61, 
            0x62, 
            0x63, 
            0x64
        })
    }

    Method (RWAK, 1, Serialized)
    {
        D8XH (One, 0xAB)
        ADBG ("_WAK")
        Name (RPWM, Zero)
        If ((DSTS == Zero))
        {
            RPWM = Zero
        }
        Else
        {
            RPWM = 0x0180
        }

        SWAK (Arg0, RPWM)
        If ((Arg0 == 0x03))
        {
            \_SB.PC00.LPCB.ACCF (ACTT)
        }

        If (((Arg0 == 0x03) || (Arg0 == 0x04)))
        {
            If ((ECON == One))
            {
                If ((\_SB.PC00.LPCB.EC0.SLID == Zero))
                {
                    \_SB.LID1.LIDS = One
                    LIDS = One
                }
                Else
                {
                    \_SB.LID1.LIDS = Zero
                    LIDS = Zero
                }

                If (IGDS)
                {
                    If ((LIDS == Zero))
                    {
                        \_SB.PC00.GFX0.CLID = 0x80000000
                    }

                    If ((LIDS == One))
                    {
                        \_SB.PC00.GFX0.CLID = 0x80000003
                    }
                }

                Notify (\_SB.LID1, 0x80) // Status Change
                \_SB.PC00.LPCB.EC0.XSEC = \_SB.PC00.LPCB.EC0.OSEC
            }

            If ((GBSX & 0x40))
            {
                \_SB.PC00.GFX0.IUEH (0x06)
                PB1E ^= 0x08
            }

            If ((GBSX & 0x80))
            {
                \_SB.PC00.GFX0.IUEH (0x07)
                PB1E ^= 0x10
            }

            \_SB.PC00.LPCB.SWUB (Arg0, GBSX, PB1E, IGDS)
            If (CondRefOf (\_SB.PC00.TXHC))
            {
                \_SB.TCWK (Arg0)
            }

            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    Acquire (OSUM, 0xFFFF)
                    If (CondRefOf (\_GPE.DTIN))
                    {
                        \_GPE.DTIN ()
                    }

                    Release (OSUM)
                }
            }

            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    If (CondRefOf (\_SB.PC00.RP01.NFRP))
                    {
                        \_SB.PC00.RP01.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP05.NFRP))
                    {
                        \_SB.PC00.RP05.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP09.NFRP))
                    {
                        \_SB.PC00.RP09.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP10.NFRP))
                    {
                        \_SB.PC00.RP10.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP11.NFRP))
                    {
                        \_SB.PC00.RP11.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP12.NFRP))
                    {
                        \_SB.PC00.RP12.NFRP ()
                    }
                }
            }
        }

        BPNT ()
        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }

    Method (GETB, 3, Serialized)
    {
        Local0 = (Arg0 * 0x08)
        Local1 = (Arg1 * 0x08)
        CreateField (Arg2, Local0, Local1, TBF3)
        Return (TBF3) /* \GETB.TBF3 */
    }

    Method (BPNT, 0, NotSerialized)
    {
        ADBG ("BPNT, Board Power Notification")
        If (CondRefOf (\_SB.DPTF))
        {
            If ((\_SB.DPTF == One))
            {
                If (CondRefOf (\_SB.IETM))
                {
                    Notify (\_SB.IETM, 0x86) // Device-Specific
                    If (((ECON == One) && (\_SB.CHGE == One)))
                    {
                        If (CondRefOf (\_SB.IETM.CHRG))
                        {
                            Notify (\_SB.IETM.CHRG, 0x80) // Status Change
                        }
                    }
                }
            }
        }
    }

    OperationRegion (CPWR, SystemMemory, (\_SB.PC00.GMHB () + 0x5000), 0x1000)
    Field (CPWR, ByteAcc, NoLock, Preserve)
    {
        Offset (0x938), 
        PWRU,   4, 
        Offset (0x9A0), 
        PPL1,   15, 
        PL1E,   1, 
        CLP1,   1
    }

    Name (CLMP, Zero)
    Name (PLEN, Zero)
    Name (PLSV, 0x8000)
    Name (CSEM, Zero)
    Method (SPL1, 0, Serialized)
    {
        Name (PPUU, Zero)
        If ((CSEM == One))
        {
            Return (Zero)
        }

        CSEM = One
        PLSV = PPL1 /* \PPL1 */
        PLEN = PL1E /* \PL1E */
        CLMP = CLP1 /* \CLP1 */
        If ((PWRU == Zero))
        {
            PPUU = One
        }
        Else
        {
            PPUU = (PWRU-- << 0x02)
        }

        Local0 = (PLVL * PPUU) /* \SPL1.PPUU */
        Local1 = (Local0 / 0x03E8)
        PPL1 = Local1
        PL1E = One
        CLP1 = One
    }

    Method (RPL1, 0, Serialized)
    {
        PPL1 = PLSV /* \PLSV */
        PL1E = PLEN /* \PLEN */
        CLP1 = CLMP /* \CLMP */
        CSEM = Zero
    }

    Name (UAMS, Zero)
    Name (GLCK, Zero)
    Method (GUAM, 1, Serialized)
    {
        Switch (ToInteger (Arg0))
        {
            Case (Zero)
            {
                If ((GLCK == One))
                {
                    GLCK = Zero
                    P8XH (Zero, 0xE1)
                    P8XH (One, 0xAB)
                    ADBG ("Exit Resiliency")
                    If (PSCP)
                    {
                        If (CondRefOf (\_SB.PR00._PPC))
                        {
                            \_SB.CPPC = Zero
                            SPNT ()
                        }
                    }

                    If (PLCS)
                    {
                        RPL1 ()
                    }

                    BPNT ()
                }
            }
            Case (One)
            {
                If ((GLCK == Zero))
                {
                    GLCK = One
                    P8XH (Zero, 0xE0)
                    P8XH (One, Zero)
                    ADBG ("Enter Resiliency")
                    If (PSCP)
                    {
                        If ((CondRefOf (\_SB.PR00._PSS) && CondRefOf (\_SB.PR00._PPC)))
                        {
                            SPNT ()
                            BPNT ()
                        }
                    }

                    If (PLCS)
                    {
                        SPL1 ()
                    }
                }
            }
            Default
            {
                Return (Zero)
            }

        }

        UAMS = (Arg0 && !PWRS)
        P_CS ()
    }

    Method (P_CS, 0, Serialized)
    {
        If (CondRefOf (\_SB.PC00.PAUD.PUAM))
        {
            \_SB.PC00.PAUD.PUAM ()
        }

        If ((OSYS == 0x07DC))
        {
            If (CondRefOf (\_SB.PC00.XHCI.DUAM))
            {
                \_SB.PC00.XHCI.DUAM ()
            }
        }
    }

    Scope (_SB.PC00)
    {
        Method (PTMA, 0, NotSerialized)
        {
            Return (BGMA) /* External reference */
        }

        Method (PTMS, 0, NotSerialized)
        {
            Return (BGMS) /* External reference */
        }

        Method (PTIA, 0, NotSerialized)
        {
            Return (BGIA) /* External reference */
        }

        Method (_INI, 0, Serialized)  // _INI: Initialize
        {
            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    If (CondRefOf (\_SB.PC00.RP01.NFRP))
                    {
                        ^RP01.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP05.NFRP))
                    {
                        ^RP05.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP09.NFRP))
                    {
                        ^RP09.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP10.NFRP))
                    {
                        ^RP10.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP11.NFRP))
                    {
                        ^RP11.NFRP ()
                    }

                    If (CondRefOf (\_SB.PC00.RP12.NFRP))
                    {
                        ^RP12.NFRP ()
                    }
                }
            }

            OSYS = 0x03E8
            If (CondRefOf (\_OSI))
            {
                If (_OSI ("Windows 2001"))
                {
                    OSYS = 0x07D1
                }

                If (_OSI ("Windows 2001 SP1"))
                {
                    OSYS = 0x07D1
                }

                If (_OSI ("Windows 2001 SP2"))
                {
                    OSYS = 0x07D2
                }

                If (_OSI ("Windows 2001.1"))
                {
                    OSYS = 0x07D3
                }

                If (_OSI ("Windows 2006"))
                {
                    OSYS = 0x07D6
                }

                If (_OSI ("Windows 2009"))
                {
                    OSYS = 0x07D9
                }

                If (_OSI ("Windows 2012"))
                {
                    OSYS = 0x07DC
                }

                If (_OSI ("Windows 2013"))
                {
                    OSYS = 0x07DD
                }

                If (_OSI ("Windows 2015"))
                {
                    OSYS = 0x07DF
                }
            }

            If (CondRefOf (\DTFS))
            {
                If ((DTFS == One))
                {
                    Acquire (OSUM, 0xFFFF)
                    If (CondRefOf (\_GPE.DTIN))
                    {
                        \_GPE.DTIN ()
                    }

                    Release (OSUM)
                }
            }
        }
    }

    Scope (\)
    {
        Name (PICM, Zero)
        Name (PRWP, Package (0x02)
        {
            Zero, 
            Zero
        })
        Method (GPRW, 2, NotSerialized)
        {
            PRWP [Zero] = Arg0
            Local0 = (SS1 << One)
            Local0 |= (SS2 << 0x02)
            Local0 |= (SS3 << 0x03)
            Local0 |= (SS4 << 0x04)
            If (((One << Arg1) & Local0))
            {
                PRWP [One] = Arg1
            }
            Else
            {
                Local0 >>= One
                FindSetLeftBit (Local0, PRWP [One])
            }

            Return (PRWP) /* \PRWP */
        }
    }

    Scope (_SB)
    {
        Name (OSU4, Zero)
        Name (OSCM, 0xFF)
        If ((U4SE == One))
        {
            OperationRegion (CSIO, SystemIO, 0x72, 0x02)
            Field (CSIO, ByteAcc, NoLock, Preserve)
            {
                IO72,   8, 
                IO73,   8
            }

            Method (WCMP, 1, Serialized)
            {
                ADBG (Concatenate ("WCMP - Saved CM mode = ", Arg0))
                IO72 = 0xF2
                IO73 = Arg0
            }
        }

        Method (DOCM, 0, Serialized)
        {
            If ((U4SE == Zero))
            {
                Return (0xFF)
            }

            ADBG (Concatenate ("DOCM: Switch host router to OS requested CM mode - ", OSU4))
            Local0 = 0xFF
            OSCM = Zero
            ADBG (Concatenate ("DOCM: Enabled host router mask on platform = ", ToHexString (CMSK)))
            If ((CondRefOf (\_SB.PC00.TDM0.STCM) && (CMSK & One)))
            {
                ADBG ("DOCM: Apply CM mode to iTBT0 ...")
                Local1 = ^PC00.TDM0.STCM (OSU4, U4CM)
                If ((Local1 != 0xFF))
                {
                    ADBG (Concatenate ("DOCM: Apply CM mode to iTBT0 successfully, CM mode = ", Local1))
                    OSCM = Local1
                    Local0 = Zero
                }
                Else
                {
                    ADBG (Concatenate ("DOCM: Fail to apply CM mode to iTBT0, CM mode = ", OSU4))
                    Return (0xFF)
                }
            }

            If ((CondRefOf (\_SB.PC00.TDM1.STCM) && (CMSK & 0x02)))
            {
                ADBG ("DOCM: Apply CM mode to iTBT1")
                Local1 = ^PC00.TDM1.STCM (OSU4, U4CM)
                If ((Local1 != 0xFF))
                {
                    ADBG (Concatenate ("DOCM: Apply CM mode to iTBT1 successfully, CM mode = ", Local1))
                    OSCM = Local1
                    Local0 = Zero
                }
                Else
                {
                    ADBG (Concatenate ("DOCM: Fail to apply CM mode to iTBT1, CM mode = ", OSU4))
                    Return (0xFF)
                }
            }

            If ((Local0 == 0xFF))
            {
                ADBG ("DOCM: CM mode is not applied to any host router, native USB4 capability is not supported")
            }

            If (((U4CM & 0x70) == 0x20))
            {
                ADBG (Concatenate ("DOCM: Save the applied CM mode to platform settings, CM mode = ", OSCM))
                WCMP (OSCM)
            }

            Return (Local0)
        }

        Method (U4FN, 2, Serialized)
        {
            ADBG (Concatenate ("U4FN: _OSC STS = ", ToHexString (Arg0)))
            ADBG (Concatenate ("U4FN: _OSC CAP = ", ToHexString (Arg1)))
            If ((U4SE == Zero))
            {
                If (((U4CM & 0x07) == One))
                {
                    ADBG ("U4FN: Platform only support SW CM")
                    OSCM = One
                    If ((CondRefOf (\_SB.PC00.TDM0.STCM) && (CMSK & One)))
                    {
                        ^PC00.TDM0.STCM (One, U4CM)
                    }

                    If ((CondRefOf (\_SB.PC00.TDM1.STCM) && (CMSK & 0x02)))
                    {
                        ^PC00.TDM1.STCM (One, U4CM)
                    }

                    Return (Zero)
                }
                Else
                {
                    OSCM = Zero
                    If ((Arg1 & 0x00040000))
                    {
                        ADBG ("U4FN: USB4 capability bit should be cleared since platform doesn\'t support")
                        Return (0xFF)
                    }
                    Else
                    {
                        ADBG ("U4FN: OS and platform doesn\'t support native USB4")
                        Return (Zero)
                    }
                }
            }
            Else
            {
                Local0 = Zero
                If ((Arg1 & 0x00040000))
                {
                    ADBG ("U4FN: OS supports native USB4 capability")
                    OSU4 = One
                }
                Else
                {
                    ADBG ("U4FN: OS doesn\'t support native USB4 capability")
                    OSU4 = Zero
                }

                If (((U4CM & 0x70) == Zero))
                {
                    If ((OSU4 == One))
                    {
                        ADBG ("U4FN: Platform doesn\'t support SW CM, clear USB4 capability bit")
                        Local0 = 0xFF
                    }
                    Else
                    {
                        ADBG ("U4FN: OS and platform only support FW CM")
                        Local0 = Zero
                    }

                    Return (Local0)
                }

                If (((Arg0 & One) == Zero))
                {
                    ADBG ("U4FN: Platform-Wide _OSC query bit = 0")
                    Local1 = DOCM ()
                    If (((OSU4 == One) && (Local1 == 0xFF)))
                    {
                        Local0 = 0xFF
                    }
                }
                Else
                {
                    ADBG ("U4FN: Platform-Wide _OSC query bit = 1")
                    ADBG (Concatenate ("OSU4 = ", OSU4))
                    ADBG (Concatenate ("OSCM = ", OSCM))
                    If (((OSU4 == One) && (OSCM == Zero)))
                    {
                        ADBG ("U4FN: Native USB4 capability bit should be cleared since FW CM is applied for OS")
                        Local0 = 0xFF
                    }
                }

                Return (Local0)
            }
        }
    }

    Scope (_SB)
    {
        Name (OSCI, Zero)
        Name (OSCO, Zero)
        Name (OSCP, Zero)
        Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
        {
            CreateDWordField (Arg3, Zero, STS0)
            CreateDWordField (Arg3, 0x04, CAP0)
            If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
            {
                If ((Arg1 == One))
                {
                    OSCP = CAP0 /* \_SB_._OSC.CAP0 */
                    If ((CAP0 & 0x04))
                    {
                        OSCO = 0x04
                        If (((HGDT & 0x0F) != 0x04))
                        {
                            If ((RTD3 == Zero))
                            {
                                CAP0 &= 0xFFFFFFFB
                                STS0 |= 0x10
                            }
                        }
                    }

                    If ((U4FN (STS0, CAP0) == 0xFF))
                    {
                        ADBG ("_OSC: Native USB4 capability bit is cleared")
                        CAP0 &= 0xFFFBFFFF
                        STS0 |= 0x10
                    }
                }
                Else
                {
                    STS0 &= 0xFFFFFF00
                    STS0 |= 0x0A
                }
            }
            ElseIf ((Arg0 == ToUUID ("23a0d13a-26ab-486c-9c5f-0ffa525a575a") /* USB4 Capabilities */))
            {
                If ((OSCM == One))
                {
                    CreateDWordField (Arg3, 0x08, CTRL)
                    If ((Arg1 == One))
                    {
                        ADBG (Concatenate ("_OSC: USB4 Control _OSC query bit = ", ToHexString ((STS0 & One))))
                        ADBG (Concatenate ("EPTU = ", ToHexString (EPTU)))
                        ADBG (Concatenate ("CTRL = ", ToHexString (CTRL)))
                        Local1 = CTRL /* \_SB_._OSC.CTRL */
                        If ((CTRL & 0xFFFFFFF0))
                        {
                            ADBG ("_OSC: Clear unsupported bits of USB control")
                            CTRL &= 0x0F
                        }

                        If ((EPTU == Zero))
                        {
                            CTRL &= 0x0B
                            ADBG (Concatenate ("_OSC: Clear PCIe bit, CTRL= ", ToHexString (CTRL)))
                        }

                        If ((Local1 != CTRL))
                        {
                            STS0 |= 0x10
                            ADBG ("_OSC: Set capabilities masked bit to indicate capabilities cleared by platform")
                        }
                    }
                    Else
                    {
                        STS0 &= 0xFFFFFF00
                        STS0 |= 0x0A
                    }
                }
                Else
                {
                    ADBG ("_OSC: USB4 control UUID is unrecognised since SW CM mode is not applied for OS!")
                    STS0 &= 0xFFFFFF00
                    STS0 |= 0x06
                }
            }
            Else
            {
                STS0 &= 0xFFFFFF00
                STS0 |= 0x06
            }

            Return (Arg3)
        }
    }

    Scope (_SB)
    {
        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
            Name (_STA, 0x0B)  // _STA: Status
        }
    }

    Scope (_SB)
    {
        Device (COEX)
        {
            Name (_HID, EisaId ("INT3519"))  // _HID: Hardware ID
            Name (_STR, Unicode ("CoExistence Manager"))  // _STR: Description String
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((COEM == One))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }
    }

    If (CondRefOf (\_SB.PC02.ISHD))
    {
        Scope (_SB.PC02.ISHD)
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                ADBG ("ISHD _DSM")
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                If (CondRefOf (HIWC))
                {
                    If (HIWC (Arg0))
                    {
                        If ((Arg2 <= 0x02))
                        {
                            If (CondRefOf (HIDW))
                            {
                                Return (HIDW (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                        ElseIf ((Arg2 == 0x03))
                        {
                            If (CondRefOf (ISAR))
                            {
                                Return (ISAR (Arg0, Arg1, Arg2, Arg3))
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB)
    {
        Device (PR00)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
        }

        Device (PR01)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
        }

        Device (PR02)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x02)  // _UID: Unique ID
        }

        Device (PR03)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x03)  // _UID: Unique ID
        }

        Device (PR04)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x04)  // _UID: Unique ID
        }

        Device (PR05)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x05)  // _UID: Unique ID
        }

        Device (PR06)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x06)  // _UID: Unique ID
        }

        Device (PR07)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x07)  // _UID: Unique ID
        }

        Device (PR08)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x08)  // _UID: Unique ID
        }

        Device (PR09)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x09)  // _UID: Unique ID
        }

        Device (PR10)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0A)  // _UID: Unique ID
        }

        Device (PR11)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0B)  // _UID: Unique ID
        }

        Device (PR12)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0C)  // _UID: Unique ID
        }

        Device (PR13)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0D)  // _UID: Unique ID
        }

        Device (PR14)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0E)  // _UID: Unique ID
        }

        Device (PR15)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x0F)  // _UID: Unique ID
        }

        Device (PR16)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x10)  // _UID: Unique ID
        }

        Device (PR17)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x11)  // _UID: Unique ID
        }

        Device (PR18)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x12)  // _UID: Unique ID
        }

        Device (PR19)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x13)  // _UID: Unique ID
        }

        Device (PR20)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x14)  // _UID: Unique ID
        }

        Device (PR21)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x15)  // _UID: Unique ID
        }

        Device (PR22)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x16)  // _UID: Unique ID
        }

        Device (PR23)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x17)  // _UID: Unique ID
        }

        Device (PR24)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x18)  // _UID: Unique ID
        }

        Device (PR25)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x19)  // _UID: Unique ID
        }

        Device (PR26)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1A)  // _UID: Unique ID
        }

        Device (PR27)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1B)  // _UID: Unique ID
        }

        Device (PR28)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1C)  // _UID: Unique ID
        }

        Device (PR29)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1D)  // _UID: Unique ID
        }

        Device (PR30)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1E)  // _UID: Unique ID
        }

        Device (PR31)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x1F)  // _UID: Unique ID
        }

        Device (PR32)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x20)  // _UID: Unique ID
        }

        Device (PR33)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x21)  // _UID: Unique ID
        }

        Device (PR34)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x22)  // _UID: Unique ID
        }

        Device (PR35)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x23)  // _UID: Unique ID
        }

        Device (PR36)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x24)  // _UID: Unique ID
        }

        Device (PR37)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x25)  // _UID: Unique ID
        }

        Device (PR38)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x26)  // _UID: Unique ID
        }

        Device (PR39)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x27)  // _UID: Unique ID
        }

        Device (PR40)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x28)  // _UID: Unique ID
        }

        Device (PR41)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x29)  // _UID: Unique ID
        }

        Device (PR42)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2A)  // _UID: Unique ID
        }

        Device (PR43)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2B)  // _UID: Unique ID
        }

        Device (PR44)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2C)  // _UID: Unique ID
        }

        Device (PR45)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2D)  // _UID: Unique ID
        }

        Device (PR46)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2E)  // _UID: Unique ID
        }

        Device (PR47)
        {
            Name (_HID, "ACPI0007" /* Processor Device */)  // _HID: Hardware ID
            Name (_UID, 0x2F)  // _UID: Unique ID
        }
    }

    Scope (_SB)
    {
        Device (PAGD)
        {
            Name (_HID, "ACPI000C" /* Processor Aggregator Device */)  // _HID: Hardware ID
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (_OSI ("Processor Aggregator Device"))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Name (_PUR, Package (0x02)  // _PUR: Processor Utilization Request
            {
                One, 
                Zero
            })
        }
    }

    Scope (_SB.PC00)
    {
        Device (PDRC)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Name (BUF0, ResourceTemplate ()
            {
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00008000,         // Address Length
                    _Y4D)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y4E)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00001000,         // Address Length
                    _Y4F)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y50)
                Memory32Fixed (ReadWrite,
                    0xFED20000,         // Address Base
                    0x00060000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFC800000,         // Address Base
                    0x00020000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0xFED45000,         // Address Base
                    0x0004B000,         // Address Length
                    )
                Memory32Fixed (ReadOnly,
                    0xFEE00000,         // Address Base
                    0x00100000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    )
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y51)
                Memory32Fixed (ReadWrite,
                    0x00000000,         // Address Base
                    0x00000000,         // Address Length
                    _Y4C)
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                If (CondRefOf (DPTR))
                {
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4C._BAS, ABR0)  // _BAS: Base Address
                    ABR0 = DPTR /* External reference */
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4C._LEN, ABLN)  // _LEN: Length
                    ABLN = (EPTR - DPTR) /* External reference */
                }

                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4D._BAS, MBR0)  // _BAS: Base Address
                MBR0 = GMHB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4E._BAS, DBR0)  // _BAS: Base Address
                DBR0 = GDMB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y4F._BAS, EBR0)  // _BAS: Base Address
                EBR0 = GEPB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y50._BAS, XBR0)  // _BAS: Base Address
                XBR0 = GPCB ()
                CreateDWordField (BUF0, \_SB.PC00.PDRC._Y50._LEN, XSZ0)  // _LEN: Length
                XSZ0 = GPCL ()
                If (!HPTE)
                {
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y51._BAS, HBAS)  // _BAS: Base Address
                    CreateDWordField (BUF0, \_SB.PC00.PDRC._Y51._LEN, HLEN)  // _LEN: Length
                    HBAS = HPTB /* \HPTB */
                    HLEN = 0x0400
                }

                Return (BUF0) /* \_SB_.PC00.PDRC.BUF0 */
            }
        }
    }

    Method (BRTN, 1, Serialized)
    {
        If (((DIDX & 0x0F0F) == 0x0400))
        {
            Notify (\_SB.PC00.GFX0.DD1F, Arg0)
        }

        If (((DIDY & 0x0F0F) == 0x0401))
        {
            Notify (\_SB.PC00.GFX0.DD2F, Arg0)
        }

        If (((DGDX & 0x0F0F) == 0x0400))
        {
            Notify (\_SB.PC00.RP12.PXSX.PEGB.PEGE.DEDP, Arg0)
        }
    }

    Scope (_GPE)
    {
        Method (_L73, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L73 Event")
        }

        Method (_L69, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L69 Event")
            SL69 ()
        }

        Method (_L61, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L61 Event")
            L01C += One
            P8XH (Zero, One)
            P8XH (One, L01C)
            SL61 ()
        }

        Method (_L62, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L62 Event")
            GPEC = Zero
        }

        Method (_L50, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L50 Event")
            \_SB.PC00.LPCB.WKEC ()
            Return (Zero)
        }

        Method (_L6B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("_L6B Event")
            If (CondRefOf (\_GPE.AL6B))
            {
                AL6B ()
            }

            If (CondRefOf (\_GPE.PL6B))
            {
                PL6B ()
            }
        }

        Method (_L6E, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("_L6E Event")
            If (CondRefOf (\_GPE.PL6E))
            {
                PL6E ()
            }
        }

        Name (PRES, One)
        Method (_L6F, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("L6F Event")
            If (CondRefOf (\_GPE.AL6F))
            {
                AL6F ()
            }

            SL6F ()
        }

        Method (_L72, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            If (CondRefOf (\_SB.PC00.AWAC))
            {
                \_SB.PC00.AWAC.WAST = One
                Notify (\_SB.PC00.AWAC, 0x02) // Device Wake
            }
        }

        Method (_L71, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            If (CondRefOf (\_GPE.SL71))
            {
                SL71 ()
            }
        }

        If (CondRefOf (GP1E))
        {
            If ((GP1E != Zero))
            {
                Method (_LC7, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
                {
                    ADBG ("LC7 Event")
                    SLC7 ()
                }
            }
        }

        If (CondRefOf (GP1E))
        {
            If ((GP1E != Zero))
            {
                Method (_LA7, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
                {
                    ADBG ("LA7 Event")
                    L01C += One
                    P8XH (Zero, 0xA7)
                    P8XH (One, L01C)
                    SLA7 ()
                }
            }
        }

        Method (_LA0, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LA0 Event")
            SLA0 ()
        }

        Method (_LA1, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LA1 Event")
            SLA1 ()
        }

        Method (_LA2, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LA2 Event")
            SLA2 ()
        }

        Method (_LC0, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LC0 Event")
            SLC0 ()
        }

        Method (_LC1, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LC1 Event")
            SLC1 ()
        }

        Method (_LC2, 0, Serialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
        {
            ADBG ("LC2 Event")
            SLC2 ()
        }
    }

    Method (GMIO, 3, Serialized)
    {
        OperationRegion (PXCS, SystemMemory, \_SB.PC00.PC2M (Arg1, Arg0), 0x20)
        Field (PXCS, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18), 
            PBUS,   8, 
            SBUS,   8
        }

        Local0 = \_SB.PC00.GPCB ()
        Local0 += ((Arg2 & 0x001F0000) >> One)
        Local0 += ((Arg2 & 0x07) << 0x0C)
        Local0 += (SBUS << 0x14)
        Return (Local0)
    }

    If (CondRefOf (\_SB.PC00.RP17.PXSX))
    {
        Scope (_SB.PC00.RP17.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC00.RP17.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP17.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC00.RP17.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC00.RP17.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC00.RP17.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC00.RP17.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC00.RP17.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC00.RP17.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC00.RP17.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC00.RP17.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC00.RP17.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC00.RP17.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC00.RP17.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC00.RP17.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC00.RP17.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC00.RP17.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC00.RP17.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^^PC02.CNVW.RSTT))
                                Return (^^^^PC02.CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^^PC02.CNVW.RSTT = CMDP /* \_SB_.PC00.RP17.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^^PC02.CNVW.PRRS)))
                                Return (^^^^PC02.CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC00.RP17.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC00.RP17.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC00.RP17.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC00.RP17.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((CondRefOf (\DLRM) && (DLRM != Zero)))
                {
                    If ((Arg0 == Buffer (0x10)
                            {
                                /* 0000 */  0xFB, 0x8A, 0x1F, 0xC4, 0x01, 0x47, 0xEB, 0xF0,  // .....G..
                                /* 0008 */  0x1D, 0x26, 0x02, 0x96, 0x64, 0x8C, 0x30, 0xE4   // .&..d.0.
                            }))
                    {
                        If ((One == ToInteger (Arg1)))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    If ((PNVM () && ((DLRM != Zero) && ((S4G4 == One) || 
                                        (S3G4 == One)))))
                                    {
                                        ADBG ("Enable DLRM for Storage")
                                        Return (One)
                                    }
                                    Else
                                    {
                                        ADBG ("Disable DLRM for Storage")
                                        Return (Zero)
                                    }
                                }

                            }
                        }
                    }
                }

                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC00.RP21.PXSX))
    {
        Scope (_SB.PC00.RP21.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC00.RP21.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC00.RP21.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC00.RP21.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC00.RP21.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC00.RP21.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC00.RP21.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC00.RP21.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC00.RP21.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC00.RP21.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC00.RP21.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC00.RP21.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC00.RP21.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC00.RP21.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC00.RP21.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC00.RP21.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC00.RP21.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC00.RP21.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^^PC02.CNVW.RSTT))
                                Return (^^^^PC02.CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^^PC02.CNVW.RSTT = CMDP /* \_SB_.PC00.RP21.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^^PC02.CNVW.PRRS)))
                                Return (^^^^PC02.CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC00.RP21.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC00.RP21.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC00.RP21.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC00.RP21.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((CondRefOf (\DLRM) && (DLRM != Zero)))
                {
                    If ((Arg0 == Buffer (0x10)
                            {
                                /* 0000 */  0xFB, 0x8A, 0x1F, 0xC4, 0x01, 0x47, 0xEB, 0xF0,  // .....G..
                                /* 0008 */  0x1D, 0x26, 0x02, 0x96, 0x64, 0x8C, 0x30, 0xE4   // .&..d.0.
                            }))
                    {
                        If ((One == ToInteger (Arg1)))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    If ((PNVM () && ((DLRM != Zero) && ((S4G4 == One) || 
                                        (S3G4 == One)))))
                                    {
                                        ADBG ("Enable DLRM for Storage")
                                        Return (One)
                                    }
                                    Else
                                    {
                                        ADBG ("Disable DLRM for Storage")
                                        Return (Zero)
                                    }
                                }

                            }
                        }
                    }
                }

                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB.PC02.RP01.PXSX)
    {
        OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
        Field (RPXX, AnyAcc, NoLock, Preserve)
        {
            VDID,   32, 
            Offset (0x2C), 
            SVID,   16
        }

        OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
        Field (FLDR, ByteAcc, NoLock, Preserve)
        {
            DCAP,   32, 
            DCTR,   16
        }

        OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
        Field (VSEC, AnyAcc, NoLock, Preserve)
        {
            Offset (0x0C), 
                ,   1, 
            BTIE,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
                ,   1, 
            Offset (0x0D), 
            PDRC,   1
        }

        OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
        Field (PBRR, AnyAcc, NoLock, Preserve)
        {
            Offset (0x18C), 
            MSNL,   32, 
            Offset (0x198), 
            L1C1,   32, 
            L1C2,   32, 
            Offset (0x2B4), 
            PTMR,   32
        }

        Method (WIST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x25268086)
                    {
                        Return (One)
                    }
                    Case (0x271B8086)
                    {
                        Return (One)
                    }
                    Case (0x27238086)
                    {
                        Return (One)
                    }
                    Case (0x27258086)
                    {
                        Return (One)
                    }
                    Case (0x272B8086)
                    {
                        Return (One)
                    }
                    Default
                    {
                        If ((SVDC == One))
                        {
                            Return (One)
                        }

                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        Method (WWST, 0, Serialized)
        {
            If (CondRefOf (VDID))
            {
                Switch (ToInteger (VDID))
                {
                    Case (0x73608086)
                    {
                        Return (One)
                    }
                    Case (0x75608086)
                    {
                        Return (One)
                    }
                    Case (0x4D7514C3)
                    {
                        Return (One)
                    }
                    Case (0x080014C3)
                    {
                        Return (One)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
            Else
            {
                Return (Zero)
            }
        }

        If (WIST ())
        {
            Name (RSTY, Zero)
            Name (FLRC, Zero)
            Name (BOFC, Zero)
            Name (DPRS, Zero)
            PowerResource (WRST, 0x05, 0x0000)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    ADBG ("Wifi PR _STA")
                    Return (One)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                    ADBG ("Wifi PR _ON")
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                    ADBG ("Wifi PR _OFF")
                }

                Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                {
                    If ((RSTY == One))
                    {
                        ADBG ("Wifi Product RST")
                        Local0 = Acquire (CNMT, 0x03E8)
                        If ((Local0 == Zero))
                        {
                            If ((FLRC == One))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP01.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                                Sleep (FDEL)
                            }

                            DPRS = One
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = Zero
                                }

                                Sleep (RDLY)
                            }

                            PDRC = One
                            Sleep (VDEL)
                            ^^^^^PGPI.SGOV (WLRT, Zero)
                            Sleep (PDEL)
                            ^^^^^PGPI.SGOV (WLRT, One)
                            If ((BOFC == One))
                            {
                                If ((BRMT == Zero))
                                {
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    BTIE = One
                                }

                                Sleep (RDLY)
                            }

                            DPRS = 0x02
                            Release (CNMT)
                        }
                    }
                    Else
                    {
                        ADBG ("Wifi Core RST")
                        If ((DCAP & 0x10000000))
                        {
                            Local0 = DCTR /* \_SB_.PC02.RP01.PXSX.DCTR */
                            Local0 |= 0x8000
                            DCTR = Local0
                        }

                        DPRS = One
                    }

                    Sleep (0x07D0)
                    MSNL = DR01 /* \DR01 */
                    L1C1 = DR02 /* \DR02 */
                    L1C2 = DR03 /* \DR03 */
                    PTMR = DR04 /* \DR04 */
                    Sleep (0x07D0)
                }
            }

            Name (SPLX, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (SPLC, 0, Serialized)
            {
                DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                Return (SPLX) /* \_SB_.PC02.RP01.PXSX.SPLX */
            }

            Name (WANX, Package (0x03)
            {
                Zero, 
                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }, 

                Package (0x03)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            })
            Method (WAND, 0, Serialized)
            {
                DerefOf (WANX [One]) [Zero] = Zero
                DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                DerefOf (WANX [0x02]) [Zero] = One
                DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                Return (WANX) /* \_SB_.PC02.RP01.PXSX.WANX */
            }

            Name (WRDX, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x80000000, 
                    0x8000
                }
            })
            Method (WRDD, 0, Serialized)
            {
                DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                Return (WRDX) /* \_SB_.PC02.RP01.PXSX.WRDX */
            }

            Name (WRDY, Package (0x02)
            {
                0x02, 
                Package (0x2E)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WRDS, 0, Serialized)
            {
                DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                Return (WRDY) /* \_SB_.PC02.RP01.PXSX.WRDY */
            }

            Name (EWRY, Package (0x02)
            {
                0x02, 
                Package (0x87)
                {
                    0x07, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (EWRD, 0, Serialized)
            {
                DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                Return (EWRY) /* \_SB_.PC02.RP01.PXSX.EWRY */
            }

            Name (WGDY, Package (0x02)
            {
                0x03, 
                Package (0x4A)
                {
                    0x07, 
                    0x03, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (WGDS, 0, Serialized)
            {
                DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                Return (WGDY) /* \_SB_.PC02.RP01.PXSX.WGDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC02.RP01.PXSX.ECKY */
            }

            Name (PPAY, Package (0x02)
            {
                0x02, 
                Package (0x18)
                {
                    0x07, 
                    Zero, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x18, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28, 
                    0x28
                }
            })
            Method (PPAG, 0, Serialized)
            {
                DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                Return (PPAY) /* \_SB_.PC02.RP01.PXSX.PPAY */
            }

            Name (WPFY, Package (0x02)
            {
                Zero, 
                Package (0x05)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WPFC, 0, Serialized)
            {
                DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                DerefOf (WPFY [One]) [0x03] = \WPFC
                DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                Return (WPFY) /* \_SB_.PC02.RP01.PXSX.WPFY */
            }

            Name (WTSY, Package (0x02)
            {
                One, 
                Package (0x13)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WTAS, 0, Serialized)
            {
                DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                Return (WTSY) /* \_SB_.PC02.RP01.PXSX.WTSY */
            }

            Name (WAIY, Package (0x02)
            {
                Zero, 
                Package (0x04)
                {
                    0x07, 
                    Zero, 
                    Zero, 
                    Zero
                }
            })
            Method (WAIS, 0, Serialized)
            {
                DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                Return (WAIY) /* \_SB_.PC02.RP01.PXSX.WAIY */
            }

            Name (SADX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    0x80000000
                }, 

                Package (0x02)
                {
                    0x12, 
                    0x80000000
                }
            })
            Method (SADS, 0, Serialized)
            {
                DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                Return (SADX) /* \_SB_.PC02.RP01.PXSX.SADX */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC02.RP01.PXSX.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC02.RP01.PXSX.GLAX */
            }
        }

        If (((WWEN != Zero) && (WWRP == SLOT)))
        {
            Method (FHRF, 1, NotSerialized)
            {
                If ((^^^^PGPI.GGOV (PRST) != WPRP))
                {
                    DL23 ()
                    ADBG ("WWAN DL23() Done")
                    ^^^^PGPI.SGOV (PRST, WPRP)
                    ADBG ("WWAN PERST:0 Done")
                }
                Else
                {
                    ADBG ("Assume WWAN DL23() is already done")
                }

                Sleep (TR2B)
                ^^^^PGPI.SGOV (WBRS, PBRS)
                ADBG ("WWAN RST:0 Done")
                If ((Arg0 == Zero))
                {
                    Sleep (TBTG)
                    ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                }
                ElseIf ((Arg0 == One))
                {
                    SPCO (WCLK, Zero)
                    ADBG ("WWAN SCLK:0 Done")
                    Sleep (TB2F)
                    ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                    ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                    ADBG ("WWAN PWR:0 Done")
                    Sleep (TFDI)
                    ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                }
                Else
                {
                    ADBG ("Unsupported Arg0 is detected.")
                }
            }

            Method (SHRF, 0, NotSerialized)
            {
                PSD0 (SLOT)
                ADBG ("WWAN MPHYPG:0 Done")
                SPCO (WCLK, One)
                ADBG ("WWAN SCLK:1 Done")
                ^^^^PGPI.SGOV (WFCP, PFCP)
                ADBG ("WWAN PWR:1 Done")
                Sleep (TN2B)
                ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                ADBG ("WWAN RST:1 Done")
                Sleep (TB2R)
                ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                ADBG ("WWAN PERST:0 Done")
                L23D ()
                ADBG ("WWAN L23D() Done")
            }

            Method (DOSV, 0, NotSerialized)
            {
                Local0 = Zero
                While (((SVID != WSID) && (Local0 < WSTO)))
                {
                    Local0++
                    Sleep (One)
                }

                ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
            }

            Method (_RST, 0, Serialized)  // _RST: Device Reset
            {
                ADBG ("_RST WWAN")
                If ((WWEN == 0x02))
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN FLDR")
                        FHRF (Zero)
                        SHRF ()
                        ADBG ("End WWAN FLDR")
                        Release (WWMT)
                        ADBG ("WWAN FLDR Mutex:Release Done")
                        DOSV ()
                    }
                }
                Else
                {
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    Sleep (0xC8)
                    Notify (PXSX, One) // Device Check
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    Sleep (0xC8)
                    Local0 = Zero
                    While ((LASX == Zero))
                    {
                        If ((Local0 > 0x14))
                        {
                            ADBG ("FLDR TO")
                            Break
                        }

                        Sleep (0x10)
                        Local0++
                    }

                    Sleep (0x0A)
                    ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                    Notify (PXSX, One) // Device Check
                }
            }

            PowerResource (MRST, 0x05, 0x0000)
            {
                Method (_STA, 0, Serialized)  // _STA: Status
                {
                    ADBG ("WWAN PR _STA")
                    Return (One)
                }

                Method (_ON, 0, Serialized)  // _ON_: Power On
                {
                    ADBG ("WWAN PR _ON")
                }

                Method (_OFF, 0, Serialized)  // _OFF: Power Off
                {
                    ADBG ("WWAN PR _OFF")
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        ADBG ("Start WWAN PLDR")
                        FHRF (One)
                        SHRF ()
                        ADBG ("End WWAN PR _RST")
                        Release (WWMT)
                        ADBG ("WWAN PLDR Mutex: Release Done")
                        DOSV ()
                    }
                }
            }
        }

        If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
        {
            Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
            {
                If (WIST ())
                {
                    If (CondRefOf (WRST))
                    {
                        Return (Package (0x01)
                        {
                            WRST
                        })
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If (CondRefOf (MRST))
                    {
                        Return (Package (0x01)
                        {
                            MRST
                        })
                    }
                }

                Return (Package (0x01)
                {
                    WRST
                })
            }

            Name (FDEL, Zero)
            Name (PDEL, Zero)
            Name (VDEL, Zero)
            Method (IFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x1F                                             // .
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    ADBG (Concatenate ("vPro: ", CVPR))
                    Local0 = (CVPR << Zero)
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    CreateWordField (Arg3, Zero, CMDT)
                    CreateWordField (Arg3, 0x02, CMDP)
                    ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                    ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                    If ((CMDT == One))
                    {
                        If (WIST ())
                        {
                            Return (RSTY) /* \_SB_.PC02.RP01.PXSX.RSTY */
                        }
                        ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                            Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    If ((CMDT == 0x02))
                    {
                        If (WIST ())
                        {
                            Local0 = (CMDP & One)
                            RSTY = Local0
                            Local1 = (CMDP & 0x02)
                            Local1 >>= One
                            FLRC = Local1
                            Local2 = (CMDP & 0x04)
                            Local2 >>= 0x02
                            BOFC = Local2
                        }
                        ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                        {
                            ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                            ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP01.PXSX.IFUN.CMDP */
                        }

                        Return (Zero)
                    }

                    If ((CMDT == 0x03))
                    {
                        If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                        {
                            ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                            Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                        }
                        ElseIf (WIST ())
                        {
                            ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                            Return (DPRS) /* \_SB_.PC02.RP01.PXSX.DPRS */
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x04))
                {
                    CreateWordField (Arg3, Zero, PRTT)
                    CreateWordField (Arg3, 0x02, PRTD)
                    ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                    ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                    If ((PRTT == One))
                    {
                        FDEL = PRTD /* \_SB_.PC02.RP01.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x02))
                    {
                        PDEL = PRTD /* \_SB_.PC02.RP01.PXSX.IFUN.PRTD */
                    }
                    ElseIf ((PRTT == 0x03))
                    {
                        VDEL = PRTD /* \_SB_.PC02.RP01.PXSX.IFUN.PRTD */
                    }
                    Else
                    {
                        ADBG ("TimerDuration not set")
                    }
                }

                Return (Zero)
            }

            Method (IDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }

            Method (EFUN, 4, Serialized)
            {
                If ((Arg2 == Zero))
                {
                    If ((Arg1 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x1F                                       // ..
                        })
                    }
                    Else
                    {
                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }
                }

                If ((Arg2 == One))
                {
                    Local0 = ACSD /* \ACSD */
                    Return (Local0)
                }

                If ((Arg2 == 0x02))
                {
                    Local0 = I5BS /* \I5BS */
                    Return (Local0)
                }

                If ((Arg2 == 0x03))
                {
                    Local0 = UHBS /* \UHBS */
                    Return (Local0)
                }

                If ((Arg2 == 0x06))
                {
                    Local0 = AXMU /* \AXMU */
                    Local0 <<= One
                    Local0 |= AXSU /* \AXSU */
                    Local1 = AXMR /* \AXMR */
                    Local1 <<= One
                    Local1 |= AXSR /* \AXSR */
                    Local1 <<= 0x02
                    Local0 |= Local1
                    Return (Local0)
                }

                If ((Arg2 == 0x04))
                {
                    Return (WFRC) /* \WFRC */
                }

                If ((Arg2 == 0x05))
                {
                    Return (WFUC) /* \WFUC */
                }

                If ((Arg2 == 0x07))
                {
                    Return (UNI4) /* \UNI4 */
                }

                If ((Arg2 == 0x08))
                {
                    Return (WFIC) /* \WFIC */
                }

                If ((Arg2 == 0x09))
                {
                    Return (WFBS) /* \WFBS */
                }

                If ((Arg2 == 0x0A))
                {
                    Return (WEDT) /* \WEDT */
                }

                If ((Arg2 == 0x0B))
                {
                    If (CondRefOf (DRIE))
                    {
                        If (CondRefOf (CRFI))
                        {
                            If (((DRIE == One) && (CRFI == One)))
                            {
                                Return (Zero)
                            }
                            ElseIf (((DRIE == Zero) && (CRFI == One)))
                            {
                                Return (One)
                            }
                            ElseIf (((DRIE == One) && (CRFI == Zero)))
                            {
                                Return (0x02)
                            }
                            ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                            {
                                Return (0x03)
                            }
                        }
                    }

                    Return (Zero)
                }

                If ((Arg2 == 0x0C))
                {
                    Return (WF7C) /* \WF7C */
                }

                Return (Zero)
            }

            Method (EDSM, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                {
                    Return (One)
                }

                Return (Zero)
            }
        }

        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
        {
            If ((CondRefOf (\DLRM) && (DLRM != Zero)))
            {
                If ((Arg0 == Buffer (0x10)
                        {
                            /* 0000 */  0xFB, 0x8A, 0x1F, 0xC4, 0x01, 0x47, 0xEB, 0xF0,  // .....G..
                            /* 0008 */  0x1D, 0x26, 0x02, 0x96, 0x64, 0x8C, 0x30, 0xE4   // .&..d.0.
                        }))
                {
                    If ((One == ToInteger (Arg1)))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Case (One)
                            {
                                If ((PNVM () && ((DLRM != Zero) && (S2G4 == One))))
                                {
                                    ADBG ("Enable DLRM for Storage")
                                    Return (One)
                                }
                                Else
                                {
                                    ADBG ("Disable DLRM for Storage")
                                    Return (Zero)
                                }
                            }

                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                If (WIST ())
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }
                }

                If (((WWEN != Zero) && (WWRP == SLOT)))
                {
                    If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x09                                             // .
                            })
                        }

                        If ((Arg2 == One)){}
                        If ((Arg2 == 0x02)){}
                        If ((Arg2 == 0x03))
                        {
                            If ((WRTO == One))
                            {
                                ADBG ("WWAN Power _DSM D0/L1.2")
                            }
                            ElseIf ((WRTO == 0x02))
                            {
                                ADBG ("WWAN Power _DSM D3/L1.2")
                            }
                            ElseIf ((WRTO == 0x03))
                            {
                                ADBG ("WWAN Power _DSM D3/L2")
                            }
                            Else
                            {
                                ADBG ("WWAN Power _DSM Disabled")
                            }

                            Return (WRTO) /* \WRTO */
                        }
                    }
                }
            }

            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }
    }

    If (CondRefOf (\_SB.PC02.RP02.PXSX))
    {
        Scope (_SB.PC02.RP02.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP02.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP02.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP02.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP02.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP02.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP02.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP02.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP02.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP02.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP02.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP02.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP02.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP02.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP02.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP02.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP02.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP02.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP02.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP02.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP02.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP02.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP02.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP03.PXSX))
    {
        Scope (_SB.PC02.RP03.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP03.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP03.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP03.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP03.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP03.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP03.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP03.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP03.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP03.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP03.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP03.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP03.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP03.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP03.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP03.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP03.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP03.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP03.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP03.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP03.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP03.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP03.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP04.PXSX))
    {
        Scope (_SB.PC02.RP04.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP04.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP04.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP04.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP04.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP04.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP04.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP04.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP04.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP04.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP04.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP04.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP04.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP04.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP04.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP04.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP04.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP04.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP04.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP04.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP04.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP04.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP04.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP05.PXSX))
    {
        Scope (_SB.PC02.RP05.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP05.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP05.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP05.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP05.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP05.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP05.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP05.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP05.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP05.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP05.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP05.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP05.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP05.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP05.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP05.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP05.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP05.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP05.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP05.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP05.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP05.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP05.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP06.PXSX))
    {
        Scope (_SB.PC02.RP06.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP06.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP06.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP06.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP06.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP06.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP06.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP06.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP06.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP06.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP06.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP06.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP06.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP06.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP06.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP06.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP06.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP06.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP06.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP06.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP06.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP06.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP06.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP07.PXSX))
    {
        Scope (_SB.PC02.RP07.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP07.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP07.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP07.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP07.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP07.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP07.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP07.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP07.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP07.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP07.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP07.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP07.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP07.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP07.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP07.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP07.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP07.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP07.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP07.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP07.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP07.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP07.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP08.PXSX))
    {
        Scope (_SB.PC02.RP08.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP08.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP08.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP08.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP08.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP08.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP08.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP08.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP08.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP08.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP08.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP08.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP08.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP08.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP08.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP08.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP08.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP08.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP08.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP08.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP08.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP08.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP08.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP09.PXSX))
    {
        Scope (_SB.PC02.RP09.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP09.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP09.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP09.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP09.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP09.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP09.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP09.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP09.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP09.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP09.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP09.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP09.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP09.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP09.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP09.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP09.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP09.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP09.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP09.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP09.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP09.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP09.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP10.PXSX))
    {
        Scope (_SB.PC02.RP10.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP10.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP10.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP10.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP10.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP10.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP10.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP10.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP10.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP10.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP10.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP10.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP10.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP10.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP10.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP10.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP10.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP10.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP10.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP10.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP10.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP10.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP10.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP11.PXSX))
    {
        Scope (_SB.PC02.RP11.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP11.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP11.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP11.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP11.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP11.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP11.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP11.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP11.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP11.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP11.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP11.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP11.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP11.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP11.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP11.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP11.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP11.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP11.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP11.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP11.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP11.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP11.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP12.PXSX))
    {
        Scope (_SB.PC02.RP12.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP12.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP12.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP12.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP12.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP12.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP12.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP12.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP12.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP12.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP12.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP12.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP12.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP12.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP12.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP12.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP12.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP12.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP12.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP12.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP12.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP12.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP12.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP13.PXSX))
    {
        Scope (_SB.PC02.RP13.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP13.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP13.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP13.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP13.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP13.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP13.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP13.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP13.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP13.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP13.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP13.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP13.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP13.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP13.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP13.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP13.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP13.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP13.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP13.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP13.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP13.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP13.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((CondRefOf (\DLRM) && (DLRM != Zero)))
                {
                    If ((Arg0 == Buffer (0x10)
                            {
                                /* 0000 */  0xFB, 0x8A, 0x1F, 0xC4, 0x01, 0x47, 0xEB, 0xF0,  // .....G..
                                /* 0008 */  0x1D, 0x26, 0x02, 0x96, 0x64, 0x8C, 0x30, 0xE4   // .&..d.0.
                            }))
                    {
                        If ((One == ToInteger (Arg1)))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    If ((PNVM () && ((DLRM != Zero) && (S1G4 == One))))
                                    {
                                        ADBG ("Enable DLRM for Storage")
                                        Return (One)
                                    }
                                    Else
                                    {
                                        ADBG ("Disable DLRM for Storage")
                                        Return (Zero)
                                    }
                                }

                            }
                        }
                    }
                }

                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    If (CondRefOf (\_SB.PC02.RP21.PXSX))
    {
        Scope (_SB.PC02.RP21.PXSX)
        {
            OperationRegion (RPXX, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x30)
            Field (RPXX, AnyAcc, NoLock, Preserve)
            {
                VDID,   32, 
                Offset (0x2C), 
                SVID,   16
            }

            OperationRegion (FLDR, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WDCO), 0x06)
            Field (FLDR, ByteAcc, NoLock, Preserve)
            {
                DCAP,   32, 
                DCTR,   16
            }

            OperationRegion (VSEC, SystemMemory, (GMIO (PBNU, ^_ADR, _ADR) + WVHO), 0x10)
            Field (VSEC, AnyAcc, NoLock, Preserve)
            {
                Offset (0x0C), 
                    ,   1, 
                BTIE,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                    ,   1, 
                Offset (0x0D), 
                PDRC,   1
            }

            OperationRegion (PBRR, SystemMemory, GMIO (PBNU, ^_ADR, _ADR), 0x02B8)
            Field (PBRR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x18C), 
                MSNL,   32, 
                Offset (0x198), 
                L1C1,   32, 
                L1C2,   32, 
                Offset (0x2B4), 
                PTMR,   32
            }

            Method (WIST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x25268086)
                        {
                            Return (One)
                        }
                        Case (0x271B8086)
                        {
                            Return (One)
                        }
                        Case (0x27238086)
                        {
                            Return (One)
                        }
                        Case (0x27258086)
                        {
                            Return (One)
                        }
                        Case (0x272B8086)
                        {
                            Return (One)
                        }
                        Default
                        {
                            If ((SVDC == One))
                            {
                                Return (One)
                            }

                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (WWST, 0, Serialized)
            {
                If (CondRefOf (VDID))
                {
                    Switch (ToInteger (VDID))
                    {
                        Case (0x73608086)
                        {
                            Return (One)
                        }
                        Case (0x75608086)
                        {
                            Return (One)
                        }
                        Case (0x4D7514C3)
                        {
                            Return (One)
                        }
                        Case (0x080014C3)
                        {
                            Return (One)
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }
                Else
                {
                    Return (Zero)
                }
            }

            If (WIST ())
            {
                Name (RSTY, Zero)
                Name (FLRC, Zero)
                Name (BOFC, Zero)
                Name (DPRS, Zero)
                PowerResource (WRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        ADBG ("Wifi PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, NotSerialized)  // _ON_: Power On
                    {
                        ADBG ("Wifi PR _ON")
                    }

                    Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                    {
                        ADBG ("Wifi PR _OFF")
                    }

                    Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                    {
                        If ((RSTY == One))
                        {
                            ADBG ("Wifi Product RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            If ((Local0 == Zero))
                            {
                                If ((FLRC == One))
                                {
                                    Local0 = DCTR /* \_SB_.PC02.RP21.PXSX.DCTR */
                                    Local0 |= 0x8000
                                    DCTR = Local0
                                    Sleep (FDEL)
                                }

                                DPRS = One
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (Zero)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = Zero
                                    }

                                    Sleep (RDLY)
                                }

                                PDRC = One
                                Sleep (VDEL)
                                ^^^^^PGPI.SGOV (WLRT, Zero)
                                Sleep (PDEL)
                                ^^^^^PGPI.SGOV (WLRT, One)
                                If ((BOFC == One))
                                {
                                    If ((BRMT == Zero))
                                    {
                                        BTRK (One)
                                    }
                                    ElseIf ((WVHO != Zero))
                                    {
                                        BTIE = One
                                    }

                                    Sleep (RDLY)
                                }

                                DPRS = 0x02
                                Release (CNMT)
                            }
                        }
                        Else
                        {
                            ADBG ("Wifi Core RST")
                            If ((DCAP & 0x10000000))
                            {
                                Local0 = DCTR /* \_SB_.PC02.RP21.PXSX.DCTR */
                                Local0 |= 0x8000
                                DCTR = Local0
                            }

                            DPRS = One
                        }

                        Sleep (0x07D0)
                        MSNL = DR01 /* \DR01 */
                        L1C1 = DR02 /* \DR02 */
                        L1C2 = DR03 /* \DR03 */
                        PTMR = DR04 /* \DR04 */
                        Sleep (0x07D0)
                    }
                }

                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.RP21.PXSX.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.RP21.PXSX.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.RP21.PXSX.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.RP21.PXSX.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.RP21.PXSX.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.RP21.PXSX.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.RP21.PXSX.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.RP21.PXSX.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.RP21.PXSX.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.RP21.PXSX.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.RP21.PXSX.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.RP21.PXSX.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.RP21.PXSX.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.RP21.PXSX.GLAX */
                }
            }

            If (((WWEN != Zero) && (WWRP == SLOT)))
            {
                Method (FHRF, 1, NotSerialized)
                {
                    If ((^^^^PGPI.GGOV (PRST) != WPRP))
                    {
                        DL23 ()
                        ADBG ("WWAN DL23() Done")
                        ^^^^PGPI.SGOV (PRST, WPRP)
                        ADBG ("WWAN PERST:0 Done")
                    }
                    Else
                    {
                        ADBG ("Assume WWAN DL23() is already done")
                    }

                    Sleep (TR2B)
                    ^^^^PGPI.SGOV (WBRS, PBRS)
                    ADBG ("WWAN RST:0 Done")
                    If ((Arg0 == Zero))
                    {
                        Sleep (TBTG)
                        ADBG (Concatenate ("SLP TBTG ", ToDecimalString (TBTG)))
                    }
                    ElseIf ((Arg0 == One))
                    {
                        SPCO (WCLK, Zero)
                        ADBG ("WWAN SCLK:0 Done")
                        Sleep (TB2F)
                        ADBG (Concatenate ("SLP TB2F ", ToDecimalString (TB2F)))
                        ^^^^PGPI.SGOV (WFCP, (~PFCP & One))
                        ADBG ("WWAN PWR:0 Done")
                        Sleep (TFDI)
                        ADBG (Concatenate ("SLP TFDI ", ToDecimalString (TFDI)))
                    }
                    Else
                    {
                        ADBG ("Unsupported Arg0 is detected.")
                    }
                }

                Method (SHRF, 0, NotSerialized)
                {
                    PSD0 (SLOT)
                    ADBG ("WWAN MPHYPG:0 Done")
                    SPCO (WCLK, One)
                    ADBG ("WWAN SCLK:1 Done")
                    ^^^^PGPI.SGOV (WFCP, PFCP)
                    ADBG ("WWAN PWR:1 Done")
                    Sleep (TN2B)
                    ADBG (Concatenate ("SLP TN2B ", ToDecimalString (TN2B)))
                    ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                    ADBG ("WWAN RST:1 Done")
                    Sleep (TB2R)
                    ADBG (Concatenate ("SLP TB2R ", ToDecimalString (TB2R)))
                    ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                    ADBG ("WWAN PERST:0 Done")
                    L23D ()
                    ADBG ("WWAN L23D() Done")
                }

                Method (DOSV, 0, NotSerialized)
                {
                    Local0 = Zero
                    While (((SVID != WSID) && (Local0 < WSTO)))
                    {
                        Local0++
                        Sleep (One)
                    }

                    ADBG (Concatenate ("DET Time ", ToDecimalString (Local0)))
                }

                Method (_RST, 0, Serialized)  // _RST: Device Reset
                {
                    ADBG ("_RST WWAN")
                    If ((WWEN == 0x02))
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN FLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN FLDR")
                            FHRF (Zero)
                            SHRF ()
                            ADBG ("End WWAN FLDR")
                            Release (WWMT)
                            ADBG ("WWAN FLDR Mutex:Release Done")
                            DOSV ()
                        }
                    }
                    Else
                    {
                        ^^^^PGPI.SGOV (WBRS, PBRS)
                        Sleep (0xC8)
                        Notify (PXSX, One) // Device Check
                        ^^^^PGPI.SGOV (PRST, (~WPRP & One))
                        ^^^^PGPI.SGOV (WBRS, (~PBRS & One))
                        Sleep (0xC8)
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x14))
                            {
                                ADBG ("FLDR TO")
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        Sleep (0x0A)
                        ADBG (Concatenate ("RVP Delay Time ", ToDecimalString (Local0)))
                        Notify (PXSX, One) // Device Check
                    }
                }

                PowerResource (MRST, 0x05, 0x0000)
                {
                    Method (_STA, 0, Serialized)  // _STA: Status
                    {
                        ADBG ("WWAN PR _STA")
                        Return (One)
                    }

                    Method (_ON, 0, Serialized)  // _ON_: Power On
                    {
                        ADBG ("WWAN PR _ON")
                    }

                    Method (_OFF, 0, Serialized)  // _OFF: Power Off
                    {
                        ADBG ("WWAN PR _OFF")
                    }

                    Method (_RST, 0, Serialized)  // _RST: Device Reset
                    {
                        Local0 = Acquire (WWMT, 0x03E8)
                        ADBG ("WWAN PLDR Mutex: Acquired Try Done")
                        If ((Local0 == Zero))
                        {
                            ADBG ("Start WWAN PLDR")
                            FHRF (One)
                            SHRF ()
                            ADBG ("End WWAN PR _RST")
                            Release (WWMT)
                            ADBG ("WWAN PLDR Mutex: Release Done")
                            DOSV ()
                        }
                    }
                }
            }

            If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
            {
                Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                {
                    If (WIST ())
                    {
                        If (CondRefOf (WRST))
                        {
                            Return (Package (0x01)
                            {
                                WRST
                            })
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If (CondRefOf (MRST))
                        {
                            Return (Package (0x01)
                            {
                                MRST
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        WRST
                    })
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (WIST ())
                            {
                                Return (RSTY) /* \_SB_.PC02.RP21.PXSX.RSTY */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", ^^^CNVW.RSTT))
                                Return (^^^CNVW.RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                ^^^CNVW.RSTT = CMDP /* \_SB_.PC02.RP21.PXSX.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (^^^CNVW.PRRS)))
                                Return (^^^CNVW.PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* \_SB_.PC02.RP21.PXSX.DPRS */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.RP21.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.RP21.PXSX.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.RP21.PXSX.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (((CondRefOf (\DLRM) && (DLRM != Zero)) && (ToInteger (
                    PLID) == 0x31)))
                {
                    If ((Arg0 == Buffer (0x10)
                            {
                                /* 0000 */  0xFB, 0x8A, 0x1F, 0xC4, 0x01, 0x47, 0xEB, 0xF0,  // .....G..
                                /* 0008 */  0x1D, 0x26, 0x02, 0x96, 0x64, 0x8C, 0x30, 0xE4   // .&..d.0.
                            }))
                    {
                        If ((One == ToInteger (Arg1)))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    If ((PNVM () && ((DLRM != Zero) && (S2G4 == One))))
                                    {
                                        ADBG ("Enable DLRM for Storage")
                                        Return (One)
                                    }
                                    Else
                                    {
                                        ADBG ("Disable DLRM for Storage")
                                        Return (Zero)
                                    }
                                }

                            }
                        }
                    }
                }

                If ((WIST () || ((WWEN != Zero) && (WWRP == SLOT))))
                {
                    If (WIST ())
                    {
                        If (EDSM (Arg0))
                        {
                            Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                        }

                        If (IDSM (Arg0))
                        {
                            Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                        }
                    }

                    If (((WWEN != Zero) && (WWRP == SLOT)))
                    {
                        If ((Arg0 == ToUUID ("bad01b75-22a8-4f48-8792-bdde9467747d") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x09                                             // .
                                })
                            }

                            If ((Arg2 == One)){}
                            If ((Arg2 == 0x02)){}
                            If ((Arg2 == 0x03))
                            {
                                If ((WRTO == One))
                                {
                                    ADBG ("WWAN Power _DSM D0/L1.2")
                                }
                                ElseIf ((WRTO == 0x02))
                                {
                                    ADBG ("WWAN Power _DSM D3/L1.2")
                                }
                                ElseIf ((WRTO == 0x03))
                                {
                                    ADBG ("WWAN Power _DSM D3/L2")
                                }
                                Else
                                {
                                    ADBG ("WWAN Power _DSM Disabled")
                                }

                                Return (WRTO) /* \WRTO */
                            }
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB)
    {
        Name (PDAT, Zero)
        Name (DSSI, Zero)
        Device (WFDE)
        {
            Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
            Name (_UID, "DSarDev")  // _UID: Unique ID
            Name (_WDG, Buffer (0x3C)
            {
                /* 0000 */  0xEF, 0x9D, 0xC4, 0x2B, 0x15, 0x7B, 0x05, 0x4F,  // ...+.{.O
                /* 0008 */  0x8B, 0xB7, 0xEE, 0x37, 0xB9, 0x54, 0x7C, 0x0B,  // ...7.T|.
                /* 0010 */  0x44, 0x45, 0x01, 0x02, 0x3E, 0xA3, 0xFE, 0xA6,  // DE..>...
                /* 0018 */  0xBF, 0xDA, 0xF5, 0x46, 0xBF, 0xC8, 0x46, 0x0D,  // ...F..F.
                /* 0020 */  0x96, 0x1B, 0xEC, 0x9F, 0xD0, 0x00, 0x01, 0x08,  // ........
                /* 0028 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  // !...f...
                /* 0030 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  // ......).
                /* 0038 */  0x43, 0x43, 0x01, 0x00                           // CC..
            })
            Method (WMDE, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    Return (One)
                }

                If ((Arg1 == 0x02))
                {
                    If ((DSSI == Zero))
                    {
                        PDAT = 0x00010001
                        DSSI = One
                    }

                    Return (One)
                }

                If ((Arg1 == 0x03))
                {
                    Return (PDAT) /* \_SB_.PDAT */
                }

                Return (Zero)
            }

            Method (_WED, 1, NotSerialized)  // _Wxx: Wake Event, xx=0x00-0xFF
            {
                If ((Arg0 == 0xD0))
                {
                    Return (PDAT) /* \_SB_.PDAT */
                }

                Return (Zero)
            }

            Name (WQCC, Buffer (0x0482)
            {
                /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
                /* 0008 */  0x72, 0x04, 0x00, 0x00, 0xF4, 0x0F, 0x00, 0x00,  // r.......
                /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
                /* 0018 */  0x18, 0xC2, 0x87, 0x00, 0x01, 0x06, 0x18, 0x42,  // .......B
                /* 0020 */  0x10, 0x05, 0x10, 0x8A, 0xA4, 0x82, 0x42, 0x04,  // ......B.
                /* 0028 */  0x8A, 0x43, 0x24, 0xC1, 0x0E, 0x60, 0x30, 0x1A,  // .C$..`0.
                /* 0030 */  0x40, 0x24, 0x07, 0x42, 0x2E, 0x98, 0x98, 0x00,  // @$.B....
                /* 0038 */  0x11, 0x10, 0xF2, 0x2A, 0xC0, 0xA6, 0x00, 0x93,  // ...*....
                /* 0040 */  0x20, 0xEA, 0xDF, 0x1F, 0xA2, 0x24, 0x38, 0x94,  //  ....$8.
                /* 0048 */  0x10, 0x08, 0x49, 0x14, 0x60, 0x5E, 0x80, 0x6E,  // ..I.`^.n
                /* 0050 */  0x01, 0x86, 0x05, 0xD8, 0x16, 0x60, 0x5A, 0x80,  // .....`Z.
                /* 0058 */  0x63, 0x48, 0x2A, 0x0D, 0x9C, 0x12, 0x58, 0x0A,  // cH*...X.
                /* 0060 */  0x84, 0x84, 0x0A, 0x50, 0x2E, 0xC0, 0xB7, 0x00,  // ...P....
                /* 0068 */  0xED, 0x88, 0x92, 0x2C, 0xC0, 0x32, 0x8C, 0x08,  // ...,.2..
                /* 0070 */  0x3C, 0x0A, 0x86, 0xC6, 0xA1, 0xB1, 0xC3, 0xB0,  // <.......
                /* 0078 */  0x4C, 0x30, 0x0D, 0xE2, 0x30, 0xCA, 0x46, 0x16,  // L0..0.F.
                /* 0080 */  0x81, 0x71, 0x3B, 0x15, 0x20, 0x57, 0x80, 0x30,  // .q;. W.0
                /* 0088 */  0x01, 0xE2, 0x51, 0x85, 0xD1, 0x1C, 0x14, 0x09,  // ..Q.....
                /* 0090 */  0x00, 0x8D, 0x12, 0x33, 0x26, 0x02, 0xDB, 0x39,  // ...3&..9
                /* 0098 */  0xB6, 0x46, 0x71, 0x2A, 0x85, 0x0B, 0x90, 0x8E,  // .Fq*....
                /* 00A0 */  0xA1, 0x11, 0x1C, 0x57, 0x82, 0xE8, 0xC1, 0x82,  // ...W....
                /* 00A8 */  0x44, 0x8B, 0x13, 0xAD, 0x20, 0x4C, 0xCD, 0x22,  // D... L."
                /* 00B0 */  0x5C, 0x88, 0x28, 0x31, 0x8A, 0x86, 0x21, 0x28,  // \.(1..!(
                /* 00B8 */  0x15, 0x8E, 0x49, 0x3E, 0x41, 0x85, 0x12, 0xD6,  // ..I>A...
                /* 00C0 */  0x48, 0x06, 0x8B, 0x7C, 0x6E, 0x71, 0x3D, 0x07,  // H..|nq=.
                /* 00C8 */  0x4F, 0xEC, 0xF0, 0x8C, 0x53, 0x29, 0x88, 0xD0,  // O...S)..
                /* 00D0 */  0x82, 0x99, 0xC0, 0xE3, 0x3A, 0x20, 0x8C, 0x0C,  // ....: ..
                /* 00D8 */  0x08, 0x79, 0x16, 0x60, 0x7D, 0xA4, 0x84, 0xC0,  // .y.`}...
                /* 00E0 */  0xEE, 0x05, 0x28, 0x9B, 0x85, 0x1C, 0xCE, 0x4D,  // ..(....M
                /* 00E8 */  0x63, 0x3B, 0x82, 0x16, 0x05, 0x68, 0x14, 0x60,  // c;...h.`
                /* 00F0 */  0x4B, 0x80, 0x37, 0x24, 0x19, 0x13, 0x60, 0x0D,  // K.7$..`.
                /* 00F8 */  0x45, 0x58, 0x81, 0xCE, 0x30, 0x8A, 0xC5, 0x41,  // EX..0..A
                /* 0100 */  0x09, 0x21, 0x5A, 0x94, 0x90, 0x11, 0x3A, 0x83,  // .!Z...:.
                /* 0108 */  0x24, 0xC8, 0xD1, 0x22, 0x46, 0x89, 0x1F, 0x32,  // $.."F..2
                /* 0110 */  0x4E, 0xFB, 0x83, 0x20, 0x11, 0xCF, 0x05, 0x92,  // N.. ....
                /* 0118 */  0x70, 0x3C, 0xF0, 0x68, 0x50, 0x67, 0x81, 0x04,  // p<.hPg..
                /* 0120 */  0xCF, 0x06, 0x1E, 0xDF, 0x79, 0x7A, 0x94, 0x06,  // ....yz..
                /* 0128 */  0x39, 0xDF, 0x13, 0xAB, 0xF3, 0x50, 0x40, 0x86,  // 9....P@.
                /* 0130 */  0xCF, 0xB0, 0x12, 0xFC, 0xFF, 0xFF, 0x13, 0x7C,  // .......|
                /* 0138 */  0x4A, 0xC0, 0xBB, 0x06, 0xD4, 0xF5, 0xE0, 0xE1,  // J.......
                /* 0140 */  0x80, 0xCD, 0xD1, 0x70, 0x7C, 0x88, 0x9E, 0xEA,  // ...p|...
                /* 0148 */  0x99, 0xB2, 0x91, 0x30, 0x88, 0x33, 0x7A, 0x2E,  // ...0.3z.
                /* 0150 */  0xC0, 0x0E, 0xEB, 0x64, 0x1E, 0x0A, 0x4A, 0x15,  // ...d..J.
                /* 0158 */  0x60, 0xF6, 0x80, 0xA0, 0xD1, 0x25, 0x38, 0x1E,  // `....%8.
                /* 0160 */  0xCF, 0xDC, 0xF3, 0x39, 0xE1, 0x04, 0x96, 0x3F,  // ...9...?
                /* 0168 */  0x08, 0xD4, 0xC8, 0x0C, 0x6D, 0x83, 0xD3, 0xD2,  // ....m...
                /* 0170 */  0xA5, 0xC0, 0x57, 0x00, 0x13, 0x58, 0xEC, 0x91,  // ..W..X..
                /* 0178 */  0x82, 0x8E, 0x07, 0xFC, 0x8A, 0x6F, 0x09, 0x42,  // .....o.B
                /* 0180 */  0x78, 0x73, 0xF0, 0x7C, 0x4D, 0x10, 0x2D, 0x30,  // xs.|M.-0
                /* 0188 */  0x76, 0x40, 0xF6, 0x2B, 0x00, 0x21, 0xF8, 0x4B,  // v@.+.!.K
                /* 0190 */  0xC4, 0x11, 0xBD, 0x27, 0x44, 0x78, 0x9E, 0xF0,  // ...'Dx..
                /* 0198 */  0x90, 0x1E, 0x08, 0x42, 0xC4, 0xEA, 0xF1, 0xDA,  // ...B....
                /* 01A0 */  0x40, 0xCE, 0x09, 0xBE, 0x5F, 0xF8, 0xE8, 0x80,  // @..._...
                /* 01A8 */  0xBB, 0x39, 0x70, 0x02, 0x8B, 0x3C, 0x4A, 0xA0,  // .9p..<J.
                /* 01B0 */  0x47, 0xC1, 0x8F, 0x02, 0x27, 0x71, 0x4C, 0x67,  // G...'qLg
                /* 01B8 */  0x14, 0xFC, 0x98, 0xA2, 0x9C, 0xC8, 0x41, 0xF9,  // ......A.
                /* 01C0 */  0x90, 0x61, 0x84, 0xE8, 0xCF, 0x16, 0xCF, 0x1A,  // .a......
                /* 01C8 */  0xD6, 0x3C, 0x01, 0x9D, 0x1A, 0xCE, 0xEB, 0x8D,  // .<......
                /* 01D0 */  0xC0, 0x63, 0x94, 0x87, 0x33, 0x01, 0x13, 0xBE,  // .c..3...
                /* 01D8 */  0x5C, 0xD9, 0xF8, 0x40, 0xB0, 0x81, 0x92, 0x28,  // \..@...(
                /* 01E0 */  0xE7, 0x04, 0x8D, 0x2A, 0xE6, 0x09, 0x7A, 0x52,  // ...*..zR
                /* 01E8 */  0xC6, 0x3D, 0x25, 0x1C, 0x12, 0xD3, 0x3A, 0x33,  // .=%...:3
                /* 01F0 */  0x82, 0xF4, 0x94, 0xC1, 0x25, 0x43, 0xEB, 0x90,  // ....%C..
                /* 01F8 */  0xC2, 0xC5, 0x52, 0x48, 0x2A, 0x84, 0x86, 0xE5,  // ..RH*...
                /* 0200 */  0x51, 0x58, 0x1C, 0x1C, 0x05, 0xF1, 0x49, 0xC0,  // QX....I.
                /* 0208 */  0xFF, 0xFF, 0xE0, 0x10, 0x72, 0x72, 0x7A, 0x40,  // ....rrz@
                /* 0210 */  0x4F, 0x04, 0x37, 0x0E, 0x7C, 0x40, 0x08, 0x9D,  // O.7.|@..
                /* 0218 */  0x25, 0x7C, 0x7A, 0xC0, 0xE3, 0x1D, 0xE3, 0x29,  // %|z....)
                /* 0220 */  0x7A, 0x26, 0x9E, 0xEC, 0xF3, 0x08, 0x58, 0xE6,  // z&....X.
                /* 0228 */  0xC7, 0x8E, 0x21, 0xEC, 0x44, 0x82, 0x99, 0x0C,  // ..!.D...
                /* 0230 */  0x7E, 0x2C, 0xEC, 0x47, 0x43, 0x87, 0x41, 0x6E,  // ~,.GC.An
                /* 0238 */  0x0A, 0x27, 0x91, 0x80, 0x9F, 0x18, 0xE0, 0xDF,  // .'......
                /* 0240 */  0x46, 0x3C, 0x83, 0x33, 0x79, 0xFF, 0x78, 0x1A,  // F<.3y.x.
                /* 0248 */  0x49, 0x60, 0x81, 0x27, 0x06, 0x50, 0x00, 0xF9,  // I`.'.P..
                /* 0250 */  0x76, 0xE0, 0x4B, 0xCA, 0x13, 0x02, 0x9B, 0x43,  // v.K....C
                /* 0258 */  0x88, 0x30, 0xD1, 0x0C, 0x8F, 0x09, 0x39, 0x2A,  // .0....9*
                /* 0260 */  0x2A, 0x6B, 0x5C, 0xA8, 0xB1, 0xFA, 0x6C, 0xF0,  // *k\...l.
                /* 0268 */  0xAE, 0x63, 0xEC, 0xD3, 0xF4, 0x05, 0xE6, 0x04,  // .c......
                /* 0270 */  0x5F, 0x15, 0x0E, 0xEA, 0xE5, 0xC2, 0xA7, 0x01,  // _.......
                /* 0278 */  0xC3, 0x7A, 0xF4, 0x1C, 0xD6, 0x68, 0x61, 0x0F,  // .z...ha.
                /* 0280 */  0xFA, 0xC1, 0xC2, 0x97, 0x12, 0xCF, 0xCC, 0x18,  // ........
                /* 0288 */  0x61, 0x7D, 0x02, 0x30, 0xFC, 0x13, 0x00, 0x58,  // a}.0...X
                /* 0290 */  0x0E, 0x17, 0x7C, 0xF8, 0x0F, 0x22, 0x0F, 0x17,  // ..|.."..
                /* 0298 */  0xFC, 0xDA, 0x63, 0xA0, 0xB8, 0x6F, 0x01, 0x38,  // ..c..o.8
                /* 02A0 */  0x3C, 0x9F, 0x05, 0x7C, 0xB7, 0x61, 0xF7, 0x00,  // <..|.a..
                /* 02A8 */  0xCC, 0xFF, 0x5F, 0xF6, 0x61, 0x02, 0x64, 0x83,  // .._.a.d.
                /* 02B0 */  0x3E, 0x80, 0x68, 0xE1, 0x03, 0xFA, 0x1E, 0xF2,  // >.h.....
                /* 02B8 */  0x40, 0xC4, 0x0F, 0x13, 0xE0, 0xDE, 0x8E, 0x27,  // @......'
                /* 02C0 */  0x82, 0x1F, 0x08, 0x3E, 0xDE, 0x69, 0x02, 0x14,  // ...>.i..
                /* 02C8 */  0xF7, 0x83, 0x87, 0x25, 0x70, 0x0E, 0x12, 0xD6,  // ...%p...
                /* 02D0 */  0x61, 0x02, 0x70, 0x12, 0xF1, 0x30, 0x01, 0xBA,  // a.p..0..
                /* 02D8 */  0xB3, 0x80, 0x0F, 0x13, 0xE0, 0xF8, 0xFF, 0x1F,  // ........
                /* 02E0 */  0x26, 0x38, 0x88, 0x0F, 0x13, 0x60, 0x3B, 0xF8,  // &8...`;.
                /* 02E8 */  0x60, 0x0E, 0x13, 0xEC, 0x1A, 0x00, 0x06, 0x99,  // `.......
                /* 02F0 */  0x67, 0x09, 0xD4, 0xD9, 0xCD, 0xD2, 0xCF, 0x12,  // g.......
                /* 02F8 */  0x90, 0x6F, 0x42, 0x18, 0xA1, 0x07, 0x09, 0x94,  // .oB.....
                /* 0300 */  0x44, 0x0A, 0x09, 0x3C, 0x48, 0xA0, 0x24, 0xC1,  // D..<H.$.
                /* 0308 */  0x51, 0x10, 0x8F, 0xD6, 0x71, 0x0F, 0x12, 0xE8,  // Q...q...
                /* 0310 */  0x31, 0xFA, 0x7C, 0x04, 0x2F, 0xD8, 0x31, 0x02,  // 1.|./.1.
                /* 0318 */  0x14, 0x07, 0x04, 0xDC, 0x11, 0x0E, 0x8C, 0x67,  // .......g
                /* 0320 */  0x08, 0xC0, 0xD0, 0xFF, 0xFF, 0x0C, 0x01, 0x0E,  // ........
                /* 0328 */  0x58, 0x7E, 0x86, 0x00, 0xA6, 0xD7, 0x26, 0x58,  // X~....&X
                /* 0330 */  0xE7, 0x03, 0x5C, 0xD0, 0xE7, 0x81, 0x09, 0x24,  // ..\....$
                /* 0338 */  0xF7, 0xB8, 0xA0, 0x68, 0x30, 0x28, 0x0B, 0x27,  // ...h0(.'
                /* 0340 */  0x4B, 0x20, 0x8A, 0xEC, 0x93, 0x25, 0xE6, 0xF0,  // K ...%..
                /* 0348 */  0xE0, 0xD1, 0x82, 0xE3, 0x4E, 0xF0, 0x42, 0xE4,  // ....N.B.
                /* 0350 */  0xC1, 0x7B, 0x90, 0x8F, 0x89, 0x21, 0xA2, 0xBC,  // .{...!..
                /* 0358 */  0xB4, 0x19, 0xEF, 0x9D, 0xED, 0x90, 0xE2, 0x1C,  // ........
                /* 0360 */  0xC8, 0x4B, 0x24, 0x0E, 0x2D, 0xD6, 0x11, 0xFB,  // .K$.-...
                /* 0368 */  0x8E, 0xE0, 0xDB, 0xA4, 0x6F, 0x7E, 0x1C, 0x22,  // ....o~."
                /* 0370 */  0xC8, 0x83, 0xA1, 0x4F, 0x92, 0xB0, 0xB1, 0x6B,  // ...O...k
                /* 0378 */  0xBB, 0x07, 0x68, 0x30, 0x41, 0x1E, 0x20, 0x22,  // ..h0A. "
                /* 0380 */  0x04, 0x39, 0x97, 0xA3, 0x0A, 0xF3, 0xF4, 0xF8,  // .9......
                /* 0388 */  0x2E, 0xE9, 0x89, 0x86, 0xF3, 0x49, 0xD2, 0xFF,  // .....I..
                /* 0390 */  0x7F, 0x20, 0x1F, 0x20, 0x5E, 0x25, 0x43, 0xB1,  // . . ^%C.
                /* 0398 */  0x4B, 0x45, 0xC8, 0x17, 0xC9, 0x20, 0xAF, 0x94,  // KE... ..
                /* 03A0 */  0xC1, 0x22, 0x07, 0x0B, 0x13, 0xEF, 0x49, 0x92,  // ."....I.
                /* 03A8 */  0x89, 0x7D, 0x31, 0xE8, 0xC0, 0xEA, 0x93, 0x24,  // .}1....$
                /* 03B0 */  0xC0, 0x0F, 0x91, 0x27, 0x0A, 0x1D, 0x68, 0x70,  // ...'..hp
                /* 03B8 */  0xA3, 0xF0, 0x81, 0xE1, 0xF5, 0x02, 0x23, 0xEA,  // ......#.
                /* 03C0 */  0x64, 0x41, 0x45, 0x9D, 0x47, 0x50, 0x27, 0x09,  // dAE.GP'.
                /* 03C8 */  0x1F, 0x22, 0x18, 0x28, 0x3F, 0xBD, 0x61, 0x06,  // .".(?.a.
                /* 03D0 */  0x06, 0x1F, 0x10, 0xEF, 0x7D, 0xCA, 0xE4, 0x4E,  // ....}..N
                /* 03D8 */  0x62, 0x40, 0x16, 0xE2, 0x58, 0x01, 0xFD, 0xFF,  // b@..X...
                /* 03E0 */  0x7F, 0xAC, 0xE0, 0xD7, 0x87, 0x38, 0x67, 0x71,  // .....8gq
                /* 03E8 */  0x3E, 0x06, 0x3C, 0x8A, 0xD7, 0x12, 0xCC, 0x20,  // >.<.... 
                /* 03F0 */  0xCE, 0xC1, 0x77, 0x96, 0x28, 0xC6, 0x78, 0xF2,  // ..w.(.x.
                /* 03F8 */  0x30, 0x8C, 0x91, 0x0C, 0xEA, 0x93, 0x1C, 0x76,  // 0......v
                /* 0400 */  0x00, 0xEC, 0xFE, 0x6B, 0x88, 0x40, 0xAF, 0x18,  // ...k.@..
                /* 0408 */  0x7C, 0x6C, 0xEC, 0xAC, 0x03, 0xBE, 0x93, 0xE7,  // |l......
                /* 0410 */  0xB3, 0x29, 0x98, 0x6E, 0x2E, 0xB8, 0xF3, 0xC4,  // .).n....
                /* 0418 */  0x43, 0x08, 0x1F, 0x9B, 0x07, 0xE5, 0x89, 0xB2,  // C.......
                /* 0420 */  0xE3, 0x08, 0xE6, 0x74, 0x0A, 0x4C, 0xAE, 0x48,  // ...t.L.H
                /* 0428 */  0x1E, 0x02, 0x3F, 0x68, 0x78, 0x08, 0x7C, 0x00,  // ..?hx.|.
                /* 0430 */  0xAD, 0xCE, 0x92, 0xDC, 0x4E, 0xCE, 0x0D, 0x77,  // ....N..w
                /* 0438 */  0x52, 0xE0, 0x53, 0xC2, 0x0D, 0x00, 0xA3, 0xD0,  // R.S.....
                /* 0440 */  0xA6, 0x4F, 0x8D, 0x46, 0xAD, 0x1A, 0x94, 0xA9,  // .O.F....
                /* 0448 */  0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,  // Q.A.>..3
                /* 0450 */  0x76, 0x4A, 0xB0, 0xC0, 0x87, 0x85, 0x4E, 0x0E,  // vJ....N.
                /* 0458 */  0x8E, 0x07, 0x42, 0x23, 0x1D, 0x75, 0x64, 0xE4,  // ..B#.ud.
                /* 0460 */  0x44, 0x6A, 0x10, 0x01, 0x59, 0xCA, 0xE9, 0x55,  // Dj..Y..U
                /* 0468 */  0x40, 0x3E, 0xBF, 0x72, 0xC1, 0x26, 0x80, 0x98,  // @>.r.&..
                /* 0470 */  0x7C, 0x10, 0x01, 0x93, 0x47, 0x83, 0x40, 0x2C,  // |...G.@,
                /* 0478 */  0xC8, 0x06, 0x08, 0x13, 0xAD, 0x03, 0x84, 0xFD,  // ........
                /* 0480 */  0xFF, 0x01                                       // ..
            })
        }

        Device (WFTE)
        {
            Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
            Name (_UID, "TestDev")  // _UID: Unique ID
            Name (_WDG, Buffer (0x28)
            {
                /* 0000 */  0x7F, 0xAB, 0x13, 0x1F, 0x20, 0x62, 0x10, 0x42,  // .... b.B
                /* 0008 */  0x8F, 0x8E, 0x8B, 0xB5, 0xE7, 0x1E, 0xE9, 0x69,  // .......i
                /* 0010 */  0x44, 0x45, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05,  // DE..!...
                /* 0018 */  0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0,  // f.......
                /* 0020 */  0xC9, 0x06, 0x29, 0x10, 0x43, 0x43, 0x01, 0x00   // ..).CC..
            })
            Method (WMDE, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    PDAT = Arg2
                    Notify (WFDE, 0xD0) // Hardware-Specific
                    Return (PDAT) /* \_SB_.PDAT */
                }

                Return (Zero)
            }

            Name (WQCC, Buffer (0x02F1)
            {
                /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
                /* 0008 */  0xE1, 0x02, 0x00, 0x00, 0xC2, 0x06, 0x00, 0x00,  // ........
                /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
                /* 0018 */  0xA8, 0x5D, 0x83, 0x00, 0x01, 0x06, 0x18, 0x42,  // .].....B
                /* 0020 */  0x20, 0x14, 0x03, 0x89, 0xC0, 0xA2, 0x69, 0x24,  //  .....i$
                /* 0028 */  0xC7, 0x01, 0x0C, 0x86, 0xCB, 0x72, 0x20, 0xE4,  // .....r .
                /* 0030 */  0x82, 0x89, 0x09, 0x10, 0x01, 0x21, 0xAF, 0x02,  // .....!..
                /* 0038 */  0x6C, 0x0A, 0x30, 0x09, 0xA2, 0xFE, 0xFD, 0x21,  // l.0....!
                /* 0040 */  0x4A, 0x82, 0x43, 0x09, 0x81, 0x90, 0x64, 0x01,  // J.C...d.
                /* 0048 */  0xE6, 0x05, 0xE8, 0x16, 0x60, 0x58, 0x80, 0x6D,  // ....`X.m
                /* 0050 */  0x01, 0xA6, 0x05, 0x38, 0x86, 0xA4, 0xD2, 0xC0,  // ...8....
                /* 0058 */  0x29, 0x81, 0xA5, 0x40, 0x48, 0xB8, 0x00, 0xE5,  // )..@H...
                /* 0060 */  0x02, 0x7C, 0x0B, 0xD0, 0x8E, 0x28, 0xDC, 0x96,  // .|...(..
                /* 0068 */  0x61, 0x44, 0xE0, 0x51, 0x44, 0xB6, 0x50, 0x34,  // aD.QD.P4
                /* 0070 */  0x0A, 0x8D, 0x1D, 0x86, 0x65, 0x82, 0x69, 0x10,  // ....e.i.
                /* 0078 */  0x87, 0x51, 0x36, 0xB2, 0x08, 0x3C, 0xA1, 0x4E,  // .Q6..<.N
                /* 0080 */  0x05, 0xC8, 0x15, 0x20, 0x4C, 0x80, 0x78, 0x54,  // ... L.xT
                /* 0088 */  0x61, 0x34, 0x07, 0x45, 0x20, 0x43, 0x63, 0xC4,  // a4.E Cc.
                /* 0090 */  0x40, 0x48, 0x22, 0xAC, 0x9C, 0x63, 0x6B, 0x14,  // @H"..ck.
                /* 0098 */  0xA7, 0x71, 0x34, 0xA5, 0x63, 0x68, 0x04, 0xC7,  // .q4.ch..
                /* 00A0 */  0x75, 0x40, 0x06, 0xE9, 0x7D, 0x3A, 0x44, 0xD0,  // u@..}:D.
                /* 00A8 */  0x84, 0x34, 0x8A, 0x68, 0x21, 0xA2, 0x04, 0x3D,  // .4.h!..=
                /* 00B0 */  0x8E, 0x20, 0x81, 0x23, 0x24, 0x30, 0xCC, 0x31,  // . .#$0.1
                /* 00B8 */  0x60, 0x64, 0x40, 0xC8, 0xB3, 0x00, 0xEB, 0x83,  // `d@.....
                /* 00C0 */  0x23, 0x04, 0x76, 0x2F, 0xC0, 0x98, 0x00, 0x8D,  // #.v/....
                /* 00C8 */  0x10, 0x72, 0x26, 0xC0, 0xA0, 0x00, 0x85, 0x02,  // .r&.....
                /* 00D0 */  0xBC, 0xC1, 0xC8, 0x96, 0x00, 0x6D, 0x02, 0x94,  // .....m..
                /* 00D8 */  0x21, 0x68, 0x4A, 0x51, 0x0E, 0x2A, 0x48, 0xB8,  // !hJQ.*H.
                /* 00E0 */  0x28, 0x16, 0x87, 0x26, 0x88, 0x16, 0x51, 0x08,  // (..&..Q.
                /* 00E8 */  0x68, 0x84, 0xD6, 0x60, 0x84, 0x1B, 0x2E, 0x46,  // h..`...F
                /* 00F0 */  0x84, 0x93, 0x8B, 0x1C, 0xA2, 0xFD, 0x41, 0x90,  // ......A.
                /* 00F8 */  0x68, 0x47, 0x01, 0x49, 0x00, 0x51, 0xA4, 0xD1,  // hG.I.Q..
                /* 0100 */  0xA0, 0x86, 0x9F, 0xE0, 0x71, 0xC0, 0x47, 0x81,  // ....q.G.
                /* 0108 */  0x93, 0x3B, 0xA9, 0x13, 0x33, 0xC8, 0x89, 0x1D,  // .;..3...
                /* 0110 */  0x5D, 0x9D, 0xE7, 0x00, 0x32, 0x62, 0x86, 0x95,  // ]...2b..
                /* 0118 */  0xE0, 0xD7, 0xC0, 0x07, 0x03, 0xBC, 0x6B, 0x40,  // ......k@
                /* 0120 */  0xDD, 0x08, 0x9E, 0x07, 0xD8, 0x30, 0xC3, 0x61,  // .....0.a
                /* 0128 */  0x86, 0xE8, 0xD1, 0x86, 0xFB, 0xFF, 0x9F, 0xC0,  // ........
                /* 0130 */  0x21, 0x32, 0x40, 0x0F, 0xED, 0x51, 0x00, 0xEB,  // !2@..Q..
                /* 0138 */  0x70, 0x32, 0x3A, 0x07, 0x94, 0x2A, 0xC0, 0xEC,  // p2:..*..
                /* 0140 */  0x99, 0x40, 0x33, 0x4B, 0x70, 0x3C, 0x3E, 0x00,  // .@3Kp<>.
                /* 0148 */  0x78, 0x3E, 0x27, 0x9C, 0xC0, 0xF2, 0x07, 0x81,  // x>'.....
                /* 0150 */  0x1A, 0x99, 0xA1, 0x3D, 0xE3, 0xD3, 0x7A, 0x0F,  // ...=..z.
                /* 0158 */  0xF0, 0xF1, 0xE0, 0xB0, 0x98, 0x58, 0x08, 0x29,  // .....X.)
                /* 0160 */  0x80, 0xD0, 0x78, 0xC0, 0xAF, 0xF8, 0x68, 0x20,  // ..x...h 
                /* 0168 */  0x84, 0x97, 0x05, 0xCF, 0xD7, 0x87, 0x04, 0x03,  // ........
                /* 0170 */  0x63, 0x07, 0x64, 0xBF, 0x02, 0x10, 0x82, 0xBF,  // c.d.....
                /* 0178 */  0x2E, 0x1C, 0xD1, 0x43, 0x43, 0x84, 0x04, 0x2F,  // ...CC../
                /* 0180 */  0x03, 0x47, 0x50, 0x29, 0xBE, 0xB0, 0x0E, 0x21,  // .GP)...!
                /* 0188 */  0x46, 0xA4, 0x18, 0x51, 0x82, 0xD4, 0x0A, 0xA1,  // F..Q....
                /* 0190 */  0xE9, 0x87, 0x49, 0x50, 0xE4, 0xC9, 0x01, 0x3D,  // ..IP...=
                /* 0198 */  0x02, 0x8E, 0x77, 0x02, 0xC7, 0x13, 0xD9, 0xE3,  // ..w.....
                /* 01A0 */  0x89, 0x72, 0x12, 0x07, 0xE4, 0x33, 0x85, 0x11,  // .r...3..
                /* 01A8 */  0x4E, 0xF3, 0x51, 0xE2, 0xD1, 0xC2, 0x9A, 0x67,  // N.Q....g
                /* 01B0 */  0xA4, 0x13, 0xC3, 0x39, 0xBD, 0x0D, 0x98, 0xA0,  // ...9....
                /* 01B8 */  0xB2, 0xE7, 0x80, 0x8E, 0x1F, 0x56, 0x05, 0x22,  // .....V."
                /* 01C0 */  0x1B, 0x4B, 0xF5, 0x39, 0x83, 0x6A, 0x5E, 0xAE,  // .K.9.j^.
                /* 01C8 */  0x46, 0x74, 0xCC, 0xC7, 0xEA, 0x11, 0x9C, 0xB4,  // Ft......
                /* 01D0 */  0xA7, 0x17, 0xD9, 0x4A, 0xC1, 0x04, 0xEC, 0x61,  // ...J...a
                /* 01D8 */  0x5B, 0x23, 0x85, 0xD4, 0xD0, 0x68, 0x3C, 0x06,  // [#...h<.
                /* 01E0 */  0x77, 0xFE, 0x13, 0x09, 0x05, 0x31, 0xA0, 0xC3,  // w....1..
                /* 01E8 */  0x41, 0xC8, 0xC9, 0x49, 0x00, 0xA5, 0x62, 0xBC,  // A..I..b.
                /* 01F0 */  0xE4, 0x68, 0xC1, 0x08, 0xA6, 0x81, 0xD0, 0xDD,  // .h......
                /* 01F8 */  0xC1, 0xF3, 0xF3, 0x3D, 0x80, 0xDF, 0x4C, 0x7C,  // ...=..L|
                /* 0200 */  0x32, 0x30, 0xB0, 0xEF, 0x13, 0x6F, 0x1C, 0xF0,  // 20...o..
                /* 0208 */  0xFF, 0xFF, 0x37, 0x0E, 0x36, 0x09, 0x8C, 0x9A,  // ..7.6...
                /* 0210 */  0x23, 0x04, 0x9D, 0x02, 0xBF, 0x00, 0xBC, 0x0A,  // #.......
                /* 0218 */  0x98, 0xC0, 0xBA, 0x2E, 0x06, 0xD0, 0x4F, 0x1D,  // ......O.
                /* 0220 */  0x1E, 0xA8, 0xAF, 0x1C, 0x67, 0x63, 0x7D, 0x07,  // ....gc}.
                /* 0228 */  0x03, 0x50, 0x00, 0xF9, 0x22, 0xE0, 0x93, 0xC1,  // .P.."...
                /* 0230 */  0xC3, 0x00, 0xBB, 0x19, 0x18, 0x26, 0x9A, 0xD1,  // .....&..
                /* 0238 */  0xB9, 0xA8, 0x69, 0xA3, 0x64, 0xC0, 0x68, 0xDA,  // ..i.d.h.
                /* 0240 */  0x06, 0xF1, 0xB4, 0x1D, 0x71, 0xDA, 0x68, 0x68,  // ....q.hh
                /* 0248 */  0x5F, 0x05, 0x7C, 0x11, 0x70, 0xA8, 0x61, 0xD3,  // _.|.p.a.
                /* 0250 */  0x3B, 0x07, 0x7E, 0xAE, 0x67, 0x16, 0xD0, 0x93,  // ;.~.g...
                /* 0258 */  0xF0, 0x91, 0xE4, 0xB8, 0xC1, 0x32, 0x0A, 0x06,  // .....2..
                /* 0260 */  0x1E, 0x24, 0x8E, 0x47, 0xC1, 0x26, 0xCE, 0x07,  // .$.G.&..
                /* 0268 */  0xE0, 0x89, 0xF3, 0x71, 0xF9, 0x86, 0x01, 0x7F,  // ...q....
                /* 0270 */  0xE4, 0x58, 0x82, 0x02, 0x67, 0x0E, 0x72, 0x78,  // .X..g.rx
                /* 0278 */  0x4C, 0xB0, 0x51, 0x51, 0x59, 0xE3, 0x42, 0x8D,  // L.QQY.B.
                /* 0280 */  0xD2, 0x57, 0x20, 0x86, 0x7D, 0x82, 0x16, 0x3D,  // .W .}..=
                /* 0288 */  0x48, 0x9D, 0x2F, 0x0E, 0xEA, 0x69, 0xC4, 0x63,  // H./..i.c
                /* 0290 */  0x33, 0xAC, 0xC7, 0xFD, 0xFF, 0x0F, 0x8B, 0x41,  // 3......A
                /* 0298 */  0x0B, 0x7B, 0xB8, 0x2F, 0x22, 0x3E, 0xC5, 0x78,  // .{./">.x
                /* 02A0 */  0x66, 0xC6, 0x08, 0xEB, 0xB1, 0x7B, 0x40, 0x8F,  // f....{@.
                /* 02A8 */  0x10, 0xE0, 0x01, 0x7B, 0x35, 0x39, 0xD3, 0x07,  // ...{59..
                /* 02B0 */  0x97, 0x3F, 0x8E, 0xEA, 0x20, 0x74, 0xDF, 0xE0,  // .?.. t..
                /* 02B8 */  0x28, 0x21, 0x1E, 0x38, 0x30, 0x04, 0x15, 0xDA,  // (!.80...
                /* 02C0 */  0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35,  // ....U.25
                /* 02C8 */  0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6,  // .4...Rc.
                /* 02D0 */  0x3C, 0x5C, 0x8E, 0xE8, 0x41, 0x81, 0xBC, 0x13,  // <\..A...
                /* 02D8 */  0x34, 0x42, 0x87, 0x00, 0xA1, 0x42, 0x9E, 0x08,  // 4B...B..
                /* 02E0 */  0x32, 0x72, 0x0F, 0x31, 0x88, 0x80, 0xAC, 0xCC,  // 2r.1....
                /* 02E8 */  0x02, 0x10, 0xD3, 0x09, 0x22, 0x20, 0xFF, 0xFF,  // ...." ..
                /* 02F0 */  0x01                                             // .
            })
        }

        Method (USSV, 1, Serialized)
        {
            PDAT = Arg0
        }

        Method (GSSV, 0, Serialized)
        {
            Return (PDAT) /* \_SB_.PDAT */
        }
    }

    Scope (_SB.PC00.RP01.PXSX)
    {
        Name (PERN, "RP01")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP09.PXSX)
    {
        Name (PERN, "RP09")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP13.PXSX)
    {
        Name (PERN, "RP13")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP17.PXSX)
    {
        Name (PERN, "RP17")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC00.RP21.PXSX)
    {
        Name (PERN, "RP21")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP01.PXSX)
    {
        Name (PERN, "RP01")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP02.PXSX)
    {
        Name (PERN, "RP02")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP03.PXSX)
    {
        Name (PERN, "RP03")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP04.PXSX)
    {
        Name (PERN, "RP04")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP05.PXSX)
    {
        Name (PERN, "RP05")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP06.PXSX)
    {
        Name (PERN, "RP06")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP07.PXSX)
    {
        Name (PERN, "RP07")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP08.PXSX)
    {
        Name (PERN, "RP08")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP09.PXSX)
    {
        Name (PERN, "RP09")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP10.PXSX)
    {
        Name (PERN, "RP10")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP11.PXSX)
    {
        Name (PERN, "RP11")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP12.PXSX)
    {
        Name (PERN, "RP12")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP13.PXSX)
    {
        Name (PERN, "RP13")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP14.PXSX)
    {
        Name (PERN, "RP14")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP15.PXSX)
    {
        Name (PERN, "RP15")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP16.PXSX)
    {
        Name (PERN, "RP16")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP17.PXSX)
    {
        Name (PERN, "RP17")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP18.PXSX)
    {
        Name (PERN, "RP18")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP19.PXSX)
    {
        Name (PERN, "RP19")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP20.PXSX)
    {
        Name (PERN, "RP20")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP21.PXSX)
    {
        Name (PERN, "RP21")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP22.PXSX)
    {
        Name (PERN, "RP22")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP23.PXSX)
    {
        Name (PERN, "RP23")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB.PC02.RP24.PXSX)
    {
        Name (PERN, "RP24")
        Method (ISLN, 0, Serialized)
        {
            If ((BCCX == 0x02))
            {
                If ((SCCX == Zero))
                {
                    If ((PIXX == Zero))
                    {
                        ADBG ("PCIe LAN")
                        Return (One)
                    }
                }
            }

            Return (Zero)
        }

        Method (ISDT, 0, Serialized)
        {
            If (CondRefOf (\DTFS))
            {
                If (((DTFS == One) && (((RPS0 == SLOT) && RPN0) || (
                    (RPS1 == SLOT) && RPN1))))
                {
                    ADBG (Concatenate ("DTBT PEP Constraint is successfully SET for PCH RP = ", ToDecimalString (SLOT)))
                    Return (One)
                }
            }

            Return (Zero)
        }

        Method (GRPT, 0, Serialized)
        {
            ADBG (Concatenate ("Root Port : ", PERN))
            If (CondRefOf (^^PRMV))
            {
                If ((PRMV == One))
                {
                    ADBG (Concatenate (PERN, " mapped under VMD"))
                    Return (0x63)
                }
            }

            If (PRES ())
            {
                If ((PAHC () || PNVM ()))
                {
                    Return (One)
                }

                If (ISGX ())
                {
                    Return (0x04)
                }

                If ((PRTP == 0x02))
                {
                    If (ISLN ())
                    {
                        Return (0x02)
                    }

                    If (CondRefOf (^WIST))
                    {
                        If (WIST ())
                        {
                            Return (0x03)
                        }
                    }

                    If (ISDT ())
                    {
                        Return (0x05)
                    }

                    If (CondRefOf (WWST))
                    {
                        If (WWST ())
                        {
                            Return (0x06)
                        }
                    }
                }

                Return (Zero)
            }

            Return (0x63)
        }
    }

    Scope (_SB)
    {
        Device (PEPD)
        {
            Name (DEVC, Zero)
            Name (DEVS, Zero)
            Name (IPDI, Zero)
            Name (_HID, "INT33A1" /* Intel Power Engine */)  // _HID: Hardware ID
            Name (_CID, EisaId ("PNP0D80") /* Windows-compatible System Power Management Controller */)  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (PCP0, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0xFF, 
                    Zero
                }
            })
            Name (PCP1, Package (0x02)
            {
                Zero, 
                Package (0x03)
                {
                    0xFF, 
                    Zero, 
                    0x81
                }
            })
            Name (PCP2, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0xFF, 
                    0x02
                }
            })
            Name (PCP3, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0xFF, 
                    0x03
                }
            })
            Name (DEVY, Package (0x78)
            {
                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }, 

                Package (0x03)
                {
                    "Reserved.Reserved.Reserved.Reserved", 
                    Zero, 
                    Package (0x02)
                    {
                        Zero, 
                        Package (0x03)
                        {
                            0xFF, 
                            Zero, 
                            0x81
                        }
                    }
                }
            })
            Method (UPDE, 4, NotSerialized)
            {
                If ((DEVC < DEVS))
                {
                    If ((SizeOf (Arg1) != Zero))
                    {
                        Local0 = Concatenate (Concatenate (Arg0, "."), Arg1)
                    }
                    Else
                    {
                        Local0 = Arg0
                    }

                    DerefOf (DEVY [DEVC]) [Zero] = Local0
                    If ((Arg0 == "Reserved"))
                    {
                        DEVC++
                        Return (Zero)
                    }

                    DerefOf (DEVY [DEVC]) [One] = Arg2
                    If ((Arg3 == Zero))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP0 /* \_SB_.PEPD.PCP0 */
                    }
                    ElseIf ((Arg3 == One))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP1 /* \_SB_.PEPD.PCP1 */
                    }
                    ElseIf ((Arg3 == 0x02))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP2 /* \_SB_.PEPD.PCP2 */
                    }
                    ElseIf ((Arg3 == 0x03))
                    {
                        DerefOf (DEVY [DEVC]) [0x02] = PCP3 /* \_SB_.PEPD.PCP3 */
                    }
                    Else
                    {
                        ADBG ("PEP Error !!! Unknown D- state constraint is passed..")
                    }

                    ADBG (Concatenate ("DEVY entry index :", ToDecimalString (DEVC)))
                    ADBG (Concatenate ("Device Descriptor                  :", DerefOf (DerefOf (DEVY [DEVC]) [Zero])
                        ))
                    ADBG (Concatenate ("Constraint (Enable/Disable)        :", DerefOf (DerefOf (DEVY [DEVC]) [One])
                        ))
                    ADBG (Concatenate ("Constraint applied (D0/D0F1/D2/D3) :", Arg3))
                    ADBG ("------------ ")
                    ADBG ("")
                    DEVC++
                }
                Else
                {
                    ADBG (Concatenate ("PEP UPDE Error!!!! DEVY size is excedded, DEVY size = ", ToDecimalString (DEVS)))
                }
            }

            Method (UPPR, 4, Serialized)
            {
                If (CondRefOf (Arg0))
                {
                    Local0 = GRPC (Arg1)
                    If ((Local0 != Zero))
                    {
                        UPDE (Arg2, Arg3, One, Local0)
                    }
                    Else
                    {
                        UPDE (Arg2, Arg3, Zero, Local0)
                    }
                }
            }

            Method (GUCP, 2, Serialized)
            {
                If (((PEPC & Arg0) == Arg0))
                {
                    If (((PEPC & (Arg1 | Arg0)) == (Arg1 | Arg0
                        )))
                    {
                        ADBG ("D3 F0 constraint")
                        Return (0x03)
                    }
                    Else
                    {
                        ADBG ("D0 F1 constraint")
                        Return (One)
                    }
                }
                Else
                {
                    ADBG ("No constraint")
                    Return (Zero)
                }
            }

            Method (GRPC, 1, Serialized)
            {
                If ((Arg0 == One))
                {
                    ADBG ("PCIE Storage PEP")
                    Return (Zero)
                }

                If ((Arg0 == 0x02))
                {
                    ADBG ("PCIE LAN PEP")
                    Return (GUCP (0x0000000100000000, 0x0000000200000000))
                }

                If ((Arg0 == 0x03))
                {
                    ADBG ("PCIE WLAN PEP")
                    Return (GUCP (0x0000000400000000, 0x0000000800000000))
                }

                If ((Arg0 == 0x04))
                {
                    ADBG ("PCIE Graphics PEP")
                    Return (GUCP (0x0000001000000000, 0x0000002000000000))
                }

                If ((Arg0 == 0x05))
                {
                    ADBG ("PCH PCIE DTBT PEP")
                    Return (GUCP (0x00400000, 0x00400000))
                }

                If ((Arg0 == 0x06))
                {
                    ADBG ("PCIE WWAN PEP")
                    If ((WRTO == 0x03))
                    {
                        ADBG ("PEP Constraint = D3")
                        Return (0x03)
                    }
                    ElseIf ((WRTO == 0x02))
                    {
                        ADBG ("PEP Constraint = D0")
                        Return (One)
                    }
                    Else
                    {
                        ADBG ("PEP Constraint = no constraint")
                        Return (Zero)
                    }
                }

                If ((Arg0 == Zero))
                {
                    ADBG ("PCIE Others")
                    Return (GUCP (0x0000004000000000, 0x0000008000000000))
                }

                ADBG ("PCIE EP NOT present")
                Return (Zero)
            }

            Method (SPDE, 0, Serialized)
            {
                If (!ESPC)
                {
                    Return (Zero)
                }

                If (CondRefOf (\_SB.PC02.SAT0))
                {
                    UPDE ("\\_SB.PC02", "SAT0.PRT0", ^^PC02.SAT0.PRT0.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT1", ^^PC02.SAT0.PRT1.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT2", ^^PC02.SAT0.PRT2.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT3", ^^PC02.SAT0.PRT3.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT4", ^^PC02.SAT0.PRT4.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT5", ^^PC02.SAT0.PRT5.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT6", ^^PC02.SAT0.PRT6.PRES (), 0x03)
                    UPDE ("\\_SB.PC02", "SAT0.PRT7", ^^PC02.SAT0.PRT7.PRES (), 0x03)
                }
            }

            Method (UPDV, 0, Serialized)
            {
                DEVS = SizeOf (DEVY)
                ADBG (Concatenate ("PEP DEVY size = ", ToDecimalString (DEVS)))
                SPDE ()
                If ((((PEPC & 0x10000000) >> 0x1C) == One))
                {
                    If ((((PEPC & 0x30000000) >> 0x1C) == One))
                    {
                        UPDE ("\\_SB.PC02", "SAT0", ((PEPC & 0x10000000) >> 0x1C), One)
                    }
                    ElseIf ((((PEPC & 0x30000000) >> 0x1C) == 0x03))
                    {
                        UPDE ("\\_SB.PC02", "SAT0", ((PEPC & 0x10000000) >> 0x1C), 0x03)
                    }
                }
                ElseIf ((((PEPC & 0x30000000) >> 0x1C) == 0x02))
                {
                    UPDE ("\\_SB.PC02", "SAT0.VOL0", One, One)
                }

                ADBG (Concatenate ("Pep TCNT : ", ToHexString (TCNT)))
                Local0 = Zero
                While ((Local0 < TCNT))
                {
                    If ((Local0 < 0x0A))
                    {
                        Concatenate ("PR0", Local0, Local1)
                    }
                    Else
                    {
                        Concatenate ("PR", ToDecimalString (Local0), Local1)
                    }

                    If (((PEPC & 0x00010000) == Zero))
                    {
                        UPDE ("\\_SB", Local1, Zero, Zero)
                    }
                    Else
                    {
                        UPDE ("\\_SB", Local1, One, Zero)
                    }

                    Local0 += One
                }

                UPDE ("\\_SB.PC00", "GFX0", ((PEPC & 0x8000) >> 0x0F), 0x03)
                UPDE ("\\_SB.PC02", "HDAS", One, GUCP (0x04000000, 0x08000000))
                UPDE ("\\_SB.PC02", "UA00", ((PEPC & One) >> Zero), 0x03)
                UPDE ("\\_SB.PC02", "UA01", ((PEPC & 0x02) >> One), 0x03)
                UPDE ("\\_SB.PC02", "UA02", ((PEPC & 0x04) >> 0x02), 0x03)
                UPDE ("\\_SB.PC02", "I2C0", ((PEPC & 0x08) >> 0x03), 0x03)
                UPDE ("\\_SB.PC02", "I2C1", ((PEPC & 0x10) >> 0x04), 0x03)
                UPDE ("\\_SB.PC02", "I2C2", ((PEPC & 0x20) >> 0x05), 0x03)
                UPDE ("\\_SB.PC02", "I2C3", ((PEPC & 0x40) >> 0x06), 0x03)
                UPDE ("\\_SB.PC02", "I2C4", ((PEPC & 0x80) >> 0x07), 0x03)
                UPDE ("\\_SB.PC02", "I2C5", ((PEPC & 0x0100) >> 0x08), 0x03)
                UPDE ("\\_SB.PC00", "I2C6", ((PEPC & 0x0200) >> 0x09), 0x03)
                UPDE ("\\_SB.PC00", "I2C7", ((PEPC & 0x0400) >> 0x0A), 0x03)
                UPDE ("\\_SB.PC02", "SPI0", ((PEPC & 0x0800) >> 0x0B), 0x03)
                UPDE ("\\_SB.PC02", "SPI1", ((PEPC & 0x1000) >> 0x0C), 0x03)
                UPDE ("\\_SB.PC02", "SPI2", ((PEPC & 0x2000) >> 0x0D), 0x03)
                UPDE ("\\_SB.PC02", "XHCI", ((PEPC & 0x4000) >> 0x0E), 0x03)
                UPDE ("\\_SB.PC00", "PEMC", ((PEPC & 0x0000010000000000) >> 0x28), 0x03)
                UPDE ("\\_SB.PC00", "PSDC", ((PEPC & 0x0000020000000000) >> 0x29), 0x03)
                UPDE ("\\_SB.PC00", "IPU0", ((PEPC & 0x00020000) >> 0x11), 0x03)
                UPDE ("\\_SB.PC02", "HECI", ((PEPC & 0x00040000) >> 0x12), One)
                If (((((PEPC & 0x00080000) >> 0x13) == Zero) || (
                    ^^PC02.GBES == Zero)))
                {
                    UPDE ("\\_SB.PC02", "GLAN", Zero, 0x03)
                }
                Else
                {
                    UPDE ("\\_SB.PC02", "GLAN", One, 0x03)
                }

                UPDE ("\\_SB.PC00", "THC0", ((PEPC & 0x00100000) >> 0x14), 0x03)
                UPDE ("\\_SB.PC00", "THC1", ((PEPC & 0x00200000) >> 0x15), 0x03)
                If ((WRTO == One))
                {
                    UPDE ("USB\\VID_8087&PID_0AC9&MI*", "", One, WRTO)
                    ADBG ("PEP Constraint for CDC MBIM = D0F1")
                }
                Else
                {
                    UPDE ("USB\\VID_8087&PID_0AC9&MI*", "", Zero, 0x02)
                }

                UPDE ("\\_SB.PC00", "GNA0", ((PEPC & 0x00800000) >> 0x17), 0x03)
                UPDE ("\\_SB.PC00", "VMD0", ((PEPC & 0x01000000) >> 0x18), 0x03)
                If (CondRefOf (\_SB.PC00.HEC3))
                {
                    ADBG ("HECI3 PEP")
                    UPDE ("\\_SB.PC00", "HEC3", ((PEPC & 0x02000000) >> 0x19), One)
                }

                UPDE ("\\_SB.PC00", "PUF0", ((PEPC & 0x0000080000000000) >> 0x2B), 0x03)
                UPDE ("\\_SB.PC00", "PUF1", ((PEPC & 0x0000100000000000) >> 0x2C), 0x03)
                UPDE ("\\_SB.PC00", "VPU0", ((PEPC & 0x0000040000000000) >> 0x2A), 0x03)
                If (((PEPC & 0x00400000) != Zero))
                {
                    If ((THCE == One))
                    {
                        UPDE ("\\_SB.PC00", "TXHC", One, 0x03)
                    }
                    Else
                    {
                        UPDE ("\\_SB.PC00", "TXHC", Zero, 0x03)
                    }

                    If ((TDCE == One))
                    {
                        UPDE ("\\_SB.PC00", "TXDC", One, 0x03)
                    }
                    Else
                    {
                        UPDE ("\\_SB.PC00", "TXDC", Zero, 0x03)
                    }

                    UPDE ("\\_SB.PC00", "TRP0", TRE0, 0x03)
                    UPDE ("\\_SB.PC00", "TRP1", TRE1, 0x03)
                    UPDE ("\\_SB.PC00", "TRP2", TRE2, 0x03)
                    UPDE ("\\_SB.PC00", "TRP3", TRE3, 0x03)
                    UPDE ("\\_SB.PC00", "TDM0", DME0, 0x03)
                    UPDE ("\\_SB.PC00", "TDM1", DME1, 0x03)
                }
                Else
                {
                    UPDE ("\\_SB.PC00", "TXHC", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TXDC", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP0", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP1", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP2", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TRP3", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TDM0", Zero, 0x03)
                    UPDE ("\\_SB.PC00", "TDM1", Zero, 0x03)
                }

                UPDE ("\\_SB.PC01", "TRP0", Zero, Zero)
                UPDE ("\\_SB.PC01", "TRP1", Zero, Zero)
                UPDE ("\\_SB.PC01", "TRP2", Zero, Zero)
                UPDE ("\\_SB.PC01", "TRP3", Zero, Zero)
                UPPR (^^PC00.RP01, ^^PC00.RP01.PXSX.GRPT (), "\\_SB.PC00", "RP01")
                UPPR (^^PC00.RP09, ^^PC00.RP09.PXSX.GRPT (), "\\_SB.PC00", "RP09")
                UPPR (^^PC00.RP13, ^^PC00.RP13.PXSX.GRPT (), "\\_SB.PC00", "RP13")
                UPPR (^^PC00.RP17, ^^PC00.RP17.PXSX.GRPT (), "\\_SB.PC00", "RP17")
                UPPR (^^PC00.RP21, ^^PC00.RP21.PXSX.GRPT (), "\\_SB.PC00", "RP21")
                UPPR (^^PC02.RP01, ^^PC02.RP01.PXSX.GRPT (), "\\_SB.PC02", "RP01")
                UPPR (^^PC02.RP02, ^^PC02.RP02.PXSX.GRPT (), "\\_SB.PC02", "RP02")
                UPPR (^^PC02.RP03, ^^PC02.RP03.PXSX.GRPT (), "\\_SB.PC02", "RP03")
                UPPR (^^PC02.RP04, ^^PC02.RP04.PXSX.GRPT (), "\\_SB.PC02", "RP04")
                UPPR (^^PC02.RP05, ^^PC02.RP05.PXSX.GRPT (), "\\_SB.PC02", "RP05")
                UPPR (^^PC02.RP06, ^^PC02.RP06.PXSX.GRPT (), "\\_SB.PC02", "RP06")
                UPPR (^^PC02.RP07, ^^PC02.RP07.PXSX.GRPT (), "\\_SB.PC02", "RP07")
                UPPR (^^PC02.RP08, ^^PC02.RP08.PXSX.GRPT (), "\\_SB.PC02", "RP08")
                UPPR (^^PC02.RP09, ^^PC02.RP09.PXSX.GRPT (), "\\_SB.PC02", "RP09")
                UPPR (^^PC02.RP10, ^^PC02.RP10.PXSX.GRPT (), "\\_SB.PC02", "RP10")
                UPPR (^^PC02.RP11, ^^PC02.RP11.PXSX.GRPT (), "\\_SB.PC02", "RP11")
                UPPR (^^PC02.RP12, ^^PC02.RP12.PXSX.GRPT (), "\\_SB.PC02", "RP12")
                UPPR (^^PC02.RP13, ^^PC02.RP13.PXSX.GRPT (), "\\_SB.PC02", "RP13")
                UPPR (^^PC02.RP14, ^^PC02.RP14.PXSX.GRPT (), "\\_SB.PC02", "RP14")
                UPPR (^^PC02.RP15, ^^PC02.RP15.PXSX.GRPT (), "\\_SB.PC02", "RP15")
                UPPR (^^PC02.RP16, ^^PC02.RP16.PXSX.GRPT (), "\\_SB.PC02", "RP16")
                UPPR (^^PC02.RP17, ^^PC02.RP17.PXSX.GRPT (), "\\_SB.PC02", "RP17")
                UPPR (^^PC02.RP18, ^^PC02.RP18.PXSX.GRPT (), "\\_SB.PC02", "RP18")
                UPPR (^^PC02.RP19, ^^PC02.RP19.PXSX.GRPT (), "\\_SB.PC02", "RP19")
                UPPR (^^PC02.RP20, ^^PC02.RP20.PXSX.GRPT (), "\\_SB.PC02", "RP20")
                UPPR (^^PC02.RP21, ^^PC02.RP21.PXSX.GRPT (), "\\_SB.PC02", "RP21")
                UPPR (^^PC02.RP22, ^^PC02.RP22.PXSX.GRPT (), "\\_SB.PC02", "RP22")
                UPPR (^^PC02.RP23, ^^PC02.RP23.PXSX.GRPT (), "\\_SB.PC02", "RP23")
                UPPR (^^PC02.RP24, ^^PC02.RP24.PXSX.GRPT (), "\\_SB.PC02", "RP24")
                If (CondRefOf (\_SB.PC02.CNVW.VDID))
                {
                    If ((^^PC02.CNVW.VDID != 0xFFFFFFFF))
                    {
                        ADBG ("CNVi- WiFI PEP")
                        UPDE ("\\_SB.PC02", "CNVW", One, 0x03)
                    }
                }

                Local0 = DEVC /* \_SB_.PEPD.DEVC */
                While ((Local0 < DEVS))
                {
                    UPDE ("Reserved", ToDecimalString (Local0), Zero, Zero)
                    Local0 += One
                }

                DEVC = Zero
                ADBG ("[PEP] All Pep Constraints are updated ")
            }

            Name (BCCD, Package (0x00){})
            Name (DSDV, Package (0x02)
            {
                ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */, 
                Package (0x01)
                {
                    Package (0x02)
                    {
                        "intel-cec-pson-switching-enabled-in-s0", 
                        Zero
                    }
                }
            })
            Method (_DSD, 0, NotSerialized)  // _DSD: Device-Specific Data
            {
                Local0 = Zero
                While ((Local0 < SizeOf (DSDV)))
                {
                    If ((DerefOf (DSDV [Local0]) != ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301") /* Device Properties for _DSD */))
                    {
                        Continue
                    }

                    Local1 = DerefOf (DSDV [(Local0 + One)])
                    Local2 = Zero
                    While ((Local2 < SizeOf (Local1)))
                    {
                        Local3 = DerefOf (Local1 [Local2])
                        If ((("intel-cec-pson-switching-enabled-in-s0" == DerefOf (Local3 [Zero])) && PSON))
                        {
                            ADBG ("PEPD: Storing 1 in DSDV Object")
                            DerefOf (DerefOf (DSDV [(Local0 + One)]) [
                                Local2]) [One] = One
                        }

                        Local2++
                    }

                    Local0 += 0x02
                }

                Return (DSDV) /* \_SB_.PEPD.DSDV */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((S0ID == One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                ADBG (Concatenate ("PEPC = ", ToHexString (PEPC)))
                If ((Arg0 == ToUUID ("11e00d56-ce64-47ce-837b-1f898f9aa461") /* Unknown UUID */))
                {
                    If ((Arg2 == Zero))
                    {
                        Return (Buffer (0x02)
                        {
                             0x81, 0x01                                       // ..
                        })
                    }

                    If ((Arg2 == 0x07))
                    {
                        If ((PFLV == 0x02))
                        {
                            If (CondRefOf (ECON))
                            {
                                If ((ECON == One))
                                {
                                    If ((PPOE == One))
                                    {
                                        If (CondRefOf (\_SB.PC00.LPCB.NRTS))
                                        {
                                            ^^PC00.LPCB.NRTS (Zero)
                                        }
                                    }
                                }
                            }
                        }
                    }

                    If ((Arg2 == 0x08))
                    {
                        If ((PFLV == 0x02))
                        {
                            If (CondRefOf (ECON))
                            {
                                If ((ECON == One))
                                {
                                    If ((PPOE == One))
                                    {
                                        If (CondRefOf (\_SB.PC00.LPCB.NRTS))
                                        {
                                            ^^PC00.LPCB.NRTS (One)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                If ((Arg0 == ToUUID ("c4eb40a0-6cd2-11e2-bcfd-0800200c9a66") /* Unknown UUID */))
                {
                    If ((Arg2 == Zero))
                    {
                        Return (Buffer (One)
                        {
                             0x7F                                             // .
                        })
                    }

                    If ((Arg2 == One))
                    {
                        If ((S0ID == Zero))
                        {
                            Return (Package (0x00){})
                        }

                        If ((IPDI == Zero))
                        {
                            UPDV ()
                            IPDI = One
                        }
                        Else
                        {
                            ADBG ("PEP DEVY is already initialized !!! ")
                        }

                        Return (DEVY) /* \_SB_.PEPD.DEVY */
                    }

                    If ((Arg2 == 0x02))
                    {
                        Return (BCCD) /* \_SB_.PEPD.BCCD */
                    }

                    If ((Arg2 == 0x03))
                    {
                        If (CondRefOf (\_SB.PC00.IMNG))
                        {
                            ^^PC00.IMNG (Arg2)
                        }

                        If ((S0ID == One))
                        {
                            D8XH (Zero, 0xC5)
                            D8XH (One, Zero)
                            ^^PC00.LPCB.EC0.S0E1 = One
                        }
                    }

                    If ((Arg2 == 0x04))
                    {
                        If (CondRefOf (\_SB.PC00.IMNG))
                        {
                            ^^PC00.IMNG (Arg2)
                        }

                        If ((S0ID == One))
                        {
                            D8XH (Zero, 0xC5)
                            D8XH (One, 0xAB)
                            ^^PC00.LPCB.EC0.OPML ()
                            ^^PC00.LPCB.EC0.S0E1 = Zero
                        }
                    }

                    Local0 = Zero
                    If ((Arg2 == 0x05))
                    {
                        ADBG ("[PEP] deep standby entry")
                        If ((S0ID == One))
                        {
                            GUAM (One)
                        }

                        If ((ECON == Zero))
                        {
                            If ((ITSI == One)){}
                        }

                        If (CondRefOf (\_SB.PC00.TXHC))
                        {
                            If (CondRefOf (\_SB.PC00.TDM0))
                            {
                                If ((^^PC00.TDM0._STA == 0x0F))
                                {
                                    If ((^^PC00.TDM0.SCME == Zero))
                                    {
                                        Local0 = One
                                        ADBG (Concatenate ("TDM0 set DPOF to ", ToHexString (Local0)))
                                    }
                                }
                            }

                            If (CondRefOf (\_SB.PC00.TDM1))
                            {
                                If ((^^PC00.TDM1._STA == 0x0F))
                                {
                                    If ((^^PC00.TDM1.SCME == Zero))
                                    {
                                        Local0 = One
                                        ADBG (Concatenate ("TDM1 set DPOF to ", ToHexString (Local0)))
                                    }
                                }
                            }

                            If ((Local0 == One))
                            {
                                ^^PC00.DPOF = One
                            }

                            ADBG (Concatenate ("All Monitor off flag: ", ToHexString (^^PC00.DPOF)))
                            If (CondRefOf (\GPRV))
                            {
                                ADBG ("[PEP] allow PS_ON")
                                GPRV (0x03, Zero)
                            }
                        }

                        ^^PC00.LPCB.EC0.CPML ()
                        ^^PC00.LPCB.EC0.S0E3 = One
                    }

                    If ((Arg2 == 0x06))
                    {
                        ADBG ("[PEP] deep standby exit")
                        ^^PC00.LPCB.EC0.S0E3 = Zero
                        If ((S0ID == One))
                        {
                            GUAM (Zero)
                        }

                        If ((ECON == Zero))
                        {
                            If ((ITSI == One)){}
                        }

                        If (CondRefOf (\_SB.PC00.TXHC))
                        {
                            ^^PC00.DPOF = Zero
                        }

                        If (CondRefOf (\GPRV))
                        {
                            ADBG ("[PEP] veto PS_ON")
                            GPRV (0x03, One)
                        }
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Device (PSM)
    {
        Name (_HID, EisaId ("INT3420") /* Intel Bluetooth RF Kill */)  // _HID: Hardware ID
        Name (_UID, Zero)  // _UID: Unique ID
        Name (_STR, Unicode ("Power Sharing Manager"))  // _STR: Description String
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            If ((PSME == One))
            {
                Return (0x0F)
            }
            Else
            {
                Return (Zero)
            }
        }

        Name (SPLX, Package (0x02)
        {
            Zero, 
            Package (0x03)
            {
                0x80000000, 
                0x80000000, 
                0x80000000
            }
        })
        Method (SPLC, 0, Serialized)
        {
            DerefOf (SPLX [One]) [Zero] = PDT1 /* \PDT1 */
            DerefOf (SPLX [One]) [One] = PLM1 /* \PLM1 */
            DerefOf (SPLX [One]) [0x02] = PTW1 /* \PTW1 */
            Return (SPLX) /* \PSM_.SPLX */
        }

        Name (DPLX, Package (0x02)
        {
            Zero, 
            Package (0x03)
            {
                0x80000000, 
                0x80000000, 
                Package (0x06)
                {
                    0x80000000, 
                    0x80000000, 
                    0x80000000, 
                    0x80000000, 
                    0x80000000, 
                    0x80000000
                }
            }
        })
        Method (DPLC, 0, Serialized)
        {
            DerefOf (DPLX [One]) [Zero] = DDT1 /* \DDT1 */
            DerefOf (DPLX [One]) [One] = DDP1 /* \DDP1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [Zero]
                 = DLI1 /* \DLI1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [One]
                 = DPL1 /* \DPL1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x02]
                 = DTW1 /* \DTW1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x03]
                 = DMI1 /* \DMI1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x04]
                 = DMA1 /* \DMA1 */
            DerefOf (DerefOf (DPLX [One]) [0x02]) [0x05]
                 = DMT1 /* \DMT1 */
            Return (DPLX) /* \PSM_.DPLX */
        }
    }

    Scope (_SB)
    {
        Method (WFRK, 1, Serialized)
        {
            If ((DWFK != Zero))
            {
                ^PGPI.SGOV (DWFK, Arg0)
            }
        }

        Method (BTRK, 1, Serialized)
        {
            If ((GBTK != Zero))
            {
                ^PGPI.SGOV (GBTK, Arg0)
            }
        }

        Method (GBTR, 0, NotSerialized)
        {
            Return (^PGPI.GGOV (GBTK))
        }
    }

    If ((CRFP == One))
    {
        If ((CWFC == One))
        {
            Scope (_SB.PC02.CNVW)
            {
                Name (SPLX, Package (0x02)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (SPLC, 0, Serialized)
                {
                    DerefOf (SPLX [One]) [Zero] = DOM1 /* \DOM1 */
                    DerefOf (SPLX [One]) [One] = LIM1 /* \LIM1 */
                    DerefOf (SPLX [One]) [0x02] = TIM1 /* \TIM1 */
                    Return (SPLX) /* \_SB_.PC02.CNVW.SPLX */
                }

                Name (WANX, Package (0x03)
                {
                    Zero, 
                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }, 

                    Package (0x03)
                    {
                        0x80000000, 
                        0x80000000, 
                        0x80000000
                    }
                })
                Method (WAND, 0, Serialized)
                {
                    DerefOf (WANX [One]) [Zero] = Zero
                    DerefOf (WANX [One]) [One] = TRD0 /* \TRD0 */
                    DerefOf (WANX [One]) [0x02] = TRL0 /* \TRL0 */
                    DerefOf (WANX [0x02]) [Zero] = One
                    DerefOf (WANX [0x02]) [One] = TRD1 /* \TRD1 */
                    DerefOf (WANX [0x02]) [0x02] = TRL1 /* \TRL1 */
                    Return (WANX) /* \_SB_.PC02.CNVW.WANX */
                }

                Name (WRDX, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x80000000, 
                        0x8000
                    }
                })
                Method (WRDD, 0, Serialized)
                {
                    DerefOf (WRDX [One]) [Zero] = WDM1 /* \WDM1 */
                    DerefOf (WRDX [One]) [One] = CID1 /* \CID1 */
                    Return (WRDX) /* \_SB_.PC02.CNVW.WRDX */
                }

                Name (WRDY, Package (0x02)
                {
                    0x02, 
                    Package (0x2E)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WRDS, 0, Serialized)
                {
                    DerefOf (WRDY [One]) [One] = STXE /* \STXE */
                    DerefOf (WRDY [One]) [0x02] = ST10 /* \ST10 */
                    DerefOf (WRDY [One]) [0x03] = ST11 /* \ST11 */
                    DerefOf (WRDY [One]) [0x04] = ST12 /* \ST12 */
                    DerefOf (WRDY [One]) [0x05] = ST13 /* \ST13 */
                    DerefOf (WRDY [One]) [0x06] = ST14 /* \ST14 */
                    DerefOf (WRDY [One]) [0x07] = ST15 /* \ST15 */
                    DerefOf (WRDY [One]) [0x08] = ST16 /* \ST16 */
                    DerefOf (WRDY [One]) [0x09] = ST17 /* \ST17 */
                    DerefOf (WRDY [One]) [0x0A] = ST18 /* \ST18 */
                    DerefOf (WRDY [One]) [0x0B] = ST19 /* \ST19 */
                    DerefOf (WRDY [One]) [0x0C] = ST50 /* \ST50 */
                    DerefOf (WRDY [One]) [0x0D] = ST51 /* \ST51 */
                    DerefOf (WRDY [One]) [0x0E] = ST52 /* \ST52 */
                    DerefOf (WRDY [One]) [0x0F] = ST53 /* \ST53 */
                    DerefOf (WRDY [One]) [0x10] = ST54 /* \ST54 */
                    DerefOf (WRDY [One]) [0x11] = ST55 /* \ST55 */
                    DerefOf (WRDY [One]) [0x12] = ST56 /* \ST56 */
                    DerefOf (WRDY [One]) [0x13] = ST57 /* \ST57 */
                    DerefOf (WRDY [One]) [0x14] = ST58 /* \ST58 */
                    DerefOf (WRDY [One]) [0x15] = ST59 /* \ST59 */
                    DerefOf (WRDY [One]) [0x16] = ST5A /* \ST5A */
                    DerefOf (WRDY [One]) [0x17] = ST5B /* \ST5B */
                    DerefOf (WRDY [One]) [0x18] = CD10 /* \CD10 */
                    DerefOf (WRDY [One]) [0x19] = CD11 /* \CD11 */
                    DerefOf (WRDY [One]) [0x1A] = CD12 /* \CD12 */
                    DerefOf (WRDY [One]) [0x1B] = CD13 /* \CD13 */
                    DerefOf (WRDY [One]) [0x1C] = CD14 /* \CD14 */
                    DerefOf (WRDY [One]) [0x1D] = CD15 /* \CD15 */
                    DerefOf (WRDY [One]) [0x1E] = CD16 /* \CD16 */
                    DerefOf (WRDY [One]) [0x1F] = CD17 /* \CD17 */
                    DerefOf (WRDY [One]) [0x20] = CD18 /* \CD18 */
                    DerefOf (WRDY [One]) [0x21] = CD19 /* \CD19 */
                    DerefOf (WRDY [One]) [0x22] = CD1A /* \CD1A */
                    DerefOf (WRDY [One]) [0x23] = CD20 /* \CD20 */
                    DerefOf (WRDY [One]) [0x24] = CD21 /* \CD21 */
                    DerefOf (WRDY [One]) [0x25] = CD22 /* \CD22 */
                    DerefOf (WRDY [One]) [0x26] = CD23 /* \CD23 */
                    DerefOf (WRDY [One]) [0x27] = CD24 /* \CD24 */
                    DerefOf (WRDY [One]) [0x28] = CD25 /* \CD25 */
                    DerefOf (WRDY [One]) [0x29] = CD26 /* \CD26 */
                    DerefOf (WRDY [One]) [0x2A] = CD27 /* \CD27 */
                    DerefOf (WRDY [One]) [0x2B] = CD28 /* \CD28 */
                    DerefOf (WRDY [One]) [0x2C] = CD29 /* \CD29 */
                    DerefOf (WRDY [One]) [0x2D] = CD2A /* \CD2A */
                    Return (WRDY) /* \_SB_.PC02.CNVW.WRDY */
                }

                Name (EWRY, Package (0x02)
                {
                    0x02, 
                    Package (0x87)
                    {
                        0x07, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (EWRD, 0, Serialized)
                {
                    DerefOf (EWRY [One]) [One] = STDE /* \STDE */
                    DerefOf (EWRY [One]) [0x02] = STRS /* \STRS */
                    DerefOf (EWRY [One]) [0x03] = ST20 /* \ST20 */
                    DerefOf (EWRY [One]) [0x04] = ST21 /* \ST21 */
                    DerefOf (EWRY [One]) [0x05] = ST22 /* \ST22 */
                    DerefOf (EWRY [One]) [0x06] = ST23 /* \ST23 */
                    DerefOf (EWRY [One]) [0x07] = ST24 /* \ST24 */
                    DerefOf (EWRY [One]) [0x08] = ST25 /* \ST25 */
                    DerefOf (EWRY [One]) [0x09] = ST26 /* \ST26 */
                    DerefOf (EWRY [One]) [0x0A] = ST27 /* \ST27 */
                    DerefOf (EWRY [One]) [0x0B] = ST28 /* \ST28 */
                    DerefOf (EWRY [One]) [0x0C] = ST29 /* \ST29 */
                    DerefOf (EWRY [One]) [0x0D] = ST60 /* \ST60 */
                    DerefOf (EWRY [One]) [0x0E] = ST61 /* \ST61 */
                    DerefOf (EWRY [One]) [0x0F] = ST62 /* \ST62 */
                    DerefOf (EWRY [One]) [0x10] = ST63 /* \ST63 */
                    DerefOf (EWRY [One]) [0x11] = ST64 /* \ST64 */
                    DerefOf (EWRY [One]) [0x12] = ST65 /* \ST65 */
                    DerefOf (EWRY [One]) [0x13] = ST66 /* \ST66 */
                    DerefOf (EWRY [One]) [0x14] = ST67 /* \ST67 */
                    DerefOf (EWRY [One]) [0x15] = ST68 /* \ST68 */
                    DerefOf (EWRY [One]) [0x16] = ST69 /* \ST69 */
                    DerefOf (EWRY [One]) [0x17] = ST6A /* \ST6A */
                    DerefOf (EWRY [One]) [0x18] = ST6B /* \ST6B */
                    DerefOf (EWRY [One]) [0x19] = ST30 /* \ST30 */
                    DerefOf (EWRY [One]) [0x1A] = ST31 /* \ST31 */
                    DerefOf (EWRY [One]) [0x1B] = ST32 /* \ST32 */
                    DerefOf (EWRY [One]) [0x1C] = ST33 /* \ST33 */
                    DerefOf (EWRY [One]) [0x1D] = ST34 /* \ST34 */
                    DerefOf (EWRY [One]) [0x1E] = ST35 /* \ST35 */
                    DerefOf (EWRY [One]) [0x1F] = ST36 /* \ST36 */
                    DerefOf (EWRY [One]) [0x20] = ST37 /* \ST37 */
                    DerefOf (EWRY [One]) [0x21] = ST38 /* \ST38 */
                    DerefOf (EWRY [One]) [0x22] = ST39 /* \ST39 */
                    DerefOf (EWRY [One]) [0x23] = ST70 /* \ST70 */
                    DerefOf (EWRY [One]) [0x24] = ST71 /* \ST71 */
                    DerefOf (EWRY [One]) [0x25] = ST72 /* \ST72 */
                    DerefOf (EWRY [One]) [0x26] = ST73 /* \ST73 */
                    DerefOf (EWRY [One]) [0x27] = ST74 /* \ST74 */
                    DerefOf (EWRY [One]) [0x28] = ST75 /* \ST75 */
                    DerefOf (EWRY [One]) [0x29] = ST76 /* \ST76 */
                    DerefOf (EWRY [One]) [0x2A] = ST77 /* \ST77 */
                    DerefOf (EWRY [One]) [0x2B] = ST78 /* \ST78 */
                    DerefOf (EWRY [One]) [0x2C] = ST79 /* \ST79 */
                    DerefOf (EWRY [One]) [0x2D] = ST7A /* \ST7A */
                    DerefOf (EWRY [One]) [0x2E] = ST7B /* \ST7B */
                    DerefOf (EWRY [One]) [0x2F] = ST40 /* \ST40 */
                    DerefOf (EWRY [One]) [0x30] = ST41 /* \ST41 */
                    DerefOf (EWRY [One]) [0x31] = ST42 /* \ST42 */
                    DerefOf (EWRY [One]) [0x32] = ST43 /* \ST43 */
                    DerefOf (EWRY [One]) [0x33] = ST44 /* \ST44 */
                    DerefOf (EWRY [One]) [0x34] = ST45 /* \ST45 */
                    DerefOf (EWRY [One]) [0x35] = ST46 /* \ST46 */
                    DerefOf (EWRY [One]) [0x36] = ST47 /* \ST47 */
                    DerefOf (EWRY [One]) [0x37] = ST48 /* \ST48 */
                    DerefOf (EWRY [One]) [0x38] = ST49 /* \ST49 */
                    DerefOf (EWRY [One]) [0x39] = ST80 /* \ST80 */
                    DerefOf (EWRY [One]) [0x3A] = ST81 /* \ST81 */
                    DerefOf (EWRY [One]) [0x3B] = ST82 /* \ST82 */
                    DerefOf (EWRY [One]) [0x3C] = ST83 /* \ST83 */
                    DerefOf (EWRY [One]) [0x3D] = ST84 /* \ST84 */
                    DerefOf (EWRY [One]) [0x3E] = ST85 /* \ST85 */
                    DerefOf (EWRY [One]) [0x3F] = ST86 /* \ST86 */
                    DerefOf (EWRY [One]) [0x40] = ST87 /* \ST87 */
                    DerefOf (EWRY [One]) [0x41] = ST88 /* \ST88 */
                    DerefOf (EWRY [One]) [0x42] = ST89 /* \ST89 */
                    DerefOf (EWRY [One]) [0x43] = ST8A /* \ST8A */
                    DerefOf (EWRY [One]) [0x44] = ST8B /* \ST8B */
                    DerefOf (EWRY [One]) [0x45] = CD30 /* \CD30 */
                    DerefOf (EWRY [One]) [0x46] = CD31 /* \CD31 */
                    DerefOf (EWRY [One]) [0x47] = CD32 /* \CD32 */
                    DerefOf (EWRY [One]) [0x48] = CD33 /* \CD33 */
                    DerefOf (EWRY [One]) [0x49] = CD34 /* \CD34 */
                    DerefOf (EWRY [One]) [0x4A] = CD35 /* \CD35 */
                    DerefOf (EWRY [One]) [0x4B] = CD36 /* \CD36 */
                    DerefOf (EWRY [One]) [0x4C] = CD37 /* \CD37 */
                    DerefOf (EWRY [One]) [0x4D] = CD38 /* \CD38 */
                    DerefOf (EWRY [One]) [0x4E] = CD39 /* \CD39 */
                    DerefOf (EWRY [One]) [0x4F] = CD3A /* \CD3A */
                    DerefOf (EWRY [One]) [0x50] = CD3B /* \CD3B */
                    DerefOf (EWRY [One]) [0x51] = CD3C /* \CD3C */
                    DerefOf (EWRY [One]) [0x52] = CD3D /* \CD3D */
                    DerefOf (EWRY [One]) [0x53] = CD3E /* \CD3E */
                    DerefOf (EWRY [One]) [0x54] = CD3F /* \CD3F */
                    DerefOf (EWRY [One]) [0x55] = CD40 /* \CD40 */
                    DerefOf (EWRY [One]) [0x56] = CD41 /* \CD41 */
                    DerefOf (EWRY [One]) [0x57] = CD42 /* \CD42 */
                    DerefOf (EWRY [One]) [0x58] = CD43 /* \CD43 */
                    DerefOf (EWRY [One]) [0x59] = CD44 /* \CD44 */
                    DerefOf (EWRY [One]) [0x5A] = CD45 /* \CD45 */
                    DerefOf (EWRY [One]) [0x5B] = CD46 /* \CD46 */
                    DerefOf (EWRY [One]) [0x5C] = CD47 /* \CD47 */
                    DerefOf (EWRY [One]) [0x5D] = CD48 /* \CD48 */
                    DerefOf (EWRY [One]) [0x5E] = CD49 /* \CD49 */
                    DerefOf (EWRY [One]) [0x5F] = CD4A /* \CD4A */
                    DerefOf (EWRY [One]) [0x60] = CD4B /* \CD4B */
                    DerefOf (EWRY [One]) [0x61] = CD4C /* \CD4C */
                    DerefOf (EWRY [One]) [0x62] = CD4D /* \CD4D */
                    DerefOf (EWRY [One]) [0x63] = CD4E /* \CD4E */
                    DerefOf (EWRY [One]) [0x64] = CD4F /* \CD4F */
                    DerefOf (EWRY [One]) [0x65] = CD50 /* \CD50 */
                    DerefOf (EWRY [One]) [0x66] = CD51 /* \CD51 */
                    DerefOf (EWRY [One]) [0x67] = CD52 /* \CD52 */
                    DerefOf (EWRY [One]) [0x68] = CD53 /* \CD53 */
                    DerefOf (EWRY [One]) [0x69] = CD54 /* \CD54 */
                    DerefOf (EWRY [One]) [0x6A] = CD55 /* \CD55 */
                    DerefOf (EWRY [One]) [0x6B] = CD56 /* \CD56 */
                    DerefOf (EWRY [One]) [0x6C] = CD57 /* \CD57 */
                    DerefOf (EWRY [One]) [0x6D] = CD58 /* \CD58 */
                    DerefOf (EWRY [One]) [0x6E] = CD59 /* \CD59 */
                    DerefOf (EWRY [One]) [0x6F] = CD5A /* \CD5A */
                    DerefOf (EWRY [One]) [0x70] = CD5B /* \CD5B */
                    DerefOf (EWRY [One]) [0x71] = CD5C /* \CD5C */
                    DerefOf (EWRY [One]) [0x72] = CD5D /* \CD5D */
                    DerefOf (EWRY [One]) [0x73] = CD5E /* \CD5E */
                    DerefOf (EWRY [One]) [0x74] = CD5F /* \CD5F */
                    DerefOf (EWRY [One]) [0x75] = CD60 /* \CD60 */
                    DerefOf (EWRY [One]) [0x76] = CD61 /* \CD61 */
                    DerefOf (EWRY [One]) [0x77] = CD62 /* \CD62 */
                    DerefOf (EWRY [One]) [0x78] = CD63 /* \CD63 */
                    DerefOf (EWRY [One]) [0x79] = CD64 /* \CD64 */
                    DerefOf (EWRY [One]) [0x7A] = CD65 /* \CD65 */
                    DerefOf (EWRY [One]) [0x7B] = CD66 /* \CD66 */
                    DerefOf (EWRY [One]) [0x7C] = CD67 /* \CD67 */
                    DerefOf (EWRY [One]) [0x7D] = CD68 /* \CD68 */
                    DerefOf (EWRY [One]) [0x7E] = CD69 /* \CD69 */
                    DerefOf (EWRY [One]) [0x7F] = CD6A /* \CD6A */
                    DerefOf (EWRY [One]) [0x80] = CD6B /* \CD6B */
                    DerefOf (EWRY [One]) [0x81] = CD6C /* \CD6C */
                    DerefOf (EWRY [One]) [0x82] = CD6D /* \CD6D */
                    DerefOf (EWRY [One]) [0x83] = CD6E /* \CD6E */
                    DerefOf (EWRY [One]) [0x84] = CD6F /* \CD6F */
                    DerefOf (EWRY [One]) [0x85] = CD70 /* \CD70 */
                    DerefOf (EWRY [One]) [0x86] = CD71 /* \CD71 */
                    Return (EWRY) /* \_SB_.PC02.CNVW.EWRY */
                }

                Name (WGDY, Package (0x02)
                {
                    0x03, 
                    Package (0x4A)
                    {
                        0x07, 
                        0x03, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80, 
                        0x80
                    }
                })
                Method (WGDS, 0, Serialized)
                {
                    DerefOf (WGDY [One]) [One] = SDGN /* \SDGN */
                    DerefOf (WGDY [One]) [0x02] = SD11 /* \SD11 */
                    DerefOf (WGDY [One]) [0x03] = SD12 /* \SD12 */
                    DerefOf (WGDY [One]) [0x04] = SD13 /* \SD13 */
                    DerefOf (WGDY [One]) [0x05] = SD14 /* \SD14 */
                    DerefOf (WGDY [One]) [0x06] = SD15 /* \SD15 */
                    DerefOf (WGDY [One]) [0x07] = SD16 /* \SD16 */
                    DerefOf (WGDY [One]) [0x08] = SD17 /* \SD17 */
                    DerefOf (WGDY [One]) [0x09] = SD18 /* \SD18 */
                    DerefOf (WGDY [One]) [0x0A] = SD19 /* \SD19 */
                    DerefOf (WGDY [One]) [0x0B] = SD21 /* \SD21 */
                    DerefOf (WGDY [One]) [0x0C] = SD22 /* \SD22 */
                    DerefOf (WGDY [One]) [0x0D] = SD23 /* \SD23 */
                    DerefOf (WGDY [One]) [0x0E] = SD24 /* \SD24 */
                    DerefOf (WGDY [One]) [0x0F] = SD25 /* \SD25 */
                    DerefOf (WGDY [One]) [0x10] = SD26 /* \SD26 */
                    DerefOf (WGDY [One]) [0x11] = SD27 /* \SD27 */
                    DerefOf (WGDY [One]) [0x12] = SD28 /* \SD28 */
                    DerefOf (WGDY [One]) [0x13] = SD29 /* \SD29 */
                    DerefOf (WGDY [One]) [0x14] = SD31 /* \SD31 */
                    DerefOf (WGDY [One]) [0x15] = SD32 /* \SD32 */
                    DerefOf (WGDY [One]) [0x16] = SD33 /* \SD33 */
                    DerefOf (WGDY [One]) [0x17] = SD34 /* \SD34 */
                    DerefOf (WGDY [One]) [0x18] = SD35 /* \SD35 */
                    DerefOf (WGDY [One]) [0x19] = SD36 /* \SD36 */
                    DerefOf (WGDY [One]) [0x1A] = SD37 /* \SD37 */
                    DerefOf (WGDY [One]) [0x1B] = SD38 /* \SD38 */
                    DerefOf (WGDY [One]) [0x1C] = SD39 /* \SD39 */
                    DerefOf (WGDY [One]) [0x1D] = SD41 /* \SD41 */
                    DerefOf (WGDY [One]) [0x1E] = SD42 /* \SD42 */
                    DerefOf (WGDY [One]) [0x1F] = SD43 /* \SD43 */
                    DerefOf (WGDY [One]) [0x20] = SD44 /* \SD44 */
                    DerefOf (WGDY [One]) [0x21] = SD45 /* \SD45 */
                    DerefOf (WGDY [One]) [0x22] = SD46 /* \SD46 */
                    DerefOf (WGDY [One]) [0x23] = SD47 /* \SD47 */
                    DerefOf (WGDY [One]) [0x24] = SD48 /* \SD48 */
                    DerefOf (WGDY [One]) [0x25] = SD49 /* \SD49 */
                    DerefOf (WGDY [One]) [0x26] = SD51 /* \SD51 */
                    DerefOf (WGDY [One]) [0x27] = SD52 /* \SD52 */
                    DerefOf (WGDY [One]) [0x28] = SD53 /* \SD53 */
                    DerefOf (WGDY [One]) [0x29] = SD54 /* \SD54 */
                    DerefOf (WGDY [One]) [0x2A] = SD55 /* \SD55 */
                    DerefOf (WGDY [One]) [0x2B] = SD56 /* \SD56 */
                    DerefOf (WGDY [One]) [0x2C] = SD57 /* \SD57 */
                    DerefOf (WGDY [One]) [0x2D] = SD58 /* \SD58 */
                    DerefOf (WGDY [One]) [0x2E] = SD59 /* \SD59 */
                    DerefOf (WGDY [One]) [0x2F] = SD61 /* \SD61 */
                    DerefOf (WGDY [One]) [0x30] = SD62 /* \SD62 */
                    DerefOf (WGDY [One]) [0x31] = SD63 /* \SD63 */
                    DerefOf (WGDY [One]) [0x32] = SD64 /* \SD64 */
                    DerefOf (WGDY [One]) [0x33] = SD65 /* \SD65 */
                    DerefOf (WGDY [One]) [0x34] = SD66 /* \SD66 */
                    DerefOf (WGDY [One]) [0x35] = SD67 /* \SD67 */
                    DerefOf (WGDY [One]) [0x36] = SD68 /* \SD68 */
                    DerefOf (WGDY [One]) [0x37] = SD69 /* \SD69 */
                    DerefOf (WGDY [One]) [0x38] = SD71 /* \SD71 */
                    DerefOf (WGDY [One]) [0x39] = SD72 /* \SD72 */
                    DerefOf (WGDY [One]) [0x3A] = SD73 /* \SD73 */
                    DerefOf (WGDY [One]) [0x3B] = SD74 /* \SD74 */
                    DerefOf (WGDY [One]) [0x3C] = SD75 /* \SD75 */
                    DerefOf (WGDY [One]) [0x3D] = SD76 /* \SD76 */
                    DerefOf (WGDY [One]) [0x3E] = SD77 /* \SD77 */
                    DerefOf (WGDY [One]) [0x3F] = SD78 /* \SD78 */
                    DerefOf (WGDY [One]) [0x40] = SD79 /* \SD79 */
                    DerefOf (WGDY [One]) [0x41] = SD81 /* \SD81 */
                    DerefOf (WGDY [One]) [0x42] = SD82 /* \SD82 */
                    DerefOf (WGDY [One]) [0x43] = SD83 /* \SD83 */
                    DerefOf (WGDY [One]) [0x44] = SD84 /* \SD84 */
                    DerefOf (WGDY [One]) [0x45] = SD85 /* \SD85 */
                    DerefOf (WGDY [One]) [0x46] = SD86 /* \SD86 */
                    DerefOf (WGDY [One]) [0x47] = SD87 /* \SD87 */
                    DerefOf (WGDY [One]) [0x48] = SD88 /* \SD88 */
                    DerefOf (WGDY [One]) [0x49] = SD89 /* \SD89 */
                    Return (WGDY) /* \_SB_.PC02.CNVW.WGDY */
                }

                Name (ECKY, Package (0x02)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }
                })
                Method (ECKV, 0, Serialized)
                {
                    DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                    Return (ECKY) /* \_SB_.PC02.CNVW.ECKY */
                }

                Name (PPAY, Package (0x02)
                {
                    0x02, 
                    Package (0x18)
                    {
                        0x07, 
                        Zero, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x18, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28, 
                        0x28
                    }
                })
                Method (PPAG, 0, Serialized)
                {
                    DerefOf (PPAY [One]) [One] = WAGM /* \WAGM */
                    DerefOf (PPAY [One]) [0x02] = AGA1 /* \AGA1 */
                    DerefOf (PPAY [One]) [0x03] = AGA2 /* \AGA2 */
                    DerefOf (PPAY [One]) [0x04] = AGA3 /* \AGA3 */
                    DerefOf (PPAY [One]) [0x05] = AGA4 /* \AGA4 */
                    DerefOf (PPAY [One]) [0x06] = AGA5 /* \AGA5 */
                    DerefOf (PPAY [One]) [0x07] = AGA6 /* \AGA6 */
                    DerefOf (PPAY [One]) [0x08] = AGA7 /* \AGA7 */
                    DerefOf (PPAY [One]) [0x09] = AGA8 /* \AGA8 */
                    DerefOf (PPAY [One]) [0x0A] = AGA9 /* \AGA9 */
                    DerefOf (PPAY [One]) [0x0B] = AGAA /* \AGAA */
                    DerefOf (PPAY [One]) [0x0C] = AGAB /* \AGAB */
                    DerefOf (PPAY [One]) [0x0D] = AGB1 /* \AGB1 */
                    DerefOf (PPAY [One]) [0x0E] = AGB2 /* \AGB2 */
                    DerefOf (PPAY [One]) [0x0F] = AGB3 /* \AGB3 */
                    DerefOf (PPAY [One]) [0x10] = AGB4 /* \AGB4 */
                    DerefOf (PPAY [One]) [0x11] = AGB5 /* \AGB5 */
                    DerefOf (PPAY [One]) [0x12] = AGB6 /* \AGB6 */
                    DerefOf (PPAY [One]) [0x13] = AGB7 /* \AGB7 */
                    DerefOf (PPAY [One]) [0x14] = AGB8 /* \AGB8 */
                    DerefOf (PPAY [One]) [0x15] = AGB9 /* \AGB9 */
                    DerefOf (PPAY [One]) [0x16] = AGBA /* \AGBA */
                    DerefOf (PPAY [One]) [0x17] = AGBB /* \AGBB */
                    Return (PPAY) /* \_SB_.PC02.CNVW.PPAY */
                }

                Name (WPFY, Package (0x02)
                {
                    Zero, 
                    Package (0x05)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WPFC, 0, Serialized)
                {
                    DerefOf (WPFY [One]) [One] = WPFA /* \WPFA */
                    DerefOf (WPFY [One]) [0x02] = WPFB /* \WPFB */
                    DerefOf (WPFY [One]) [0x03] = \WPFC
                    DerefOf (WPFY [One]) [0x04] = WPFD /* \WPFD */
                    Return (WPFY) /* \_SB_.PC02.CNVW.WPFY */
                }

                Name (WTSY, Package (0x02)
                {
                    One, 
                    Package (0x13)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WTAS, 0, Serialized)
                {
                    DerefOf (WTSY [One]) [One] = WTSE /* \WTSE */
                    DerefOf (WTSY [One]) [0x02] = WTLE /* \WTLE */
                    DerefOf (WTSY [One]) [0x03] = BL01 /* \BL01 */
                    DerefOf (WTSY [One]) [0x04] = BL02 /* \BL02 */
                    DerefOf (WTSY [One]) [0x05] = BL03 /* \BL03 */
                    DerefOf (WTSY [One]) [0x06] = BL04 /* \BL04 */
                    DerefOf (WTSY [One]) [0x07] = BL05 /* \BL05 */
                    DerefOf (WTSY [One]) [0x08] = BL06 /* \BL06 */
                    DerefOf (WTSY [One]) [0x09] = BL07 /* \BL07 */
                    DerefOf (WTSY [One]) [0x0A] = BL08 /* \BL08 */
                    DerefOf (WTSY [One]) [0x0B] = BL09 /* \BL09 */
                    DerefOf (WTSY [One]) [0x0C] = BL10 /* \BL10 */
                    DerefOf (WTSY [One]) [0x0D] = BL11 /* \BL11 */
                    DerefOf (WTSY [One]) [0x0E] = BL12 /* \BL12 */
                    DerefOf (WTSY [One]) [0x0F] = BL13 /* \BL13 */
                    DerefOf (WTSY [One]) [0x10] = BL14 /* \BL14 */
                    DerefOf (WTSY [One]) [0x11] = BL15 /* \BL15 */
                    DerefOf (WTSY [One]) [0x12] = BL16 /* \BL16 */
                    Return (WTSY) /* \_SB_.PC02.CNVW.WTSY */
                }

                Name (WAIY, Package (0x02)
                {
                    Zero, 
                    Package (0x04)
                    {
                        0x07, 
                        Zero, 
                        Zero, 
                        Zero
                    }
                })
                Method (WAIS, 0, Serialized)
                {
                    DerefOf (WAIY [One]) [One] = WLBI /* \WLBI */
                    DerefOf (WAIY [One]) [0x02] = WHBI /* \WHBI */
                    Return (WAIY) /* \_SB_.PC02.CNVW.WAIY */
                }

                Name (SADX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        0x80000000
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        0x80000000
                    }
                })
                Method (SADS, 0, Serialized)
                {
                    DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                    DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                    Return (SADX) /* \_SB_.PC02.CNVW.SADX */
                }

                Name (GPCX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (GPC, 0, Serialized)
                {
                    Return (GPCX) /* \_SB_.PC02.CNVW.GPCX */
                }

                Name (GLAX, Package (0x03)
                {
                    Zero, 
                    Package (0x02)
                    {
                        0x07, 
                        Zero
                    }, 

                    Package (0x02)
                    {
                        0x12, 
                        Zero
                    }
                })
                Method (GLAI, 0, Serialized)
                {
                    ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                    DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                    DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                    Return (GLAX) /* \_SB_.PC02.CNVW.GLAX */
                }

                Name (FDEL, Zero)
                Name (PDEL, Zero)
                Name (VDEL, Zero)
                Method (IFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x1F                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        ADBG (Concatenate ("vPro: ", CVPR))
                        Local0 = (CVPR << Zero)
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        CreateWordField (Arg3, Zero, CMDT)
                        CreateWordField (Arg3, 0x02, CMDP)
                        ADBG (Concatenate ("CmdType = ", ToHexString (CMDT)))
                        ADBG (Concatenate ("CmdPayload = ", ToHexString (CMDP)))
                        If ((CMDT == One))
                        {
                            If (^^RP21.PXSX.WIST ())
                            {
                                Return (RSTY) /* External reference */
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Get _PRR Mode = ", RSTT))
                                Return (RSTT) /* \_SB_.PC02.CNVW.RSTT */
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((CMDT == 0x02))
                        {
                            If (^^RP21.PXSX.WIST ())
                            {
                                Local0 = (CMDP & One)
                                RSTY = Local0
                                Local1 = (CMDP & 0x02)
                                Local1 >>= One
                                FLRC = Local1
                                Local2 = (CMDP & 0x04)
                                Local2 >>= 0x02
                                BOFC = Local2
                            }
                            ElseIf (CondRefOf (\_SB.PC02.CNVW.RSTT))
                            {
                                ADBG (Concatenate ("Set _PRR Mode = ", ToHexString (CMDP)))
                                RSTT = CMDP /* \_SB_.PC02.CNVW.IFUN.CMDP */
                            }

                            Return (Zero)
                        }

                        If ((CMDT == 0x03))
                        {
                            If (CondRefOf (\_SB.PC02.CNVW.PRRS))
                            {
                                ADBG (Concatenate ("Get Last_PRR status PRRS = ", ToHexString (PRRS)))
                                Return (PRRS) /* \_SB_.PC02.CNVW.PRRS */
                            }
                            ElseIf (^^RP21.PXSX.WIST ())
                            {
                                ADBG (Concatenate ("Get Last_PRR status DPRS = ", ToHexString (DPRS)))
                                Return (DPRS) /* External reference */
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x04))
                    {
                        CreateWordField (Arg3, Zero, PRTT)
                        CreateWordField (Arg3, 0x02, PRTD)
                        ADBG (Concatenate ("TimerType = ", ToHexString (PRTT)))
                        ADBG (Concatenate ("TimerDuration (ms) = ", ToDecimalString (PRTD)))
                        If ((PRTT == One))
                        {
                            FDEL = PRTD /* \_SB_.PC02.CNVW.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x02))
                        {
                            PDEL = PRTD /* \_SB_.PC02.CNVW.IFUN.PRTD */
                        }
                        ElseIf ((PRTT == 0x03))
                        {
                            VDEL = PRTD /* \_SB_.PC02.CNVW.IFUN.PRTD */
                        }
                        Else
                        {
                            ADBG ("TimerDuration not set")
                        }
                    }

                    Return (Zero)
                }

                Method (IDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("7266172c-220b-4b29-814f-75e4dd26b5fd") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (EFUN, 4, Serialized)
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Local0 = ACSD /* \ACSD */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x02))
                    {
                        Local0 = I5BS /* \I5BS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x03))
                    {
                        Local0 = UHBS /* \UHBS */
                        Return (Local0)
                    }

                    If ((Arg2 == 0x06))
                    {
                        Local0 = AXMU /* \AXMU */
                        Local0 <<= One
                        Local0 |= AXSU /* \AXSU */
                        Local1 = AXMR /* \AXMR */
                        Local1 <<= One
                        Local1 |= AXSR /* \AXSR */
                        Local1 <<= 0x02
                        Local0 |= Local1
                        Return (Local0)
                    }

                    If ((Arg2 == 0x04))
                    {
                        Return (WFRC) /* \WFRC */
                    }

                    If ((Arg2 == 0x05))
                    {
                        Return (WFUC) /* \WFUC */
                    }

                    If ((Arg2 == 0x07))
                    {
                        Return (UNI4) /* \UNI4 */
                    }

                    If ((Arg2 == 0x08))
                    {
                        Return (WFIC) /* \WFIC */
                    }

                    If ((Arg2 == 0x09))
                    {
                        Return (WFBS) /* \WFBS */
                    }

                    If ((Arg2 == 0x0A))
                    {
                        Return (WEDT) /* \WEDT */
                    }

                    If ((Arg2 == 0x0B))
                    {
                        If (CondRefOf (DRIE))
                        {
                            If (CondRefOf (CRFI))
                            {
                                If (((DRIE == One) && (CRFI == One)))
                                {
                                    Return (Zero)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == One)))
                                {
                                    Return (One)
                                }
                                ElseIf (((DRIE == One) && (CRFI == Zero)))
                                {
                                    Return (0x02)
                                }
                                ElseIf (((DRIE == Zero) && (CRFI == Zero)))
                                {
                                    Return (0x03)
                                }
                            }
                        }

                        Return (Zero)
                    }

                    If ((Arg2 == 0x0C))
                    {
                        Return (WF7C) /* \WF7C */
                    }

                    Return (Zero)
                }

                Method (EDSM, 1, Serialized)
                {
                    If ((Arg0 == ToUUID ("f21202bf-8f78-4dc6-a5b3-1f738e285ade") /* Unknown UUID */))
                    {
                        Return (One)
                    }

                    Return (Zero)
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If (EDSM (Arg0))
                    {
                        Return (EFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    If (IDSM (Arg0))
                    {
                        Return (IFUN (Arg0, Arg1, Arg2, Arg3))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        If (((CBTC == One) && (CBTI == One)))
        {
            If ((\_SB.PC02.PU2C == 0x0E))
            {
                Scope (_SB.PC02.XHCI.RHUB.HS14)
                {
                    Name (SADX, Package (0x03)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x07, 
                            0x80000000
                        }, 

                        Package (0x02)
                        {
                            0x12, 
                            0x80000000
                        }
                    })
                    Method (SADS, 0, Serialized)
                    {
                        DerefOf (SADX [One]) [One] = ATDV /* \ATDV */
                        DerefOf (SADX [0x02]) [One] = ATDV /* \ATDV */
                        Return (SADX) /* \_SB_.PC02.XHCI.RHUB.HS14.SADX */
                    }

                    Name (BRDY, Package (0x02)
                    {
                        One, 
                        Package (0x0A)
                        {
                            0x12, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80, 
                            0x80
                        }
                    })
                    Method (BRDS, 0, Serialized)
                    {
                        DerefOf (BRDY [One]) [One] = BTSE /* \BTSE */
                        DerefOf (BRDY [One]) [0x02] = BIPM /* \BIPM */
                        DerefOf (BRDY [One]) [0x03] = BSPL /* \BSPL */
                        DerefOf (BRDY [One]) [0x04] = BTBR /* \BTBR */
                        DerefOf (BRDY [One]) [0x05] = BED2 /* \BED2 */
                        DerefOf (BRDY [One]) [0x06] = BED3 /* \BED3 */
                        DerefOf (BRDY [One]) [0x07] = BTLE /* \BTLE */
                        DerefOf (BRDY [One]) [0x08] = BTL2 /* \BTL2 */
                        DerefOf (BRDY [One]) [0x09] = BTLL /* \BTLL */
                        Return (BRDY) /* \_SB_.PC02.XHCI.RHUB.HS14.BRDY */
                    }

                    Name (ECKY, Package (0x02)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x12, 
                            Zero
                        }
                    })
                    Method (ECKV, 0, Serialized)
                    {
                        DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                        Return (ECKY) /* \_SB_.PC02.XHCI.RHUB.HS14.ECKY */
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If ((Arg0 == ToUUID ("aa10f4e0-81ac-4233-abf6-3b2ac50e28d9") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x1B                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ADBG (Concatenate ("Set RDLY ", ToDecimalString (Arg3)))
                                RDLY = Arg3
                            }

                            If ((Arg2 == 0x03))
                            {
                                CreateWordField (Arg3, Zero, CMDT)
                                CreateWordField (Arg3, 0x02, CMDP)
                                If ((CMDT == One))
                                {
                                    BRMT = CMDP /* \_SB_.PC02.XHCI.RHUB.HS14._DSM.CMDP */
                                }
                            }

                            If ((Arg2 == 0x04))
                            {
                                Return (BRMT) /* External reference */
                            }

                            Return (Zero)
                        }
                        ElseIf ((Arg0 == ToUUID ("2d19d3e1-5708-4696-bd5b-2c3dbae2d6a9") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ADBG (Concatenate ("Tile Activation ", ToDecimalString (Arg3)))
                            }

                            Return (Zero)
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    PowerResource (BTRT, 0x05, 0x0000)
                    {
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            ADBG ("BT PR _STA")
                            Return (One)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            ADBG ("BT PR _ON")
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                            ADBG ("BT PR _OFF")
                        }

                        Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                        {
                            ADBG ("BT PR _RST")
                            Local0 = Acquire (CNMT, 0x03E8)
                            ADBG ("BT CNMT Mutex:Acquired Try Done")
                            If ((Local0 == Zero))
                            {
                                BTRK (Zero)
                                Sleep (RDLY)
                                BTRK (One)
                                Sleep (RDLY)
                            }

                            Release (CNMT)
                        }
                    }

                    PowerResource (DBTR, 0x05, 0x0000)
                    {
                        Method (_STA, 0, NotSerialized)  // _STA: Status
                        {
                            ADBG ("BT PR _STA")
                            Return (One)
                        }

                        Method (_ON, 0, NotSerialized)  // _ON_: Power On
                        {
                            ADBG ("BT PR _ON")
                        }

                        Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                        {
                            ADBG ("BT PR _OFF")
                        }

                        Method (_RST, 0, NotSerialized)  // _RST: Device Reset
                        {
                            ADBG ("CNVd BT _RST")
                            ADBG (Concatenate (" WVHO -  ", ToHexString (WVHO)))
                            Local0 = Acquire (CNMT, 0x03E8)
                            ADBG ("BT CNMT Mutex:Acquired Try Done")
                            If ((Local0 == Zero))
                            {
                                If ((BRMT == Zero))
                                {
                                    ADBG ("BT RF Kill ON")
                                    BTRK (Zero)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    ^^^^^RP21.PXSX.BTIE = Zero
                                    ADBG ("Set BTIE Disable")
                                }

                                Sleep (RDLY)
                                If ((BRMT == Zero))
                                {
                                    ADBG ("BT RF Kill OFF")
                                    BTRK (One)
                                }
                                ElseIf ((WVHO != Zero))
                                {
                                    ^^^^^RP21.PXSX.BTIE = One
                                    ADBG ("Set BTIE Enable")
                                }

                                Sleep (RDLY)
                            }

                            Release (CNMT)
                        }
                    }

                    Method (_PRR, 0, NotSerialized)  // _PRR: Power Resource for Reset
                    {
                        If (CondRefOf (\_SB.PC02.RP21.PXSX.WIST))
                        {
                            If (^^^^RP21.PXSX.WIST ())
                            {
                                Return (Package (0x01)
                                {
                                    DBTR
                                })
                            }
                        }

                        Return (Package (0x01)
                        {
                            BTRT
                        })
                    }

                    Name (GPCX, Package (0x03)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x07, 
                            Package (0x03)
                            {
                                Zero, 
                                Zero, 
                                Zero
                            }
                        }, 

                        Package (0x02)
                        {
                            0x12, 
                            Package (0x03)
                            {
                                Zero, 
                                Zero, 
                                Zero
                            }
                        }
                    })
                    Method (GPC, 0, Serialized)
                    {
                        Return (GPCX) /* \_SB_.PC02.XHCI.RHUB.HS14.GPCX */
                    }

                    Name (GLAX, Package (0x03)
                    {
                        Zero, 
                        Package (0x02)
                        {
                            0x07, 
                            Zero
                        }, 

                        Package (0x02)
                        {
                            0x12, 
                            Zero
                        }
                    })
                    Method (GLAI, 0, Serialized)
                    {
                        ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                        DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                        DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                        Return (GLAX) /* \_SB_.PC02.XHCI.RHUB.HS14.GLAX */
                    }

                    Name (BTLY, Package (0x02)
                    {
                        One, 
                        Package (0x0B)
                        {
                            0x12, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    })
                    Method (BTLC, 0, Serialized)
                    {
                        DerefOf (BTLY [One]) [One] = TILE /* \TILE */
                        DerefOf (BTLY [One]) [0x02] = TIS0 /* \TIS0 */
                        DerefOf (BTLY [One]) [0x03] = TS0X /* \TS0X */
                        DerefOf (BTLY [One]) [0x04] = TIS4 /* \TIS4 */
                        DerefOf (BTLY [One]) [0x05] = TIS5 /* \TIS5 */
                        DerefOf (BTLY [One]) [0x06] = BLEC /* \BLEC */
                        DerefOf (BTLY [One]) [0x07] = BLPD /* \BLPD */
                        DerefOf (BTLY [One]) [0x08] = BLPI /* \BLPI */
                        Return (BTLY) /* \_SB_.PC02.XHCI.RHUB.HS14.BTLY */
                    }

                    Method (AOLX, 0, NotSerialized)
                    {
                        Name (AODS, Package (0x03)
                        {
                            Zero, 
                            0x12, 
                            Zero
                        })
                        If ((CBTA == One))
                        {
                            If ((CRFP == Zero))
                            {
                                If ((HDBO & One))
                                {
                                    AODS [0x02] = One
                                }
                            }
                            Else
                            {
                                AODS [0x02] = One
                            }
                        }

                        Return (AODS) /* \_SB_.PC02.XHCI.RHUB.HS14.AOLX.AODS */
                    }

                    Method (AOLD, 0, NotSerialized)
                    {
                        Return (AOLX ())
                    }
                }
            }
        }
    }

    If (CondRefOf (\_SB.PC02.UA00))
    {
        Scope (_SB.PC02.UA00)
        {
            Device (BTH0)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INT33E1")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GBTI, One)
                    SHPO (GBTK, One)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBFG, ResourceTemplate ()
                    {
                        UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PC02.UA00",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (SBFG, 0x5F, INT3)
                    CreateWordField (SBFG, 0x3C, KIL3)
                    INT3 = ^^^^PGPI.GNUM (GBTI)
                    KIL3 = ^^^^PGPI.GNUM (GBTK)
                    Name (SBFI, ResourceTemplate ()
                    {
                        UartSerialBusV2 (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeNone, FlowControlHardware,
                            0x0020, 0x0020, "\\_SB.PC02.UA00",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        Interrupt (ResourceConsumer, Edge, ActiveLow, ExclusiveAndWake, ,, _Y52)
                        {
                            0x00000000,
                        }
                    })
                    CreateDWordField (SBFI, \_SB.PC02.UA00.BTH0._CRS._Y52._INT, INT4)  // _INT: Interrupts
                    CreateWordField (SBFI, 0x3C, KIL4)
                    INT4 = INUM (GBTI)
                    KIL4 = ^^^^PGPI.GNUM (GBTK)
                    If ((SDM9 == Zero))
                    {
                        Return (SBFG) /* \_SB_.PC02.UA00.BTH0._CRS.SBFG */
                    }
                    Else
                    {
                        Return (SBFI) /* \_SB_.PC02.UA00.BTH0._CRS.SBFI */
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SDS9 != 0x02))
                    {
                        Return (Zero)
                    }

                    Return (0x0F)
                }

                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
            }

            Name (BRDY, Package (0x02)
            {
                One, 
                Package (0x0A)
                {
                    0x12, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80, 
                    0x80
                }
            })
            Method (BRDS, 0, Serialized)
            {
                DerefOf (BRDY [One]) [One] = BTSE /* \BTSE */
                DerefOf (BRDY [One]) [0x02] = BIPM /* \BIPM */
                DerefOf (BRDY [One]) [0x03] = BSPL /* \BSPL */
                DerefOf (BRDY [One]) [0x04] = BTBR /* \BTBR */
                DerefOf (BRDY [One]) [0x05] = BED2 /* \BED2 */
                DerefOf (BRDY [One]) [0x06] = BED3 /* \BED3 */
                DerefOf (BRDY [One]) [0x07] = BTLE /* \BTLE */
                DerefOf (BRDY [One]) [0x08] = BTL2 /* \BTL2 */
                DerefOf (BRDY [One]) [0x09] = BTLL /* \BTLL */
                Return (BRDY) /* \_SB_.PC02.UA00.BRDY */
            }

            Name (ECKY, Package (0x02)
            {
                Zero, 
                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (ECKV, 0, Serialized)
            {
                DerefOf (ECKY [One]) [One] = CECV /* \CECV */
                Return (ECKY) /* \_SB_.PC02.UA00.ECKY */
            }

            Name (GPCX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }, 

                Package (0x02)
                {
                    0x12, 
                    Package (0x03)
                    {
                        Zero, 
                        Zero, 
                        Zero
                    }
                }
            })
            Method (GPC, 0, Serialized)
            {
                Return (GPCX) /* \_SB_.PC02.UA00.GPCX */
            }

            Name (GLAX, Package (0x03)
            {
                Zero, 
                Package (0x02)
                {
                    0x07, 
                    Zero
                }, 

                Package (0x02)
                {
                    0x12, 
                    Zero
                }
            })
            Method (GLAI, 0, Serialized)
            {
                ADBG (Concatenate ("AR: GLAI method. CGLS = ", ToHexString (CGLS)))
                DerefOf (GLAX [One]) [One] = CGLS /* \CGLS */
                DerefOf (GLAX [0x02]) [One] = CGLS /* \CGLS */
                Return (GLAX) /* \_SB_.PC02.UA00.GLAX */
            }
        }
    }

    Scope (_SB.PC02.HDAS)
    {
        Method (PPMS, 1, Serialized)
        {
            ADBG ("PPMS called")
            ADBG (Arg0)
            If ((Arg0 == ToUUID ("7c708106-3aff-40fe-88be-8c999b3f7445") /* Unknown UUID */))
            {
                Return ((ADPM & 0x04))
            }

            If ((Arg0 == ToUUID ("ec774fa9-28d3-424a-90e4-69f984f1eeb7") /* Unknown UUID */))
            {
                Return ((ADPM & 0x0100))
            }

            If ((Arg0 == ToUUID ("4bc75ffd-83a1-434b-83f4-f9f73bb8d48e") /* Unknown UUID */))
            {
                Return ((ADPM & 0x08000000))
            }

            If ((Arg0 == Buffer (0x10)
                    {
                        /* 0000 */  0x04, 0x3D, 0x98, 0x52, 0x14, 0x24, 0xB4, 0x88,  // .=.R.$..
                        /* 0008 */  0xA2, 0xA2, 0xC1, 0x39, 0x7E, 0x13, 0xB0, 0x22   // ...9~.."
                    }))
            {
                Return ((ADPM & 0x10000000))
            }

            If ((Arg0 == ToUUID ("faacc8cc-b365-4964-b4b8-bd4deb18d922") /* Unknown UUID */))
            {
                Return ((ADPM & 0x10000000))
            }

            If ((Arg0 == ACCG (AG1L, AG1H)))
            {
                ADBG ("Alpha passed")
                Return ((ADPM & 0x20000000))
            }

            If ((Arg0 == ACCG (AG2L, AG2H)))
            {
                ADBG ("Beta passed")
                Return ((ADPM & 0x40000000))
            }

            If ((Arg0 == ACCG (AG3L, AG3H)))
            {
                ADBG ("Gamma passed")
                Return ((ADPM & 0x80000000))
            }

            Return (Zero)
        }

        Method (ACCG, 2, NotSerialized)
        {
            Name (GBUF, Buffer (0x10){})
            Concatenate (Arg0, Arg1, GBUF) /* \_SB_.PC02.HDAS.ACCG.GBUF */
            Return (GBUF) /* \_SB_.PC02.HDAS.ACCG.GBUF */
        }
    }

    If ((I2SB == Zero))
    {
        Scope (_SB.PC02.I2C0)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == One))
    {
        Scope (_SB.PC02.I2C1)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x02))
    {
        Scope (_SB.PC02.I2C2)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x03))
    {
        Scope (_SB.PC02.I2C3)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x04))
    {
        Scope (_SB.PC02.I2C4)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }
    ElseIf ((I2SB == 0x05))
    {
        Scope (_SB.PC02.I2C5)
        {
            If (((I2SC != 0x04) && ((I2SC != 0x03) && 
                (I2SC != 0x05))))
            {
                Device (HDC1)
                {
                    Name (_HID, "10EC1308")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x10, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == 0x02) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }

                Device (HDC2)
                {
                    Name (_HID, "INT34C2")  // _HID: Hardware ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, One)  // _UID: Unique ID
                    Name (CDIS, Zero)
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        Return (ConcatenateResTemplate (IICB (0x1C, I2SB), INTB (I2SI, Zero, Zero)))
                    }

                    Method (_PRS, 0, NotSerialized)  // _PRS: Possible Resource Settings
                    {
                        Return (_CRS ())
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If (((I2SC == One) && (CDIS != One)))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
                    {
                        CDIS = Zero
                    }

                    Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
                    {
                        CDIS = One
                    }
                }
            }
        }
    }

    Scope (_SB.PC02.HDAS)
    {
        Device (RTKC)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((PXDC == One))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x0F)
                }
            }
        }
    }

    If ((PCHA == Zero))
    {
        Scope (_SB.PC00)
        {
            Name (HIDG, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
            Name (TP7G, ToUUID ("ef87eb82-f951-46da-84ec-14871ac6f84b") /* Unknown UUID */)
            Method (HIDD, 5, Serialized)
            {
                If ((Arg0 == HIDG))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (Arg4)
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (TP7D, 6, Serialized)
            {
                If ((Arg0 == TP7G))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (ConcatenateResTemplate (Arg4, Arg5))
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (I2CM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, _Y53, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC00.I2CM._Y53._ADR, DAD0)  // _ADR: Address
                        CreateDWordField (IIC0, \_SB.PC00.I2CM._Y53._SPE, DSP0)  // _SPE: Speed
                        DAD0 = Arg1
                        DSP0 = Arg2
                        Return (IIC0) /* \_SB_.PC00.I2CM.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, _Y54, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC00.I2CM._Y54._ADR, DAD1)  // _ADR: Address
                        CreateDWordField (IIC1, \_SB.PC00.I2CM._Y54._SPE, DSP1)  // _SPE: Speed
                        DAD1 = Arg1
                        DSP1 = Arg2
                        Return (IIC1) /* \_SB_.PC00.I2CM.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, _Y55, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC00.I2CM._Y55._ADR, DAD2)  // _ADR: Address
                        CreateDWordField (IIC2, \_SB.PC00.I2CM._Y55._SPE, DSP2)  // _SPE: Speed
                        DAD2 = Arg1
                        DSP2 = Arg2
                        Return (IIC2) /* \_SB_.PC00.I2CM.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, _Y56, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC00.I2CM._Y56._ADR, DAD3)  // _ADR: Address
                        CreateDWordField (IIC3, \_SB.PC00.I2CM._Y56._SPE, DSP3)  // _SPE: Speed
                        DAD3 = Arg1
                        DSP3 = Arg2
                        Return (IIC3) /* \_SB_.PC00.I2CM.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, _Y57, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC00.I2CM._Y57._ADR, DAD4)  // _ADR: Address
                        CreateDWordField (IIC4, \_SB.PC00.I2CM._Y57._SPE, DSP4)  // _SPE: Speed
                        DAD4 = Arg1
                        DSP4 = Arg2
                        Return (IIC4) /* \_SB_.PC00.I2CM.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, _Y58, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC00.I2CM._Y58._ADR, DAD5)  // _ADR: Address
                        CreateDWordField (IIC5, \_SB.PC00.I2CM._Y58._SPE, DSP5)  // _SPE: Speed
                        DAD5 = Arg1
                        DSP5 = Arg2
                        Return (IIC5) /* \_SB_.PC00.I2CM.IIC5 */
                    }
                    Case (0x0C)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C6",
                                0x00, ResourceConsumer, _Y59, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC00.I2CM._Y59._ADR, DAD6)  // _ADR: Address
                        CreateDWordField (IIC6, \_SB.PC00.I2CM._Y59._SPE, DSP6)  // _SPE: Speed
                        DAD6 = Arg1
                        DSP6 = Arg2
                        Return (IIC6) /* \_SB_.PC00.I2CM.IIC6 */
                    }
                    Case (0x0D)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C7",
                                0x00, ResourceConsumer, _Y5A, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC00.I2CM._Y5A._ADR, DAD7)  // _ADR: Address
                        CreateDWordField (IIC7, \_SB.PC00.I2CM._Y5A._SPE, DSP7)  // _SPE: Speed
                        DAD7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC00.I2CM.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Method (SPIM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC00.SPI1",
                                0x00, ResourceConsumer, _Y5B, Exclusive,
                                )
                        })
                        CreateByteField (IIC7, \_SB.PC00.SPIM._Y5B._PHA, DPH7)  // _PHA: Clock Phase
                        CreateDWordField (IIC7, \_SB.PC00.SPIM._Y5B._SPE, DSP7)  // _SPE: Speed
                        DPH7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC00.SPIM.IIC7 */
                    }
                    Case (0x08)
                    {
                        Name (IIC8, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC00.SPI2",
                                0x00, ResourceConsumer, _Y5C, Exclusive,
                                )
                        })
                        CreateByteField (IIC8, \_SB.PC00.SPIM._Y5C._PHA, DPH8)  // _PHA: Clock Phase
                        CreateDWordField (IIC8, \_SB.PC00.SPIM._Y5C._SPE, DSP8)  // _SPE: Speed
                        DPH8 = Arg1
                        DSP8 = Arg2
                        Return (IIC8) /* \_SB_.PC00.SPIM.IIC8 */
                    }
                    Default
                    {
                        Return (Buffer (0x02)
                        {
                             0x79, 0x00                                       // y.
                        })
                    }

                }
            }

            Method (UCMM, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (UCM0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM0) /* \_SB_.PC00.UCMM.UCM0 */
                    }
                    Case (One)
                    {
                        Name (UCM1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM1) /* \_SB_.PC00.UCMM.UCM1 */
                    }
                    Case (0x02)
                    {
                        Name (UCM2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM2) /* \_SB_.PC00.UCMM.UCM2 */
                    }
                    Case (0x03)
                    {
                        Name (UCM3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM3) /* \_SB_.PC00.UCMM.UCM3 */
                    }
                    Case (0x04)
                    {
                        Name (UCM4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM4) /* \_SB_.PC00.UCMM.UCM4 */
                    }
                    Case (0x05)
                    {
                        Name (UCM5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC00.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM5) /* \_SB_.PC00.UCMM.UCM5 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
        }

        Scope (_SB.PC00.I2C0)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS0 /* \SDS0 */
                I2CX = Zero
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y5D, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y5E)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C0.TPD0._Y5D._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C0.TPD0._Y5D._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C0.TPD0._Y5E._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C0.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y5F, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y60)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C0.TPL1._Y5F._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C0.TPL1._Y5F._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C0.TPL1._Y60._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C0.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C0.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C1)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, One)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS1 /* \SDS1 */
                I2CX = One
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y61, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y62)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C1.TPD0._Y61._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C1.TPD0._Y61._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C1.TPD0._Y62._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C1.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y63, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y64)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C1.TPL1._Y63._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C1.TPL1._Y63._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C1.TPL1._Y64._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C1.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C1.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C2)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x02)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS2 /* \SDS2 */
                I2CX = 0x02
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y65, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y66)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C2.TPD0._Y65._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C2.TPD0._Y65._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C2.TPD0._Y66._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C2.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y67, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y68)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C2.TPL1._Y67._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C2.TPL1._Y67._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C2.TPL1._Y68._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C2.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C2.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C3)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x03)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS3 /* \SDS3 */
                I2CX = 0x03
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y69, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y6A)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C3.TPD0._Y69._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C3.TPD0._Y69._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C3.TPD0._Y6A._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C3.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y6B, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y6C)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C3.TPL1._Y6B._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C3.TPL1._Y6B._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C3.TPL1._Y6C._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C3.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C3.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C4)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x04)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS4 /* \SDS4 */
                I2CX = 0x04
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y6D, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y6E)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C4.TPD0._Y6D._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C4.TPD0._Y6D._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C4.TPD0._Y6E._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C4.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y6F, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y70)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C4.TPL1._Y6F._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C4.TPL1._Y6F._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C4.TPL1._Y70._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T0GI /* \T0GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C4.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C4.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.I2C5)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x05)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS5 /* \SDS5 */
                I2CX = 0x05
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y71, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y72)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C5.TPD0._Y71._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C5.TPD0._Y71._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C5.TPD0._Y72._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C5.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y73, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y74)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC00.I2C5.TPL1._Y73._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC00.I2C5.TPL1._Y73._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC00.I2C5.TPL1._Y74._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC00.I2C5.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC00.I2C5.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC00.SPI1)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS7 /* \SDS7 */
                SPIX = 0x07
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y75)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y76,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC00.SPI1.FPNT._CRS._Y75._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC00.SPI1.FPNT._CRS._Y75._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC00.SPI1.FPNT._CRS._Y75._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC00.SPI1.FPNT._CRS._Y76._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC00.SPI1.FPNT._CRS._Y76._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }

        Scope (_SB.PC00.SPI2)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS8 /* \SDS8 */
                SPIX = 0x08
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y77)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y78,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC00.SPI2.FPNT._CRS._Y77._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC00.SPI2.FPNT._CRS._Y77._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC00.SPI2.FPNT._CRS._Y77._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC00.SPI2.FPNT._CRS._Y78._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC00.SPI2.FPNT._CRS._Y78._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }
    }
    Else
    {
        Scope (_SB.PC02)
        {
            Name (HIDG, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)
            Name (TP7G, ToUUID ("ef87eb82-f951-46da-84ec-14871ac6f84b") /* Unknown UUID */)
            Method (HIDD, 5, Serialized)
            {
                If ((Arg0 == HIDG))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (Arg4)
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (TP7D, 6, Serialized)
            {
                If ((Arg0 == TP7G))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (ConcatenateResTemplate (Arg4, Arg5))
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            Method (I2CM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (IIC0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, _Y79, Exclusive,
                                )
                        })
                        CreateWordField (IIC0, \_SB.PC02.I2CM._Y79._ADR, DAD0)  // _ADR: Address
                        CreateDWordField (IIC0, \_SB.PC02.I2CM._Y79._SPE, DSP0)  // _SPE: Speed
                        DAD0 = Arg1
                        DSP0 = Arg2
                        Return (IIC0) /* \_SB_.PC02.I2CM.IIC0 */
                    }
                    Case (One)
                    {
                        Name (IIC1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, _Y7A, Exclusive,
                                )
                        })
                        CreateWordField (IIC1, \_SB.PC02.I2CM._Y7A._ADR, DAD1)  // _ADR: Address
                        CreateDWordField (IIC1, \_SB.PC02.I2CM._Y7A._SPE, DSP1)  // _SPE: Speed
                        DAD1 = Arg1
                        DSP1 = Arg2
                        Return (IIC1) /* \_SB_.PC02.I2CM.IIC1 */
                    }
                    Case (0x02)
                    {
                        Name (IIC2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, _Y7B, Exclusive,
                                )
                        })
                        CreateWordField (IIC2, \_SB.PC02.I2CM._Y7B._ADR, DAD2)  // _ADR: Address
                        CreateDWordField (IIC2, \_SB.PC02.I2CM._Y7B._SPE, DSP2)  // _SPE: Speed
                        DAD2 = Arg1
                        DSP2 = Arg2
                        Return (IIC2) /* \_SB_.PC02.I2CM.IIC2 */
                    }
                    Case (0x03)
                    {
                        Name (IIC3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, _Y7C, Exclusive,
                                )
                        })
                        CreateWordField (IIC3, \_SB.PC02.I2CM._Y7C._ADR, DAD3)  // _ADR: Address
                        CreateDWordField (IIC3, \_SB.PC02.I2CM._Y7C._SPE, DSP3)  // _SPE: Speed
                        DAD3 = Arg1
                        DSP3 = Arg2
                        Return (IIC3) /* \_SB_.PC02.I2CM.IIC3 */
                    }
                    Case (0x04)
                    {
                        Name (IIC4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, _Y7D, Exclusive,
                                )
                        })
                        CreateWordField (IIC4, \_SB.PC02.I2CM._Y7D._ADR, DAD4)  // _ADR: Address
                        CreateDWordField (IIC4, \_SB.PC02.I2CM._Y7D._SPE, DSP4)  // _SPE: Speed
                        DAD4 = Arg1
                        DSP4 = Arg2
                        Return (IIC4) /* \_SB_.PC02.I2CM.IIC4 */
                    }
                    Case (0x05)
                    {
                        Name (IIC5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, _Y7E, Exclusive,
                                )
                        })
                        CreateWordField (IIC5, \_SB.PC02.I2CM._Y7E._ADR, DAD5)  // _ADR: Address
                        CreateDWordField (IIC5, \_SB.PC02.I2CM._Y7E._SPE, DSP5)  // _SPE: Speed
                        DAD5 = Arg1
                        DSP5 = Arg2
                        Return (IIC5) /* \_SB_.PC02.I2CM.IIC5 */
                    }
                    Case (0x0C)
                    {
                        Name (IIC6, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C6",
                                0x00, ResourceConsumer, _Y7F, Exclusive,
                                )
                        })
                        CreateWordField (IIC6, \_SB.PC02.I2CM._Y7F._ADR, DAD6)  // _ADR: Address
                        CreateDWordField (IIC6, \_SB.PC02.I2CM._Y7F._SPE, DSP6)  // _SPE: Speed
                        DAD6 = Arg1
                        DSP6 = Arg2
                        Return (IIC6) /* \_SB_.PC02.I2CM.IIC6 */
                    }
                    Case (0x0D)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C7",
                                0x00, ResourceConsumer, _Y80, Exclusive,
                                )
                        })
                        CreateWordField (IIC7, \_SB.PC02.I2CM._Y80._ADR, DAD7)  // _ADR: Address
                        CreateDWordField (IIC7, \_SB.PC02.I2CM._Y80._SPE, DSP7)  // _SPE: Speed
                        DAD7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC02.I2CM.IIC7 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Method (SPIM, 3, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (0x07)
                    {
                        Name (IIC7, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC02.SPI1",
                                0x00, ResourceConsumer, _Y81, Exclusive,
                                )
                        })
                        CreateByteField (IIC7, \_SB.PC02.SPIM._Y81._PHA, DPH7)  // _PHA: Clock Phase
                        CreateDWordField (IIC7, \_SB.PC02.SPIM._Y81._SPE, DSP7)  // _SPE: Speed
                        DPH7 = Arg1
                        DSP7 = Arg2
                        Return (IIC7) /* \_SB_.PC02.SPIM.IIC7 */
                    }
                    Case (0x08)
                    {
                        Name (IIC8, ResourceTemplate ()
                        {
                            SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                ControllerInitiated, 0x00989680, ClockPolarityLow,
                                ClockPhaseFirst, "\\_SB.PC02.SPI2",
                                0x00, ResourceConsumer, _Y82, Exclusive,
                                )
                        })
                        CreateByteField (IIC8, \_SB.PC02.SPIM._Y82._PHA, DPH8)  // _PHA: Clock Phase
                        CreateDWordField (IIC8, \_SB.PC02.SPIM._Y82._SPE, DSP8)  // _SPE: Speed
                        DPH8 = Arg1
                        DSP8 = Arg2
                        Return (IIC8) /* \_SB_.PC02.SPIM.IIC8 */
                    }
                    Default
                    {
                        Return (Buffer (0x02)
                        {
                             0x79, 0x00                                       // y.
                        })
                    }

                }
            }

            Method (UCMM, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Name (UCM0, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C0",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM0) /* \_SB_.PC02.UCMM.UCM0 */
                    }
                    Case (One)
                    {
                        Name (UCM1, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C1",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM1) /* \_SB_.PC02.UCMM.UCM1 */
                    }
                    Case (0x02)
                    {
                        Name (UCM2, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C2",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM2) /* \_SB_.PC02.UCMM.UCM2 */
                    }
                    Case (0x03)
                    {
                        Name (UCM3, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C3",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM3) /* \_SB_.PC02.UCMM.UCM3 */
                    }
                    Case (0x04)
                    {
                        Name (UCM4, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C4",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM4) /* \_SB_.PC02.UCMM.UCM4 */
                    }
                    Case (0x05)
                    {
                        Name (UCM5, ResourceTemplate ()
                        {
                            I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x003F, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0020, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                            I2cSerialBusV2 (0x0027, ControllerInitiated, 0x00061A80,
                                AddressingMode7Bit, "\\_SB.PC02.I2C5",
                                0x00, ResourceConsumer, , Exclusive,
                                )
                        })
                        Return (UCM5) /* \_SB_.PC02.UCMM.UCM5 */
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }
        }

        Scope (_SB.PC02.I2C0)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS0 /* \SDS0 */
                I2CX = Zero
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y83, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y84)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C0.TPD0._Y83._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C0.TPD0._Y83._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C0.TPD0._Y84._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C0.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y85, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y86)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C0.TPL1._Y85._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C0.TPL1._Y85._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C0.TPL1._Y86._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C0.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C0.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C1)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, One)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS1 /* \SDS1 */
                I2CX = One
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y87, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y88)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C1.TPD0._Y87._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C1.TPD0._Y87._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C1.TPD0._Y88._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C1.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y89, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y8A)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C1.TPL1._Y89._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C1.TPL1._Y89._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C1.TPL1._Y8A._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C1.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C1.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C2)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x02)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS2 /* \SDS2 */
                I2CX = 0x02
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y8B, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y8C)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C2.TPD0._Y8B._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C2.TPD0._Y8B._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C2.TPD0._Y8C._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C2.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y8D, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y8E)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C2.TPL1._Y8D._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C2.TPL1._Y8D._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C2.TPL1._Y8E._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C2.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C2.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C3)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x03)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS3 /* \SDS3 */
                I2CX = 0x03
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y8F, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y90)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C3.TPD0._Y8F._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C3.TPD0._Y8F._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C3.TPD0._Y90._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C3.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y91, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y92)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C3.TPL1._Y91._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C3.TPL1._Y91._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C3.TPL1._Y92._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C3.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C3.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C4)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x04)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS4 /* \SDS4 */
                I2CX = 0x04
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y93, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y94)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C4.TPD0._Y93._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C4.TPD0._Y93._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C4.TPD0._Y94._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C4.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y95, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y96)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C4.TPL1._Y95._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C4.TPL1._Y95._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C4.TPL1._Y96._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T0GI /* \T0GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C4.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C4.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.I2C5)
        {
            Name (I2CN, Zero)
            Name (I2CX, Zero)
            Name (I2CI, 0x05)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                I2CN = SDS5 /* \SDS5 */
                I2CX = 0x05
            }

            Device (TPD0)
            {
                Name (HID2, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y97, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y98)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C5.TPD0._Y97._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C5.TPD0._Y97._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C5.TPD0._Y98._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If ((PCHA == Zero))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            SRXO (GPDI, One)
                        }

                        INT1 = GNUM (GPDI)
                        INT2 = INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            SGRA (GPDI, Local0)
                            SGII (GPDI, Zero)
                            GRXE (GPDI, Zero)
                        }
                    }
                    Else
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (GPDI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (GPDI)
                        INT2 = ^^^^PGPI.INUM (GPDI)
                        If ((TPDM == Zero))
                        {
                            ^^^^PGPI.SHPO (GPDI, One)
                        }

                        If ((TPDM == One))
                        {
                            Local0 = (PPDI ^ One)
                            ^^^^PGPI.SGRA (GPDI, Local0)
                            ^^^^PGPI.SGII (GPDI, Zero)
                            ^^^^PGPI.GRXE (GPDI, Zero)
                        }
                    }

                    If ((TPDT == One))
                    {
                        _HID = "SYNA2393"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x02))
                    {
                        _HID = "06CB2846"
                        HID2 = 0x20
                        Return (Zero)
                    }

                    If ((TPDT == 0x06))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x07))
                    {
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x08))
                    {
                        _HID = "SNSL0033"
                        HID2 = One
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x09))
                    {
                        _HID = "PIXA0002"
                        HID2 = 0x20
                        BADR = 0x2C
                        Return (Zero)
                    }

                    If ((TPDT == 0x05))
                    {
                        HID2 = TPDH /* \TPDH */
                        BADR = TPDB /* \TPDB */
                        If ((TPDS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPDS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPDS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPDT != Zero) && (I2CN & One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C5.TPD0.SBFI */
                    }

                    If ((TPDM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Device (TPL1)
            {
                Name (HID2, Zero)
                Name (TPGI, Zero)
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "NULL",
                        0x00, ResourceConsumer, _Y99, Exclusive,
                        )
                })
                Name (SBFG, ResourceTemplate ()
                {
                    GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
                        "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0000
                        }
                })
                Name (SBFI, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y9A)
                    {
                        0x00000000,
                    }
                })
                CreateWordField (SBFB, \_SB.PC02.I2C5.TPL1._Y99._ADR, BADR)  // _ADR: Address
                CreateDWordField (SBFB, \_SB.PC02.I2C5.TPL1._Y99._SPE, SPED)  // _SPE: Speed
                CreateWordField (SBFG, 0x17, INT1)
                CreateDWordField (SBFI, \_SB.PC02.I2C5.TPL1._Y9A._INT, INT2)  // _INT: Interrupts
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    TPGI = T1GI /* \T1GI */
                    If (CondRefOf (\_SB.PGPI))
                    {
                        If ((OSYS < 0x07DC))
                        {
                            ^^^^PGPI.SRXO (TPGI, One)
                        }

                        INT1 = ^^^^PGPI.GNUM (TPGI)
                        INT2 = ^^^^PGPI.INUM (TPGI)
                        If ((TPLM == Zero))
                        {
                            ^^^^PGPI.SHPO (TPGI, One)
                        }
                        Else
                        {
                            ^^^^PGPI.SHPO (TPGI, Zero)
                        }
                    }

                    If ((TPLT == One))
                    {
                        _HID = "ATML3432"
                        HID2 = Zero
                        BADR = 0x4C
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x02))
                    {
                        _HID = "ATML2952"
                        HID2 = Zero
                        BADR = 0x4A
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x03))
                    {
                        _HID = "ELAN9048"
                        HID2 = One
                        BADR = 0x10
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x04))
                    {
                        _HID = "NTRG0001"
                        HID2 = One
                        BADR = 0x07
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x05))
                    {
                        _HID = "NTRG0002"
                        HID2 = One
                        BADR = 0x64
                        SPED = 0x00061A80
                        Return (Zero)
                    }

                    If ((TPLT == 0x06))
                    {
                        _HID = "WCOM508E"
                        HID2 = One
                        BADR = 0x0A
                        If ((TPLS == Zero))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }

                    If ((TPLT == 0x07))
                    {
                        _HID = "CUST0000"
                        HID2 = TPLH /* \TPLH */
                        BADR = TPLB /* \TPLB */
                        If ((TPLS == Zero))
                        {
                            SPED = 0x000186A0
                        }

                        If ((TPLS == One))
                        {
                            SPED = 0x00061A80
                        }

                        If ((TPLS == 0x02))
                        {
                            SPED = 0x000F4240
                        }

                        Return (Zero)
                    }
                }

                Name (_HID, "XXXX0000")  // _HID: Hardware ID
                Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
                Method (_UID, 0, NotSerialized)  // _UID: Unique ID
                {
                    Return (I2CI) /* \_SB_.PC02.I2C5.I2CI */
                }

                Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == HIDG))
                    {
                        Return (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))
                    }

                    If ((Arg0 == TP7G))
                    {
                        Return (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((TPLT != Zero) && (I2CN & 0x02)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((OSYS < 0x07DC))
                    {
                        Return (SBFI) /* \_SB_.PC02.I2C5.TPL1.SBFI */
                    }

                    If ((TPLM == Zero))
                    {
                        Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
                    }

                    Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
                }
            }

            Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
            {
                ToUUID ("f87a6d23-2884-4fe4-a55f-633d9e339ce1") /* Unknown UUID */, 
                Package (0x04)
                {
                    Package (0x02)
                    {
                        "idle-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "SS-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FM-active-latency-tolerance", 
                        0xFFFF
                    }, 

                    Package (0x02)
                    {
                        "FMP-active-latency-tolerance", 
                        0xFFFF
                    }
                }
            })
        }

        Scope (_SB.PC02.SPI1)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS7 /* \SDS7 */
                SPIX = 0x07
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y9B)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y9C,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9B._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9B._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9B._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9C._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC02.SPI1.FPNT._CRS._Y9C._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }

        Scope (_SB.PC02.SPI2)
        {
            Name (SPIP, Zero)
            Name (SPIX, Zero)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                SPIP = SDS8 /* \SDS8 */
                SPIX = 0x08
            }

            Device (FPNT)
            {
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    If ((FPTT == One))
                    {
                        Return ("FPC1011")
                    }

                    If ((FPTT == 0x02))
                    {
                        Return ("FPC1020")
                    }

                    If ((FPTT == 0x03))
                    {
                        Return ("VFSI6101")
                    }

                    If ((FPTT == 0x04))
                    {
                        Return ("VFSI7500")
                    }

                    If ((FPTT == 0x05))
                    {
                        Return ("EGIS0300")
                    }

                    If ((FPTT == 0x06))
                    {
                        Return ("FPC1021")
                    }

                    Return ("DUMY0000")
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    SHPO (GFPI, One)
                    SHPO (GFPS, One)
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((FPTT != Zero) && (SPIP == One)))
                    {
                        Return (0x0F)
                    }

                    Return (Zero)
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (BBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0008
                            }
                    })
                    Name (IBUF, ResourceTemplate ()
                    {
                        Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y9D)
                        {
                            0x00000000,
                        }
                    })
                    Name (GBUF, ResourceTemplate ()
                    {
                        GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, _Y9E,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    Name (UBUF, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                    CreateWordField (BBUF, 0x17, SPIN)
                    CreateWordField (GBUF, 0x17, GPIN)
                    CreateDWordField (IBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9D._INT, IPIN)  // _INT: Interrupts
                    CreateWordField (UBUF, 0x17, UPIN)
                    CreateBitField (IBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9D._LL, ILVL)  // _LL_: Low Level
                    CreateBitField (IBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9D._HE, ITRG)  // _HE_: High-Edge
                    CreateField (GBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9E._POL, 0x02, GLVL)  // _POL: Polarity
                    CreateBitField (GBUF, \_SB.PC02.SPI2.FPNT._CRS._Y9E._MOD, GTRG)  // _MOD: Mode
                    SPIN = GNUM (GFPS)
                    GPIN = GNUM (GFPI)
                    IPIN = INUM (GFPI)
                    UPIN = GNUM (GFPI)
                    If (((FPTT == 0x02) || (FPTT == 0x06)))
                    {
                        ILVL = Zero
                        ITRG = One
                        GLVL = Zero
                        GTRG = One
                    }

                    If ((FPTT == 0x04))
                    {
                        ILVL = Zero
                        ITRG = One
                    }

                    Switch (ToInteger (FPTT))
                    {
                        Case (One)
                        {
                            Local1 = 0x00989680
                            Local0 = Zero
                        }
                        Case (0x02)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Case (0x03)
                        {
                            Local1 = 0x007A1200
                            Local0 = One
                        }
                        Case (0x04)
                        {
                            Local1 = 0x007A1200
                            Local0 = Zero
                        }
                        Case (0x05)
                        {
                            Local1 = 0x00F42400
                            Local0 = Zero
                        }
                        Case (0x06)
                        {
                            Local1 = 0x002DC6C0
                            Local0 = Zero
                        }
                        Default
                        {
                            Local1 = Zero
                            Local0 = Zero
                        }

                    }

                    If ((FPTT == One))
                    {
                        Return (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF))
                    }

                    If (((FPTT == 0x04) && (FPTM == Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, GBUF
                            )))
                    }

                    If (((FPTT == 0x04) && (FPTM != Zero)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), ConcatenateResTemplate (UBUF, IBUF
                            )))
                    }

                    If ((FPTM == Zero))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), GBUF))
                    }

                    Return (ConcatenateResTemplate (ConcatenateResTemplate (SPIM (SPIX, Local0, Local1), BBUF), IBUF))
                }
            }
        }
    }

    Method (PKG1, 1, Serialized)
    {
        Name (PKG, Package (0x01)
        {
            Zero
        })
        PKG [Zero] = Arg0
        Return (PKG) /* \PKG1.PKG_ */
    }

    Method (PKG3, 3, Serialized)
    {
        Name (PKG, Package (0x03)
        {
            Zero, 
            Zero, 
            Zero
        })
        PKG [Zero] = Arg0
        PKG [One] = Arg1
        PKG [0x02] = Arg2
        Return (PKG) /* \PKG3.PKG_ */
    }

    If (USTP)
    {
        If ((PCHA == Zero))
        {
            Scope (_SB.PC00.I2C0)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH0, SSL0, SSD0))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH0, FML0, FMD0))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH0, FPL0, FPD0))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH0, HSL0, HSD0))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C0))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C0))
                }
            }

            Scope (_SB.PC00.I2C1)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH1, SSL1, SSD1))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH1, FML1, FMD1))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH1, FPL1, FPD1))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH1, HSL1, HSD1))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C1))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C1))
                }
            }

            Scope (_SB.PC00.I2C2)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH2, SSL2, SSD2))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH2, FML2, FMD2))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH2, FPL2, FPD2))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH2, HSL2, HSD2))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C2))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C2))
                }
            }

            Scope (_SB.PC00.I2C3)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH3, SSL3, SSD3))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH3, FML3, FMD3))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH3, FPL3, FPD3))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH3, HSL3, HSD3))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C3))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C3))
                }
            }

            Scope (_SB.PC00.I2C4)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH4, SSL4, SSD4))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH4, FML4, FMD4))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH4, FPL4, FPD4))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH4, HSL4, HSD4))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C4))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C4))
                }
            }

            Scope (_SB.PC00.I2C5)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH5, SSL5, SSD5))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH5, FML5, FMD5))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH5, FPL5, FPD5))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH5, HSL5, HSD5))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C5))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C5))
                }
            }

            Scope (_SB.PC00.SPI0)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C6))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C6))
                }
            }

            Scope (_SB.PC00.SPI1)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C7))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C7))
                }
            }

            Scope (_SB.PC00.SPI2)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C8))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C8))
                }
            }

            Scope (_SB.PC00.UA00)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C9))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C9))
                }
            }

            Scope (_SB.PC00.UA01)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CA))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CA))
                }
            }

            Scope (_SB.PC00.UA02)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CB))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CB))
                }
            }
        }
        Else
        {
            Scope (_SB.PC02.I2C0)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH0, SSL0, SSD0))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH0, FML0, FMD0))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH0, FPL0, FPD0))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH0, HSL0, HSD0))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C0))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C0))
                }
            }

            Scope (_SB.PC02.I2C1)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH1, SSL1, SSD1))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH1, FML1, FMD1))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH1, FPL1, FPD1))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH1, HSL1, HSD1))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C1))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C1))
                }
            }

            Scope (_SB.PC02.I2C2)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH2, SSL2, SSD2))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH2, FML2, FMD2))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH2, FPL2, FPD2))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH2, HSL2, HSD2))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C2))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C2))
                }
            }

            Scope (_SB.PC02.I2C3)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH3, SSL3, SSD3))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH3, FML3, FMD3))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH3, FPL3, FPD3))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH3, HSL3, HSD3))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C3))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C3))
                }
            }

            Scope (_SB.PC02.I2C4)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH4, SSL4, SSD4))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH4, FML4, FMD4))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH4, FPL4, FPD4))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH4, HSL4, HSD4))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C4))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C4))
                }
            }

            Scope (_SB.PC02.I2C5)
            {
                Method (SSCN, 0, NotSerialized)
                {
                    Return (PKG3 (SSH5, SSL5, SSD5))
                }

                Method (FMCN, 0, NotSerialized)
                {
                    Return (PKG3 (FMH5, FML5, FMD5))
                }

                Method (FPCN, 0, NotSerialized)
                {
                    Return (PKG3 (FPH5, FPL5, FPD5))
                }

                Method (HSCN, 0, NotSerialized)
                {
                    Return (PKG3 (HSH5, HSL5, HSD5))
                }

                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C5))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C5))
                }
            }

            Scope (_SB.PC02.SPI0)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C6))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C6))
                }
            }

            Scope (_SB.PC02.SPI1)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C7))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C7))
                }
            }

            Scope (_SB.PC02.SPI2)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C8))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C8))
                }
            }

            Scope (_SB.PC02.UA00)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0C9))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1C9))
                }
            }

            Scope (_SB.PC02.UA01)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CA))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CA))
                }
            }

            Scope (_SB.PC02.UA02)
            {
                Method (M0D3, 0, NotSerialized)
                {
                    Return (PKG1 (M0CB))
                }

                Method (M1D3, 0, NotSerialized)
                {
                    Return (PKG1 (M1CB))
                }
            }
        }
    }

    Scope (_SB)
    {
        Device (HIDD)
        {
            Name (_HID, "INTC1077")  // _HID: Hardware ID
            If (((ARLP == One) || (ARLS == One)))
            {
                _HID = "INTC10CB"
            }

            Name (HBSY, Zero)
            Name (HIDX, Zero)
            Name (HMDE, Zero)
            Name (HRDY, Zero)
            Name (BTLD, Zero)
            Method (_STA, 0, Serialized)  // _STA: Status
            {
                If (((OSYS >= 0x07DD) && (HEFE == One)))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (HDDM, 0, Serialized)
            {
                Name (DPKG, Package (0x04)
                {
                    0x11111111, 
                    0x22222222, 
                    0x33333333, 
                    0x44444444
                })
                Return (DPKG) /* \_SB_.HIDD.HDDM.DPKG */
            }

            Method (HDEM, 0, Serialized)
            {
                HBSY = Zero
                If ((HMDE == Zero))
                {
                    Return (HIDX) /* \_SB_.HIDD.HIDX */
                }

                Return (HMDE) /* \_SB_.HIDD.HMDE */
            }

            Method (HDMM, 0, Serialized)
            {
                Return (HMDE) /* \_SB_.HIDD.HMDE */
            }

            Method (HDSM, 1, Serialized)
            {
                HRDY = Arg0
            }

            Method (HPEM, 1, Serialized)
            {
                HBSY = One
                If ((HMDE == Zero))
                {
                    HIDX = Arg0
                }
                Else
                {
                    HIDX = Arg0
                }

                Notify (HIDD, 0xC0) // Hardware-Specific
                Local0 = Zero
                While (((Local0 < 0xFA) && HBSY))
                {
                    Sleep (0x04)
                    Local0++
                }

                If ((HBSY == One))
                {
                    HBSY = Zero
                    HIDX = Zero
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }
    }

    Method (ISAR, 4, NotSerialized)
    {
        ADBG ("ISAR")
        Name (BUF1, Buffer (0x02)
        {
             0x00, 0x00                                       // ..
        })
        If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
        {
            If ((Arg2 == 0x03))
            {
                If (CondRefOf (\_SB.USSV))
                {
                    Local1 = DerefOf (Arg3 [One])
                    Local1 += One
                    Local2 = DerefOf (Arg3 [0x02])
                    Local2 += One
                    Local2 <<= 0x10
                    Local2 |= Local1
                    \_SB.USSV (Local2)
                    Notify (\_SB.WFDE, 0xD0) // Hardware-Specific
                }

                Return (Zero)
            }
            Else
            {
                Return (Zero)
            }
        }
        Else
        {
            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }
    }

    Scope (\)
    {
        PowerResource (PIN, 0x00, 0x0000)
        {
            Method (STA, 1, Serialized)
            {
                If ((\_SB.GGOV (DerefOf (Arg0 [Zero])) == DerefOf (Arg0 [One]
                    )))
                {
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (ON, 1, Serialized)
            {
                ADBG (Concatenate ("PINH GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                \_SB.SGOV (DerefOf (Arg0 [Zero]), DerefOf (Arg0 [One]))
            }

            Method (OFF, 1, Serialized)
            {
                ADBG (Concatenate ("PINL GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                \_SB.SGOV (DerefOf (Arg0 [Zero]), ~DerefOf (Arg0 [One])
                    )
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (Zero)
            }

            Method (_ON, 0, NotSerialized)  // _ON_: Power On
            {
            }

            Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
            {
            }
        }

        If ((PCHA != Zero))
        {
            PowerResource (PPIN, 0x00, 0x0000)
            {
                Method (STA, 1, Serialized)
                {
                    If ((\_SB.PGPI.GGOV (DerefOf (Arg0 [Zero])) == DerefOf (Arg0 [One]
                        )))
                    {
                        Return (One)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (ON, 1, Serialized)
                {
                    ADBG (Concatenate ("PINH GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                    \_SB.PGPI.SGOV (DerefOf (Arg0 [Zero]), DerefOf (Arg0 [One]))
                }

                Method (OFF, 1, Serialized)
                {
                    ADBG (Concatenate ("PINL GPIO=", ToHexString (DerefOf (Arg0 [Zero]))))
                    \_SB.PGPI.SGOV (DerefOf (Arg0 [Zero]), ~DerefOf (Arg0 [One])
                        )
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (Zero)
                }

                Method (_ON, 0, NotSerialized)  // _ON_: Power On
                {
                }

                Method (_OFF, 0, NotSerialized)  // _OFF: Power Off
                {
                }
            }
        }
    }

    If ((PCHA == Zero))
    {
        Scope (_SB.PC00)
        {
            If ((I2SE == One))
            {
                Device (HDA1)
                {
                    Name (_HID, "INTC10B0")  // _HID: Hardware ID
                    Name (_CID, "INTC10B0")  // _CID: Compatible ID
                    Name (_DDN, "Intel(R) Smart Sound Technology Audio Codec")  // _DDN: DOS Device Name
                    Name (_UID, 0x02)  // _UID: Unique ID
                    Name (CADR, Zero)
                    Name (CDIS, Zero)
                    Method (GRI1, 0, NotSerialized)
                    {
                        Name (BUF, Buffer (0x09){})
                        If ((L0EN == One))
                        {
                            BUF [Zero] = A0H0 /* \A0H0 */
                            BUF [One] = A0H1 /* \A0H1 */
                            BUF [0x02] = A0H2 /* \A0H2 */
                            BUF [0x03] = A0H3 /* \A0H3 */
                            BUF [0x04] = A0H4 /* \A0H4 */
                            BUF [0x05] = A0H5 /* \A0H5 */
                            BUF [0x06] = A0H6 /* \A0H6 */
                            BUF [0x07] = A0H7 /* \A0H7 */
                            BUF [0x08] = A0H8 /* \A0H8 */
                        }

                        If ((L1EN == One))
                        {
                            BUF [Zero] = A1H0 /* \A1H0 */
                            BUF [One] = A1H1 /* \A1H1 */
                            BUF [0x02] = A1H2 /* \A1H2 */
                            BUF [0x03] = A1H3 /* \A1H3 */
                            BUF [0x04] = A1H4 /* \A1H4 */
                            BUF [0x05] = A1H5 /* \A1H5 */
                            BUF [0x06] = A1H6 /* \A1H6 */
                            BUF [0x07] = A1H7 /* \A1H7 */
                            BUF [0x08] = A1H8 /* \A1H8 */
                        }

                        Return (ToString (BUF, Ones))
                    }

                    Method (_INI, 0, NotSerialized)  // _INI: Initialize
                    {
                        If ((L0SM == 0xFE))
                        {
                            _HID = GRI1 ()
                            _CID = GRI1 ()
                        }

                        If ((L1SM == 0xFE))
                        {
                            _HID = GRI1 ()
                            _CID = GRI1 ()
                        }
                    }

                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((L0SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L0SM == 0xFE))
                        {
                            Return (0x0F)
                        }

                        If ((L1SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L1SM == 0xFE))
                        {
                            Return (0x0F)
                        }

                        If ((L2SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L3SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L4SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        If ((L5SM == 0x18))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }
                }
            }

            Method (PINJ, 3, Serialized)
            {
                Name (GPIJ, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveLow, SharedAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                    GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                })
                CreateWordField (GPIJ, 0x17, WAK1)
                CreateWordField (GPIJ, 0x3A, PINF)
                WAK1 = (GINF (Arg1, Arg2, 0x07) + Arg0)
                PINF = (GINF (Arg1, Arg2, 0x07) + Arg0)
                Return (GPIJ) /* \_SB_.PC00.PINJ.GPIJ */
            }

            Method (PINM, 3, Serialized)
            {
                Name (GPII, ResourceTemplate ()
                {
                    GpioInt (Edge, ActiveBoth, SharedAndWake, PullDefault, 0x0000,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                    GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                })
                CreateWordField (GPII, 0x17, WAK1)
                CreateWordField (GPII, 0x3A, PINF)
                WAK1 = (GINF (Arg1, Arg2, 0x07) + Arg0)
                PINF = (GINF (Arg1, Arg2, 0x07) + Arg0)
                Return (GPII) /* \_SB_.PC00.PINM.GPII */
            }

            Method (PINR, 3, Serialized)
            {
                Name (GPIR, ResourceTemplate ()
                {
                    GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0xFFFF
                        }
                })
                CreateWordField (GPIR, 0x17, PINF)
                PINF = (GINF (Arg1, Arg2, 0x07) + Arg0)
                Return (GPIR) /* \_SB_.PC00.PINR.GPIR */
            }

            Method (VPIN, 1, Serialized)
            {
                If ((CVFS == One))
                {
                    Name (GPOR, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0xFFFF
                            }
                    })
                    CreateWordField (GPOR, 0x17, PINV)
                    PINV = Arg0
                    Return (GPOR) /* \_SB_.PC00.VPIN.GPOR */
                }
                ElseIf ((CVFS == 0x02))
                {
                    Name (AGPR, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0xFFFF
                            }
                    })
                    CreateWordField (AGPR, 0x17, PINA)
                    PINA = Arg0
                    Return (AGPR) /* \_SB_.PC00.VPIN.AGPR */
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (DSMI, 4, Serialized)
            {
                Local3 = (Arg3 << 0x18)
                Local2 = (Arg2 << 0x10)
                Local1 = (Arg1 << 0x08)
                Local0 = (Local1 | Arg0)
                Local0 |= Local2
                Local0 |= Local3
                Return (Local0)
            }

            Method (GPPI, 4, Serialized)
            {
                Local3 = (Arg3 << 0x18)
                Local2 = (Arg2 << 0x10)
                Local1 = (Arg1 << 0x08)
                Local0 = (Local1 | Arg0)
                Local0 |= Local2
                Local0 |= Local3
                Return (Local0)
            }

            Method (GRID, 1, Serialized)
            {
                Name (BUF, Buffer (0x09){})
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        BUF [Zero] = L0H0 /* \L0H0 */
                        BUF [One] = L0H1 /* \L0H1 */
                        BUF [0x02] = L0H2 /* \L0H2 */
                        BUF [0x03] = L0H3 /* \L0H3 */
                        BUF [0x04] = L0H4 /* \L0H4 */
                        BUF [0x05] = L0H5 /* \L0H5 */
                        BUF [0x06] = L0H6 /* \L0H6 */
                        BUF [0x07] = L0H7 /* \L0H7 */
                        BUF [0x08] = L0H8 /* \L0H8 */
                    }
                    Case (One)
                    {
                        BUF [Zero] = L1H0 /* \L1H0 */
                        BUF [One] = L1H1 /* \L1H1 */
                        BUF [0x02] = L1H2 /* \L1H2 */
                        BUF [0x03] = L1H3 /* \L1H3 */
                        BUF [0x04] = L1H4 /* \L1H4 */
                        BUF [0x05] = L1H5 /* \L1H5 */
                        BUF [0x06] = L1H6 /* \L1H6 */
                        BUF [0x07] = L1H7 /* \L1H7 */
                        BUF [0x08] = L1H8 /* \L1H8 */
                    }
                    Case (0x02)
                    {
                        BUF [Zero] = L2H0 /* \L2H0 */
                        BUF [One] = L2H1 /* \L2H1 */
                        BUF [0x02] = L2H2 /* \L2H2 */
                        BUF [0x03] = L2H3 /* \L2H3 */
                        BUF [0x04] = L2H4 /* \L2H4 */
                        BUF [0x05] = L2H5 /* \L2H5 */
                        BUF [0x06] = L2H6 /* \L2H6 */
                        BUF [0x07] = L2H7 /* \L2H7 */
                        BUF [0x08] = L2H8 /* \L2H8 */
                    }
                    Default
                    {
                        BUF [Zero] = L3H0 /* \L3H0 */
                        BUF [One] = L3H1 /* \L3H1 */
                        BUF [0x02] = L3H2 /* \L3H2 */
                        BUF [0x03] = L3H3 /* \L3H3 */
                        BUF [0x04] = L3H4 /* \L3H4 */
                        BUF [0x05] = L3H5 /* \L3H5 */
                        BUF [0x06] = L3H6 /* \L3H6 */
                        BUF [0x07] = L3H7 /* \L3H7 */
                        BUF [0x08] = L3H8 /* \L3H8 */
                    }

                }

                Return (ToString (BUF, Ones))
            }

            Method (HCID, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = L0SM /* \L0SM */
                    }
                    Case (One)
                    {
                        Local0 = L1SM /* \L1SM */
                    }
                    Case (0x02)
                    {
                        Local0 = L2SM /* \L2SM */
                    }
                    Case (0x03)
                    {
                        Local0 = L3SM /* \L3SM */
                    }
                    Case (0x04)
                    {
                        Local0 = L4SM /* \L4SM */
                    }
                    Default
                    {
                        Local0 = L5SM /* \L5SM */
                    }

                }

                Switch (ToInteger (Local0))
                {
                    Case (Zero)
                    {
                        Return ("INT3471")
                    }
                    Case (One)
                    {
                        Return ("INT33BE")
                    }
                    Case (0x02)
                    {
                        Return ("INT3476")
                    }
                    Case (0x03)
                    {
                        Return ("INT3477")
                    }
                    Case (0x04)
                    {
                        Return ("INT3474")
                    }
                    Case (0x05)
                    {
                        Return ("INT3473")
                    }
                    Case (0x06)
                    {
                        Return ("INT3475")
                    }
                    Case (0x07)
                    {
                        Return ("INT3478")
                    }
                    Case (0x08)
                    {
                        Return ("INT3479")
                    }
                    Case (0x09)
                    {
                        Return ("INT347A")
                    }
                    Case (0x0A)
                    {
                        Return ("INT347B")
                    }
                    Case (0x0B)
                    {
                        Return ("OVTI2742")
                    }
                    Case (0x0C)
                    {
                        Return ("OVTI9234")
                    }
                    Case (0x0D)
                    {
                        Return ("OVTI8856")
                    }
                    Case (0x0E)
                    {
                        Return ("OVTIF860")
                    }
                    Case (0x0F)
                    {
                        Return ("SONY362A")
                    }
                    Case (0x10)
                    {
                        Return ("SONY488A")
                    }
                    Case (0x11)
                    {
                        Return ("OVTI01AS")
                    }
                    Case (0x12)
                    {
                        Return ("OVTI01A0")
                    }
                    Case (0x13)
                    {
                        Return ("OVTI5678")
                    }
                    Case (0x14)
                    {
                        Return ("OVTI9738")
                    }
                    Case (0x15)
                    {
                        Return ("HIMX11B1")
                    }
                    Case (0x16)
                    {
                        Return ("OVTI01AF")
                    }
                    Case (0x17)
                    {
                        Return ("OVTI13B1")
                    }
                    Case (0x18)
                    {
                        Return ("INTC10B1")
                    }
                    Default
                    {
                        Return (GRID (Arg0))
                    }

                }
            }

            Method (FHCI, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = F0FM /* \F0FM */
                    }
                    Case (One)
                    {
                        Local0 = F1FM /* \F1FM */
                    }
                    Case (0x02)
                    {
                        Local0 = F2FM /* \F2FM */
                    }
                    Case (0x03)
                    {
                        Local0 = F3FM /* \F3FM */
                    }
                    Case (0x04)
                    {
                        Local0 = F4FM /* \F4FM */
                    }
                    Default
                    {
                        Local0 = F5FM /* \F5FM */
                    }

                }

                Switch (ToInteger (Local0))
                {
                    Case (Zero)
                    {
                        Return ("TXNW3643")
                    }
                    Case (One)
                    {
                        Return ("PWRC0000")
                    }
                    Default
                    {
                        Return ("TXNW3643")
                    }

                }
            }

            Method (FMID, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Local0 = F0FM /* \F0FM */
                    }
                    Case (One)
                    {
                        Local0 = F1FM /* \F1FM */
                    }
                    Case (0x02)
                    {
                        Local0 = F2FM /* \F2FM */
                    }
                    Case (0x03)
                    {
                        Local0 = F3FM /* \F3FM */
                    }
                    Case (0x04)
                    {
                        Local0 = F4FM /* \F4FM */
                    }
                    Default
                    {
                        Local0 = F5FM /* \F5FM */
                    }

                }

                Switch (ToInteger (Local0))
                {
                    Case (Zero)
                    {
                        Return ("LM3643")
                    }
                    Case (One)
                    {
                        Return ("PMICWRC")
                    }
                    Default
                    {
                        Return ("LM3643")
                    }

                }
            }

            Method (FMLS, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (F0MS) /* \F0MS */
                    }
                    Case (One)
                    {
                        Return (F1MS) /* \F1MS */
                    }
                    Case (0x02)
                    {
                        Return (F2MS) /* \F2MS */
                    }
                    Case (0x03)
                    {
                        Return (F3MS) /* \F3MS */
                    }
                    Case (0x04)
                    {
                        Return (F4MS) /* \F4MS */
                    }
                    Default
                    {
                        Return (F5MS) /* \F5MS */
                    }

                }
            }

            Method (AGPN, 2, Serialized)
            {
                Local0 = (Arg1 << 0x10)
                Local0 |= Arg0
                Local1 = GNUM (Local0)
                Return (Local1)
            }

            Method (CDEP, 1, Serialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((C0TP == One))
                    {
                        Switch (ToInteger (L0BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC0, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC0
                                })
                            }

                        }
                    }

                    If ((C0TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH0
                        })
                    }

                    If ((C0TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP0
                        })
                    }
                }

                If ((Arg0 == One))
                {
                    If ((C1TP == One))
                    {
                        Switch (ToInteger (L1BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC1, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC1
                                })
                            }

                        }
                    }

                    If ((C1TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH1
                        })
                    }

                    If ((C1TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP1
                        })
                    }
                }

                If ((Arg0 == 0x02))
                {
                    If ((C2TP == One))
                    {
                        Switch (ToInteger (L2BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC2, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC2
                                })
                            }

                        }
                    }

                    If ((C2TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH2
                        })
                    }

                    If ((C2TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP2
                        })
                    }
                }

                If ((Arg0 == 0x03))
                {
                    If ((C3TP == One))
                    {
                        Switch (ToInteger (L3BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC3
                                })
                            }

                        }
                    }

                    If ((C3TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH3
                        })
                    }

                    If ((C3TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP3
                        })
                    }
                }

                If ((Arg0 == 0x04))
                {
                    If ((C4TP == One))
                    {
                        Switch (ToInteger (L4BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC3, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC4, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC4
                                })
                            }

                        }
                    }

                    If ((C4TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH4
                        })
                    }

                    If ((C4TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP4
                        })
                    }
                }

                If ((Arg0 == 0x05))
                {
                    If ((C5TP == One))
                    {
                        Switch (ToInteger (L5BS))
                        {
                            Case (Zero)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C0
                                })
                            }
                            Case (One)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C1
                                })
                            }
                            Case (0x02)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C2
                                })
                            }
                            Case (0x03)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C3
                                })
                            }
                            Case (0x04)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C4
                                })
                            }
                            Case (0x05)
                            {
                                Return (Package (0x02)
                                {
                                    DSC5, 
                                    I2C5
                                })
                            }
                            Default
                            {
                                Return (Package (0x01)
                                {
                                    DSC5
                                })
                            }

                        }
                    }

                    If ((C5TP == 0x05))
                    {
                        Return (Package (0x01)
                        {
                            LTH5
                        })
                    }

                    If ((C5TP > One))
                    {
                        Return (Package (0x01)
                        {
                            CLP5
                        })
                    }
                }

                Return (Package (0x01)
                {
                    PC00
                })
            }

            Method (CDEG, 1, Serialized)
            {
                Switch (ToInteger (Arg0))
                {
                    Case (Zero)
                    {
                        Return (Zero)
                    }
                    Case (One)
                    {
                        Return (0x2D)
                    }
                    Case (0x02)
                    {
                        Return (0x5A)
                    }
                    Case (0x03)
                    {
                        Return (0x87)
                    }
                    Case (0x04)
                    {
                        Return (0xB4)
                    }
                    Case (0x05)
                    {
                        Return (0xE1)
                    }
                    Case (0x06)
                    {
                        Return (0x010E)
                    }
                    Case (0x07)
                    {
                        Return (0x013B)
                    }
                    Default
                    {
                        Return (Zero)
                    }

                }
            }

            Device (DSC0)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, Zero)  // _UID: Unique ID
                If ((C0GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C0GP > Zero))
                        {
                            Local0 = PINR (C0P0, C0C0, C0G0)
                        }

                        If ((C0GP > One))
                        {
                            Local1 = PINR (C0P1, C0C1, C0G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x02))
                        {
                            Local1 = PINR (C0P2, C0C2, C0G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x03))
                        {
                            Local1 = PINR (C0P3, C0C3, C0G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x04))
                        {
                            Local1 = PINR (C0P4, C0C4, C0G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x05))
                        {
                            Local1 = PINR (C0P5, C0C5, C0G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL00)
                    {
                        If ((C0TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C0VE /* \C0VE */
                    PAR [One] = C0TP /* \C0TP */
                    PAR [0x03] = C0CV /* \C0CV */
                    PAR [0x04] = C0IC /* \C0IC */
                    PAR [0x06] = C0SP /* \C0SP */
                    PAR [0x08] = C0W0 /* \C0W0 */
                    PAR [0x09] = C0W1 /* \C0W1 */
                    PAR [0x0A] = C0W2 /* \C0W2 */
                    PAR [0x0B] = C0W3 /* \C0W3 */
                    PAR [0x0C] = C0W4 /* \C0W4 */
                    PAR [0x0D] = C0W5 /* \C0W5 */
                    PAR [0x0E] = C0CS /* \C0CS */
                    Return (PAR) /* \_SB_.PC00.DSC0.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C0GP) /* \C0GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C0F0, ((0x20 * C0G0) + C0P0), C0I0, C0A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C0F1, ((0x20 * C0G1) + C0P1), C0I1, C0A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C0F2, ((0x20 * C0G2) + C0P2), C0I2, C0A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C0F3, ((0x20 * C0G3) + C0P3), C0I3, C0A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C0F4, ((0x20 * C0G4) + C0P4), C0I4, C0A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C0F5, ((0x20 * C0G5) + C0P5), C0I5, C0A5))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC1)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, One)  // _UID: Unique ID
                If ((C1GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C1GP > Zero))
                        {
                            Local0 = PINR (C1P0, C1C0, C1G0)
                        }

                        If ((C1GP > One))
                        {
                            Local1 = PINR (C1P1, C1C1, C1G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x02))
                        {
                            Local1 = PINR (C1P2, C1C2, C1G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x03))
                        {
                            Local1 = PINR (C1P3, C1C3, C1G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x04))
                        {
                            Local1 = PINR (C1P4, C1C4, C1G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x05))
                        {
                            Local1 = PINR (C1P5, C1C5, C1G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL01)
                    {
                        If ((C1TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C1VE /* \C1VE */
                    PAR [One] = C1TP /* \C1TP */
                    PAR [0x03] = C1CV /* \C1CV */
                    PAR [0x04] = C1IC /* \C1IC */
                    PAR [0x06] = C1SP /* \C1SP */
                    PAR [0x08] = C1W0 /* \C1W0 */
                    PAR [0x09] = C1W1 /* \C1W1 */
                    PAR [0x0A] = C1W2 /* \C1W2 */
                    PAR [0x0B] = C1W3 /* \C1W3 */
                    PAR [0x0C] = C1W4 /* \C1W4 */
                    PAR [0x0D] = C1W5 /* \C1W5 */
                    PAR [0x0E] = C1CS /* \C1CS */
                    Return (PAR) /* \_SB_.PC00.DSC1.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C1GP) /* \C1GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C1F0, ((0x20 * C1G0) + C1P0), C1I0, C1A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C1F1, ((0x20 * C1G1) + C1P1), C1I1, C1A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C1F2, ((0x20 * C1G2) + C1P2), C1I2, C1A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C1F3, ((0x20 * C1G3) + C1P3), C1I3, C1A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C1F4, ((0x20 * C1G4) + C1P4), C1I4, C1A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C1F5, ((0x20 * C1G5) + C1P5), C1I5, C1A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC2)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x02)  // _UID: Unique ID
                If ((C2GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C2GP > Zero))
                        {
                            Local0 = PINR (C2P0, C2C0, C2G0)
                        }

                        If ((C2GP > One))
                        {
                            Local1 = PINR (C2P1, C2C1, C2G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x02))
                        {
                            Local1 = PINR (C2P2, C2C2, C2G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x03))
                        {
                            Local1 = PINR (C2P3, C2C3, C2G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x04))
                        {
                            Local1 = PINR (C2P4, C2C4, C2G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x05))
                        {
                            Local1 = PINR (C2P5, C2C5, C2G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL02)
                    {
                        If ((C2TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C2VE /* \C2VE */
                    PAR [One] = C2TP /* \C2TP */
                    PAR [0x03] = C2CV /* \C2CV */
                    PAR [0x04] = C2IC /* \C2IC */
                    PAR [0x06] = C2SP /* \C2SP */
                    PAR [0x08] = C2W0 /* \C2W0 */
                    PAR [0x09] = C2W1 /* \C2W1 */
                    PAR [0x0A] = C2W2 /* \C2W2 */
                    PAR [0x0B] = C2W3 /* \C2W3 */
                    PAR [0x0C] = C2W4 /* \C2W4 */
                    PAR [0x0D] = C2W5 /* \C2W5 */
                    PAR [0x0E] = C2CS /* \C2CS */
                    Return (PAR) /* \_SB_.PC00.DSC2.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C2GP) /* \C2GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C2F0, ((0x20 * C2G0) + C2P0), C2I0, C2A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C2F1, ((0x20 * C2G1) + C2P1), C2I1, C2A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C2F2, ((0x20 * C2G2) + C2P2), C2I2, C2A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C2F3, ((0x20 * C2G3) + C2P3), C2I3, C2A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C2F4, ((0x20 * C2G4) + C2P4), C2I4, C2A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C2F5, ((0x20 * C2G5) + C2P5), C2I5, C2A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC3)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x03)  // _UID: Unique ID
                If ((C3GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C3GP > Zero))
                        {
                            Local0 = PINR (C3P0, C3C0, C3G0)
                        }

                        If ((C3GP > One))
                        {
                            Local1 = PINR (C3P1, C3C1, C3G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x02))
                        {
                            Local1 = PINR (C3P2, C3C2, C3G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x03))
                        {
                            Local1 = PINR (C3P3, C3C3, C3G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x04))
                        {
                            Local1 = PINR (C3P4, C3C4, C3G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x05))
                        {
                            Local1 = PINR (C3P5, C3C5, C3G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL03)
                    {
                        If ((C3TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C3VE /* \C3VE */
                    PAR [One] = C3TP /* \C3TP */
                    PAR [0x03] = C3CV /* \C3CV */
                    PAR [0x04] = C3IC /* \C3IC */
                    PAR [0x06] = C3SP /* \C3SP */
                    PAR [0x08] = C3W0 /* \C3W0 */
                    PAR [0x09] = C3W1 /* \C3W1 */
                    PAR [0x0A] = C3W2 /* \C3W2 */
                    PAR [0x0B] = C3W3 /* \C3W3 */
                    PAR [0x0C] = C3W4 /* \C3W4 */
                    PAR [0x0D] = C3W5 /* \C3W5 */
                    PAR [0x0E] = C3CS /* \C3CS */
                    Return (PAR) /* \_SB_.PC00.DSC3.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C3GP) /* \C3GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C3F0, ((0x20 * C3G0) + C3P0), C3I0, C3A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C3F1, ((0x20 * C3G1) + C3P1), C3I1, C3A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C3F2, ((0x20 * C3G2) + C3P2), C3I2, C3A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C3F3, ((0x20 * C3G3) + C3P3), C3I3, C3A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C3F4, ((0x20 * C3G4) + C3P4), C3I4, C3A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C3F5, ((0x20 * C3G5) + C3P5), C3I5, C3A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC4)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x04)  // _UID: Unique ID
                If ((C4GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C4GP > Zero))
                        {
                            Local0 = PINR (C4P0, C4C0, C4G0)
                        }

                        If ((C4GP > One))
                        {
                            Local1 = PINR (C4P1, C4C1, C4G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x02))
                        {
                            Local1 = PINR (C4P2, C4C2, C4G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x03))
                        {
                            Local1 = PINR (C4P3, C4C3, C4G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x04))
                        {
                            Local1 = PINR (C4P4, C4C4, C4G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x05))
                        {
                            Local1 = PINR (C4P5, C4C5, C4G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL04)
                    {
                        If ((C4TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C4VE /* \C4VE */
                    PAR [One] = C4TP /* \C4TP */
                    PAR [0x03] = C4CV /* \C4CV */
                    PAR [0x04] = C4IC /* \C4IC */
                    PAR [0x06] = C4SP /* \C4SP */
                    PAR [0x08] = C4W0 /* \C4W0 */
                    PAR [0x09] = C4W1 /* \C4W1 */
                    PAR [0x0A] = C4W2 /* \C4W2 */
                    PAR [0x0B] = C4W3 /* \C4W3 */
                    PAR [0x0C] = C4W4 /* \C4W4 */
                    PAR [0x0D] = C4W5 /* \C4W5 */
                    PAR [0x0E] = C4CS /* \C4CS */
                    Return (PAR) /* \_SB_.PC00.DSC4.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C4GP) /* \C4GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C4F0, ((0x20 * C4G0) + C4P0), C4I0, C4A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C4F1, ((0x20 * C4G1) + C4P1), C4I1, C4A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C4F2, ((0x20 * C4G2) + C4P2), C4I2, C4A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C4F3, ((0x20 * C4G3) + C4P3), C4I3, C4A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C4F4, ((0x20 * C4G4) + C4P4), C4I4, C4A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C4F5, ((0x20 * C4G5) + C4P5), C4I5, C4A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (DSC5)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x05)  // _UID: Unique ID
                If ((C5GP != Zero))
                {
                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                    {
                        If ((C5GP > Zero))
                        {
                            Local0 = PINR (C5P0, C5C0, C5G0)
                        }

                        If ((C5GP > One))
                        {
                            Local1 = PINR (C5P1, C5C1, C5G1)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x02))
                        {
                            Local1 = PINR (C5P2, C5C2, C5G2)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x03))
                        {
                            Local1 = PINR (C5P3, C5C3, C5G3)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x04))
                        {
                            Local1 = PINR (C5P4, C5C4, C5G4)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x05))
                        {
                            Local1 = PINR (C5P5, C5C5, C5G5)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL05)
                    {
                        If ((C5TP == One))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C5VE /* \C5VE */
                    PAR [One] = C5TP /* \C5TP */
                    PAR [0x03] = C5CV /* \C5CV */
                    PAR [0x04] = C5IC /* \C5IC */
                    PAR [0x06] = C5SP /* \C5SP */
                    PAR [0x08] = C5W0 /* \C5W0 */
                    PAR [0x09] = C5W1 /* \C5W1 */
                    PAR [0x0A] = C5W2 /* \C5W2 */
                    PAR [0x0B] = C5W3 /* \C5W3 */
                    PAR [0x0C] = C5W4 /* \C5W4 */
                    PAR [0x0D] = C5W5 /* \C5W5 */
                    PAR [0x0E] = C5CS /* \C5CS */
                    Return (PAR) /* \_SB_.PC00.DSC5.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C5GP) /* \C5GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C5F0, ((0x20 * C5G0) + C5P0), C5I0, C5A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C5F1, ((0x20 * C5G1) + C5P1), C5I1, C5A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C5F2, ((0x20 * C5G2) + C5P2), C5I2, C5A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C5F3, ((0x20 * C5G3) + C5P3), C5I3, C5A3))
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (GPPI (C5F4, ((0x20 * C5G4) + C5P4), C5I4, C5A4))
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (GPPI (C5F5, ((0x20 * C5G5) + C5P5), C5I5, C5A5))
                        }
                    }

                    If ((PCHS != 0x04))
                    {
                        If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    One])))
                                ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                    0x02])))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP0)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL00)
                    {
                        If ((C0IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C0IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_UID, 0x0A)  // _UID: Unique ID
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C0IA, C0IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL00)
                    {
                        If (((C0TP > One) && (C0TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C0VE /* \C0VE */
                    PAR [One] = C0TP /* \C0TP */
                    PAR [0x03] = C0CV /* \C0CV */
                    PAR [0x04] = C0IC /* \C0IC */
                    PAR [0x06] = C0SP /* \C0SP */
                    PAR [0x08] = C0W0 /* \C0W0 */
                    PAR [0x09] = C0W1 /* \C0W1 */
                    PAR [0x0A] = C0W2 /* \C0W2 */
                    PAR [0x0B] = C0W3 /* \C0W3 */
                    PAR [0x0C] = C0W4 /* \C0W4 */
                    PAR [0x0D] = C0W5 /* \C0W5 */
                    Return (PAR) /* \_SB_.PC00.CLP0.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C0PL /* \C0PL */
                    Return (PLDB) /* \_SB_.PC00.CLP0._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C0IA, Zero, C0IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C0IA, Zero, C0IB)
                            Return (DSMB) /* \_SB_.PC00.CLP0._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP1)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL01)
                    {
                        If ((C1IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C1IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0B)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C1IA, C1IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL01)
                    {
                        If (((C1TP > One) && (C1TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C1VE /* \C1VE */
                    PAR [One] = C1TP /* \C1TP */
                    PAR [0x03] = C1CV /* \C1CV */
                    PAR [0x04] = C1IC /* \C1IC */
                    PAR [0x06] = C1SP /* \C1SP */
                    PAR [0x08] = C1W0 /* \C1W0 */
                    PAR [0x09] = C1W1 /* \C1W1 */
                    PAR [0x0A] = C1W2 /* \C1W2 */
                    PAR [0x0B] = C1W3 /* \C1W3 */
                    PAR [0x0C] = C1W4 /* \C1W4 */
                    PAR [0x0D] = C1W5 /* \C1W5 */
                    Return (PAR) /* \_SB_.PC00.CLP1.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C1PL /* \C1PL */
                    Return (PLDB) /* \_SB_.PC00.CLP1._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C1IA, Zero, C1IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C1IA, Zero, C1IB)
                            Return (DSMB) /* \_SB_.PC00.CLP1._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP2)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL02)
                    {
                        If ((C2IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C2IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0C)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C2IA, C2IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL02)
                    {
                        If (((C2TP > One) && (C2TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C2VE /* \C2VE */
                    PAR [One] = C2TP /* \C2TP */
                    PAR [0x03] = C2CV /* \C2CV */
                    PAR [0x04] = C2IC /* \C2IC */
                    PAR [0x06] = C2SP /* \C2SP */
                    PAR [0x08] = C2W0 /* \C2W0 */
                    PAR [0x09] = C2W1 /* \C2W1 */
                    PAR [0x0A] = C2W2 /* \C2W2 */
                    PAR [0x0B] = C2W3 /* \C2W3 */
                    PAR [0x0C] = C2W4 /* \C2W4 */
                    PAR [0x0D] = C2W5 /* \C2W5 */
                    Return (PAR) /* \_SB_.PC00.CLP2.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C2PL /* \C2PL */
                    Return (PLDB) /* \_SB_.PC00.CLP2._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C2IA, Zero, C2IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C2IA, Zero, C2IB)
                            Return (DSMB) /* \_SB_.PC00.CLP2._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP3)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL03)
                    {
                        If ((C3IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C3IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0D)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C3IA, C3IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL03)
                    {
                        If (((C3TP > One) && (C3TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C3VE /* \C3VE */
                    PAR [One] = C3TP /* \C3TP */
                    PAR [0x03] = C3CV /* \C3CV */
                    PAR [0x04] = C3IC /* \C3IC */
                    PAR [0x06] = C3SP /* \C3SP */
                    PAR [0x08] = C3W0 /* \C3W0 */
                    PAR [0x09] = C3W1 /* \C3W1 */
                    PAR [0x0A] = C3W2 /* \C3W2 */
                    PAR [0x0B] = C3W3 /* \C3W3 */
                    PAR [0x0C] = C3W4 /* \C3W4 */
                    PAR [0x0D] = C3W5 /* \C3W5 */
                    Return (PAR) /* \_SB_.PC00.CLP3.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C3PL /* \C3PL */
                    Return (PLDB) /* \_SB_.PC00.CLP3._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C3IA, Zero, C3IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C3IA, Zero, C3IB)
                            Return (DSMB) /* \_SB_.PC00.CLP3._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP4)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL04)
                    {
                        If ((C4IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C4IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0E)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C4IA, C4IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL04)
                    {
                        If (((C4TP > One) && (C4TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C4VE /* \C4VE */
                    PAR [One] = C4TP /* \C4TP */
                    PAR [0x03] = C4CV /* \C4CV */
                    PAR [0x04] = C4IC /* \C4IC */
                    PAR [0x06] = C4SP /* \C4SP */
                    PAR [0x08] = C4W0 /* \C4W0 */
                    PAR [0x09] = C4W1 /* \C4W1 */
                    PAR [0x0A] = C4W2 /* \C4W2 */
                    PAR [0x0B] = C4W3 /* \C4W3 */
                    PAR [0x0C] = C4W4 /* \C4W4 */
                    PAR [0x0D] = C4W5 /* \C4W5 */
                    Return (PAR) /* \_SB_.PC00.CLP4.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C4PL /* \C4PL */
                    Return (PLDB) /* \_SB_.PC00.CLP4._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C4IA, Zero, C4IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C4IA, Zero, C4IB)
                            Return (DSMB) /* \_SB_.PC00.CLP4._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (CLP5)
            {
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (CL05)
                    {
                        If ((C5IB == 0x02))
                        {
                            Return (Package (0x01)
                            {
                                I2C2
                            })
                        }

                        If ((C5IB == 0x03))
                        {
                            Return (Package (0x01)
                            {
                                I2C3
                            })
                        }
                    }

                    Return (Package (0x01)
                    {
                        PC00
                    })
                }

                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG")  // _DDN: DOS Device Name
                Name (_UID, 0x0F)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (IICB (C5IA, C5IB))
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL05)
                    {
                        If (((C5TP > One) && (C5TP != 0x05)))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C5VE /* \C5VE */
                    PAR [One] = C5TP /* \C5TP */
                    PAR [0x03] = C5CV /* \C5CV */
                    PAR [0x04] = C5IC /* \C5IC */
                    PAR [0x06] = C5SP /* \C5SP */
                    PAR [0x08] = C5W0 /* \C5W0 */
                    PAR [0x09] = C5W1 /* \C5W1 */
                    PAR [0x0A] = C5W2 /* \C5W2 */
                    PAR [0x0B] = C5W3 /* \C5W3 */
                    PAR [0x0C] = C5W4 /* \C5W4 */
                    PAR [0x0D] = C5W5 /* \C5W5 */
                    Return (PAR) /* \_SB_.PC00.CLP5.CLDB.PAR_ */
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x29, 0x0D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // ).......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    BPOS = C5PL /* \C5PL */
                    Return (PLDB) /* \_SB_.PC00.CLP5._PLD.PLDB */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x07                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (0x0B, C5IA, Zero, C5IB))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            I2CC = One
                            DEV0 = DSMI (0x0B, C5IA, Zero, C5IB)
                            Return (DSMB) /* \_SB_.PC00.CLP5._DSM.DSMB */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH0)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH0")  // _DDN: DOS Device Name
                Name (_UID, 0x14)  // _UID: Unique ID
                If ((C0GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C0GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #1 is selected !!", ToHexString (C0F0)))
                            Switch (ToInteger (C0F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P0, C0C0, C0G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P0, C0C0, C0G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P0, C0C0, C0G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C0GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #2 is selected !!", ToHexString (C0F1)))
                            Switch (ToInteger (C0F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P1, C0C1, C0G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P1, C0C1, C0G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P1, C0C1, C0G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #3 is selected !!", ToHexString (C0F2)))
                            Switch (ToInteger (C0F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P2, C0C2, C0G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P2, C0C2, C0G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P2, C0C2, C0G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C0GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 0 Input pin #4 is selected !!", ToHexString (C0F3)))
                            Switch (ToInteger (C0F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C0P3, C0C3, C0G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C0P3, C0C3, C0G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C0P3, C0C3, C0G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL00)
                    {
                        If ((C0TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C0VE /* \C0VE */
                    PAR [One] = C0TP /* \C0TP */
                    PAR [0x03] = C0CV /* \C0CV */
                    Return (PAR) /* \_SB_.PC00.LTH0.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C0GP) /* \C0GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C0F0, ((0x20 * C0G0) + C0P0), C0I0, C0A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C0F1, ((0x20 * C0G1) + C0P1), C0I1, C0A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C0F2, ((0x20 * C0G2) + C0P2), C0I2, C0A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C0F3, ((0x20 * C0G3) + C0P3), C0I3, C0A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH1)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH1")  // _DDN: DOS Device Name
                Name (_UID, 0x15)  // _UID: Unique ID
                If ((C1GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C1GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #1 is selected !!", ToHexString (C1F0)))
                            Switch (ToInteger (C1F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P0, C1C0, C1G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P0, C1C0, C1G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P0, C1C0, C1G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C1GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #2 is selected !!", ToHexString (C1F1)))
                            Switch (ToInteger (C1F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P1, C1C1, C1G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P1, C1C1, C1G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P1, C1C1, C1G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #3 is selected !!", ToHexString (C1F2)))
                            Switch (ToInteger (C1F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P2, C1C2, C1G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P2, C1C2, C1G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P2, C1C2, C1G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C1GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 1 Input pin #4 is selected !!", ToHexString (C1F3)))
                            Switch (ToInteger (C1F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C1P3, C1C3, C1G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C1P3, C1C3, C1G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C1P3, C1C3, C1G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL01)
                    {
                        If ((C1TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C1VE /* \C1VE */
                    PAR [One] = C1TP /* \C1TP */
                    PAR [0x03] = C1CV /* \C1CV */
                    Return (PAR) /* \_SB_.PC00.LTH1.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C1GP) /* \C1GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C1F0, ((0x20 * C1G0) + C1P0), C1I0, C1A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C1F1, ((0x20 * C1G1) + C1P1), C1I1, C1A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C1F2, ((0x20 * C1G2) + C1P2), C1I2, C1A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C1F3, ((0x20 * C1G3) + C1P3), C1I3, C1A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH2)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH2")  // _DDN: DOS Device Name
                Name (_UID, 0x16)  // _UID: Unique ID
                If ((C2GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C2GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #1 is selected !!", ToHexString (C2F0)))
                            Switch (ToInteger (C2F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P0, C2C0, C2G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P0, C2C0, C2G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P0, C2C0, C2G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C2GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #2 is selected !!", ToHexString (C2F1)))
                            Switch (ToInteger (C2F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P1, C2C1, C2G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P1, C2C1, C2G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P1, C2C1, C2G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #3 is selected !!", ToHexString (C2F2)))
                            Switch (ToInteger (C2F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P2, C2C2, C2G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P2, C2C2, C2G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P2, C2C2, C2G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C2GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 2 Input pin #4 is selected !!", ToHexString (C2F3)))
                            Switch (ToInteger (C2F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C2P3, C2C3, C2G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C2P3, C2C3, C2G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C2P3, C2C3, C2G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL02)
                    {
                        If ((C2TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C2VE /* \C2VE */
                    PAR [One] = C2TP /* \C2TP */
                    PAR [0x03] = C2CV /* \C2CV */
                    Return (PAR) /* \_SB_.PC00.LTH2.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C2GP) /* \C2GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C2F0, ((0x20 * C2G0) + C2P0), C2I0, C2A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C2F1, ((0x20 * C2G1) + C2P1), C2I1, C2A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C2F2, ((0x20 * C2G2) + C2P2), C2I2, C2A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C2F3, ((0x20 * C2G3) + C2P3), C2I3, C2A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH3)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH3")  // _DDN: DOS Device Name
                Name (_UID, 0x17)  // _UID: Unique ID
                If ((C3GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C3GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #1 is selected !!", ToHexString (C3F0)))
                            Switch (ToInteger (C3F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P0, C3C0, C3G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P0, C3C0, C3G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P0, C3C0, C3G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C3GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #2 is selected !!", ToHexString (C3F1)))
                            Switch (ToInteger (C3F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P1, C3C1, C3G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P1, C3C1, C3G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P1, C3C1, C3G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #3 is selected !!", ToHexString (C3F2)))
                            Switch (ToInteger (C3F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P2, C3C2, C3G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P2, C3C2, C3G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P2, C3C2, C3G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C3GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 3 Input pin #4 is selected !!", ToHexString (C3F3)))
                            Switch (ToInteger (C3F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C3P3, C3C3, C3G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C3P3, C3C3, C3G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C3P3, C3C3, C3G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL03)
                    {
                        If ((C3TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C3VE /* \C3VE */
                    PAR [One] = C3TP /* \C3TP */
                    PAR [0x03] = C3CV /* \C3CV */
                    Return (PAR) /* \_SB_.PC00.LTH3.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C3GP) /* \C3GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C3F0, ((0x20 * C3G0) + C3P0), C3I0, C3A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C3F1, ((0x20 * C3G1) + C3P1), C3I1, C3A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C3F2, ((0x20 * C3G2) + C3P2), C3I2, C3A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C3F3, ((0x20 * C3G3) + C3P3), C3I3, C3A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH4)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH4")  // _DDN: DOS Device Name
                Name (_UID, 0x18)  // _UID: Unique ID
                If ((C4GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C4GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #1 is selected !!", ToHexString (C4F0)))
                            Switch (ToInteger (C4F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P0, C4C0, C4G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P0, C4C0, C4G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P0, C4C0, C4G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C4GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #2 is selected !!", ToHexString (C4F1)))
                            Switch (ToInteger (C4F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P1, C4C1, C4G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P1, C4C1, C4G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P1, C4C1, C4G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #3 is selected !!", ToHexString (C4F2)))
                            Switch (ToInteger (C4F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P2, C4C2, C4G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P2, C4C2, C4G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P2, C4C2, C4G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C4GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 4 Input pin #4 is selected !!", ToHexString (C4F3)))
                            Switch (ToInteger (C4F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C4P3, C4C3, C4G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C4P3, C4C3, C4G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C4P3, C4C3, C4G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL04)
                    {
                        If ((C4TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C4VE /* \C4VE */
                    PAR [One] = C4TP /* \C4TP */
                    PAR [0x03] = C4CV /* \C4CV */
                    Return (PAR) /* \_SB_.PC00.LTH4.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C4GP) /* \C4GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C4F0, ((0x20 * C4G0) + C4P0), C4I0, C4A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C4F1, ((0x20 * C4G1) + C4P1), C4I1, C4A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C4F2, ((0x20 * C4G2) + C4P2), C4I2, C4A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C4F3, ((0x20 * C4G3) + C4P3), C4I3, C4A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LTH5)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-LTH5")  // _DDN: DOS Device Name
                Name (_UID, 0x19)  // _UID: Unique ID
                If ((C5GP != Zero))
                {
                    Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                    {
                        If ((C5GP > Zero))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #1 is selected !!", ToHexString (C5F0)))
                            Switch (ToInteger (C5F0))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P0, C5C0, C5G0)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P0, C5C0, C5G0)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P0, C5C0, C5G0)
                                }

                            }

                            Local0 = Local1
                        }

                        If ((C5GP > One))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #2 is selected !!", ToHexString (C5F1)))
                            Switch (ToInteger (C5F1))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P1, C5C1, C5G1)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P1, C5C1, C5G1)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P1, C5C1, C5G1)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x02))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #3 is selected !!", ToHexString (C5F2)))
                            Switch (ToInteger (C5F2))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P2, C5C2, C5G2)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P2, C5C2, C5G2)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P2, C5C2, C5G2)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((C5GP > 0x03))
                        {
                            ADBG (Concatenate ("Lontium HDMI 5 Input pin #4 is selected !!", ToHexString (C5F3)))
                            Switch (ToInteger (C5F3))
                            {
                                Case (0x13)
                                {
                                    Local1 = PINJ (C5P3, C5C3, C5G3)
                                }
                                Case (0x14)
                                {
                                    Local1 = PINM (C5P3, C5C3, C5G3)
                                }
                                Default
                                {
                                    Local1 = PINR (C5P3, C5C3, C5G3)
                                }

                            }

                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (CL05)
                    {
                        If ((C5TP == 0x05))
                        {
                            Return (0x0F)
                        }
                    }

                    Return (Zero)
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x00, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00,  // ........
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    PAR [Zero] = C5VE /* \C5VE */
                    PAR [One] = C5TP /* \C5TP */
                    PAR [0x03] = C5CV /* \C5CV */
                    Return (PAR) /* \_SB_.PC00.LTH5.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x3F                                             // ?
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (C5GP) /* \C5GP */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (C5F0, ((0x20 * C5G0) + C5P0), C5I0, C5A0))
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (GPPI (C5F1, ((0x20 * C5G1) + C5P1), C5I1, C5A1))
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (GPPI (C5F2, ((0x20 * C5G2) + C5P2), C5I2, C5A2))
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (GPPI (C5F3, ((0x20 * C5G3) + C5P3), C5I3, C5A3))
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("82c0d13a-78c5-4244-9bb1-eb8b539a8d11") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ^^^ICLK.CLKC (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                One])))
                            ^^^ICLK.CLKF (ToInteger (DerefOf (Arg3 [Zero])), ToInteger (DerefOf (Arg3 [
                                0x02])))
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK0)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L0EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L0EN)
                    {
                        Return (CDEP (L0CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, Zero)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (Zero))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (Zero))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L0M0 /* \L0M0 */
                    BUF [One] = L0M1 /* \L0M1 */
                    BUF [0x02] = L0M2 /* \L0M2 */
                    BUF [0x03] = L0M3 /* \L0M3 */
                    BUF [0x04] = L0M4 /* \L0M4 */
                    BUF [0x05] = L0M5 /* \L0M5 */
                    BUF [0x06] = L0M6 /* \L0M6 */
                    BUF [0x07] = L0M7 /* \L0M7 */
                    BUF [0x08] = L0M8 /* \L0M8 */
                    BUF [0x09] = L0M9 /* \L0M9 */
                    BUF [0x0A] = L0MA /* \L0MA */
                    BUF [0x0B] = L0MB /* \L0MB */
                    BUF [0x0C] = L0MC /* \L0MC */
                    BUF [0x0D] = L0MD /* \L0MD */
                    BUF [0x0E] = L0ME /* \L0ME */
                    BUF [0x0F] = L0MF /* \L0MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L0PL /* \L0PL */
                    RPOS = L0DG /* \L0DG */
                    Return (PLDB) /* \_SB_.PC00.LNK0._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L0DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L0DI > Zero))
                        {
                            Local0 = IICB (L0A0, L0BS)
                        }

                        If ((L0DI > One))
                        {
                            Local1 = IICB (L0A1, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x02))
                        {
                            Local1 = IICB (L0A2, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x03))
                        {
                            Local1 = IICB (L0A3, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x04))
                        {
                            Local1 = IICB (L0A4, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x05))
                        {
                            Local1 = IICB (L0A5, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x06))
                        {
                            Local1 = IICB (L0A6, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x07))
                        {
                            Local1 = IICB (L0A7, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x08))
                        {
                            Local1 = IICB (L0A8, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x09))
                        {
                            Local1 = IICB (L0A9, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x0A))
                        {
                            Local1 = IICB (L0AA, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L0DI > 0x0B))
                        {
                            Local1 = IICB (L0AB, L0BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L0DV /* \L0DV */
                    PAR [One] = L0CV /* \L0CV */
                    PAR [0x18] = L0LC /* \L0LC */
                    PAR [0x1C] = L0LU /* \L0LU */
                    PAR [0x1D] = L0NL /* \L0NL */
                    PAR [0x4E] = L0EE /* \L0EE */
                    PAR [0x4F] = L0VC /* \L0VC */
                    PAR [0x52] = L0FS /* \L0FS */
                    PAR [0x53] = L0LE /* \L0LE */
                    PAR [0x54] = CDEG (L0DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L0CK /* \L0CK */
                    PAR [0x5A] = L0CL /* \L0CL */
                    PAR [0x5F] = L0PP /* \L0PP */
                    PAR [0x60] = L0VR /* \L0VR */
                    PAR [0x63] = L0FI /* \L0FI */
                    Return (PAR) /* \_SB_.PC00.LNK0.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L0M0 /* \L0M0 */
                            BUF [One] = L0M1 /* \L0M1 */
                            BUF [0x02] = L0M2 /* \L0M2 */
                            BUF [0x03] = L0M3 /* \L0M3 */
                            BUF [0x04] = L0M4 /* \L0M4 */
                            BUF [0x05] = L0M5 /* \L0M5 */
                            BUF [0x06] = L0M6 /* \L0M6 */
                            BUF [0x07] = L0M7 /* \L0M7 */
                            BUF [0x08] = L0M8 /* \L0M8 */
                            BUF [0x09] = L0M9 /* \L0M9 */
                            BUF [0x0A] = L0MA /* \L0MA */
                            BUF [0x0B] = L0MB /* \L0MB */
                            BUF [0x0C] = L0MC /* \L0MC */
                            BUF [0x0D] = L0MD /* \L0MD */
                            BUF [0x0E] = L0ME /* \L0ME */
                            BUF [0x0F] = L0MF /* \L0MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L0DI /* \L0DI */
                            DEV0 = DSMI (L0D0, L0A0, Zero, L0BS)
                            DEV1 = DSMI (L0D1, L0A1, Zero, L0BS)
                            DEV2 = DSMI (L0D2, L0A2, Zero, L0BS)
                            DEV3 = DSMI (L0D3, L0A3, Zero, L0BS)
                            DEV4 = DSMI (L0D4, L0A4, Zero, L0BS)
                            DEV5 = DSMI (L0D5, L0A5, Zero, L0BS)
                            DEV6 = DSMI (L0D6, L0A6, Zero, L0BS)
                            DEV7 = DSMI (L0D7, L0A7, Zero, L0BS)
                            DEV8 = DSMI (L0D8, L0A8, Zero, L0BS)
                            DEV9 = DSMI (L0D9, L0A9, Zero, L0BS)
                            DEVA = DSMI (L0DA, L0AA, Zero, L0BS)
                            DEVB = DSMI (L0DB, L0AB, Zero, L0BS)
                            Return (DSMB) /* \_SB_.PC00.LNK0._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L0DI) /* \L0DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L0DI > Zero))
                            {
                                Return (DSMI (L0D0, L0A0, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L0DI > One))
                            {
                                Return (DSMI (L0D1, L0A1, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L0DI > 0x02))
                            {
                                Return (DSMI (L0D2, L0A2, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L0DI > 0x03))
                            {
                                Return (DSMI (L0D3, L0A3, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L0DI > 0x04))
                            {
                                Return (DSMI (L0D4, L0A4, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L0DI > 0x05))
                            {
                                Return (DSMI (L0D5, L0A5, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L0DI > 0x06))
                            {
                                Return (DSMI (L0D6, L0A6, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L0DI > 0x07))
                            {
                                Return (DSMI (L0D7, L0A7, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L0DI > 0x08))
                            {
                                Return (DSMI (L0D8, L0A8, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L0DI > 0x09))
                            {
                                Return (DSMI (L0D9, L0A9, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L0DI > 0x0A))
                            {
                                Return (DSMI (L0DA, L0AA, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L0DI > 0x0B))
                            {
                                Return (DSMI (L0DB, L0AB, Zero, L0BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK1)
            {
                Name (CVSB, Package (0x01)
                {
                    "\\_SB.PC00.CVSS"
                })
                Name (PUSB, Package (0x02)
                {
                    "\\_SB.PC00.SPFD.CVFD", 
                    "\\_SB.PC00.XHCI.RHUB.VIC0"
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L1EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L1EN)
                    {
                        If ((CVFS == One))
                        {
                            Return (PUSB) /* \_SB_.PC00.LNK1.PUSB */
                        }
                        ElseIf ((CVFS == 0x02))
                        {
                            Return (CVSB) /* \_SB_.PC00.LNK1.CVSB */
                        }
                        Else
                        {
                            Return (CDEP (L1CL))
                        }
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, One)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (One))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (One))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L1M0 /* \L1M0 */
                    BUF [One] = L1M1 /* \L1M1 */
                    BUF [0x02] = L1M2 /* \L1M2 */
                    BUF [0x03] = L1M3 /* \L1M3 */
                    BUF [0x04] = L1M4 /* \L1M4 */
                    BUF [0x05] = L1M5 /* \L1M5 */
                    BUF [0x06] = L1M6 /* \L1M6 */
                    BUF [0x07] = L1M7 /* \L1M7 */
                    BUF [0x08] = L1M8 /* \L1M8 */
                    BUF [0x09] = L1M9 /* \L1M9 */
                    BUF [0x0A] = L1MA /* \L1MA */
                    BUF [0x0B] = L1MB /* \L1MB */
                    BUF [0x0C] = L1MC /* \L1MC */
                    BUF [0x0D] = L1MD /* \L1MD */
                    BUF [0x0E] = L1ME /* \L1ME */
                    BUF [0x0F] = L1MF /* \L1MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L1PL /* \L1PL */
                    RPOS = L1DG /* \L1DG */
                    Return (PLDB) /* \_SB_.PC00.LNK1._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((CVFS == One))
                    {
                        ADBG ("Returs Virtual I2C when USB based CVF is enabled")
                        Return (VIIC (L1A0, Zero))
                    }

                    If ((L1DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L1DI > Zero))
                        {
                            Local0 = IICB (L1A0, L1BS)
                        }

                        If ((L1DI > One))
                        {
                            Local1 = IICB (L1A1, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x02))
                        {
                            Local1 = IICB (L1A2, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x03))
                        {
                            Local1 = IICB (L1A3, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x04))
                        {
                            Local1 = IICB (L1A4, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x05))
                        {
                            Local1 = IICB (L1A5, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x06))
                        {
                            Local1 = IICB (L1A6, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x07))
                        {
                            Local1 = IICB (L1A7, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x08))
                        {
                            Local1 = IICB (L1A8, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x09))
                        {
                            Local1 = IICB (L1A9, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x0A))
                        {
                            Local1 = IICB (L1AA, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L1DI > 0x0B))
                        {
                            Local1 = IICB (L1AB, L1BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L1DV /* \L1DV */
                    PAR [One] = L1CV /* \L1CV */
                    PAR [0x18] = L1LC /* \L1LC */
                    PAR [0x1C] = L1LU /* \L1LU */
                    PAR [0x1D] = L1NL /* \L1NL */
                    PAR [0x4E] = L1EE /* \L1EE */
                    PAR [0x4F] = L1VC /* \L1VC */
                    PAR [0x52] = L1FS /* \L1FS */
                    PAR [0x53] = L1LE /* \L1LE */
                    PAR [0x54] = CDEG (L1DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L1CK /* \L1CK */
                    PAR [0x5A] = L1CL /* \L1CL */
                    PAR [0x5F] = L1PP /* \L1PP */
                    PAR [0x60] = L1VR /* \L1VR */
                    PAR [0x63] = L1FI /* \L1FI */
                    Return (PAR) /* \_SB_.PC00.LNK1.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L1M0 /* \L1M0 */
                            BUF [One] = L1M1 /* \L1M1 */
                            BUF [0x02] = L1M2 /* \L1M2 */
                            BUF [0x03] = L1M3 /* \L1M3 */
                            BUF [0x04] = L1M4 /* \L1M4 */
                            BUF [0x05] = L1M5 /* \L1M5 */
                            BUF [0x06] = L1M6 /* \L1M6 */
                            BUF [0x07] = L1M7 /* \L1M7 */
                            BUF [0x08] = L1M8 /* \L1M8 */
                            BUF [0x09] = L1M9 /* \L1M9 */
                            BUF [0x0A] = L1MA /* \L1MA */
                            BUF [0x0B] = L1MB /* \L1MB */
                            BUF [0x0C] = L1MC /* \L1MC */
                            BUF [0x0D] = L1MD /* \L1MD */
                            BUF [0x0E] = L1ME /* \L1ME */
                            BUF [0x0F] = L1MF /* \L1MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L1DI /* \L1DI */
                            DEV0 = DSMI (L1D0, L1A0, Zero, L1BS)
                            DEV1 = DSMI (L1D1, L1A1, Zero, L1BS)
                            DEV2 = DSMI (L1D2, L1A2, Zero, L1BS)
                            DEV3 = DSMI (L1D3, L1A3, Zero, L1BS)
                            DEV4 = DSMI (L1D4, L1A4, Zero, L1BS)
                            DEV5 = DSMI (L1D5, L1A5, Zero, L1BS)
                            DEV6 = DSMI (L1D6, L1A6, Zero, L1BS)
                            DEV7 = DSMI (L1D7, L1A7, Zero, L1BS)
                            DEV8 = DSMI (L1D8, L1A8, Zero, L1BS)
                            DEV9 = DSMI (L1D9, L1A9, Zero, L1BS)
                            DEVA = DSMI (L1DA, L1AA, Zero, L1BS)
                            DEVB = DSMI (L1DB, L1AB, Zero, L1BS)
                            Return (DSMB) /* \_SB_.PC00.LNK1._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L1DI) /* \L1DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L1DI > Zero))
                            {
                                Return (DSMI (L1D0, L1A0, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L1DI > One))
                            {
                                Return (DSMI (L1D1, L1A1, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L1DI > 0x02))
                            {
                                Return (DSMI (L1D2, L1A2, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L1DI > 0x03))
                            {
                                Return (DSMI (L1D3, L1A3, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L1DI > 0x04))
                            {
                                Return (DSMI (L1D4, L1A4, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L1DI > 0x05))
                            {
                                Return (DSMI (L1D5, L1A5, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L1DI > 0x06))
                            {
                                Return (DSMI (L1D6, L1A6, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L1DI > 0x07))
                            {
                                Return (DSMI (L1D7, L1A7, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L1DI > 0x08))
                            {
                                Return (DSMI (L1D8, L1A8, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L1DI > 0x09))
                            {
                                Return (DSMI (L1D9, L1A9, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L1DI > 0x0A))
                            {
                                Return (DSMI (L1DA, L1AA, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L1DI > 0x0B))
                            {
                                Return (DSMI (L1DB, L1AB, Zero, L1BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    If ((Arg0 == ToUUID ("02f55f0c-2e63-4f05-84f3-bf1980f9af79") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (CVFS) /* \CVFS */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK2)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L2EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L2EN)
                    {
                        Return (CDEP (L2CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x02)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x02))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x02))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L2M0 /* \L2M0 */
                    BUF [One] = L2M1 /* \L2M1 */
                    BUF [0x02] = L2M2 /* \L2M2 */
                    BUF [0x03] = L2M3 /* \L2M3 */
                    BUF [0x04] = L2M4 /* \L2M4 */
                    BUF [0x05] = L2M5 /* \L2M5 */
                    BUF [0x06] = L2M6 /* \L2M6 */
                    BUF [0x07] = L2M7 /* \L2M7 */
                    BUF [0x08] = L2M8 /* \L2M8 */
                    BUF [0x09] = L2M9 /* \L2M9 */
                    BUF [0x0A] = L2MA /* \L2MA */
                    BUF [0x0B] = L2MB /* \L2MB */
                    BUF [0x0C] = L2MC /* \L2MC */
                    BUF [0x0D] = L2MD /* \L2MD */
                    BUF [0x0E] = L2ME /* \L2ME */
                    BUF [0x0F] = L2MF /* \L2MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L2PL /* \L2PL */
                    RPOS = L2DG /* \L2DG */
                    Return (PLDB) /* \_SB_.PC00.LNK2._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L2DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L2DI > Zero))
                        {
                            Local0 = IICB (L2A0, L2BS)
                        }

                        If ((L2DI > One))
                        {
                            Local1 = IICB (L2A1, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x02))
                        {
                            Local1 = IICB (L2A2, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x03))
                        {
                            Local1 = IICB (L2A3, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x04))
                        {
                            Local1 = IICB (L2A4, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x05))
                        {
                            Local1 = IICB (L2A5, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x06))
                        {
                            Local1 = IICB (L2A6, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x07))
                        {
                            Local1 = IICB (L2A7, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x08))
                        {
                            Local1 = IICB (L2A8, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x09))
                        {
                            Local1 = IICB (L2A9, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x0A))
                        {
                            Local1 = IICB (L2AA, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L2DI > 0x0B))
                        {
                            Local1 = IICB (L2AB, L2BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L2DV /* \L2DV */
                    PAR [One] = L2CV /* \L2CV */
                    PAR [0x18] = L2LC /* \L2LC */
                    PAR [0x1C] = L2LU /* \L2LU */
                    PAR [0x1D] = L2NL /* \L2NL */
                    PAR [0x4E] = L2EE /* \L2EE */
                    PAR [0x4F] = L2VC /* \L2VC */
                    PAR [0x52] = L2FS /* \L2FS */
                    PAR [0x53] = L2LE /* \L2LE */
                    PAR [0x54] = CDEG (L2DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L2CK /* \L2CK */
                    PAR [0x5A] = L2CL /* \L2CL */
                    PAR [0x5F] = L2PP /* \L2PP */
                    PAR [0x60] = L2VR /* \L2VR */
                    PAR [0x63] = L2FI /* \L2FI */
                    Return (PAR) /* \_SB_.PC00.LNK2.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L2M0 /* \L2M0 */
                            BUF [One] = L2M1 /* \L2M1 */
                            BUF [0x02] = L2M2 /* \L2M2 */
                            BUF [0x03] = L2M3 /* \L2M3 */
                            BUF [0x04] = L2M4 /* \L2M4 */
                            BUF [0x05] = L2M5 /* \L2M5 */
                            BUF [0x06] = L2M6 /* \L2M6 */
                            BUF [0x07] = L2M7 /* \L2M7 */
                            BUF [0x08] = L2M8 /* \L2M8 */
                            BUF [0x09] = L2M9 /* \L2M9 */
                            BUF [0x0A] = L2MA /* \L2MA */
                            BUF [0x0B] = L2MB /* \L2MB */
                            BUF [0x0C] = L2MC /* \L2MC */
                            BUF [0x0D] = L2MD /* \L2MD */
                            BUF [0x0E] = L2ME /* \L2ME */
                            BUF [0x0F] = L2MF /* \L2MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L2DI /* \L2DI */
                            DEV0 = DSMI (L2D0, L2A0, Zero, L2BS)
                            DEV1 = DSMI (L2D1, L2A1, Zero, L2BS)
                            DEV2 = DSMI (L2D2, L2A2, Zero, L2BS)
                            DEV3 = DSMI (L2D3, L2A3, Zero, L2BS)
                            DEV4 = DSMI (L2D4, L2A4, Zero, L2BS)
                            DEV5 = DSMI (L2D5, L2A5, Zero, L2BS)
                            DEV6 = DSMI (L2D6, L2A6, Zero, L2BS)
                            DEV7 = DSMI (L2D7, L2A7, Zero, L2BS)
                            DEV8 = DSMI (L2D8, L2A8, Zero, L2BS)
                            DEV9 = DSMI (L2D9, L2A9, Zero, L2BS)
                            DEVA = DSMI (L2DA, L2AA, Zero, L2BS)
                            DEVB = DSMI (L2DB, L2AB, Zero, L2BS)
                            Return (DSMB) /* \_SB_.PC00.LNK2._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L2DI) /* \L2DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L2DI > Zero))
                            {
                                Return (DSMI (L2D0, L2A0, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L2DI > One))
                            {
                                Return (DSMI (L2D1, L2A1, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L2DI > 0x02))
                            {
                                Return (DSMI (L2D2, L2A2, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L2DI > 0x03))
                            {
                                Return (DSMI (L2D3, L2A3, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L2DI > 0x04))
                            {
                                Return (DSMI (L2D4, L2A4, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L2DI > 0x05))
                            {
                                Return (DSMI (L2D5, L2A5, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L2DI > 0x06))
                            {
                                Return (DSMI (L2D6, L2A6, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L2DI > 0x07))
                            {
                                Return (DSMI (L2D7, L2A7, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L2DI > 0x08))
                            {
                                Return (DSMI (L2D8, L2A8, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L2DI > 0x09))
                            {
                                Return (DSMI (L2D9, L2A9, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L2DI > 0x0A))
                            {
                                Return (DSMI (L2DA, L2AA, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L2DI > 0x0B))
                            {
                                Return (DSMI (L2DB, L2AB, Zero, L2BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK3)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L3EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L3EN)
                    {
                        Return (CDEP (L3CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x03)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x03))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x03))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L3M0 /* \L3M0 */
                    BUF [One] = L3M1 /* \L3M1 */
                    BUF [0x02] = L3M2 /* \L3M2 */
                    BUF [0x03] = L3M3 /* \L3M3 */
                    BUF [0x04] = L3M4 /* \L3M4 */
                    BUF [0x05] = L3M5 /* \L3M5 */
                    BUF [0x06] = L3M6 /* \L3M6 */
                    BUF [0x07] = L3M7 /* \L3M7 */
                    BUF [0x08] = L3M8 /* \L3M8 */
                    BUF [0x09] = L3M9 /* \L3M9 */
                    BUF [0x0A] = L3MA /* \L3MA */
                    BUF [0x0B] = L3MB /* \L3MB */
                    BUF [0x0C] = L3MC /* \L3MC */
                    BUF [0x0D] = L3MD /* \L3MD */
                    BUF [0x0E] = L3ME /* \L3ME */
                    BUF [0x0F] = L3MF /* \L3MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L3PL /* \L3PL */
                    RPOS = L3DG /* \L3DG */
                    Return (PLDB) /* \_SB_.PC00.LNK3._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L3DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L3DI > Zero))
                        {
                            Local0 = IICB (L3A0, L3BS)
                        }

                        If ((L3DI > One))
                        {
                            Local1 = IICB (L3A1, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x02))
                        {
                            Local1 = IICB (L3A2, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x03))
                        {
                            Local1 = IICB (L3A3, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x04))
                        {
                            Local1 = IICB (L3A4, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x05))
                        {
                            Local1 = IICB (L3A5, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x06))
                        {
                            Local1 = IICB (L3A6, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x07))
                        {
                            Local1 = IICB (L3A7, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x08))
                        {
                            Local1 = IICB (L3A8, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x09))
                        {
                            Local1 = IICB (L3A9, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x0A))
                        {
                            Local1 = IICB (L3AA, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L3DI > 0x0B))
                        {
                            Local1 = IICB (L3AB, L3BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L3DV /* \L3DV */
                    PAR [One] = L3CV /* \L3CV */
                    PAR [0x18] = L3LC /* \L3LC */
                    PAR [0x1C] = L3LU /* \L3LU */
                    PAR [0x1D] = L3NL /* \L3NL */
                    PAR [0x4E] = L3EE /* \L3EE */
                    PAR [0x4F] = L3VC /* \L3VC */
                    PAR [0x52] = L3FS /* \L3FS */
                    PAR [0x53] = L3LE /* \L3LE */
                    PAR [0x54] = CDEG (L3DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L3CK /* \L3CK */
                    PAR [0x5A] = L3CL /* \L3CL */
                    PAR [0x5F] = L3PP /* \L3PP */
                    PAR [0x60] = L3VR /* \L3VR */
                    PAR [0x63] = L3FI /* \L3FI */
                    Return (PAR) /* \_SB_.PC00.LNK3.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L3M0 /* \L3M0 */
                            BUF [One] = L3M1 /* \L3M1 */
                            BUF [0x02] = L3M2 /* \L3M2 */
                            BUF [0x03] = L3M3 /* \L3M3 */
                            BUF [0x04] = L3M4 /* \L3M4 */
                            BUF [0x05] = L3M5 /* \L3M5 */
                            BUF [0x06] = L3M6 /* \L3M6 */
                            BUF [0x07] = L3M7 /* \L3M7 */
                            BUF [0x08] = L3M8 /* \L3M8 */
                            BUF [0x09] = L3M9 /* \L3M9 */
                            BUF [0x0A] = L3MA /* \L3MA */
                            BUF [0x0B] = L3MB /* \L3MB */
                            BUF [0x0C] = L3MC /* \L3MC */
                            BUF [0x0D] = L3MD /* \L3MD */
                            BUF [0x0E] = L3ME /* \L3ME */
                            BUF [0x0F] = L3MF /* \L3MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L3DI /* \L3DI */
                            DEV0 = DSMI (L3D0, L3A0, Zero, L3BS)
                            DEV1 = DSMI (L3D1, L3A1, Zero, L3BS)
                            DEV2 = DSMI (L3D2, L3A2, Zero, L3BS)
                            DEV3 = DSMI (L3D3, L3A3, Zero, L3BS)
                            DEV4 = DSMI (L3D4, L3A4, Zero, L3BS)
                            DEV5 = DSMI (L3D5, L3A5, Zero, L3BS)
                            DEV6 = DSMI (L3D6, L3A6, Zero, L3BS)
                            DEV7 = DSMI (L3D7, L3A7, Zero, L3BS)
                            DEV8 = DSMI (L3D8, L3A8, Zero, L3BS)
                            DEV9 = DSMI (L3D9, L3A9, Zero, L3BS)
                            DEVA = DSMI (L3DA, L3AA, Zero, L3BS)
                            DEVB = DSMI (L3DB, L3AB, Zero, L3BS)
                            Return (DSMB) /* \_SB_.PC00.LNK3._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L3DI) /* \L3DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L3DI > Zero))
                            {
                                Return (DSMI (L3D0, L3A0, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L3DI > One))
                            {
                                Return (DSMI (L3D1, L3A1, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L3DI > 0x02))
                            {
                                Return (DSMI (L3D2, L3A2, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L3DI > 0x03))
                            {
                                Return (DSMI (L3D3, L3A3, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L3DI > 0x04))
                            {
                                Return (DSMI (L3D4, L3A4, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L3DI > 0x05))
                            {
                                Return (DSMI (L3D5, L3A5, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L3DI > 0x06))
                            {
                                Return (DSMI (L3D6, L3A6, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L3DI > 0x07))
                            {
                                Return (DSMI (L3D7, L3A7, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L3DI > 0x08))
                            {
                                Return (DSMI (L3D8, L3A8, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L3DI > 0x09))
                            {
                                Return (DSMI (L3D9, L3A9, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L3DI > 0x0A))
                            {
                                Return (DSMI (L3DA, L3AA, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L3DI > 0x0B))
                            {
                                Return (DSMI (L3DB, L3AB, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK4)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L4EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L4EN)
                    {
                        Return (CDEP (L4CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x04)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x04))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x04))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L4M0 /* \L4M0 */
                    BUF [One] = L4M1 /* \L4M1 */
                    BUF [0x02] = L4M2 /* \L4M2 */
                    BUF [0x03] = L4M3 /* \L4M3 */
                    BUF [0x04] = L4M4 /* \L4M4 */
                    BUF [0x05] = L4M5 /* \L4M5 */
                    BUF [0x06] = L4M6 /* \L4M6 */
                    BUF [0x07] = L4M7 /* \L4M7 */
                    BUF [0x08] = L4M8 /* \L4M8 */
                    BUF [0x09] = L4M9 /* \L4M9 */
                    BUF [0x0A] = L4MA /* \L4MA */
                    BUF [0x0B] = L4MB /* \L4MB */
                    BUF [0x0C] = L4MC /* \L4MC */
                    BUF [0x0D] = L4MD /* \L4MD */
                    BUF [0x0E] = L4ME /* \L4ME */
                    BUF [0x0F] = L4MF /* \L4MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L4PL /* \L4PL */
                    RPOS = L4DG /* \L4DG */
                    Return (PLDB) /* \_SB_.PC00.LNK4._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L4DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L4DI > Zero))
                        {
                            Local0 = IICB (L4A0, L4BS)
                        }

                        If ((L4DI > One))
                        {
                            Local1 = IICB (L4A1, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x02))
                        {
                            Local1 = IICB (L4A2, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x03))
                        {
                            Local1 = IICB (L4A3, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x04))
                        {
                            Local1 = IICB (L4A4, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x05))
                        {
                            Local1 = IICB (L4A5, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x06))
                        {
                            Local1 = IICB (L4A6, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x07))
                        {
                            Local1 = IICB (L4A7, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x08))
                        {
                            Local1 = IICB (L4A8, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x09))
                        {
                            Local1 = IICB (L4A9, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x0A))
                        {
                            Local1 = IICB (L4AA, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L4DI > 0x0B))
                        {
                            Local1 = IICB (L4AB, L4BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L4DV /* \L4DV */
                    PAR [One] = L4CV /* \L4CV */
                    PAR [0x18] = L4LC /* \L4LC */
                    PAR [0x1C] = L4LU /* \L4LU */
                    PAR [0x1D] = L4NL /* \L4NL */
                    PAR [0x4E] = L4EE /* \L4EE */
                    PAR [0x4F] = L4VC /* \L4VC */
                    PAR [0x52] = L4FS /* \L4FS */
                    PAR [0x53] = L4LE /* \L4LE */
                    PAR [0x54] = CDEG (L4DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L4CK /* \L4CK */
                    PAR [0x5A] = L4CL /* \L4CL */
                    PAR [0x5F] = L4PP /* \L4PP */
                    PAR [0x60] = L4VR /* \L4VR */
                    PAR [0x63] = L4FI /* \L4FI */
                    Return (PAR) /* \_SB_.PC00.LNK4.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L4M0 /* \L4M0 */
                            BUF [One] = L4M1 /* \L4M1 */
                            BUF [0x02] = L4M2 /* \L4M2 */
                            BUF [0x03] = L4M3 /* \L4M3 */
                            BUF [0x04] = L4M4 /* \L4M4 */
                            BUF [0x05] = L4M5 /* \L4M5 */
                            BUF [0x06] = L4M6 /* \L4M6 */
                            BUF [0x07] = L4M7 /* \L4M7 */
                            BUF [0x08] = L4M8 /* \L4M8 */
                            BUF [0x09] = L4M9 /* \L4M9 */
                            BUF [0x0A] = L4MA /* \L4MA */
                            BUF [0x0B] = L4MB /* \L4MB */
                            BUF [0x0C] = L4MC /* \L4MC */
                            BUF [0x0D] = L4MD /* \L4MD */
                            BUF [0x0E] = L4ME /* \L4ME */
                            BUF [0x0F] = L4MF /* \L4MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L4DI /* \L4DI */
                            DEV0 = DSMI (L4D0, L4A0, Zero, L4BS)
                            DEV1 = DSMI (L4D1, L4A1, Zero, L4BS)
                            DEV2 = DSMI (L4D2, L4A2, Zero, L4BS)
                            DEV3 = DSMI (L4D3, L4A3, Zero, L4BS)
                            DEV4 = DSMI (L4D4, L4A4, Zero, L4BS)
                            DEV5 = DSMI (L4D5, L4A5, Zero, L4BS)
                            DEV6 = DSMI (L4D6, L4A6, Zero, L4BS)
                            DEV7 = DSMI (L4D7, L4A7, Zero, L4BS)
                            DEV8 = DSMI (L4D8, L4A8, Zero, L4BS)
                            DEV9 = DSMI (L4D9, L4A9, Zero, L4BS)
                            DEVA = DSMI (L4DA, L4AA, Zero, L4BS)
                            DEVB = DSMI (L4DB, L4AB, Zero, L4BS)
                            Return (DSMB) /* \_SB_.PC00.LNK4._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L4DI) /* \L4DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L4DI > Zero))
                            {
                                Return (DSMI (L4D0, L4A0, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L4DI > One))
                            {
                                Return (DSMI (L4D1, L4A1, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L4DI > 0x02))
                            {
                                Return (DSMI (L4D2, L4A2, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L4DI > 0x03))
                            {
                                Return (DSMI (L4D3, L4A3, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L4DI > 0x04))
                            {
                                Return (DSMI (L4D4, L4A4, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L4DI > 0x05))
                            {
                                Return (DSMI (L4D5, L4A5, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L4DI > 0x06))
                            {
                                Return (DSMI (L4D6, L4A6, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L4DI > 0x07))
                            {
                                Return (DSMI (L4D7, L3A7, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L4DI > 0x08))
                            {
                                Return (DSMI (L4D8, L3A8, Zero, L3BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L4DI > 0x09))
                            {
                                Return (DSMI (L4D9, L4A9, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L4DI > 0x0A))
                            {
                                Return (DSMI (L4DA, L4AA, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L4DI > 0x0B))
                            {
                                Return (DSMI (L4DB, L4AB, Zero, L4BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (LNK5)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L5EN)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L5EN)
                    {
                        Return (CDEP (L5CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            PC00
                        })
                    }
                }

                Name (_UID, 0x05)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (HCID (0x05))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (HCID (0x05))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = L5M0 /* \L5M0 */
                    BUF [One] = L5M1 /* \L5M1 */
                    BUF [0x02] = L5M2 /* \L5M2 */
                    BUF [0x03] = L5M3 /* \L5M3 */
                    BUF [0x04] = L5M4 /* \L5M4 */
                    BUF [0x05] = L5M5 /* \L5M5 */
                    BUF [0x06] = L5M6 /* \L5M6 */
                    BUF [0x07] = L5M7 /* \L5M7 */
                    BUF [0x08] = L5M8 /* \L5M8 */
                    BUF [0x09] = L5M9 /* \L5M9 */
                    BUF [0x0A] = L5MA /* \L5MA */
                    BUF [0x0B] = L5MB /* \L5MB */
                    BUF [0x0C] = L5MC /* \L5MC */
                    BUF [0x0D] = L5MD /* \L5MD */
                    BUF [0x0E] = L5ME /* \L5ME */
                    BUF [0x0F] = L5MF /* \L5MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0E, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    CreateByteField (DerefOf (PLDB [Zero]), 0x08, BPOS)
                    CreateField (DerefOf (PLDB [Zero]), 0x73, 0x04, RPOS)
                    BPOS = L5PL /* \L5PL */
                    RPOS = L5DG /* \L5DG */
                    Return (PLDB) /* \_SB_.PC00.LNK5._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((L5DI == Zero))
                    {
                        Return (Buffer (Zero){})
                    }
                    Else
                    {
                        If ((L5DI > Zero))
                        {
                            Local0 = IICB (L5A0, L5BS)
                        }

                        If ((L5DI > One))
                        {
                            Local1 = IICB (L5A1, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x02))
                        {
                            Local1 = IICB (L5A2, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x03))
                        {
                            Local1 = IICB (L5A3, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x04))
                        {
                            Local1 = IICB (L5A4, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x05))
                        {
                            Local1 = IICB (L5A5, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x06))
                        {
                            Local1 = IICB (L5A6, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x07))
                        {
                            Local1 = IICB (L5A7, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x08))
                        {
                            Local1 = IICB (L5A8, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x09))
                        {
                            Local1 = IICB (L5A9, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x0A))
                        {
                            Local1 = IICB (L5AA, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        If ((L5DI > 0x0B))
                        {
                            Local1 = IICB (L5AB, L5BS)
                            ConcatenateResTemplate (Local0, Local1, Local2)
                            Local0 = Local2
                        }

                        Return (Local0)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x00, 0x69, 0x56, 0x39, 0x8A, 0xF7, 0x11,  // ..iV9...
                        /* 0008 */  0xA9, 0x4E, 0x9C, 0x7D, 0x20, 0xEE, 0x0A, 0xB5,  // .N.} ...
                        /* 0010 */  0xCA, 0x40, 0xA3, 0x00, 0x00, 0x00, 0x00, 0x00,  // .@......
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,  // ........
                        /* 0058 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0060 */  0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    PAR [Zero] = L5DV /* \L5DV */
                    PAR [One] = L5CV /* \L5CV */
                    PAR [0x18] = L5LC /* \L5LC */
                    PAR [0x1C] = L5LU /* \L5LU */
                    PAR [0x1D] = L5NL /* \L5NL */
                    PAR [0x4E] = L5EE /* \L5EE */
                    PAR [0x4F] = L5VC /* \L5VC */
                    PAR [0x52] = L5FS /* \L5FS */
                    PAR [0x53] = L5LE /* \L5LE */
                    PAR [0x54] = CDEG (L5DG)
                    CreateDWordField (PAR, 0x56, DAT)
                    DAT = L5CK /* \L5CK */
                    PAR [0x5A] = L5CL /* \L5CL */
                    PAR [0x5F] = L5PP /* \L5PP */
                    PAR [0x60] = L5VR /* \L5VR */
                    PAR [0x63] = L5FI /* \L5FI */
                    Return (PAR) /* \_SB_.PC00.LNK5.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (BUF, Buffer (0x10){})
                            BUF [Zero] = L5M0 /* \L5M0 */
                            BUF [One] = L5M1 /* \L5M1 */
                            BUF [0x02] = L5M2 /* \L5M2 */
                            BUF [0x03] = L5M3 /* \L5M3 */
                            BUF [0x04] = L5M4 /* \L5M4 */
                            BUF [0x05] = L5M5 /* \L5M5 */
                            BUF [0x06] = L5M6 /* \L5M6 */
                            BUF [0x07] = L5M7 /* \L5M7 */
                            BUF [0x08] = L5M8 /* \L5M8 */
                            BUF [0x09] = L5M9 /* \L5M9 */
                            BUF [0x0A] = L5MA /* \L5MA */
                            BUF [0x0B] = L5MB /* \L5MB */
                            BUF [0x0C] = L5MC /* \L5MC */
                            BUF [0x0D] = L5MD /* \L5MD */
                            BUF [0x0E] = L5ME /* \L5ME */
                            BUF [0x0F] = L5MF /* \L5MF */
                            Return (ToString (BUF, Ones))
                        }
                    }

                    If ((Arg0 == ToUUID ("5815c5c8-c47d-477b-9a8d-76173176414b") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Return (Buffer (One)
                                {
                                     0x03                                             // .
                                })
                            }
                            Else
                            {
                                Return (Buffer (One)
                                {
                                     0x01                                             // .
                                })
                            }
                        }

                        If ((Arg2 == One))
                        {
                            Name (DSMB, Buffer (0x34){})
                            CreateDWordField (DSMB, Zero, I2CC)
                            CreateDWordField (DSMB, 0x04, DEV0)
                            CreateDWordField (DSMB, 0x08, DEV1)
                            CreateDWordField (DSMB, 0x0C, DEV2)
                            CreateDWordField (DSMB, 0x10, DEV3)
                            CreateDWordField (DSMB, 0x14, DEV4)
                            CreateDWordField (DSMB, 0x18, DEV5)
                            CreateDWordField (DSMB, 0x1C, DEV6)
                            CreateDWordField (DSMB, 0x20, DEV7)
                            CreateDWordField (DSMB, 0x24, DEV8)
                            CreateDWordField (DSMB, 0x28, DEV9)
                            CreateDWordField (DSMB, 0x2C, DEVA)
                            CreateDWordField (DSMB, 0x30, DEVB)
                            I2CC = L5DI /* \L5DI */
                            DEV0 = DSMI (L5D0, L5A0, Zero, L5BS)
                            DEV1 = DSMI (L5D1, L5A1, Zero, L5BS)
                            DEV2 = DSMI (L5D2, L5A2, Zero, L5BS)
                            DEV3 = DSMI (L5D3, L5A3, Zero, L5BS)
                            DEV4 = DSMI (L5D4, L5A4, Zero, L5BS)
                            DEV5 = DSMI (L5D5, L5A5, Zero, L5BS)
                            DEV6 = DSMI (L5D6, L5A6, Zero, L5BS)
                            DEV7 = DSMI (L5D7, L5A7, Zero, L5BS)
                            DEV8 = DSMI (L5D8, L5A8, Zero, L5BS)
                            DEV9 = DSMI (L5D9, L5A9, Zero, L5BS)
                            DEVA = DSMI (L5DA, L5AA, Zero, L5BS)
                            DEVB = DSMI (L5DB, L5AB, Zero, L5BS)
                            Return (DSMB) /* \_SB_.PC00.LNK5._DSM.DSMB */
                        }

                        Return (Buffer (One)
                        {
                             0x00                                             // .
                        })
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (0x02)
                            {
                                 0xFF, 0x1F                                       // ..
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L5DI) /* \L5DI */
                        }

                        If ((Arg2 == 0x02))
                        {
                            If ((L5DI > Zero))
                            {
                                Return (DSMI (L5D0, L5A0, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x03))
                        {
                            If ((L5DI > One))
                            {
                                Return (DSMI (L5D1, L5A1, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x04))
                        {
                            If ((L5DI > 0x02))
                            {
                                Return (DSMI (L5D2, L5A2, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x05))
                        {
                            If ((L5DI > 0x03))
                            {
                                Return (DSMI (L5D3, L5A3, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x06))
                        {
                            If ((L5DI > 0x04))
                            {
                                Return (DSMI (L5D4, L5A4, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x07))
                        {
                            If ((L5DI > 0x05))
                            {
                                Return (DSMI (L5D5, L5A5, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x08))
                        {
                            If ((L5DI > 0x06))
                            {
                                Return (DSMI (L5D6, L5A6, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x09))
                        {
                            If ((L5DI > 0x07))
                            {
                                Return (DSMI (L5D7, L5A7, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0A))
                        {
                            If ((L5DI > 0x08))
                            {
                                Return (DSMI (L5D8, L5A8, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0B))
                        {
                            If ((L5DI > 0x09))
                            {
                                Return (DSMI (L5D9, L5A9, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0C))
                        {
                            If ((L5DI > 0x0A))
                            {
                                Return (DSMI (L5DA, L5AA, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == 0x0D))
                        {
                            If ((L5DI > 0x0B))
                            {
                                Return (DSMI (L5DB, L5AB, Zero, L5BS))
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM0)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L0FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L0EN)
                    {
                        Return (CDEP (L0CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK0
                        })
                    }
                }

                Name (_UID, Zero)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (Zero))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (Zero))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F0M0 /* \F0M0 */
                    BUF [One] = F0M1 /* \F0M1 */
                    BUF [0x02] = F0M2 /* \F0M2 */
                    BUF [0x03] = F0M3 /* \F0M3 */
                    BUF [0x04] = F0M4 /* \F0M4 */
                    BUF [0x05] = F0M5 /* \F0M5 */
                    BUF [0x06] = F0M6 /* \F0M6 */
                    BUF [0x07] = F0M7 /* \F0M7 */
                    BUF [0x08] = F0M8 /* \F0M8 */
                    BUF [0x09] = F0M9 /* \F0M9 */
                    BUF [0x0A] = F0MA /* \F0MA */
                    BUF [0x0B] = F0MB /* \F0MB */
                    BUF [0x0C] = F0MC /* \F0MC */
                    BUF [0x0D] = F0MD /* \F0MD */
                    BUF [0x0E] = F0ME /* \F0ME */
                    BUF [0x0F] = F0MF /* \F0MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM0._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F0AB, F0BS)
                    If ((F0MS != 0x03))
                    {
                        Local1 = PINR (F0GP, F0CP, F0GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (Zero))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (Zero))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (Zero))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F0BS) /* \F0BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F0AB, Zero, F0BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F0GP, F0GG) & 0xFF), F0IV, F0AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L0FI) /* \L0FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM1)
            {
                Name (PKG0, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.VIC0"
                })
                Name (PKG1, Package (0x01)
                {
                    "\\_SB.PC00.CVSS"
                })
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L1FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L1EN)
                    {
                        If ((CVFS == One))
                        {
                            Return (PKG0) /* \_SB_.PC00.FLM1.PKG0 */
                        }
                        ElseIf ((CVFS == 0x02))
                        {
                            Return (PKG1) /* \_SB_.PC00.FLM1.PKG1 */
                        }
                        Else
                        {
                            Return (CDEP (L1CL))
                        }
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK1
                        })
                    }
                }

                Name (_UID, One)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (One))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (One))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F1M0 /* \F1M0 */
                    BUF [One] = F1M1 /* \F1M1 */
                    BUF [0x02] = F1M2 /* \F1M2 */
                    BUF [0x03] = F1M3 /* \F1M3 */
                    BUF [0x04] = F1M4 /* \F1M4 */
                    BUF [0x05] = F1M5 /* \F1M5 */
                    BUF [0x06] = F1M6 /* \F1M6 */
                    BUF [0x07] = F1M7 /* \F1M7 */
                    BUF [0x08] = F1M8 /* \F1M8 */
                    BUF [0x09] = F1M9 /* \F1M9 */
                    BUF [0x0A] = F1MA /* \F1MA */
                    BUF [0x0B] = F1MB /* \F1MB */
                    BUF [0x0C] = F1MC /* \F1MC */
                    BUF [0x0D] = F1MD /* \F1MD */
                    BUF [0x0E] = F1ME /* \F1ME */
                    BUF [0x0F] = F1MF /* \F1MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM1._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    If ((CVFS == One))
                    {
                        Local0 = VIIC (F1AB, Zero)
                    }
                    Else
                    {
                        Local0 = IICB (F1AB, F1BS)
                    }

                    If ((F1MS != 0x03))
                    {
                        If ((CVFS != Zero))
                        {
                            Local1 = VPIN (0x03)
                        }
                        Else
                        {
                            Local1 = PINR (F1GP, F1CP, F1GG)
                        }

                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (One))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (One))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (One))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F1BS) /* \F1BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F1AB, Zero, F1BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F1GP, F1GG) & 0xFF), F1IV, F1AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L1FI) /* \L1FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM2)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L2FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L2EN)
                    {
                        Return (CDEP (L2CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK2
                        })
                    }
                }

                Name (_UID, 0x02)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x02))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x02))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F2M0 /* \F2M0 */
                    BUF [One] = F2M1 /* \F2M1 */
                    BUF [0x02] = F2M2 /* \F2M2 */
                    BUF [0x03] = F2M3 /* \F2M3 */
                    BUF [0x04] = F2M4 /* \F2M4 */
                    BUF [0x05] = F2M5 /* \F2M5 */
                    BUF [0x06] = F2M6 /* \F2M6 */
                    BUF [0x07] = F2M7 /* \F2M7 */
                    BUF [0x08] = F2M8 /* \F2M8 */
                    BUF [0x09] = F2M9 /* \F2M9 */
                    BUF [0x0A] = F2MA /* \F2MA */
                    BUF [0x0B] = F2MB /* \F2MB */
                    BUF [0x0C] = F2MC /* \F2MC */
                    BUF [0x0D] = F2MD /* \F2MD */
                    BUF [0x0E] = F2ME /* \F2ME */
                    BUF [0x0F] = F2MF /* \F2MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM2._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F2AB, F2BS)
                    If ((F2MS != 0x03))
                    {
                        Local1 = PINR (F2GP, F2CP, F2GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x02))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x02))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x02))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F2BS) /* \F2BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F2AB, Zero, F2BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F2GP, F2GG) & 0xFF), F2IV, F2AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L2FI) /* \L2FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM3)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L3FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L3EN)
                    {
                        Return (CDEP (L3CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK3
                        })
                    }
                }

                Name (_UID, 0x03)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x03))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x03))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F3M0 /* \F3M0 */
                    BUF [One] = F3M1 /* \F3M1 */
                    BUF [0x02] = F3M2 /* \F3M2 */
                    BUF [0x03] = F3M3 /* \F3M3 */
                    BUF [0x04] = F3M4 /* \F3M4 */
                    BUF [0x05] = F3M5 /* \F3M5 */
                    BUF [0x06] = F3M6 /* \F3M6 */
                    BUF [0x07] = F3M7 /* \F3M7 */
                    BUF [0x08] = F3M8 /* \F3M8 */
                    BUF [0x09] = F3M9 /* \F3M9 */
                    BUF [0x0A] = F3MA /* \F3MA */
                    BUF [0x0B] = F3MB /* \F3MB */
                    BUF [0x0C] = F3MC /* \F3MC */
                    BUF [0x0D] = F3MD /* \F3MD */
                    BUF [0x0E] = F3ME /* \F3ME */
                    BUF [0x0F] = F3MF /* \F3MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM3._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F3AB, F3BS)
                    If ((F3MS != 0x03))
                    {
                        Local1 = PINR (F3GP, F3CP, F3GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x03))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x03))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x03))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F3BS) /* \F3BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F3AB, Zero, F3BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F3GP, F3GG) & 0xFF), F3IV, F3AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L3FI) /* \L3FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM4)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L4FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L4EN)
                    {
                        Return (CDEP (L4CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK4
                        })
                    }
                }

                Name (_UID, 0x04)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x04))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x04))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F4M0 /* \F4M0 */
                    BUF [One] = F4M1 /* \F4M1 */
                    BUF [0x02] = F4M2 /* \F4M2 */
                    BUF [0x03] = F4M3 /* \F4M3 */
                    BUF [0x04] = F4M4 /* \F4M4 */
                    BUF [0x05] = F4M5 /* \F4M5 */
                    BUF [0x06] = F4M6 /* \F4M6 */
                    BUF [0x07] = F4M7 /* \F4M7 */
                    BUF [0x08] = F4M8 /* \F4M8 */
                    BUF [0x09] = F4M9 /* \F4M9 */
                    BUF [0x0A] = F4MA /* \F4MA */
                    BUF [0x0B] = F4MB /* \F4MB */
                    BUF [0x0C] = F4MC /* \F4MC */
                    BUF [0x0D] = F4MD /* \F4MD */
                    BUF [0x0E] = F4ME /* \F4ME */
                    BUF [0x0F] = F4MF /* \F4MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM4._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F4AB, F4BS)
                    If ((F4MS != 0x03))
                    {
                        Local1 = PINR (F4GP, F4CP, F4GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x04))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x04))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x04))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F4BS) /* \F4BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F4AB, Zero, F4BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F4GP, F4GG) & 0xFF), F4IV, F4AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L4FI) /* \L4FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }

            Device (FLM5)
            {
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (L5FD)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If (L5EN)
                    {
                        Return (CDEP (L5CL))
                    }
                    Else
                    {
                        Return (Package (0x01)
                        {
                            LNK5
                        })
                    }
                }

                Name (_UID, 0x05)  // _UID: Unique ID
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return (FHCI (0x05))
                }

                Method (_CID, 0, NotSerialized)  // _CID: Compatible ID
                {
                    Return (FHCI (0x05))
                }

                Method (_DDN, 0, NotSerialized)  // _DDN: DOS Device Name
                {
                    Name (BUF, Buffer (0x10){})
                    BUF [Zero] = F5M0 /* \F5M0 */
                    BUF [One] = F5M1 /* \F5M1 */
                    BUF [0x02] = F5M2 /* \F5M2 */
                    BUF [0x03] = F5M3 /* \F5M3 */
                    BUF [0x04] = F5M4 /* \F5M4 */
                    BUF [0x05] = F5M5 /* \F5M5 */
                    BUF [0x06] = F5M6 /* \F5M6 */
                    BUF [0x07] = F5M7 /* \F5M7 */
                    BUF [0x08] = F5M8 /* \F5M8 */
                    BUF [0x09] = F5M9 /* \F5M9 */
                    BUF [0x0A] = F5MA /* \F5MA */
                    BUF [0x0B] = F5MB /* \F5MB */
                    BUF [0x0C] = F5MC /* \F5MC */
                    BUF [0x0D] = F5MD /* \F5MD */
                    BUF [0x0E] = F5ME /* \F5ME */
                    BUF [0x0F] = F5MF /* \F5MF */
                    Return (ToString (BUF, Ones))
                }

                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Name (PLDB, Package (0x01)
                    {
                        Buffer (0x14)
                        {
                            /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                            /* 0008 */  0x69, 0x0C, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,  // i.......
                            /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
                        }
                    })
                    Return (PLDB) /* \_SB_.PC00.FLM5._PLD.PLDB */
                }

                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Local0 = IICB (F5AB, F5BS)
                    If ((F5MS != 0x03))
                    {
                        Local1 = PINR (F5GP, F5CP, F5GG)
                        ConcatenateResTemplate (Local0, Local1, Local2)
                        Local0 = Local2
                    }

                    Return (Local0)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("377ba76a-f390-4aff-ab38-9b1bf33a3015") /* Unknown UUID */))
                    {
                        Return (FHCI (0x05))
                    }

                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return (FMID (0x05))
                    }

                    If ((Arg0 == ToUUID ("7dcd9f7b-9080-4f5b-a26c-3470be2caa7a") /* Unknown UUID */))
                    {
                        Return (FMLS (0x05))
                    }

                    If ((Arg0 == ToUUID ("2959512a-028c-4646-b73d-4d1b5672fad8") /* Unknown UUID */))
                    {
                        Return ("LKF")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (F5BS) /* \F5BS */
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (DSMI (Zero, F5AB, Zero, F5BS))
                        }
                    }

                    If ((Arg0 == ToUUID ("79234640-9e10-4fea-a5c1-b5aa8b19756f") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (GPPI (0x04, (AGPN (F5GP, F5GG) & 0xFF), F5IV, F5AV))
                        }
                    }

                    If ((Arg0 == ToUUID ("5e9e0075-a7a0-4067-a823-b939f75cd2ca") /* Unknown UUID */))
                    {
                        Return (Zero)
                    }

                    If ((Arg0 == ToUUID ("6665d1ce-20a3-40d0-99a1-e488db5af908") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }

                        If ((Arg2 == One))
                        {
                            Return (L5FI) /* \L5FI */
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00.I2C2)
        {
            Device (CAM0)
            {
                Name (_HID, "INT3471")  // _HID: Hardware ID
                Name (_CID, "INT3471")  // _CID: Compatible ID
                Name (_DDN, "IMX135-CRDG2")  // _DDN: DOS Device Name
                Name (_UID, "0")  // _UID: Unique ID
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    PMIC
                })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "BACK",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x0,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x1,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x000E, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0050, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0051, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0052, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                        I2cSerialBusV2 (0x0053, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    Return (SBUF) /* \_SB_.PC00.I2C2.CAM0._CRS.SBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SCSS == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // .P......
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03,  // ........
                        /* 0050 */  0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0x36,  // .......6
                        /* 0058 */  0x6E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // n.......
                        /* 0060 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    Return (PAR) /* \_SB_.PC00.I2C2.CAM0.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return ("13P2BAD33")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (0x06)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (0x02001000)
                        }

                        If ((Arg2 == 0x03))
                        {
                            Return (0x02000E01)
                        }

                        If ((Arg2 == 0x04))
                        {
                            Return (0x02005002)
                        }

                        If ((Arg2 == 0x05))
                        {
                            Return (0x02005103)
                        }

                        If ((Arg2 == 0x06))
                        {
                            Return (0x02005204)
                        }

                        If ((Arg2 == 0x07))
                        {
                            Return (0x02005305)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00.I2C4)
        {
            Device (CAM1)
            {
                Name (_HID, "INT3474")  // _HID: Hardware ID
                Name (_CID, "INT3474")  // _CID: Compatible ID
                Name (_DDN, "OV2740-CRDG2")  // _DDN: DOS Device Name
                Name (_UID, "0")  // _UID: Unique ID
                Name (_DEP, Package (0x01)  // _DEP: Dependencies
                {
                    ^^I2C2.PMIC
                })
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "FRONT",
                        PLD_VerticalPosition   = "CENTER",
                        PLD_HorizontalPosition = "RIGHT",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x0,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x1,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0036, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C4",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    Return (SBUF) /* \_SB_.PC00.I2C4.CAM1._CRS.SBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SCSS == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (SSDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x6C)
                    {
                        /* 0000 */  0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // .P......
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,  // ........
                        /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0050 */  0x09, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0xF8,  // ........
                        /* 0058 */  0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // $.......
                        /* 0060 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0068 */  0x00, 0x00, 0x00, 0x00                           // ....
                    })
                    Return (PAR) /* \_SB_.PC00.I2C4.CAM1.SSDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("822ace8f-2814-4174-a56b-5f029fe079ee") /* Unknown UUID */))
                    {
                        Return ("4SF259T2")
                    }

                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (0x04003600)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Scope (_SB.PC00.I2C2)
        {
            Device (PMIC)
            {
                Name (_HID, "INT3472")  // _HID: Hardware ID
                Name (_CID, "INT3472")  // _CID: Compatible ID
                Name (_DDN, "PMIC-CRDG2")  // _DDN: DOS Device Name
                Name (_UID, "0")  // _UID: Unique ID
                Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                {
                    ToPLD (
                        PLD_Revision           = 0x2,
                        PLD_IgnoreColor        = 0x1,
                        PLD_Red                = 0x0,
                        PLD_Green              = 0x0,
                        PLD_Blue               = 0x0,
                        PLD_Width              = 0x0,
                        PLD_Height             = 0x0,
                        PLD_UserVisible        = 0x1,
                        PLD_Dock               = 0x0,
                        PLD_Lid                = 0x0,
                        PLD_Panel              = "FRONT",
                        PLD_VerticalPosition   = "UPPER",
                        PLD_HorizontalPosition = "CENTER",
                        PLD_Shape              = "VERTICALRECTANGLE",
                        PLD_GroupOrientation   = 0x0,
                        PLD_GroupToken         = 0x0,
                        PLD_GroupPosition      = 0x0,
                        PLD_Bay                = 0x0,
                        PLD_Ejectable          = 0x1,
                        PLD_EjectRequired      = 0x1,
                        PLD_CabinetNumber      = 0x0,
                        PLD_CardCageNumber     = 0x0,
                        PLD_Reference          = 0x0,
                        PLD_Rotation           = 0x0,
                        PLD_Order              = 0x0,
                        PLD_VerticalOffset     = 0xFFFF,
                        PLD_HorizontalOffset   = 0xFFFF)

                })
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (SBUF, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C2",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    Return (SBUF) /* \_SB_.PC00.I2C2.PMIC._CRS.SBUF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SCSS == One))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Method (CLDB, 0, NotSerialized)
                {
                    Name (PAR, Buffer (0x20)
                    {
                        /* 0000 */  0x00, 0x02, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,  // ...P....
                        /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
                        /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   // ........
                    })
                    Return (PAR) /* \_SB_.PC00.I2C2.PMIC.CLDB.PAR_ */
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("26257549-9271-4ca4-bb43-c4899d5a4881") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (0x07)
                        }

                        If ((Arg2 == One))
                        {
                            Return (One)
                        }

                        If ((Arg2 == 0x02))
                        {
                            Return (0x02004C0B)
                        }
                    }

                    Return (Buffer (One)
                    {
                         0x00                                             // .
                    })
                }
            }
        }

        Name (DEVM, 0xFF)
        Scope (_SB)
        {
            Device (WCCD)
            {
                Name (_HID, "INTC1092")  // _HID: Hardware ID
                Name (_STR, Unicode ("Wireless Connectivity Configuration Device"))  // _STR: Description String
                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    DEVM = Zero
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If (((WWEN != Zero) && (WCEN == One)))
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }

                Name (WCS0, Package (0x04)
                {
                    Zero, 
                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0x02, 
                        0x03
                    }, 

                    Package (0x04)
                    {
                        One, 
                        0x02, 
                        0x03, 
                        One
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x03, 
                        One, 
                        0x02
                    }
                })
                Name (WCS1, Package (0x04)
                {
                    One, 
                    Package (0x04)
                    {
                        Zero, 
                        0x02, 
                        0x03, 
                        One
                    }, 

                    Package (0x04)
                    {
                        One, 
                        0x03, 
                        One, 
                        0x02
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        One, 
                        0x02, 
                        0x03
                    }
                })
                Name (WCS2, Package (0x04)
                {
                    0x02, 
                    Package (0x04)
                    {
                        Zero, 
                        0x03, 
                        One, 
                        0x02
                    }, 

                    Package (0x04)
                    {
                        One, 
                        One, 
                        0x02, 
                        0x03
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x02, 
                        0x03, 
                        One
                    }
                })
                Name (WDMC, Package (0x03)
                {
                    Zero, 
                    0x03, 
                    Package (0x04)
                    {
                        Zero, 
                        Package (0x04)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }, 

                        Package (0x04)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }, 

                        Package (0x04)
                        {
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        }
                    }
                })
                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == ToUUID ("82737e72-3a33-4c45-a9c7-57c0411a5f13") /* Unknown UUID */))
                    {
                        If ((Arg2 == Zero))
                        {
                            If ((Arg1 == Zero))
                            {
                                Local0 = 0x07
                                Local0 = 0x80000007
                                Return (Local0)
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        If ((Arg2 == One))
                        {
                            ADBG (Concatenate ("Device Mode ", ToDecimalString (DEVM)))
                            Return (DEVM) /* \DEVM */
                        }

                        If ((Arg2 == 0x02))
                        {
                            ADBG (Concatenate ("Get WDMC Table with WCS", ToHexString (Arg3)))
                            If ((Arg3 == Zero))
                            {
                                WDMC [0x02] = WCS0 /* \_SB_.WCCD.WCS0 */
                            }
                            ElseIf ((Arg3 == One))
                            {
                                WDMC [0x02] = WCS1 /* \_SB_.WCCD.WCS1 */
                            }
                            ElseIf ((Arg3 == 0x02))
                            {
                                WDMC [0x02] = WCS2 /* \_SB_.WCCD.WCS2 */
                            }
                            Else
                            {
                                ADBG ("Unsupported regulatory is detected!!")
                            }

                            Return (WDMC) /* \_SB_.WCCD.WDMC */
                        }

                        If ((Arg2 == 0x1F))
                        {
                            ADBG (Concatenate ("Set Device Mode ", ToDecimalString (Arg3)))
                            DEVM = Arg3
                            Notify (WCCD, 0x80) // Status Change
                            Return (Zero)
                        }

                        Return (Zero)
                    }
                    Else
                    {
                        Return (Zero)
                    }
                }
            }
        }

        Scope (_SB)
        {
            Name (C0PF, Package (0x01)
            {
                Buffer (0x14)
                {
                    /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x20, 0x03, 0xD0, 0x07,  // .... ...
                    /* 0008 */  0x41, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,  // A.......
                    /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
                }
            })
            Name (C1PF, Package (0x01)
            {
                Buffer (0x14)
                {
                    /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x20, 0x03, 0xD0, 0x07,  // .... ...
                    /* 0008 */  0x41, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x80, 0x01,  // A.......
                    /* 0010 */  0x00, 0x00, 0x00, 0x00                           // ....
                }
            })
        }

        Scope (\)
        {
            Method (PLD1, 0, Serialized)
            {
                Return (\_SB.C0PF)
            }
        }

        Scope (\)
        {
            Method (PLD2, 0, Serialized)
            {
                Return (\_SB.C1PF)
            }
        }

        Scope (_SB.PC00.THC0)
        {
            Device (TLC1)
            {
                Name (_ADR, One)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C0PF) /* \_SB_.C0PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC2)
            {
                Name (_ADR, 0x02)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C0PF) /* \_SB_.C0PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC3)
            {
                Name (_ADR, 0x03)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C0PF) /* \_SB_.C0PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }
        }

        Scope (_SB.PC00.THC1)
        {
            Device (TLC1)
            {
                Name (_ADR, One)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C1PF) /* \_SB_.C1PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC2)
            {
                Name (_ADR, 0x02)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C1PF) /* \_SB_.C1PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }

            Device (TLC3)
            {
                Name (_ADR, 0x03)  // _ADR: Address
                Method (_PLD, 0, Serialized)  // _PLD: Physical Location of Device
                {
                    Return (C1PF) /* \_SB_.C1PF */
                }

                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    Return (0x0F)
                }
            }
        }
    }

    If ((CVFS == One))
    {
        Scope (_SB.PC00)
        {
            Device (SPFD)
            {
                ADBG ("SPFD Device Entry")
                Name (_UID, "SPFD")  // _UID: Unique ID
                Name (_DDN, "Intel SPI OED Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10D0")
                }

                Name (PKG0, Package (0x02)
                {
                    "\\_SB.PC00.XHCI.RHUB.VGPO", 
                    "\\_SB.PC00.XHCI.RHUB.VSPI"
                })
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If ((CVFS == One))
                    {
                        Return (PKG0) /* \_SB_.PC00.SPFD.PKG0 */
                    }

                    Return (Package (0x00){})
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (CBF1, ResourceTemplate ()
                    {
                        GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0048
                            }
                        GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0048
                            }
                    })
                    Name (CBF2, ResourceTemplate ()
                    {
                        GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                        GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0037
                            }
                    })
                    Name (CBF3, ResourceTemplate ()
                    {
                        GpioIo (Shared, PullDefault, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0080
                            }
                        GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0080
                            }
                    })
                    Name (VGB1, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0001
                            }
                    })
                    Name (VSB1, ResourceTemplate ()
                    {
                        SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                            ControllerInitiated, 0x00895440, ClockPolarityHigh,
                            ClockPhaseSecond, "\\_SB.PC00.XHCI.RHUB.VSPI",
                            0x00, ResourceConsumer, , Exclusive,
                            )
                    })
                    If ((CVFS == One))
                    {
                        ADBG ("SPFD _CRS returns resources for usb based cvf")
                        If ((ToInteger (PLID) == 0x06))
                        {
                            Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF2, VGB1), VSB1))
                        }
                        ElseIf (((ToInteger (PLID) == 0x07) || (ToInteger (PLID) == 
                            0x08)))
                        {
                            Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF3, VGB1), VSB1))
                        }

                        Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF1, VGB1), VSB1))
                    }

                    Return (ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                            "\\_SB.PC00", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                    })
                }

                Device (CVFD)
                {
                    ADBG ("CVFD Device Entry")
                    Name (_UID, "CVFD")  // _UID: Unique ID
                    Name (_DDN, "Intel CVF Device")  // _DDN: DOS Device Name
                    Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                    {
                        Return ("INTC10CF")
                    }

                    Method (SID, 1, Serialized)
                    {
                        Return (HCID (One))
                    }
                }
            }
        }

        Scope (_SB.PC00.XHCI.RHUB)
        {
            Device (VGPO)
            {
                ADBG ("VGPO Virutal GPIO Device Entry")
                Name (_UID, "VGPO")  // _UID: Unique ID
                Name (_DDN, "Intel UsbGpio Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10D1")
                }

                Name (PKG1, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS04"
                })
                Name (PKG2, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS06"
                })
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If ((CUPN == 0x04))
                    {
                        Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VGPO.PKG1 */
                    }
                    ElseIf ((CUPN == 0x06))
                    {
                        Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VGPO.PKG2 */
                    }

                    Return (Package (0x00){})
                }

                If ((CVFT == One))
                {
                    Device (GPOT)
                    {
                        ADBG ("GPOT: Virtual GPIO Test Device Entry")
                        Name (_UID, "GPOT")  // _UID: Unique ID
                        Name (_HID, "GPTS0000")  // _HID: Hardware ID
                        Name (_CID, "GPTS0000")  // _CID: Compatible ID
                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            Name (SBUF, ResourceTemplate ()
                            {
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0000
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0001
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0002
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0003
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0004
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0005
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0006
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0007
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0008
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0009
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x000A
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.VGPO", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x000B
                                    }
                            })
                            Return (SBUF) /* \_SB_.PC00.XHCI.RHUB.VGPO.GPOT._CRS.SBUF */
                        }
                    }
                }
            }

            Device (VIC0)
            {
                ADBG ("VIC0: Virtual I2C Device Entry")
                Name (_UID, "VIC0")  // _UID: Unique ID
                Name (_DDN, "Intel UsbI2C Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10D2")
                }

                Name (PKG1, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS04"
                })
                Name (PKG2, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS06"
                })
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If ((CUPN == 0x04))
                    {
                        Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VIC0.PKG1 */
                    }
                    ElseIf ((CUPN == 0x06))
                    {
                        Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VIC0.PKG2 */
                    }

                    Return (Package (0x00){})
                }

                If ((CVFT == 0x02))
                {
                    Device (IICT)
                    {
                        ADBG ("IICT: Virtual I2C Test device Entry")
                        Name (_UID, "IICT")  // _UID: Unique ID
                        Name (_HID, "IIC0001")  // _HID: Hardware ID
                        Name (_CID, "IIC0001")  // _CID: Compatible ID
                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            ADBG ("IICT returning VIC0")
                            Return (VIIC (0x7F, Zero))
                        }
                    }
                }
            }

            Device (VIC1)
            {
                ADBG ("VIC1: Virtual I2C Device Entry")
                Name (_UID, "VIC1")  // _UID: Unique ID
                Name (_DDN, "Intel UsbI2C Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10D2")
                }

                Name (PKG1, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS04"
                })
                Name (PKG2, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS06"
                })
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If ((CUPN == 0x04))
                    {
                        Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VIC1.PKG1 */
                    }
                    ElseIf ((CUPN == 0x06))
                    {
                        Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VIC1.PKG2 */
                    }

                    Return (Package (0x00){})
                }

                If ((CVFT == 0x02))
                {
                    Device (IICT)
                    {
                        ADBG ("IICT: Virtual I2C Test device Entry")
                        Name (_UID, "IICT")  // _UID: Unique ID
                        Name (_HID, "IIC0001")  // _HID: Hardware ID
                        Name (_CID, "IIC0001")  // _CID: Compatible ID
                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            ADBG ("IICT returning VIC1")
                            Return (VIIC (0x7F, One))
                        }
                    }
                }
            }

            Device (VSPI)
            {
                ADBG ("VSPI: Virtual SPI Device Entry")
                Name (_UID, "VSPI")  // _UID: Unique ID
                Name (_DDN, "Intel UsbSPI Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10D3")
                }

                Name (PKG1, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS04"
                })
                Name (PKG2, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS06"
                })
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If ((CUPN == 0x04))
                    {
                        Return (PKG1) /* \_SB_.PC00.XHCI.RHUB.VSPI.PKG1 */
                    }
                    ElseIf ((CUPN == 0x06))
                    {
                        Return (PKG2) /* \_SB_.PC00.XHCI.RHUB.VSPI.PKG2 */
                    }

                    Return (Package (0x00){})
                }

                If ((CVFT == 0x03))
                {
                    Device (SPIT)
                    {
                        ADBG ("SPIT: Virtual SPI Test device Entry")
                        Name (_UID, "SPIT")  // _UID: Unique ID
                        Name (_HID, "VSPI0001")  // _HID: Hardware ID
                        Name (_CID, "VSPI0001")  // _CID: Compatible ID
                        Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                        {
                            Name (XBUF, ResourceTemplate ()
                            {
                                SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                                    ControllerInitiated, 0x00D59F80, ClockPolarityHigh,
                                    ClockPhaseSecond, "\\_SB.PC00.XHCI.RHUB.VSPI",
                                    0x00, ResourceConsumer, , Exclusive,
                                    )
                            })
                            Return (XBUF) /* \_SB_.PC00.XHCI.RHUB.VSPI.SPIT._CRS.XBUF */
                        }
                    }
                }
            }
        }
    }
    ElseIf ((CVFS == 0x02))
    {
        Scope (_SB.PC00)
        {
            Device (CVSS)
            {
                ADBG ("CVSS Device Entry")
                Name (_UID, "CVSS")  // _UID: Unique ID
                Name (_DDN, "Intel CVS Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10E0")
                }

                Name (IICF, One)
                Method (IICS, 0, NotSerialized)
                {
                    Return (IICF) /* \_SB_.PC00.CVSS.IICF */
                }

                Method (SID, 1, Serialized)
                {
                    Return (HCID (One))
                }

                Name (PKG0, Package (0x01)
                {
                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1"
                })
                Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
                {
                    If ((CVFS == 0x02))
                    {
                        Return (PKG0) /* \_SB_.PC00.CVSS.PKG0 */
                    }

                    Return (Package (0x00){})
                }

                Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                {
                    Name (CBF1, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x00D4
                            }
                    })
                    Name (CBF2, ResourceTemplate ()
                    {
                        GpioInt (Edge, ActiveLow, Shared, PullDefault, 0x0000,
                            "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0088
                            }
                    })
                    Name (VGB1, ResourceTemplate ()
                    {
                        GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0000
                            }
                        GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0002
                            }
                        GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionInputOnly,
                            "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x001B
                            }
                    })
                    Name (IIC1, ResourceTemplate ()
                    {
                        I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PC00.I2C1",
                            0x00, ResourceConsumer, _Y9F, Exclusive,
                            )
                    })
                    CreateWordField (IIC1, \_SB.PC00.CVSS._CRS._Y9F._ADR, DAD0)  // _ADR: Address
                    DAD0 = 0x76
                    If (((ToInteger (PLID) > Zero) && (ToInteger (PLID) <= 
                        0x08)))
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF2, VGB1), IIC1))
                    }
                    Else
                    {
                        Return (ConcatenateResTemplate (ConcatenateResTemplate (CBF1, VGB1), IIC1))
                    }
                }
            }
        }

        Scope (_SB.PC00.XHCI.RHUB.HS06)
        {
            Device (VGP1)
            {
                ADBG ("VGP1 Virutal GPIO Device Entry")
                Name (_UID, "VGP1")  // _UID: Unique ID
                Name (_DDN, "Intel UsbGpio Device")  // _DDN: DOS Device Name
                Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
                {
                    Return ("INTC10B2")
                }

                If ((CVFT == One))
                {
                    Device (GPOT)
                    {
                        Name (_UID, "GPOT")  // _UID: Unique ID
                        Name (_HID, "GPTS0000")  // _HID: Hardware ID
                        Name (_CID, "GPTS0000")  // _CID: Compatible ID
                        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
                        {
                            Name (SBUF, ResourceTemplate ()
                            {
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0000
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0001
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0002
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0003
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0004
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0005
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0006
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0007
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0008
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x0009
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x000A
                                    }
                                GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionNone,
                                    "\\_SB.PC00.XHCI.RHUB.HS06.VGP1", 0x00, ResourceConsumer, ,
                                    )
                                    {   // Pin list
                                        0x000B
                                    }
                            })
                            Return (SBUF) /* \_SB_.PC00.XHCI.RHUB.HS06.VGP1.GPOT._CRS.SBUF */
                        }
                    }
                }
            }
        }
    }

    If ((VMDE == One))
    {
        Name (VDSD, One)
        If ((STD3 == Zero))
        {
            VDSD = Zero
        }

        ADBG (Concatenate ("VMD _DSD Method option:", ToHexString (VDSD)))
        Scope (_SB.PC00)
        {
            Device (VMD0)
            {
                Name (_ADR, 0x000E0000)  // _ADR: Address
                If (CondRefOf (\VDSD))
                {
                    If ((VDSD == One))
                    {
                        Name (_DSD, Package (0x02)  // _DSD: Device-Specific Data
                        {
                            ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, 
                            Package (0x01)
                            {
                                Package (0x02)
                                {
                                    "StorageD3Enable", 
                                    One
                                }
                            }
                        })
                    }
                }

                Method (_PS0, 0, Serialized)  // _PS0: Power State 0
                {
                    ADBG ("VMD _PS0")
                    If (CondRefOf (VMS0))
                    {
                        If ((VMS0 != Zero))
                        {
                            ADBG ("VMD SATA0 Ctrlr D0 - Clear LTR ignore bit for SATA")
                            ^^^PC02.PPMC.ISAT = Zero
                            ADBG (Concatenate ("SATA PS0 LTR ignore bit status = ", ToHexString (^^^PC02.PPMC.ISAT)))
                        }
                    }
                }

                Method (_PS3, 0, Serialized)  // _PS3: Power State 3
                {
                    ADBG ("VMD _PS3")
                    If (CondRefOf (VMS0))
                    {
                        If ((VMS0 != Zero))
                        {
                            ADBG ("VMD SATA0 Ctrlr D3 - Set LTR ignore bit for SATA")
                            ^^^PC02.PPMC.ISAT = One
                            ADBG (Concatenate ("SATA PS3 LTR ignore bit status = ", ToHexString (^^^PC02.PPMC.ISAT)))
                        }
                    }
                }

                Method (CBAR, 3, Serialized)
                {
                    Name (VCFB, Zero)
                    VCFB = XBAS /* \XBAS */
                    VCFB |= Zero
                    VCFB |= 0x00070000
                    VCFB |= Zero
                    OperationRegion (VCFG, SystemMemory, VCFB, 0x0100)
                    Field (VCFG, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x10), 
                        BAR0,   64
                    }

                    Name (DCFB, Zero)
                    DCFB = BAR0 /* \_SB_.PC00.VMD0.CBAR.BAR0 */
                    DCFB &= 0xFFFFFFFFFFFFFFF0
                    DCFB |= (Arg0 << 0x14)
                    DCFB |= (Arg1 << 0x0F)
                    DCFB |= (Arg2 << 0x0C)
                    If ((Arg0 != Zero))
                    {
                        DCFB = (DCFB + 0x00100000)
                    }

                    Return (DCFB) /* \_SB_.PC00.VMD0.CBAR.DCFB */
                }

                Method (VADR, 5, Serialized)
                {
                    Name (AADR, Zero)
                    AADR |= (Arg0 << 0x1F)
                    AADR |= ((Arg1 & 0x7F) << 0x18)
                    AADR |= (Arg2 << 0x13)
                    AADR |= (Arg3 << 0x10)
                    If ((((Arg1 & 0x80) >> 0x07) == Zero))
                    {
                        AADR |= 0x8000
                    }

                    If ((Arg0 == One))
                    {
                        AADR |= 0x7FFF
                    }
                    Else
                    {
                        Local0 = 0x07FF
                        Local0 = ((Local0 << 0x04) | Arg4)
                        AADR |= Local0
                    }

                    Return (AADR) /* \_SB_.PC00.VMD0.VADR.AADR */
                }

                Device (PP01)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, Zero)
                    Name (RSPT, One)
                    Name (RSPI, Zero)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP02)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, One)
                    Name (RSPT, One)
                    Name (RSPI, One)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP03)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, 0x02)
                    Name (RSPT, One)
                    Name (RSPI, 0x02)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP04)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, 0x03)
                    Name (RSPT, One)
                    Name (RSPI, 0x03)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP05)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, 0x04)
                    Name (RSPT, One)
                    Name (RSPI, 0x04)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP06)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, 0x05)
                    Name (RSPT, One)
                    Name (RSPI, 0x05)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP07)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, 0x06)
                    Name (RSPT, One)
                    Name (RSPI, 0x06)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP08)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1C)
                    Name (RPF, 0x07)
                    Name (RSPT, One)
                    Name (RSPI, 0x07)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP09)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, Zero)
                    Name (RSPT, One)
                    Name (RSPI, 0x08)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP10)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, One)
                    Name (RSPT, One)
                    Name (RSPI, 0x09)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP11)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, 0x02)
                    Name (RSPT, One)
                    Name (RSPI, 0x0A)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP12)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, 0x03)
                    Name (RSPT, One)
                    Name (RSPI, 0x0B)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP13)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, 0x04)
                    Name (RSPT, One)
                    Name (RSPI, 0x0C)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP14)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, 0x05)
                    Name (RSPT, One)
                    Name (RSPI, 0x0D)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP15)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, 0x06)
                    Name (RSPT, One)
                    Name (RSPI, 0x0E)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP16)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1D)
                    Name (RPF, 0x07)
                    Name (RSPT, One)
                    Name (RSPI, 0x0F)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP17)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, Zero)
                    Name (RSPT, One)
                    Name (RSPI, 0x10)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP18)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, One)
                    Name (RSPT, One)
                    Name (RSPI, 0x11)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP19)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, 0x02)
                    Name (RSPT, One)
                    Name (RSPI, 0x12)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP20)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, 0x03)
                    Name (RSPT, One)
                    Name (RSPI, 0x13)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP21)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, 0x04)
                    Name (RSPT, One)
                    Name (RSPI, 0x14)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP22)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, 0x05)
                    Name (RSPT, One)
                    Name (RSPI, 0x15)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP23)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, 0x06)
                    Name (RSPT, One)
                    Name (RSPI, 0x16)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PP24)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x1B)
                    Name (RPF, 0x07)
                    Name (RSPT, One)
                    Name (RSPI, 0x17)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (SP01)
                {
                    Name (RPB, Zero)
                    Name (RPD, 0x06)
                    Name (RPF, Zero)
                    Name (RSPT, One)
                    Name (RSPI, 0x18)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (SP09)
                {
                    Name (RPB, Zero)
                    Name (RPD, 0x06)
                    Name (RPF, 0x03)
                    Name (RSPT, One)
                    Name (RSPI, 0x19)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (SP13)
                {
                    Name (RPB, Zero)
                    Name (RPD, 0x06)
                    Name (RPF, 0x04)
                    Name (RSPT, One)
                    Name (RSPI, 0x1A)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (SP17)
                {
                    Name (RPB, Zero)
                    Name (RPD, 0x06)
                    Name (RPF, One)
                    Name (RSPT, One)
                    Name (RSPI, 0x1B)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (SP21)
                {
                    Name (RPB, Zero)
                    Name (RPD, One)
                    Name (RPF, Zero)
                    Name (RSPT, One)
                    Name (RSPI, 0x1C)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (ID3C, Zero)
                    Method (VR3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VR3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VPON, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32
                        }

                        If (CondRefOf (VDID))
                        {
                            If ((VDID == 0xFFFFFFFF))
                            {
                                ADBG (Concatenate ("VPON return as VDID=", ToHexString (VDID)))
                                ADBG ("WAK Notify 0 to VMD controller")
                                Notify (^, Zero) // Bus Check
                                Local1 = 0xC8
                                While ((Local1 > Zero))
                                {
                                    Local1 = (Local1 - One)
                                    If ((VDID != 0xFFFFFFFF))
                                    {
                                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                                        Break
                                    }

                                    ADBG ("Wait 10 ms for VMD controller to exit D3hot")
                                    Sleep (0x0A)
                                }
                            }
                        }

                        ADBG (Concatenate ("VPON VDID=", ToHexString (VDID)))
                        ADBG (Concatenate ("VPON _ADR: ", ToHexString (_ADR ())))
                        If ((ID3C == Zero))
                        {
                            ADBG ("VPON: Device is not in D3Cold")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        RLA ()
                        Sleep (0x64)
                        ID3C = Zero
                    }

                    Method (VPOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VPOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        RL23 ()
                        VDOF (RSPT, RSPI)
                        ID3C = One
                    }

                    Method (RL23, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x50), 
                            L0SE,   1, 
                                ,   3, 
                            LDIS,   1, 
                            Offset (0x51), 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0x68), 
                                ,   10, 
                            LNRE,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   2, 
                            L23E,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x404), 
                            LSOE,   1, 
                            LNSE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 Start -", ToHexString (LTSM)))
                        If (((LASX == One) && (LNRE == Zero)))
                        {
                            If (((LSOE == One) || (LNSE == One)))
                            {
                                LNRE = One
                                Sleep (One)
                                LNRE = Zero
                                ADBG ("Toggle LNRE")
                            }
                        }

                        L23E = One
                        Sleep (0x10)
                        Local0 = Zero
                        While (L23E)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD POF L23E TO", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = One
                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RL23 End -", ToHexString (LTSM)))
                    }

                    Method (RLA, 0, Serialized)
                    {
                        Name (DCFB, Zero)
                        DCFB = CBAR (RPB, RPD, RPF)
                        OperationRegion (DCFG, SystemMemory, DCFB, 0x0C80)
                        Field (DCFG, DWordAcc, NoLock, Preserve)
                        {
                            VDID,   32, 
                            Offset (0x52), 
                                ,   13, 
                            LASX,   1, 
                            Offset (0xE0), 
                            SCB0,   1, 
                            Offset (0xE2), 
                                ,   3, 
                            L23R,   1, 
                            Offset (0x328), 
                            Offset (0x32B), 
                            LTSM,   8, 
                            Offset (0x420), 
                                ,   30, 
                            DPGE,   1
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at RLA Start  -", ToHexString (LTSM)))
                        If ((SCB0 != One))
                        {
                            ADBG (Concatenate ("VMD PON- Sticky bit is not set to 1 to: ", ToHexString (_ADR ())))
                            Return (Zero)
                        }

                        L23R = One
                        Local0 = Zero
                        While (L23R)
                        {
                            If ((Local0 > 0x04))
                            {
                                ADBG (Concatenate ("VMD PCIE L23R TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        SCB0 = Zero
                        Local0 = Zero
                        While ((LASX == Zero))
                        {
                            If ((Local0 > 0x08))
                            {
                                ADBG (Concatenate ("VMD PCIE LASX TO ", ToHexString (_ADR ())))
                                Break
                            }

                            Sleep (0x10)
                            Local0++
                        }

                        ADBG (Concatenate ("VMD PCIe RP LTSSM at L23D End -", ToHexString (LTSM)))
                    }
                }

                Device (PRT0)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, Zero)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT1)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, One)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT2)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, 0x02)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT3)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, 0x03)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT4)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, 0x04)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT5)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, 0x05)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT6)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, 0x06)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Device (PRT7)
                {
                    Name (RPB, Zero)
                    RPB = PBUS /* \PBUS */
                    Name (RPD, 0x17)
                    Name (RPF, Zero)
                    Name (RSPT, Zero)
                    Name (RSPI, 0x07)
                    Method (_ADR, 0, NotSerialized)  // _ADR: Address
                    {
                        Return (VADR (RSPT, RPB, RPD, RPF, RSPI))
                    }

                    Name (SD3C, Zero)
                    Method (VS3D, 0, NotSerialized)
                    {
                        ADBG (Concatenate ("VS3D: ", ToHexString (_ADR ())))
                        Return (VD3C (_ADR ()))
                    }

                    Method (VSON, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSONs: ", ToHexString (_ADR ())))
                        If ((SD3C == Zero))
                        {
                            ADBG ("VMD RPON: no D3C")
                            Return (Zero)
                        }

                        VDON (RSPT, RSPI)
                        Sleep (0x10)
                        SD3C = Zero
                    }

                    Method (VSOF, 0, Serialized)
                    {
                        ADBG (Concatenate ("VSOFs: ", ToHexString (_ADR ())))
                        If (!D3CV (RSPT, RSPI))
                        {
                            Return (Zero)
                        }

                        VDOF (RSPT, RSPI)
                        SD3C = One
                    }
                }

                Name (VLVN, Zero)
                Name (VV0D, Package (0x20)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (VV1D, Package (0x20)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (VV2D, Package (0x20)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (VV3D, Package (0x20)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Name (VD3A, Zero)
                Name (VV0S, Zero)
                Name (VV1S, Zero)
                Name (VV2S, Zero)
                Name (VV3S, Zero)
                Method (SVRP, 3, NotSerialized)
                {
                    Local0 = (SizeOf (Arg0) - One)
                    ADBG (Concatenate ("Volume size is: ", Local0))
                    If ((Local0 > 0x20))
                    {
                        ADBG ("Volume size over 32")
                        Return (Zero)
                    }

                    Arg2 = Local0
                    Local1 = Zero
                    While ((Local1 < Local0))
                    {
                        Arg1 [Local1] = DerefOf (Arg0 [(Local1 + One)]
                            )
                        ADBG (Concatenate ("Adding to volume: ", ToHexString (DerefOf (Arg1 [Local1]))))
                        Local1++
                    }
                }

                Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                {
                    If ((Arg0 == Buffer (0x10)
                            {
                                /* 0000 */  0xFB, 0x8A, 0x1F, 0xC4, 0x01, 0x47, 0xEB, 0xF0,  // .....G..
                                /* 0008 */  0x1D, 0x26, 0x02, 0x96, 0x64, 0x8C, 0x30, 0xE4   // .&..d.0.
                            }))
                    {
                        If ((One == ToInteger (Arg1)))
                        {
                            Switch (ToInteger (Arg2))
                            {
                                Case (Zero)
                                {
                                    Return (Buffer (One)
                                    {
                                         0x03                                             // .
                                    })
                                }
                                Case (One)
                                {
                                    If ((CondRefOf (\DLRM) && (DLRM != Zero)))
                                    {
                                        ADBG ("Enable DLRM for Storage")
                                        Return (One)
                                    }
                                    Else
                                    {
                                        ADBG ("Disable DLRM for Storage")
                                        Return (Zero)
                                    }
                                }

                            }
                        }
                    }

                    If ((Arg0 == ToUUID ("9cd9cddd-8845-4afd-8392-31c4eb87cabd") /* Unknown UUID */))
                    {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                                Name (RBUF, Buffer (One)
                                {
                                     0x00                                             // .
                                })
                                CreateByteField (RBUF, Zero, SFUN)
                                SFUN = 0x7F
                                Return (RBUF) /* \_SB_.PC00.VMD0._DSM.RBUF */
                            }
                            Case (One)
                            {
                                VLVN = ToInteger (DerefOf (Arg3 [Zero]))
                                ADBG (Concatenate ("Vol_Num:", ToHexString (VLVN)))
                                If ((VLVN == Zero))
                                {
                                    SVRP (Arg3, VV0D, RefOf (VV0S))
                                    Return (Zero)
                                }
                                ElseIf ((VLVN == One))
                                {
                                    SVRP (Arg3, VV1D, RefOf (VV1S))
                                    Return (Zero)
                                }
                                ElseIf ((VLVN == 0x02))
                                {
                                    SVRP (Arg3, VV2D, RefOf (VV2S))
                                    Return (Zero)
                                }
                                ElseIf ((VLVN == 0x03))
                                {
                                    SVRP (Arg3, VV3D, RefOf (VV3S))
                                    Return (Zero)
                                }
                                Else
                                {
                                    Return (One)
                                }
                            }
                            Case (0x02)
                            {
                                ADBG ("VMD Logical Volume _DSM.ON:")
                                Name (VVON, Package (0x20)
                                {
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero
                                })
                                Local0 = SizeOf (Arg3)
                                Local1 = Zero
                                If ((Local0 <= 0x20))
                                {
                                    While ((Local1 < Local0))
                                    {
                                        VVON [Local1] = ToInteger (DerefOf (Arg3 [Local1]))
                                        ADBG (Concatenate ("ACPI Address of devices -", ToHexString (DerefOf (VVON [Local1]))))
                                        Local1++
                                    }

                                    VLON (Local0, VVON)
                                }

                                Return (Zero)
                            }
                            Case (0x03)
                            {
                                ADBG ("VMD Logical Volume _DSM.OFF:")
                                Name (VVOF, Package (0x20)
                                {
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero, 
                                    Zero
                                })
                                Local0 = SizeOf (Arg3)
                                Local1 = Zero
                                If ((Local0 <= 0x20))
                                {
                                    While ((Local1 < Local0))
                                    {
                                        VVOF [Local1] = ToInteger (DerefOf (Arg3 [Local1]))
                                        ADBG (Concatenate ("ACPI Address of devices -", ToHexString (DerefOf (VVOF [Local1]))))
                                        Local1++
                                    }

                                    VLOF (Local0, VVOF)
                                }

                                Return (Zero)
                            }
                            Case (0x04)
                            {
                                ADBG ("GET_RTD3_VOL_MASK unsupported by the driver")
                                Return (Zero)
                            }
                            Case (0x05)
                            {
                                VD3A = DerefOf (Arg3 [Zero])
                                ADBG (Concatenate ("VMD Logical Volume _DSM.D3A:", ToHexString (VD3A)))
                                Return (Zero)
                            }
                            Case (0x06)
                            {
                                If (CondRefOf (ZPPB))
                                {
                                    ADBG (Concatenate ("VMD Zpodd in port :", ToHexString (ZPPB)))
                                    Return (ZPPB) /* \ZPPB */
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }
                            Default
                            {
                                Return (0x02)
                            }

                        }
                    }

                    Return (Zero)
                }

                Method (IVRM, 1, NotSerialized)
                {
                    Local0 = Zero
                    While ((VV0S > Local0))
                    {
                        If ((Arg0 == ToInteger (DerefOf (VV0D [Local0]))))
                        {
                            Return (One)
                        }

                        Local0++
                    }

                    Local0 = Zero
                    While ((VV1S > Local0))
                    {
                        If ((Arg0 == ToInteger (DerefOf (VV1D [Local0]))))
                        {
                            Return (One)
                        }

                        Local0++
                    }

                    Local0 = Zero
                    While ((VV2S > Local0))
                    {
                        If ((Arg0 == ToInteger (DerefOf (VV2D [Local0]))))
                        {
                            Return (One)
                        }

                        Local0++
                    }

                    Local0 = Zero
                    While ((VV3S > Local0))
                    {
                        If ((Arg0 == ToInteger (DerefOf (VV3D [Local0]))))
                        {
                            Return (One)
                        }

                        Local0++
                    }

                    Return (Zero)
                }

                Method (VD3C, 1, NotSerialized)
                {
                    Return ((VD3A && IVRM (Arg0)))
                }

                Method (D3CV, 2, Serialized)
                {
                    Switch (ToInteger (Arg0))
                    {
                        Case (Zero)
                        {
                            Switch (ToInteger (Arg1))
                            {
                                Case (Zero)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT0.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (One)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT1.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x02)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT2.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x03)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT3.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x04)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT4.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x05)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT5.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x06)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT6.SPOF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x07)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT7.SPOF))
                                    {
                                        Return (One)
                                    }
                                }

                            }
                        }
                        Case (One)
                        {
                            Switch (ToInteger (Arg1))
                            {
                                Case (Zero)
                                {
                                    If (CondRefOf (\_SB.PC02.RP01.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (One)
                                {
                                    If (CondRefOf (\_SB.PC02.RP02.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x02)
                                {
                                    If (CondRefOf (\_SB.PC02.RP03.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x03)
                                {
                                    If (CondRefOf (\_SB.PC02.RP04.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x04)
                                {
                                    If (CondRefOf (\_SB.PC02.RP05.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x05)
                                {
                                    If (CondRefOf (\_SB.PC02.RP06.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x06)
                                {
                                    If (CondRefOf (\_SB.PC02.RP07.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x07)
                                {
                                    If (CondRefOf (\_SB.PC02.RP08.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x08)
                                {
                                    If (CondRefOf (\_SB.PC02.RP09.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x09)
                                {
                                    If (CondRefOf (\_SB.PC02.RP10.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x0A)
                                {
                                    If (CondRefOf (\_SB.PC02.RP11.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x0B)
                                {
                                    If (CondRefOf (\_SB.PC02.RP12.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x0C)
                                {
                                    If (CondRefOf (\_SB.PC02.RP13.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x0D)
                                {
                                    If (CondRefOf (\_SB.PC02.RP14.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x0E)
                                {
                                    If (CondRefOf (\_SB.PC02.RP15.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x0F)
                                {
                                    If (CondRefOf (\_SB.PC02.RP16.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x10)
                                {
                                    If (CondRefOf (\_SB.PC02.RP17.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x11)
                                {
                                    If (CondRefOf (\_SB.PC02.RP18.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x12)
                                {
                                    If (CondRefOf (\_SB.PC02.RP19.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x13)
                                {
                                    If (CondRefOf (\_SB.PC02.RP20.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x14)
                                {
                                    If (CondRefOf (\_SB.PC02.RP21.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x15)
                                {
                                    If (CondRefOf (\_SB.PC02.RP22.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x16)
                                {
                                    If (CondRefOf (\_SB.PC02.RP23.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x17)
                                {
                                    If (CondRefOf (\_SB.PC02.RP24.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x18)
                                {
                                    If (CondRefOf (\_SB.PC00.RP01.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x19)
                                {
                                    If (CondRefOf (\_SB.PC00.RP09.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x1A)
                                {
                                    If (CondRefOf (\_SB.PC00.RP13.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x1B)
                                {
                                    If (CondRefOf (\_SB.PC00.RP17.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Case (0x1C)
                                {
                                    If (CondRefOf (\_SB.PC00.RP21.POFF))
                                    {
                                        Return (One)
                                    }
                                }
                                Default
                                {
                                    Return (Zero)
                                }

                            }
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }

                    Return (Zero)
                }

                Method (VDON, 2, Serialized)
                {
                    Switch (ToInteger (Arg0))
                    {
                        Case (Zero)
                        {
                            Switch (ToInteger (Arg1))
                            {
                                Case (Zero)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT0.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT0.SPON ()
                                    }
                                }
                                Case (One)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT1.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT1.SPON ()
                                    }
                                }
                                Case (0x02)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT2.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT2.SPON ()
                                    }
                                }
                                Case (0x03)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT3.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT3.SPON ()
                                    }
                                }
                                Case (0x04)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT4.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT4.SPON ()
                                    }
                                }
                                Case (0x05)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT5.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT5.SPON ()
                                    }
                                }
                                Case (0x06)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT6.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT6.SPON ()
                                    }
                                }
                                Case (0x07)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT7.SPON))
                                    {
                                        ^^^PC02.SAT0.PRT7.SPON ()
                                    }
                                }

                            }
                        }
                        Case (One)
                        {
                            Switch (ToInteger (Arg1))
                            {
                                Case (Zero)
                                {
                                    If (CondRefOf (\_SB.PC02.RP01.PON))
                                    {
                                        ^^^PC02.RP01.PON ()
                                    }
                                }
                                Case (One)
                                {
                                    If (CondRefOf (\_SB.PC02.RP02.PON))
                                    {
                                        ^^^PC02.RP02.PON ()
                                    }
                                }
                                Case (0x02)
                                {
                                    If (CondRefOf (\_SB.PC02.RP03.PON))
                                    {
                                        ^^^PC02.RP03.PON ()
                                    }
                                }
                                Case (0x03)
                                {
                                    If (CondRefOf (\_SB.PC02.RP04.PON))
                                    {
                                        ^^^PC02.RP04.PON ()
                                    }
                                }
                                Case (0x04)
                                {
                                    If (CondRefOf (\_SB.PC02.RP05.PON))
                                    {
                                        ^^^PC02.RP05.PON ()
                                    }
                                }
                                Case (0x05)
                                {
                                    If (CondRefOf (\_SB.PC02.RP06.PON))
                                    {
                                        ^^^PC02.RP06.PON ()
                                    }
                                }
                                Case (0x06)
                                {
                                    If (CondRefOf (\_SB.PC02.RP07.PON))
                                    {
                                        ^^^PC02.RP07.PON ()
                                    }
                                }
                                Case (0x07)
                                {
                                    If (CondRefOf (\_SB.PC02.RP08.PON))
                                    {
                                        ^^^PC02.RP08.PON ()
                                    }
                                }
                                Case (0x08)
                                {
                                    If (CondRefOf (\_SB.PC02.RP09.PON))
                                    {
                                        ^^^PC02.RP09.PON ()
                                    }
                                }
                                Case (0x09)
                                {
                                    If (CondRefOf (\_SB.PC02.RP10.PON))
                                    {
                                        ^^^PC02.RP10.PON ()
                                    }
                                }
                                Case (0x0A)
                                {
                                    If (CondRefOf (\_SB.PC02.RP11.PON))
                                    {
                                        ^^^PC02.RP11.PON ()
                                    }
                                }
                                Case (0x0B)
                                {
                                    If (CondRefOf (\_SB.PC02.RP12.PON))
                                    {
                                        ^^^PC02.RP12.PON ()
                                    }
                                }
                                Case (0x0C)
                                {
                                    If (CondRefOf (\_SB.PC02.RP13.PON))
                                    {
                                        ^^^PC02.RP13.PON ()
                                    }
                                }
                                Case (0x0D)
                                {
                                    If (CondRefOf (\_SB.PC02.RP14.PON))
                                    {
                                        ^^^PC02.RP14.PON ()
                                    }
                                }
                                Case (0x0E)
                                {
                                    If (CondRefOf (\_SB.PC02.RP15.PON))
                                    {
                                        ^^^PC02.RP15.PON ()
                                    }
                                }
                                Case (0x0F)
                                {
                                    If (CondRefOf (\_SB.PC02.RP16.PON))
                                    {
                                        ^^^PC02.RP16.PON ()
                                    }
                                }
                                Case (0x10)
                                {
                                    If (CondRefOf (\_SB.PC02.RP17.PON))
                                    {
                                        ^^^PC02.RP17.PON ()
                                    }
                                }
                                Case (0x11)
                                {
                                    If (CondRefOf (\_SB.PC02.RP18.PON))
                                    {
                                        ^^^PC02.RP18.PON ()
                                    }
                                }
                                Case (0x12)
                                {
                                    If (CondRefOf (\_SB.PC02.RP19.PON))
                                    {
                                        ^^^PC02.RP19.PON ()
                                    }
                                }
                                Case (0x13)
                                {
                                    If (CondRefOf (\_SB.PC02.RP20.PON))
                                    {
                                        ^^^PC02.RP20.PON ()
                                    }
                                }
                                Case (0x14)
                                {
                                    If (CondRefOf (\_SB.PC02.RP21.PON))
                                    {
                                        ^^^PC02.RP21.PON ()
                                    }
                                }
                                Case (0x15)
                                {
                                    If (CondRefOf (\_SB.PC02.RP22.PON))
                                    {
                                        ^^^PC02.RP22.PON ()
                                    }
                                }
                                Case (0x16)
                                {
                                    If (CondRefOf (\_SB.PC02.RP23.PON))
                                    {
                                        ^^^PC02.RP23.PON ()
                                    }
                                }
                                Case (0x17)
                                {
                                    If (CondRefOf (\_SB.PC02.RP24.PON))
                                    {
                                        ^^^PC02.RP24.PON ()
                                    }
                                }
                                Case (0x18)
                                {
                                    If (CondRefOf (\_SB.PC00.RP01.PON))
                                    {
                                        ^^RP01.PON ()
                                    }
                                }
                                Case (0x19)
                                {
                                    If (CondRefOf (\_SB.PC00.RP09.PON))
                                    {
                                        ^^RP09.PON ()
                                    }
                                }
                                Case (0x1A)
                                {
                                    If (CondRefOf (\_SB.PC00.RP13.PON))
                                    {
                                        ^^RP13.PON ()
                                    }
                                }
                                Case (0x1B)
                                {
                                    If (CondRefOf (\_SB.PC00.RP17.PON))
                                    {
                                        ^^RP17.PON ()
                                    }
                                }
                                Case (0x1C)
                                {
                                    If (CondRefOf (\_SB.PC00.RP21.PON))
                                    {
                                        ^^RP21.PON ()
                                    }
                                }
                                Default
                                {
                                    Return (Zero)
                                }

                            }
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }

                    Return (Zero)
                }

                Method (VDOF, 2, Serialized)
                {
                    Switch (ToInteger (Arg0))
                    {
                        Case (Zero)
                        {
                            Switch (ToInteger (Arg1))
                            {
                                Case (Zero)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT0.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT0.SPOF ()
                                    }
                                }
                                Case (One)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT1.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT1.SPOF ()
                                    }
                                }
                                Case (0x02)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT2.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT2.SPOF ()
                                    }
                                }
                                Case (0x03)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT3.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT3.SPOF ()
                                    }
                                }
                                Case (0x04)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT4.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT4.SPOF ()
                                    }
                                }
                                Case (0x05)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT5.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT5.SPOF ()
                                    }
                                }
                                Case (0x06)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT6.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT6.SPOF ()
                                    }
                                }
                                Case (0x07)
                                {
                                    If (CondRefOf (\_SB.PC02.SAT0.PRT7.SPOF))
                                    {
                                        ^^^PC02.SAT0.PRT7.SPOF ()
                                    }
                                }

                            }
                        }
                        Case (One)
                        {
                            Switch (ToInteger (Arg1))
                            {
                                Case (Zero)
                                {
                                    If (CondRefOf (\_SB.PC02.RP01.POFF))
                                    {
                                        ^^^PC02.RP01.POFF ()
                                    }
                                }
                                Case (One)
                                {
                                    If (CondRefOf (\_SB.PC02.RP02.POFF))
                                    {
                                        ^^^PC02.RP02.POFF ()
                                    }
                                }
                                Case (0x02)
                                {
                                    If (CondRefOf (\_SB.PC02.RP03.POFF))
                                    {
                                        ^^^PC02.RP03.POFF ()
                                    }
                                }
                                Case (0x03)
                                {
                                    If (CondRefOf (\_SB.PC02.RP04.POFF))
                                    {
                                        ^^^PC02.RP04.POFF ()
                                    }
                                }
                                Case (0x04)
                                {
                                    If (CondRefOf (\_SB.PC02.RP05.POFF))
                                    {
                                        ^^^PC02.RP05.POFF ()
                                    }
                                }
                                Case (0x05)
                                {
                                    If (CondRefOf (\_SB.PC02.RP06.POFF))
                                    {
                                        ^^^PC02.RP06.POFF ()
                                    }
                                }
                                Case (0x06)
                                {
                                    If (CondRefOf (\_SB.PC02.RP07.POFF))
                                    {
                                        ^^^PC02.RP07.POFF ()
                                    }
                                }
                                Case (0x07)
                                {
                                    If (CondRefOf (\_SB.PC02.RP08.POFF))
                                    {
                                        ^^^PC02.RP08.POFF ()
                                    }
                                }
                                Case (0x08)
                                {
                                    If (CondRefOf (\_SB.PC02.RP09.POFF))
                                    {
                                        ^^^PC02.RP09.POFF ()
                                    }
                                }
                                Case (0x09)
                                {
                                    If (CondRefOf (\_SB.PC02.RP10.POFF))
                                    {
                                        ^^^PC02.RP10.POFF ()
                                    }
                                }
                                Case (0x0A)
                                {
                                    If (CondRefOf (\_SB.PC02.RP11.POFF))
                                    {
                                        ^^^PC02.RP11.POFF ()
                                    }
                                }
                                Case (0x0B)
                                {
                                    If (CondRefOf (\_SB.PC02.RP12.POFF))
                                    {
                                        ^^^PC02.RP12.POFF ()
                                    }
                                }
                                Case (0x0C)
                                {
                                    If (CondRefOf (\_SB.PC02.RP13.POFF))
                                    {
                                        ^^^PC02.RP13.POFF ()
                                    }
                                }
                                Case (0x0D)
                                {
                                    If (CondRefOf (\_SB.PC02.RP14.POFF))
                                    {
                                        ^^^PC02.RP14.POFF ()
                                    }
                                }
                                Case (0x0E)
                                {
                                    If (CondRefOf (\_SB.PC02.RP15.POFF))
                                    {
                                        ^^^PC02.RP15.POFF ()
                                    }
                                }
                                Case (0x0F)
                                {
                                    If (CondRefOf (\_SB.PC02.RP16.POFF))
                                    {
                                        ^^^PC02.RP16.POFF ()
                                    }
                                }
                                Case (0x10)
                                {
                                    If (CondRefOf (\_SB.PC02.RP17.POFF))
                                    {
                                        ^^^PC02.RP17.POFF ()
                                    }
                                }
                                Case (0x11)
                                {
                                    If (CondRefOf (\_SB.PC02.RP18.POFF))
                                    {
                                        ^^^PC02.RP18.POFF ()
                                    }
                                }
                                Case (0x12)
                                {
                                    If (CondRefOf (\_SB.PC02.RP19.POFF))
                                    {
                                        ^^^PC02.RP19.POFF ()
                                    }
                                }
                                Case (0x13)
                                {
                                    If (CondRefOf (\_SB.PC02.RP20.POFF))
                                    {
                                        ^^^PC02.RP20.POFF ()
                                    }
                                }
                                Case (0x14)
                                {
                                    If (CondRefOf (\_SB.PC02.RP21.POFF))
                                    {
                                        ^^^PC02.RP21.POFF ()
                                    }
                                }
                                Case (0x15)
                                {
                                    If (CondRefOf (\_SB.PC02.RP22.POFF))
                                    {
                                        ^^^PC02.RP22.POFF ()
                                    }
                                }
                                Case (0x16)
                                {
                                    If (CondRefOf (\_SB.PC02.RP23.POFF))
                                    {
                                        ^^^PC02.RP23.POFF ()
                                    }
                                }
                                Case (0x17)
                                {
                                    If (CondRefOf (\_SB.PC02.RP24.POFF))
                                    {
                                        ^^^PC02.RP24.POFF ()
                                    }
                                }
                                Case (0x18)
                                {
                                    If (CondRefOf (\_SB.PC00.RP01.POFF))
                                    {
                                        ^^RP01.POFF ()
                                    }
                                }
                                Case (0x19)
                                {
                                    If (CondRefOf (\_SB.PC00.RP09.POFF))
                                    {
                                        ^^RP09.POFF ()
                                    }
                                }
                                Case (0x1A)
                                {
                                    If (CondRefOf (\_SB.PC00.RP13.POFF))
                                    {
                                        ^^RP13.POFF ()
                                    }
                                }
                                Case (0x1B)
                                {
                                    If (CondRefOf (\_SB.PC00.RP17.POFF))
                                    {
                                        ^^RP17.POFF ()
                                    }
                                }
                                Case (0x1C)
                                {
                                    If (CondRefOf (\_SB.PC00.RP21.POFF))
                                    {
                                        ^^RP21.POFF ()
                                    }
                                }
                                Default
                                {
                                    Return (Zero)
                                }

                            }
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }

                    Return (Zero)
                }

                Method (VLON, 2, Serialized)
                {
                    Name (DRVA, Zero)
                    Local0 = Zero
                    Local1 = Arg0
                    ADBG (Concatenate ("VLON: The size of the buffer:", ToInteger (Local1)))
                    While ((Local1 > Local0))
                    {
                        DRVA = ToInteger (DerefOf (Arg1 [Local0]))
                        ADBG (Concatenate ("VLON: ACPI Address of the port:", ToInteger (DRVA)))
                        Switch (ToInteger (DRVA))
                        {
                            Case (ToInteger (^PP01._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP01")
                                ^PP01.VPON ()
                            }
                            Case (ToInteger (^PP02._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP02")
                                ^PP02.VPON ()
                            }
                            Case (ToInteger (^PP03._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP03")
                                ^PP03.VPON ()
                            }
                            Case (ToInteger (^PP04._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP04")
                                ^PP04.VPON ()
                            }
                            Case (ToInteger (^PP05._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP05")
                                ^PP05.VPON ()
                            }
                            Case (ToInteger (^PP06._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP06")
                                ^PP06.VPON ()
                            }
                            Case (ToInteger (^PP07._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP07")
                                ^PP07.VPON ()
                            }
                            Case (ToInteger (^PP08._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP08")
                                ^PP08.VPON ()
                            }
                            Case (ToInteger (^PP09._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP09")
                                ^PP09.VPON ()
                            }
                            Case (ToInteger (^PP10._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP10")
                                ^PP10.VPON ()
                            }
                            Case (ToInteger (^PP11._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP11")
                                ^PP11.VPON ()
                            }
                            Case (ToInteger (^PP12._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP12")
                                ^PP12.VPON ()
                            }
                            Case (ToInteger (^PP13._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP13")
                                ^PP13.VPON ()
                            }
                            Case (ToInteger (^PP14._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP14")
                                ^PP14.VPON ()
                            }
                            Case (ToInteger (^PP15._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP15")
                                ^PP15.VPON ()
                            }
                            Case (ToInteger (^PP16._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP16")
                                ^PP16.VPON ()
                            }
                            Case (ToInteger (^PP17._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP17")
                                ^PP17.VPON ()
                            }
                            Case (ToInteger (^PP18._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP18")
                                ^PP18.VPON ()
                            }
                            Case (ToInteger (^PP19._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP19")
                                ^PP19.VPON ()
                            }
                            Case (ToInteger (^PP20._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP20")
                                ^PP20.VPON ()
                            }
                            Case (ToInteger (^PP21._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP21")
                                ^PP21.VPON ()
                            }
                            Case (ToInteger (^PP22._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP22")
                                ^PP22.VPON ()
                            }
                            Case (ToInteger (^PP23._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP23")
                                ^PP23.VPON ()
                            }
                            Case (ToInteger (^PP24._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP24")
                                ^PP24.VPON ()
                            }
                            Case (ToInteger (^SP01._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP01 0/6/0")
                                ^SP01.VPON ()
                            }
                            Case (ToInteger (^SP09._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP09 0/6/3")
                                ^SP09.VPON ()
                            }
                            Case (ToInteger (^SP13._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP13 0/6/4")
                                ^SP13.VPON ()
                            }
                            Case (ToInteger (^SP17._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP17 0/6/1")
                                ^SP17.VPON ()
                            }
                            Case (ToInteger (^SP21._ADR ()))
                            {
                                ADBG ("VMD Logical volume - RP21 0/1/0")
                                ^SP21.VPON ()
                            }
                            Case (ToInteger (^PRT0._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT0")
                                ^PRT0.VSON ()
                            }
                            Case (ToInteger (^PRT1._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT1")
                                ^PRT1.VSON ()
                            }
                            Case (ToInteger (^PRT2._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT2")
                                ^PRT2.VSON ()
                            }
                            Case (ToInteger (^PRT3._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT3")
                                ^PRT3.VSON ()
                            }
                            Case (ToInteger (^PRT4._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT4")
                                ^PRT4.VSON ()
                            }
                            Case (ToInteger (^PRT5._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT5")
                                ^PRT5.VSON ()
                            }
                            Case (ToInteger (^PRT6._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT6")
                                ^PRT6.VSON ()
                            }
                            Case (ToInteger (^PRT7._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT7")
                                ^PRT7.VSON ()
                            }

                        }

                        Local0++
                    }
                }

                Method (VLOF, 2, Serialized)
                {
                    Name (DRVA, Zero)
                    Local0 = Zero
                    Local1 = Arg0
                    ADBG (Concatenate ("VLOF: The size of the Pkg:", ToInteger (Local1)))
                    While ((Local1 > Local0))
                    {
                        DRVA = ToInteger (DerefOf (Arg1 [Local0]))
                        ADBG (Concatenate ("VLOF: ACPI Address of the port:", ToInteger (DRVA)))
                        Switch (ToInteger (DRVA))
                        {
                            Case (ToInteger (^PP01._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP01")
                                ^PP01.VPOF ()
                            }
                            Case (ToInteger (^PP02._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP02")
                                ^PP02.VPOF ()
                            }
                            Case (ToInteger (^PP03._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP03")
                                ^PP03.VPOF ()
                            }
                            Case (ToInteger (^PP04._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP04")
                                ^PP04.VPOF ()
                            }
                            Case (ToInteger (^PP05._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP05")
                                ^PP05.VPOF ()
                            }
                            Case (ToInteger (^PP06._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP06")
                                ^PP06.VPOF ()
                            }
                            Case (ToInteger (^PP07._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP07")
                                ^PP07.VPOF ()
                            }
                            Case (ToInteger (^PP08._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP08")
                                ^PP08.VPOF ()
                            }
                            Case (ToInteger (^PP09._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP09")
                                ^PP09.VPOF ()
                            }
                            Case (ToInteger (^PP10._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP10")
                                ^PP10.VPOF ()
                            }
                            Case (ToInteger (^PP11._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP11")
                                ^PP11.VPOF ()
                            }
                            Case (ToInteger (^PP12._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP12")
                                ^PP12.VPOF ()
                            }
                            Case (ToInteger (^PP13._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP13")
                                ^PP13.VPOF ()
                            }
                            Case (ToInteger (^PP14._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP14")
                                ^PP14.VPOF ()
                            }
                            Case (ToInteger (^PP15._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP15")
                                ^PP15.VPOF ()
                            }
                            Case (ToInteger (^PP16._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP16")
                                ^PP16.VPOF ()
                            }
                            Case (ToInteger (^PP17._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP17")
                                ^PP17.VPOF ()
                            }
                            Case (ToInteger (^PP18._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP18")
                                ^PP18.VPOF ()
                            }
                            Case (ToInteger (^PP19._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP19")
                                ^PP19.VPOF ()
                            }
                            Case (ToInteger (^PP20._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP20")
                                ^PP20.VPOF ()
                            }
                            Case (ToInteger (^PP21._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP21")
                                ^PP21.VPOF ()
                            }
                            Case (ToInteger (^PP22._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe R226")
                                ^PP22.VPOF ()
                            }
                            Case (ToInteger (^PP23._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP23")
                                ^PP23.VPOF ()
                            }
                            Case (ToInteger (^PP24._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PCH PCIe RP24")
                                ^PP24.VPOF ()
                            }
                            Case (ToInteger (^SP01._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP01 0/6/0")
                                ^SP01.VPOF ()
                            }
                            Case (ToInteger (^SP09._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP09 0/6/3")
                                ^SP09.VPOF ()
                            }
                            Case (ToInteger (^SP13._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP13 0/6/4")
                                ^SP13.VPOF ()
                            }
                            Case (ToInteger (^SP17._ADR ()))
                            {
                                ADBG ("VMD Logical volume - SOC + IOE RP17 0/6/1")
                                ^SP17.VPOF ()
                            }
                            Case (ToInteger (^SP21._ADR ()))
                            {
                                ADBG ("VMD Logical volume - RP21 0/1/0")
                                ^SP21.VPOF ()
                            }
                            Case (ToInteger (^PRT0._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT0")
                                ^PRT0.VSOF ()
                            }
                            Case (ToInteger (^PRT1._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT1")
                                ^PRT1.VSOF ()
                            }
                            Case (ToInteger (^PRT2._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT2")
                                ^PRT2.VSOF ()
                            }
                            Case (ToInteger (^PRT3._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT3")
                                ^PRT3.VSOF ()
                            }
                            Case (ToInteger (^PRT4._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT4")
                                ^PRT4.VSOF ()
                            }
                            Case (ToInteger (^PRT5._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT5")
                                ^PRT5.VSOF ()
                            }
                            Case (ToInteger (^PRT6._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT6")
                                ^PRT6.VSOF ()
                            }
                            Case (ToInteger (^PRT7._ADR ()))
                            {
                                ADBG ("VMD Logical volume - PRT7")
                                ^PRT7.VSOF ()
                            }

                        }

                        Local0++
                    }
                }
            }
        }
    }

    If ((PCHA == One))
    {
        Scope (_SB.PC00.RP01)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC00.RP09)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC00.RP17)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC00.RP21)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP01)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP04)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP05)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP06)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP07)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP08)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP09)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }

        Scope (_SB.PC02.RP21)
        {
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (GPRW (0x6B, 0x04))
            }
        }
    }

    If ((PCHA == One))
    {
        Scope (_SB.PC02.SAT0)
        {
            Method (SATC, 1, Serialized)
            {
                If ((Arg0 == ToUUID ("e4db149b-fcfe-425b-a6d8-92357d78fc7f") /* SATA Controller */))
                {
                    ADBG ("Win Sata DSM UUID : E4DB149B-FCFE-425b-A6D8-92357D78FC7F")
                    Return (One)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (SATD, 4, Serialized)
            {
                If (CondRefOf (ZPOV))
                {
                    Return (ZPOV (Arg1, Arg2, Arg3))
                }
                Else
                {
                    Switch (ToInteger (Arg2))
                    {
                        Case (Zero)
                        {
                            ADBG ("Win Sata DSM fun 0")
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                        Default
                        {
                            Return (Zero)
                        }

                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }

            If (((S0ID == One) && (PUIS == One)))
            {
                If (CondRefOf (PRT0))
                {
                    Scope (PRT0)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT0.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT1))
                {
                    Scope (PRT1)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT1.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT2))
                {
                    Scope (PRT2)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT2.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT3))
                {
                    Scope (PRT3)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT3.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT4))
                {
                    Scope (PRT4)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT4.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT5))
                {
                    Scope (PRT5)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT5.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT6))
                {
                    Scope (PRT6)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT6.GTF0 */
                        }
                    }
                }

                If (CondRefOf (PRT7))
                {
                    Scope (PRT7)
                    {
                        Name (GTF0, Buffer (0x07)
                        {
                             0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         // .......
                        })
                        Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
                        {
                            CreateByteField (GTF0, Zero, FEAT)
                            CreateByteField (GTF0, 0x06, CMMD)
                            CreateWordField (Arg0, 0xA6, W083)
                            CreateWordField (Arg0, 0xAC, W086)
                            If ((SizeOf (Arg0) == 0x0200))
                            {
                                If (((W083 & 0x20) == 0x20))
                                {
                                    If (((W086 & 0x20) == Zero))
                                    {
                                        FEAT = 0x06
                                        CMMD = 0xEF
                                    }
                                }
                            }
                        }

                        Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
                        {
                            Return (GTF0) /* \_SB_.PC02.SAT0.PRT7.GTF0 */
                        }
                    }
                }
            }
        }
    }

    If (((PFLV == One) || (PFLV == 0x06)))
    {
        If ((WFFD == One))
        {
            Scope (_SB)
            {
                Method (WFRT, 3, Serialized)
                {
                    Local0 = Acquire (WWMT, 0x03E8)
                    ADBG ("WWAN Flash Reset Mutex: Acquired Try Done")
                    If ((Local0 == Zero))
                    {
                        Local0 = One
                        If ((WWRP == One))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP01.PXSX.FHRF))
                            {
                                ^PC02.RP01.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP01.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP01.PXSX.SHRF))
                            {
                                ^PC02.RP01.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP01.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP01.PXSX.DOSV))
                            {
                                ^PC02.RP01.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x02))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP02.PXSX.FHRF))
                            {
                                ^PC02.RP02.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP02.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP02.PXSX.SHRF))
                            {
                                ^PC02.RP02.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP02.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP02.PXSX.DOSV))
                            {
                                ^PC02.RP02.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x03))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP03.PXSX.FHRF))
                            {
                                ^PC02.RP03.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP03.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP03.PXSX.SHRF))
                            {
                                ^PC02.RP03.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP03.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP03.PXSX.DOSV))
                            {
                                ^PC02.RP03.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x04))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP04.PXSX.FHRF))
                            {
                                ^PC02.RP04.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP04.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP04.PXSX.SHRF))
                            {
                                ^PC02.RP04.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP04.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP04.PXSX.DOSV))
                            {
                                ^PC02.RP04.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x05))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP05.PXSX.FHRF))
                            {
                                ^PC02.RP05.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP05.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP05.PXSX.SHRF))
                            {
                                ^PC02.RP05.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP05.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP05.PXSX.DOSV))
                            {
                                ^PC02.RP05.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x06))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP06.PXSX.FHRF))
                            {
                                ^PC02.RP06.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP06.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP06.PXSX.SHRF))
                            {
                                ^PC02.RP06.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP06.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP06.PXSX.DOSV))
                            {
                                ^PC02.RP06.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x07))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP07.PXSX.FHRF))
                            {
                                ^PC02.RP07.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP07.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP07.PXSX.SHRF))
                            {
                                ^PC02.RP07.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP07.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP07.PXSX.DOSV))
                            {
                                ^PC02.RP07.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x08))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP08.PXSX.FHRF))
                            {
                                ^PC02.RP08.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP08.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP08.PXSX.SHRF))
                            {
                                ^PC02.RP08.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP08.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP08.PXSX.DOSV))
                            {
                                ^PC02.RP08.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x09))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP09.PXSX.FHRF))
                            {
                                ^PC02.RP09.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP09.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP09.PXSX.SHRF))
                            {
                                ^PC02.RP09.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP09.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP09.PXSX.DOSV))
                            {
                                ^PC02.RP09.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x0A))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP10.PXSX.FHRF))
                            {
                                ^PC02.RP10.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP10.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP10.PXSX.SHRF))
                            {
                                ^PC02.RP10.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP10.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP10.PXSX.DOSV))
                            {
                                ^PC02.RP10.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x0B))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP11.PXSX.FHRF))
                            {
                                ^PC02.RP11.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP11.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP11.PXSX.SHRF))
                            {
                                ^PC02.RP11.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP11.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP11.PXSX.DOSV))
                            {
                                ^PC02.RP11.PXSX.DOSV ()
                            }
                        }

                        If ((WWRP == 0x0C))
                        {
                            If ((Arg0 == Zero))
                            {
                                ADBG ("Start WWAN Warm Reset")
                            }
                            Else
                            {
                                ADBG ("Start WWAN Cold Reset")
                            }

                            If (CondRefOf (\_SB.PC02.RP12.PXSX.FHRF))
                            {
                                ^PC02.RP12.PXSX.FHRF (Arg0)
                            }

                            Sleep (Arg1)
                            ADBG (Concatenate ("WFRT Delay1  ", ToDecimalString (Arg1)))
                            Notify (^PC02.RP12.PXSX, One) // Device Check
                            If (CondRefOf (\_SB.PC02.RP12.PXSX.SHRF))
                            {
                                ^PC02.RP12.PXSX.SHRF ()
                            }

                            Sleep (Arg2)
                            ADBG (Concatenate ("WFRT Delay2  ", ToDecimalString (Arg2)))
                            Notify (^PC02.RP12.PXSX, One) // Device Check
                            ADBG ("End WWAN Warm Reset")
                            Release (WWMT)
                            Local0 = Zero
                            ADBG ("WWAN Warm Reset Mutex: Release Done")
                            If (CondRefOf (\_SB.PC02.RP12.PXSX.DOSV))
                            {
                                ^PC02.RP12.PXSX.DOSV ()
                            }
                        }

                        If ((Local0 == One))
                        {
                            Release (WWMT)
                        }
                    }
                }

                Device (MFFD)
                {
                    Name (_HID, "INTC1073")  // _HID: Hardware ID
                    Name (_STR, Unicode ("Modem Firmware Flash Device"))  // _STR: Description String
                    Method (_STA, 0, NotSerialized)  // _STA: Status
                    {
                        If ((WFFD == One))
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }

                    Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
                    {
                        If ((Arg0 == ToUUID ("0f3d57aa-6046-47b2-8a9a-88f1021d3865") /* Unknown UUID */))
                        {
                            If ((Arg2 == Zero))
                            {
                                If ((Arg1 == Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                         0x07                                             // .
                                    })
                                }
                                Else
                                {
                                    Return (Buffer (One)
                                    {
                                         0x00                                             // .
                                    })
                                }
                            }

                            If ((Arg2 == One))
                            {
                                ADBG ("MFFD FLDR")
                                WFRT (Zero, DerefOf (Arg3 [Zero]), DerefOf (Arg3 [One]))
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            If ((Arg2 == 0x02))
                            {
                                ADBG ("MFFD PLDR")
                                WFRT (One, DerefOf (Arg3 [Zero]), DerefOf (Arg3 [One]))
                                Return (Buffer (One)
                                {
                                     0x00                                             // .
                                })
                            }

                            Return (Zero)
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }
                }
            }
        }
    }

    If (CondRefOf (\_SB.PC00.XDCI))
    {
        Scope (_SB.PC00.XDCI)
        {
            Method (XDAT, 0, Serialized)
            {
                Return (Zero)
            }
        }
    }

    Scope (_SB)
    {
        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
            Name (PBST, One)
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0F)
            }
        }
    }

    Scope (_SB.PC00.LPCB.H_EC)
    {
        Method (BST1, 0, NotSerialized)
        {
            Name (PKG1, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Return (PKG1) /* \_SB_.PC00.LPCB.H_EC.BST1.PKG1 */
        }

        Method (BST2, 0, NotSerialized)
        {
            Name (PKG2, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Return (PKG2) /* \_SB_.PC00.LPCB.H_EC.BST2.PKG2 */
        }
    }

    Scope (_SB.PC00.LPCB)
    {
    }

    Device (_SB.TPM)
    {
        Name (TMRQ, 0x00000000)
        Name (TLVL, 0xFFFFFFFF)
        Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
        {
            If (TCMF)
            {
                Return (0x01013469)
            }
            ElseIf ((TTDP == Zero))
            {
                Return (0x310CD041)
            }
            Else
            {
                Return ("MSFT0101")
            }
        }

        OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
        Field (TMMB, ByteAcc, Lock, Preserve)
        {
            ACC0,   8, 
            Offset (0x08), 
            INTE,   32, 
            INTV,   8, 
            Offset (0x10), 
            INTS,   32, 
            INTF,   32, 
            TSTS,   32, 
            Offset (0x24), 
            FIFO,   32, 
            Offset (0x30), 
            IDTF,   32, 
            Offset (0x4C), 
            SCMD,   32
        }

        Method (_STR, 0, NotSerialized)  // _STR: Description String
        {
            If ((TTDP == Zero))
            {
                Return (Unicode ("TPM 1.2 Device"))
            }
            Else
            {
                Return (Unicode ("TPM 2.0 Device"))
            }
        }

        Name (_UID, One)  // _UID: Unique ID
        Name (CRST, ResourceTemplate ()
        {
            Memory32Fixed (ReadOnly,
                0x00000000,         // Address Base
                0x00001000,         // Address Length
                _YA0)
            Memory32Fixed (ReadOnly,
                0xFED70000,         // Address Base
                0x00001000,         // Address Length
                _YA1)
        })
        Name (CRSD, ResourceTemplate ()
        {
            Memory32Fixed (ReadWrite,
                0xFED40000,         // Address Base
                0x00005000,         // Address Length
                _YA2)
        })
        Name (CRID, ResourceTemplate ()
        {
            Memory32Fixed (ReadWrite,
                0xFED40000,         // Address Base
                0x00005000,         // Address Length
                _YA3)
        })
        Name (CREI, ResourceTemplate ()
        {
            Memory32Fixed (ReadWrite,
                0xFED40000,         // Address Base
                0x00005000,         // Address Length
                )
            Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _YA4)
            {
                0x00000000,
            }
        })
        Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
        {
            If ((AMDT == One))
            {
                CreateDWordField (CRST, \_SB.TPM._YA0._BAS, MTFB)  // _BAS: Base Address
                CreateDWordField (CRST, \_SB.TPM._YA0._LEN, LTFB)  // _LEN: Length
                MTFB = TPMB /* \TPMB */
                LTFB = TPBS /* \TPBS */
                CreateDWordField (CRST, \_SB.TPM._YA1._BAS, MTFC)  // _BAS: Base Address
                CreateDWordField (CRST, \_SB.TPM._YA1._LEN, LTFC)  // _LEN: Length
                MTFC = TPMC /* \TPMC */
                LTFC = TPCS /* \TPCS */
                Return (CRST) /* \_SB_.TPM_.CRST */
            }
            Else
            {
                If ((DTP1 == One))
                {
                    CreateDWordField (CRSD, \_SB.TPM._YA2._BAS, MTFE)  // _BAS: Base Address
                    CreateDWordField (CRSD, \_SB.TPM._YA2._LEN, LTFE)  // _LEN: Length
                    MTFE = 0xFED40000
                    LTFE = 0x5000
                    Return (CRSD) /* \_SB_.TPM_.CRSD */
                }
                ElseIf ((TTPF == One))
                {
                    If (((TMRQ == Zero) || (TMRQ == 0xFFFFFFFF)))
                    {
                        CreateDWordField (CRID, \_SB.TPM._YA3._BAS, MTFD)  // _BAS: Base Address
                        CreateDWordField (CRID, \_SB.TPM._YA3._LEN, LTFD)  // _LEN: Length
                        MTFD = 0xFED40000
                        LTFD = 0x5000
                        Return (CRID) /* \_SB_.TPM_.CRID */
                    }
                    Else
                    {
                        CreateDWordField (CREI, \_SB.TPM._YA4._INT, LIRQ)  // _INT: Interrupts
                        LIRQ = TMRQ /* \_SB_.TPM_.TMRQ */
                        Return (CREI) /* \_SB_.TPM_.CREI */
                    }
                }
                ElseIf ((TTPF == Zero))
                {
                    CreateDWordField (CRST, \_SB.TPM._YA1._BAS, MTFF)  // _BAS: Base Address
                    MTFF = FTPM /* \FTPM */
                    Return (CRST) /* \_SB_.TPM_.CRST */
                }

                MTFE = Zero
                LTFE = Zero
                Return (CRID) /* \_SB_.TPM_.CRID */
            }

            Return (CRID) /* \_SB_.TPM_.CRID */
        }

        Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
        {
            If (((TMRQ != Zero) && (TMRQ != 0xFFFFFFFF)))
            {
                CreateDWordField (Arg0, 0x11, IRQ0)
                CreateDWordField (CREI, \_SB.TPM._YA4._INT, LIRQ)  // _INT: Interrupts
                LIRQ = IRQ0 /* \_SB_.TPM_._SRS.IRQ0 */
                TMRQ = IRQ0 /* \_SB_.TPM_._SRS.IRQ0 */
                CreateBitField (Arg0, 0x79, ITRG)
                CreateBitField (CREI, \_SB.TPM._YA4._HE, LTRG)  // _HE_: High-Edge
                LTRG = ITRG /* \_SB_.TPM_._SRS.ITRG */
                CreateBitField (Arg0, 0x7A, ILVL)
                CreateBitField (CREI, \_SB.TPM._YA4._LL, LLVL)  // _LL_: Low Level
                LLVL = ILVL /* \_SB_.TPM_._SRS.ILVL */
                If ((((IDTF & 0x0F) == Zero) || ((IDTF & 0x0F
                    ) == 0x0F)))
                {
                    If ((IRQ0 < 0x10))
                    {
                        INTV = (IRQ0 & 0x0F)
                    }

                    If ((ITRG == One))
                    {
                        INTE |= 0x10
                    }
                    Else
                    {
                        INTE &= 0xFFFFFFEF
                    }

                    If ((ILVL == Zero))
                    {
                        INTE |= 0x08
                    }
                    Else
                    {
                        INTE &= 0xFFFFFFF7
                    }
                }
            }
        }

        OperationRegion (CRBD, SystemMemory, TPMM, 0x48)
        Field (CRBD, AnyAcc, NoLock, Preserve)
        {
            Offset (0x04), 
            HERR,   32, 
            Offset (0x40), 
            HCMD,   32, 
            HSTS,   32
        }

        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            If ((TTDP == Zero))
            {
                If (TPMF)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }
            ElseIf ((TTDP == One))
            {
                If (TPMF)
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Return (Zero)
        }

        Method (STRT, 3, Serialized)
        {
            OperationRegion (TPMR, SystemMemory, FTPM, 0x1000)
            Field (TPMR, AnyAcc, NoLock, Preserve)
            {
                Offset (0x04), 
                FERR,   32, 
                Offset (0x0C), 
                BEGN,   32
            }

            Name (TIMR, Zero)
            If ((ToInteger (Arg0) != Zero)){}
            Switch (ToInteger (Arg1))
            {
                Case (Zero)
                {
                    Return (Buffer (One)
                    {
                         0x03                                             // .
                    })
                }
                Case (One)
                {
                    TIMR = Zero
                    If ((AMDT == One))
                    {
                        While (((BEGN == One) && (TIMR < 0x0200)))
                        {
                            If ((BEGN == One))
                            {
                                Sleep (One)
                                TIMR++
                            }
                        }
                    }
                    ElseIf ((((HSTS & 0x02) | (HSTS & One)
                        ) == 0x03))
                    {
                        HCMD = One
                    }
                    Else
                    {
                        FERR = One
                        BEGN = Zero
                    }

                    Return (Zero)
                }

            }

            Return (One)
        }

        Method (CRYF, 3, Serialized)
        {
            If ((ToInteger (Arg0) != One)){}
            Switch (ToInteger (Arg1))
            {
                Case (Zero)
                {
                    Return (Buffer (One)
                    {
                         0x03                                             // .
                    })
                }
                Case (One)
                {
                    Name (TPMV, Package (0x02)
                    {
                        One, 
                        Package (0x02)
                        {
                            One, 
                            0x20
                        }
                    })
                    If ((_STA () == Zero))
                    {
                        Return (Package (0x01)
                        {
                            Zero
                        })
                    }

                    Return (TPMV) /* \_SB_.TPM_.CRYF.TPMV */
                }

            }

            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }
    }

    Scope (_SB.TPM)
    {
        OperationRegion (TSMI, SystemIO, SMIA, One)
        Field (TSMI, ByteAcc, NoLock, Preserve)
        {
            SMI,    8
        }

        OperationRegion (ATNV, SystemMemory, PPIM, PPIL)
        Field (ATNV, AnyAcc, NoLock, Preserve)
        {
            RQST,   32, 
            RCNT,   32, 
            ERRO,   32, 
            FLAG,   32, 
            MISC,   32, 
            OPTN,   32, 
            SRSP,   32
        }

        Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
        {
            If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */))
            {
                Switch (ToInteger (Arg2))
                {
                    Case (Zero)
                    {
                        Return (Buffer (0x02)
                        {
                             0xFF, 0x01                                       // ..
                        })
                    }
                    Case (One)
                    {
                        If ((PPIV == Zero))
                        {
                            Return ("1.2")
                        }
                        Else
                        {
                            Return ("1.3")
                        }
                    }
                    Case (0x02)
                    {
                        RQST = DerefOf (Arg3 [Zero])
                        SRSP = Zero
                        FLAG = 0x02
                        TMF1 = OFST /* \OFST */
                        SRSP = Zero
                        SMI = TMF1 /* \TMF1 */
                        Return (SRSP) /* \_SB_.TPM_.SRSP */
                    }
                    Case (0x03)
                    {
                        Name (PPI1, Package (0x02)
                        {
                            Zero, 
                            Zero
                        })
                        PPI1 [One] = RQST /* \_SB_.TPM_.RQST */
                        Return (PPI1) /* \_SB_.TPM_._DSM.PPI1 */
                    }
                    Case (0x04)
                    {
                        Return (TRST) /* \TRST */
                    }
                    Case (0x05)
                    {
                        Name (PPI2, Package (0x03)
                        {
                            Zero, 
                            Zero, 
                            Zero
                        })
                        SRSP = Zero
                        FLAG = 0x05
                        SMI = OFST /* \OFST */
                        PPI2 [One] = RCNT /* \_SB_.TPM_.RCNT */
                        PPI2 [0x02] = ERRO /* \_SB_.TPM_.ERRO */
                        Return (PPI2) /* \_SB_.TPM_._DSM.PPI2 */
                    }
                    Case (0x06)
                    {
                        Return (0x03)
                    }
                    Case (0x07)
                    {
                        RQST = DerefOf (Arg3 [Zero])
                        FLAG = 0x07
                        OPTN = Zero
                        If ((RQST == 0x17))
                        {
                            ToInteger (DerefOf (Arg3 [One]), OPTN) /* \_SB_.TPM_.OPTN */
                        }

                        TMF1 = OFST /* \OFST */
                        SRSP = Zero
                        SMI = TMF1 /* \TMF1 */
                        Return (SRSP) /* \_SB_.TPM_.SRSP */
                    }
                    Case (0x08)
                    {
                        RQST = DerefOf (Arg3 [Zero])
                        FLAG = 0x08
                        TMF1 = OFST /* \OFST */
                        SRSP = Zero
                        SMI = TMF1 /* \TMF1 */
                        Return (SRSP) /* \_SB_.TPM_.SRSP */
                    }
                    Default
                    {
                    }

                }
            }
            ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d") /* Unknown UUID */))
            {
                Switch (ToInteger (Arg2))
                {
                    Case (Zero)
                    {
                        Return (Buffer (One)
                        {
                             0x03                                             // .
                        })
                    }
                    Case (One)
                    {
                        RQST = DerefOf (Arg3 [Zero])
                        FLAG = 0x09
                        TMF1 = OFST /* \OFST */
                        SRSP = Zero
                        SMI = TMF1 /* \TMF1 */
                        Return (SRSP) /* \_SB_.TPM_.SRSP */
                    }
                    Default
                    {
                    }

                }
            }

            If ((Arg0 == ToUUID ("cf8e16a5-c1e8-4e25-b712-4f54a96702c8") /* Unknown UUID */))
            {
                Return (CRYF (Arg1, Arg2, Arg3))
            }

            If ((Arg0 == ToUUID ("6bbf6cab-5463-4714-b7cd-f0203c0368d4") /* Unknown UUID */))
            {
                Return (STRT (Arg1, Arg2, Arg3))
            }

            Return (Buffer (One)
            {
                 0x00                                             // .
            })
        }

        Method (TPTS, 1, Serialized)
        {
            Switch (ToInteger (Arg0))
            {
                Case (0x04)
                {
                    RQST = Zero
                    FLAG = 0x09
                    SRSP = Zero
                    SMI = OFST /* \OFST */
                }
                Case (0x05)
                {
                    RQST = Zero
                    FLAG = 0x09
                    SRSP = Zero
                    SMI = OFST /* \OFST */
                }

            }
        }
    }

    Scope (_SB)
    {
        Name (UWSV, 0x03)
        OperationRegion (UWNV, SystemMemory, 0x61CCD018, 0x00070000)
    }

    Scope (_SB.PC02)
    {
        Name (OTPM, 0x02)
    }

    Scope (_SB.PC02.I2C3)
    {
        Device (TPAD)
        {
            Name (SADR, 0x2C)
            Name (HADR, 0x0020)
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, "UNIW0001")  // _HID: Hardware ID
            Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */)  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (_S0W, Zero)  // _S0W: S0 Device Wake State
            Name (SBFB, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PC02.I2C3",
                    0x00, ResourceConsumer, _YA5, Exclusive,
                    )
            })
            CreateByteField (SBFB, \_SB.PC02.I2C3.TPAD._YA5._ADR, BADR)  // _ADR: Address
            Name (SBFI, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000,
                    "\\_SB.PGPI", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0000
                    }
            })
            CreateWordField (SBFI, 0x17, INTA)
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                BADR = SADR /* \_SB_.PC02.I2C3.TPAD.SADR */
                INTA = ^^^^PGPI.GNUM (0x00160508)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((OTPM != 0x02))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Return (ConcatenateResTemplate (SBFB, SBFI))
            }

            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                {
                    If ((Arg2 == Zero))
                    {
                        If ((Arg1 == One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                             // .
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                             // .
                            })
                        }
                    }

                    If ((Arg2 == One))
                    {
                        Return (HADR) /* \_SB_.PC02.I2C3.TPAD.HADR */
                    }
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
        }
    }

    Scope (_SB)
    {
        Device (INOU)
        {
            Name (_HID, "INOU0000")  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Mutex (UWOL, 0x00)
            Name (CSTM, Zero)
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                Memory32Fixed (ReadWrite,
                    0xFE410000,         // Address Base
                    0x00001000,         // Address Length
                    )
            })
            Name (T3PC, Buffer (0x07)
            {
                 0x78, 0x78, 0xA5, 0x64, 0x7D, 0x0F, 0x57         // xx.d}.W
            })
            Name (AX20, Buffer (0x0C)
            {
                /* 0000 */  0x78, 0x78, 0xD7, 0x05, 0x00, 0x19, 0x57, 0x73,  // xx....Ws
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AX40, Buffer (0x0C)
            {
                /* 0000 */  0x78, 0x78, 0xD7, 0x05, 0x00, 0x19, 0x57, 0x7D,  // xx....W}
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AX60, Buffer (0x0C)
            {
                /* 0000 */  0xA0, 0xA0, 0xD7, 0x05, 0x00, 0x19, 0x57, 0x7D,  // ......W}
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AX90, Buffer (0x0C)
            {
                /* 0000 */  0xA0, 0xA0, 0xFA, 0x05, 0x00, 0x19, 0x57, 0x96,  // ......W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AX9H, Buffer (0x0C)
            {
                /* 0000 */  0xA0, 0xA0, 0x7D, 0x05, 0x00, 0x19, 0x57, 0x96,  // ..}...W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (BX90, Buffer (0x0C)
            {
                /* 0000 */  0xCD, 0xCD, 0xFA, 0x05, 0x00, 0x19, 0x57, 0x96,  // ......W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (BX9H, Buffer (0x0C)
            {
                /* 0000 */  0xCD, 0xCD, 0xC8, 0x05, 0x00, 0x19, 0x57, 0x96,  // ......W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AXB0, Buffer (0x0C)
            {
                /* 0000 */  0xA0, 0xA0, 0xFA, 0x05, 0x00, 0x19, 0x57, 0x96,  // ......W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AXBH, Buffer (0x0C)
            {
                /* 0000 */  0xA0, 0xA0, 0x7D, 0x05, 0x00, 0x19, 0x57, 0x96,  // ..}...W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (BXB0, Buffer (0x0C)
            {
                /* 0000 */  0xCD, 0xCD, 0xFA, 0x05, 0x00, 0x19, 0x57, 0x96,  // ......W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (BXBH, Buffer (0x0C)
            {
                /* 0000 */  0xCD, 0xCD, 0xC8, 0x05, 0x00, 0x19, 0x57, 0x96,  // ......W.
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AP00, Buffer (0x0C)
            {
                /* 0000 */  0x78, 0x78, 0xD7, 0x05, 0x00, 0x19, 0x57, 0x73,  // xx....Ws
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (AS70, Buffer (0x0C)
            {
                /* 0000 */  0x78, 0x78, 0xD7, 0x05, 0x00, 0x19, 0x57, 0x73,  // xx....Ws
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2X2, Buffer (0x0C)
            {
                /* 0000 */  0xD2, 0xD2, 0xD2, 0x0A, 0x32, 0x0F, 0x57, 0x32,  // ....2.W2
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2X4, Buffer (0x0C)
            {
                /* 0000 */  0xD2, 0xD2, 0xD2, 0x0A, 0x32, 0x0F, 0x57, 0x32,  // ....2.W2
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2X6, Buffer (0x0C)
            {
                /* 0000 */  0xD2, 0xD2, 0xD2, 0x0A, 0x32, 0x0F, 0x57, 0x32,  // ....2.W2
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2X7, Buffer (0x0C)
            {
                /* 0000 */  0xD2, 0xD2, 0xD2, 0x0A, 0x32, 0x19, 0x57, 0x41,  // ....2.WA
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2X9, Buffer (0x0C)
            {
                /* 0000 */  0xD2, 0xD2, 0xD2, 0x0A, 0x46, 0x19, 0x57, 0x50,  // ....F.WP
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G211, Buffer (0x0C)
            {
                /* 0000 */  0xD2, 0xD2, 0xD2, 0x0A, 0x37, 0x19, 0x57, 0x5F,  // ....7.W_
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G287, Buffer (0x0C)
            {
                /* 0000 */  0xAF, 0xAF, 0xAF, 0x0A, 0x32, 0x19, 0x57, 0x41,  // ....2.WA
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G289, Buffer (0x0C)
            {
                /* 0000 */  0xAF, 0xAF, 0xAF, 0x0A, 0x46, 0x19, 0x57, 0x50,  // ....F.WP
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G28B, Buffer (0x0C)
            {
                /* 0000 */  0xAF, 0xAF, 0xAF, 0x0A, 0x37, 0x19, 0x57, 0x5F,  // ....7.W_
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2A7, Buffer (0x0C)
            {
                /* 0000 */  0x91, 0x91, 0x91, 0x0A, 0x32, 0x19, 0x57, 0x41,  // ....2.WA
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2A9, Buffer (0x0C)
            {
                /* 0000 */  0x91, 0x91, 0x91, 0x0A, 0x46, 0x19, 0x57, 0x50,  // ....F.WP
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Name (G2AB, Buffer (0x0C)
            {
                /* 0000 */  0x91, 0x91, 0x91, 0x0A, 0x37, 0x19, 0x57, 0x5F,  // ....7.W_
                /* 0008 */  0xFF, 0xFF, 0xFF, 0xFF                           // ....
            })
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (0x0B)
            }

            Method (MMRW, 4, NotSerialized)
            {
                Acquire (UWOL, 0xFFFF)
                OperationRegion (MMNM, SystemMemory, Arg0, 0x04)
                Field (MMNM, ByteAcc, NoLock, Preserve)
                {
                    MM08,   8
                }

                Field (MMNM, ByteAcc, NoLock, Preserve)
                {
                    MM16,   16
                }

                Field (MMNM, ByteAcc, NoLock, Preserve)
                {
                    MM32,   32
                }

                Local0 = 0xFFFFFFFE
                If ((Arg1 == Zero))
                {
                    If ((Arg2 == Zero))
                    {
                        Local0 = MM08 /* \_SB_.INOU.MMRW.MM08 */
                    }
                    ElseIf ((Arg2 == One))
                    {
                        Local0 = MM16 /* \_SB_.INOU.MMRW.MM16 */
                    }
                    ElseIf ((Arg2 == 0x02))
                    {
                        Local0 = MM32 /* \_SB_.INOU.MMRW.MM32 */
                    }
                }
                ElseIf ((Arg1 == One))
                {
                    If ((Arg2 == Zero))
                    {
                        MM08 = (Arg3 & 0xFF)
                    }
                    ElseIf ((Arg2 == One))
                    {
                        MM16 = (Arg3 & 0xFFFF)
                    }
                    ElseIf ((Arg2 == 0x02))
                    {
                        MM32 = (Arg3 & 0xFFFFFFFF)
                    }
                }

                Release (UWOL)
                Return (Local0)
            }

            Method (MMRB, 1, NotSerialized)
            {
                Local1 = MMRW (Arg0, Zero, Zero, Zero)
                Return (Local1)
            }

            Method (MMRD, 1, NotSerialized)
            {
                Local1 = MMRW (Arg0, Zero, 0x02, Zero)
                Return (Local1)
            }

            Method (MMWB, 2, NotSerialized)
            {
                MMRW (Arg0, One, Zero, Arg1)
            }

            Method (MMWD, 2, NotSerialized)
            {
                MMRW (Arg0, One, 0x02, Arg1)
            }

            Method (ECRR, 1, NotSerialized)
            {
                Local0 = (0xFE410000 + Arg0)
                Local1 = MMRW (Local0, Zero, Zero, Zero)
                Return (Local1)
            }

            Method (ECRW, 2, NotSerialized)
            {
                Local0 = (0xFE410000 + Arg0)
                MMRW (Local0, One, Zero, Arg1)
            }

            Method (PCRD, 1, NotSerialized)
            {
                Local0 = (PEBS + (((Arg0 >> 0x18) & 0xFF) << 0x14
                    ))
                Local0 += (((Arg0 >> 0x10) & 0xFF) << 0x0F)
                Local0 += (((Arg0 >> 0x08) & 0xFF) << 0x0C)
                Local0 += (Arg0 & 0xFF)
                Local1 = MMRW (Local0, Zero, 0x02, Zero)
                Return (Local1)
            }

            Method (PCWD, 2, NotSerialized)
            {
                Local0 = (PEBS + (((Arg0 >> 0x18) & 0xFF) << 0x14
                    ))
                Local0 += (((Arg0 >> 0x10) & 0xFF) << 0x0F)
                Local0 += (((Arg0 >> 0x08) & 0xFF) << 0x0C)
                Local0 += (Arg0 & 0xFF)
                MMRW (Local0, One, 0x02, Arg1)
            }

            Method (IORD, 1, NotSerialized)
            {
                OperationRegion (IOSP, SystemIO, Arg0, 0x04)
                Field (IOSP, ByteAcc, NoLock, Preserve)
                {
                    IO32,   32
                }

                Local0 = IO32 /* \_SB_.INOU.IORD.IO32 */
                Return (Local0)
            }

            Method (IOWD, 2, NotSerialized)
            {
                OperationRegion (IOSW, SystemIO, Arg0, 0x04)
                Field (IOSW, ByteAcc, NoLock, Preserve)
                {
                    IW32,   32
                }

                IW32 = (Arg1 & 0xFFFFFFFF)
            }

            Method (RCMS, 2, NotSerialized)
            {
                OperationRegion (CMS2, SystemIO, 0x72, 0x02)
                Field (CMS2, ByteAcc, NoLock, Preserve)
                {
                    INDX,   8, 
                    DATA,   8
                }

                Local7 = Zero
                INDX = Arg0
                Local7 = DATA /* \_SB_.INOU.RCMS.DATA */
                Return (Local7)
            }

            Method (WCMS, 3, NotSerialized)
            {
                OperationRegion (CMS2, SystemIO, 0x72, 0x02)
                Field (CMS2, ByteAcc, NoLock, Preserve)
                {
                    INDX,   8, 
                    DATA,   8
                }

                INDX = Arg0
                DATA = Arg2
                Return (DATA) /* \_SB_.INOU.WCMS.DATA */
            }

            Method (RIOP, 2, NotSerialized)
            {
                OperationRegion (RI01, SystemIO, Arg0, 0x02)
                Field (RI01, ByteAcc, NoLock, Preserve)
                {
                    IND0,   8, 
                    DAT0,   8
                }

                IndexField (IND0, DAT0, ByteAcc, NoLock, Preserve)
                {
                }

                Local7 = Zero
                IND0 = Arg1
                Local7 = DAT0 /* \_SB_.INOU.RIOP.DAT0 */
                Return (Local7)
            }

            Method (WIOP, 3, NotSerialized)
            {
                OperationRegion (WI01, SystemIO, Arg0, 0x02)
                Field (WI01, ByteAcc, NoLock, Preserve)
                {
                    IND1,   8, 
                    DAT1,   8
                }

                IndexField (IND1, DAT1, ByteAcc, NoLock, Preserve)
                {
                }

                IND1 = Arg1
                DAT1 = Arg2
                Return (DAT1) /* \_SB_.INOU.WIOP.DAT1 */
            }

            Method (T1RD, 1, NotSerialized)
            {
                Local0 = Zero
                Local0 = 0x77881122
                Return (Local0)
            }

            Method (T2RD, 1, NotSerialized)
            {
            }

            Method (T3RD, 1, NotSerialized)
            {
            }

            Method (T2WR, 3, NotSerialized)
            {
            }

            Method (T3WR, 3, NotSerialized)
            {
                Local0 = Zero
                If ((Arg0 != Zero))
                {
                    T3PC = Arg0
                }

                Local0 = T3PC /* \_SB_.INOU.T3PC */
                Return (Local0)
            }

            Method (CTAF, 1, NotSerialized)
            {
                If ((Arg0 == One))
                {
                    CSTM = One
                    ^^PC00.LPCB.EC0.PMSF ()
                }
                Else
                {
                    CSTM = Zero
                    ^^PC00.LPCB.EC0.PMSF ()
                }
            }

            Method (PWUP, 1, NotSerialized)
            {
                Notify (NPCF, 0xC0) // Hardware-Specific
                Notify (^^PC00.RP09.PXSX, 0xC5) // Hardware-Specific
            }

            Method (PWBT, 1, NotSerialized)
            {
                Local0 = Arg0
                ^^NPCF.ACBT = Local0
                Notify (NPCF, 0xC0) // Hardware-Specific
                Notify (^^PC00.RP09.PXSX, 0xC5) // Hardware-Specific
            }

            Method (PWDB, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    ^^NPCF.DBAC = One
                }
                Else
                {
                    Local0 = Arg0
                    ^^NPCF.DBAC = Zero
                    ^^NPCF.AMAT = Local0
                }

                Notify (NPCF, 0xC0) // Hardware-Specific
                Notify (^^PC00.RP09.PXSX, 0xC5) // Hardware-Specific
            }

            Method (SMRW, 1, NotSerialized)
            {
                Local0 = Zero
                Name (BUOF, Zero)
                CreateField (Arg0, Zero, 0x08, RWFG)
                CreateField (Arg0, 0x08, 0x08, REOF)
                CreateField (Arg0, 0x08, 0x60, WRBF)
                BUOF = REOF /* \_SB_.INOU.SMRW.REOF */
                If ((^^PC00.LPCB.EC0.GFID == 0x10))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        AX20 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AX20, BUOF, X2B0)
                        Local0 = X2B0 /* \_SB_.INOU.SMRW.X2B0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x11))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        AX40 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AX40, BUOF, X4B0)
                        Local0 = X4B0 /* \_SB_.INOU.SMRW.X4B0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x12))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        AX60 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AX60, BUOF, X6B0)
                        Local0 = X6B0 /* \_SB_.INOU.SMRW.X6B0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x13))
                {
                    If (((^^PC00.LPCB.EC0.ADPT == Zero) && (MOID == 0x16)))
                    {
                        If ((^^PC00.LPCB.EC0.PL4D == One))
                        {
                            If ((ToInteger (RWFG) == 0xAA))
                            {
                                BX9H = WRBF /* \_SB_.INOU.SMRW.WRBF */
                            }
                            ElseIf ((ToInteger (RWFG) == 0xBB))
                            {
                                CreateDWordField (BX9H, BUOF, X9BH)
                                Local0 = X9BH /* \_SB_.INOU.SMRW.X9BH */
                            }
                        }
                        ElseIf ((ToInteger (RWFG) == 0xAA))
                        {
                            BX90 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (BX90, BUOF, X9BB)
                            Local0 = X9BB /* \_SB_.INOU.SMRW.X9BB */
                        }
                    }
                    ElseIf ((^^PC00.LPCB.EC0.PL4D == One))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            AX9H = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (AX9H, BUOF, X9CH)
                            Local0 = X9CH /* \_SB_.INOU.SMRW.X9CH */
                        }
                    }
                    ElseIf ((ToInteger (RWFG) == 0xAA))
                    {
                        AX90 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AX90, BUOF, X9B0)
                        Local0 = X9B0 /* \_SB_.INOU.SMRW.X9B0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x14))
                {
                    If (((^^PC00.LPCB.EC0.ADPT == Zero) && (MOID == 0x16)))
                    {
                        If ((^^PC00.LPCB.EC0.PL4D == One))
                        {
                            If ((ToInteger (RWFG) == 0xAA))
                            {
                                BXBH = WRBF /* \_SB_.INOU.SMRW.WRBF */
                            }
                            ElseIf ((ToInteger (RWFG) == 0xBB))
                            {
                                CreateDWordField (BXBH, BUOF, XBBH)
                                Local0 = XBBH /* \_SB_.INOU.SMRW.XBBH */
                            }
                        }
                        ElseIf ((ToInteger (RWFG) == 0xAA))
                        {
                            BXB0 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (BXB0, BUOF, XBCB)
                            Local0 = XBCB /* \_SB_.INOU.SMRW.XBCB */
                        }
                    }
                    ElseIf ((^^PC00.LPCB.EC0.PL4D == One))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            AXBH = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (AXBH, BUOF, XBCH)
                            Local0 = XBCH /* \_SB_.INOU.SMRW.XBCH */
                        }
                    }
                    ElseIf ((ToInteger (RWFG) == 0xAA))
                    {
                        AXB0 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AXB0, BUOF, XBB0)
                        Local0 = XBB0 /* \_SB_.INOU.SMRW.XBB0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x09))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        AP00 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AP00, BUOF, P0B0)
                        Local0 = P0B0 /* \_SB_.INOU.SMRW.P0B0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x0E))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        AS70 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (AS70, BUOF, S7B0)
                        Local0 = S7B0 /* \_SB_.INOU.SMRW.S7B0 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x1B))
                {
                    If ((^^PC00.LPCB.EC0.ADPT == 0x0A))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            G2AB = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (G2AB, BUOF, GNA1)
                            Local0 = GNA1 /* \_SB_.INOU.SMRW.GNA1 */
                        }
                    }
                    ElseIf ((^^PC00.LPCB.EC0.ADPT == 0x08))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            G28B = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (G28B, BUOF, GN81)
                            Local0 = GN81 /* \_SB_.INOU.SMRW.GN81 */
                        }
                    }
                    ElseIf ((ToInteger (RWFG) == 0xAA))
                    {
                        G211 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (G211, BUOF, GN11)
                        Local0 = GN11 /* \_SB_.INOU.SMRW.GN11 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x1A))
                {
                    If ((^^PC00.LPCB.EC0.ADPT == 0x0A))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            G2A9 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (G2A9, BUOF, GNA9)
                            Local0 = GNA9 /* \_SB_.INOU.SMRW.GNA9 */
                        }
                    }
                    ElseIf ((^^PC00.LPCB.EC0.ADPT == 0x08))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            G289 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (G289, BUOF, GN89)
                            Local0 = GN89 /* \_SB_.INOU.SMRW.GN89 */
                        }
                    }
                    ElseIf ((ToInteger (RWFG) == 0xAA))
                    {
                        G2X9 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (G2X9, BUOF, GNX9)
                        Local0 = GNX9 /* \_SB_.INOU.SMRW.GNX9 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x19))
                {
                    If ((^^PC00.LPCB.EC0.ADPT == 0x0A))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            G2A7 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (G2A7, BUOF, GNA7)
                            Local0 = GNA7 /* \_SB_.INOU.SMRW.GNA7 */
                        }
                    }
                    ElseIf ((^^PC00.LPCB.EC0.ADPT == 0x08))
                    {
                        If ((ToInteger (RWFG) == 0xAA))
                        {
                            G287 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                        }
                        ElseIf ((ToInteger (RWFG) == 0xBB))
                        {
                            CreateDWordField (G287, BUOF, GN87)
                            Local0 = GN87 /* \_SB_.INOU.SMRW.GN87 */
                        }
                    }
                    ElseIf ((ToInteger (RWFG) == 0xAA))
                    {
                        G2X7 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (G2X7, BUOF, GNX7)
                        Local0 = GNX7 /* \_SB_.INOU.SMRW.GNX7 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x16))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        G2X2 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (G2X2, BUOF, GNX2)
                        Local0 = GNX2 /* \_SB_.INOU.SMRW.GNX2 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x17))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        G2X4 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (G2X4, BUOF, GNX4)
                        Local0 = GNX4 /* \_SB_.INOU.SMRW.GNX4 */
                    }
                }
                ElseIf ((^^PC00.LPCB.EC0.GFID == 0x18))
                {
                    If ((ToInteger (RWFG) == 0xAA))
                    {
                        G2X6 = WRBF /* \_SB_.INOU.SMRW.WRBF */
                    }
                    ElseIf ((ToInteger (RWFG) == 0xBB))
                    {
                        CreateDWordField (G2X6, BUOF, GNX6)
                        Local0 = GNX6 /* \_SB_.INOU.SMRW.GNX6 */
                    }
                }

                Return (Local0)
            }
        }
    }

    Scope (_SB)
    {
        Device (LID1)
        {
            Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
            Name (LIDS, One)
            Method (_LID, 0, NotSerialized)  // _LID: Lid Status
            {
                Return (LIDS) /* \_SB_.LID1.LIDS */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((DA18 == One))
                {
                    Return (Zero)
                }
                Else
                {
                    Return (0x0F)
                }
            }
        }
    }

    Scope (_SB)
    {
        Device (AMW0)
        {
            Name (IGPM, Zero)
            OperationRegion (DBG8, SystemIO, 0x80, One)
            Field (DBG8, ByteAcc, NoLock, Preserve)
            {
                IO80,   8
            }

            Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Name (RPES, Zero)
            Name (FFNT, Zero)
            Name (DTRD, Zero)
            Name (FMFG, Zero)
            Name (_WDG, Buffer (0xC8)
            {
                /* 0000 */  0x6A, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11,  // j.......
                /* 0008 */  0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00,  // ....)...
                /* 0010 */  0x41, 0x41, 0x01, 0x01, 0x6B, 0x0F, 0xBC, 0xAB,  // AA..k...
                /* 0018 */  0xA1, 0x8E, 0xD1, 0x11, 0x00, 0xA0, 0xC9, 0x06,  // ........
                /* 0020 */  0x29, 0x10, 0x00, 0x00, 0x41, 0x42, 0x01, 0x05,  // )...AB..
                /* 0028 */  0x6C, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11,  // l.......
                /* 0030 */  0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00,  // ....)...
                /* 0038 */  0x41, 0x43, 0x01, 0x01, 0x6D, 0x0F, 0xBC, 0xAB,  // AC..m...
                /* 0040 */  0xA1, 0x8E, 0xD1, 0x11, 0x00, 0xA0, 0xC9, 0x06,  // ........
                /* 0048 */  0x29, 0x10, 0x00, 0x00, 0x42, 0x41, 0x03, 0x02,  // )...BA..
                /* 0050 */  0x6E, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11,  // n.......
                /* 0058 */  0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00,  // ....)...
                /* 0060 */  0x42, 0x42, 0x02, 0x06, 0x6F, 0x0F, 0xBC, 0xAB,  // BB..o...
                /* 0068 */  0xA1, 0x8E, 0xD1, 0x11, 0x00, 0xA0, 0xC9, 0x06,  // ........
                /* 0070 */  0x29, 0x10, 0x00, 0x00, 0x42, 0x43, 0x0A, 0x02,  // )...BC..
                /* 0078 */  0x70, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11,  // p.......
                /* 0080 */  0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00,  // ....)...
                /* 0088 */  0xD0, 0x00, 0x01, 0x08, 0x71, 0x0F, 0xBC, 0xAB,  // ....q...
                /* 0090 */  0xA1, 0x8E, 0xD1, 0x11, 0x00, 0xA0, 0xC9, 0x06,  // ........
                /* 0098 */  0x29, 0x10, 0x00, 0x00, 0xD1, 0x00, 0x01, 0x0C,  // ).......
                /* 00A0 */  0x72, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11,  // r.......
                /* 00A8 */  0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00,  // ....)...
                /* 00B0 */  0xD2, 0x00, 0x01, 0x08, 0x21, 0x12, 0x90, 0x05,  // ....!...
                /* 00B8 */  0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0,  // f.......
                /* 00C0 */  0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00   // ..).BA..
            })
            Name (SAA0, Buffer (0x10)
            {
                /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,  // ........
                /* 0008 */  0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00   // ........
            })
            Name (SAA1, Buffer (0x10)
            {
                /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,  // ........
                /* 0008 */  0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00   // ........
            })
            Name (SAA2, Buffer (0x10)
            {
                /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,  // ........
                /* 0008 */  0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00   // ........
            })
            Name (SAA3, Buffer (0x10)
            {
                /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,  // ........
                /* 0008 */  0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00   // ........
            })
            Name (SAB0, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
            Name (SAB1, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
            Name (SAB2, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
            Name (SAB3, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()1234567890-_=+[]{}")
            Name (AC00, Buffer (0x28)
            {
                /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,  // ........
                /* 0008 */  0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03,  // ........
                /* 0010 */  0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05,  // ........
                /* 0018 */  0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07,  // ........
                /* 0020 */  0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09   // ........
            })
            CreateDWordField (AC00, Zero, SAC0)
            CreateDWordField (AC00, 0x04, SAC1)
            CreateDWordField (AC00, 0x08, SAC2)
            CreateDWordField (AC00, 0x0C, SAC3)
            CreateDWordField (AC00, 0x10, SAC4)
            CreateDWordField (AC00, 0x14, SAC5)
            CreateDWordField (AC00, 0x18, SAC6)
            CreateDWordField (AC00, 0x1C, SAC7)
            CreateDWordField (AC00, 0x20, SAC8)
            CreateDWordField (AC00, 0x24, SAC9)
            CreateByteField (AC00, Zero, SA00)
            CreateByteField (AC00, One, SA01)
            CreateByteField (AC00, 0x02, SA02)
            CreateByteField (AC00, 0x03, SA03)
            CreateByteField (AC00, 0x04, SA04)
            CreateByteField (AC00, 0x05, SA05)
            CreateByteField (AC00, 0x06, SA06)
            CreateByteField (AC00, 0x07, SA07)
            CreateByteField (AC00, 0x08, SA08)
            CreateByteField (AC00, 0x09, SA09)
            CreateByteField (AC00, 0x0A, SA0A)
            CreateByteField (AC00, 0x0B, SA0B)
            CreateByteField (AC00, 0x0C, SA0C)
            CreateByteField (AC00, 0x0D, SA0D)
            CreateByteField (AC00, 0x0E, SA0E)
            CreateByteField (AC00, 0x0F, SA0F)
            CreateByteField (AC00, 0x10, SA10)
            CreateByteField (AC00, 0x11, SA11)
            CreateByteField (AC00, 0x12, SA12)
            CreateByteField (AC00, 0x13, SA13)
            CreateByteField (AC00, 0x14, SA14)
            CreateByteField (AC00, 0x15, SA15)
            CreateByteField (AC00, 0x16, SA16)
            CreateByteField (AC00, 0x17, SA17)
            CreateByteField (AC00, 0x18, SA18)
            CreateByteField (AC00, 0x19, SA19)
            CreateByteField (AC00, 0x1A, SA1A)
            CreateByteField (AC00, 0x1B, SA1B)
            CreateByteField (AC00, 0x1C, SA1C)
            CreateByteField (AC00, 0x1D, SA1D)
            CreateByteField (AC00, 0x1E, SA1E)
            CreateByteField (AC00, 0x1F, SA1F)
            Name (CCAA, Zero)
            Name (CCAB, Zero)
            Name (CCAC, Zero)
            Name (ECD0, Zero)
            Name (ECD1, Zero)
            Name (ECD2, Zero)
            Name (\ECOK, One)
            Mutex (\ECMX, 0x00)
            Method (WCAA, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((CCAA == Zero)){}
                }
                ElseIf ((CCAA != Zero)){}
                CCAA = Arg0
            }

            Method (WCAB, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((CCAB == Zero)){}
                }
                ElseIf ((CCAB != Zero)){}
                CCAB = Arg0
            }

            Method (WCAC, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((CCAC == Zero)){}
                }
                ElseIf ((CCAC != Zero)){}
                CCAC = Arg0
            }

            Method (WED0, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((ECD0 == Zero)){}
                }
                ElseIf ((ECD0 != Zero)){}
                ECD0 = Arg0
            }

            Method (WED1, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((ECD1 == Zero)){}
                }
                ElseIf ((ECD1 != Zero)){}
                ECD1 = Arg0
            }

            Method (WED2, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    If ((ECD2 == Zero)){}
                }
                ElseIf ((ECD2 != Zero)){}
                ECD2 = Arg0
            }

            Method (GETA, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    Return (SAA0) /* \_SB_.AMW0.SAA0 */
                }

                If ((Arg0 == One))
                {
                    Return (SAA1) /* \_SB_.AMW0.SAA1 */
                }

                If ((Arg0 == 0x02))
                {
                    Return (SAA2) /* \_SB_.AMW0.SAA2 */
                }

                If ((Arg0 == 0x03))
                {
                    Return (SAA3) /* \_SB_.AMW0.SAA3 */
                }

                Return (0xFFFFFFFF)
            }

            Method (GETB, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    Return (SAB0) /* \_SB_.AMW0.SAB0 */
                }

                If ((Arg0 == One))
                {
                    Return (SAB1) /* \_SB_.AMW0.SAB1 */
                }

                If ((Arg0 == 0x02))
                {
                    Return (SAB2) /* \_SB_.AMW0.SAB2 */
                }

                If ((Arg0 == 0x03))
                {
                    Return (SAB3) /* \_SB_.AMW0.SAB3 */
                }

                Return (0xFFFFFFFF)
            }

            Method (GETC, 1, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                If ((Arg0 == One))
                {
                    Return (SAC1) /* \_SB_.AMW0.SAC1 */
                }

                If ((Arg0 == 0x02))
                {
                    Return (SAC2) /* \_SB_.AMW0.SAC2 */
                }

                If ((Arg0 == 0x03))
                {
                    Return (SAC3) /* \_SB_.AMW0.SAC3 */
                }

                If ((Arg0 == 0x04))
                {
                    Return (SAC4) /* \_SB_.AMW0.SAC4 */
                }

                If ((Arg0 == 0x05))
                {
                    Return (SAC5) /* \_SB_.AMW0.SAC5 */
                }

                If ((Arg0 == 0x06))
                {
                    Return (SAC6) /* \_SB_.AMW0.SAC6 */
                }

                If ((Arg0 == 0x07))
                {
                    Return (SAC7) /* \_SB_.AMW0.SAC7 */
                }

                If ((Arg0 == 0x08))
                {
                    Return (SAC8) /* \_SB_.AMW0.SAC8 */
                }

                If ((Arg0 == 0x09))
                {
                    Return (SAC9) /* \_SB_.AMW0.SAC9 */
                }

                Return (0xFFFFFFFF)
            }

            Method (WQAA, 1, NotSerialized)
            {
                If ((CCAA == Zero)){}
                Return (GETA (Arg0))
            }

            Method (WQAB, 1, NotSerialized)
            {
                If ((CCAB == Zero)){}
                Return (GETB (Arg0))
            }

            Method (WQAC, 1, NotSerialized)
            {
                If ((CCAC == Zero)){}
                Return (GETC (Arg0))
            }

            Method (SETA, 2, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    SAA0 = Arg1
                    Return (SAA0) /* \_SB_.AMW0.SAA0 */
                }

                If ((Arg0 == One))
                {
                    SAA1 = Arg1
                    Return (SAA1) /* \_SB_.AMW0.SAA1 */
                }

                If ((Arg0 == 0x02))
                {
                    SAA2 = Arg1
                    Return (SAA2) /* \_SB_.AMW0.SAA2 */
                }

                If ((Arg0 == 0x03))
                {
                    SAA3 = Arg1
                    Return (SAA3) /* \_SB_.AMW0.SAA3 */
                }

                Return (0xFFFFFFFF)
            }

            Method (SETB, 2, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    SAB0 = Arg1
                    Return (SAB0) /* \_SB_.AMW0.SAB0 */
                }

                If ((Arg0 == One))
                {
                    SAB1 = Arg1
                    Return (SAB1) /* \_SB_.AMW0.SAB1 */
                }

                If ((Arg0 == 0x02))
                {
                    SAB2 = Arg1
                    Return (SAB2) /* \_SB_.AMW0.SAB2 */
                }

                If ((Arg0 == 0x03))
                {
                    SAB3 = Arg1
                    Return (SAB3) /* \_SB_.AMW0.SAB3 */
                }

                Return (0xFFFFFFFF)
            }

            Method (SETC, 2, NotSerialized)
            {
                If ((Arg0 == Zero))
                {
                    AC00 = Arg1
                    OEMF (AC00)
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                If ((Arg0 == One))
                {
                    SAC1 = Arg1
                    Return (SAC1) /* \_SB_.AMW0.SAC1 */
                }

                If ((Arg0 == 0x02))
                {
                    SAC2 = Arg1
                    Return (SAC2) /* \_SB_.AMW0.SAC2 */
                }

                If ((Arg0 == 0x03))
                {
                    SAC3 = Arg1
                    Return (SAC3) /* \_SB_.AMW0.SAC3 */
                }

                If ((Arg0 == 0x04))
                {
                    SAC4 = Arg1
                    Return (SAC4) /* \_SB_.AMW0.SAC4 */
                }

                If ((Arg0 == 0x05))
                {
                    SAC5 = Arg1
                    Return (SAC5) /* \_SB_.AMW0.SAC5 */
                }

                If ((Arg0 == 0x06))
                {
                    SAC6 = Arg1
                    Return (SAC6) /* \_SB_.AMW0.SAC6 */
                }

                If ((Arg0 == 0x07))
                {
                    SAC7 = Arg1
                    Return (SAC7) /* \_SB_.AMW0.SAC7 */
                }

                If ((Arg0 == 0x08))
                {
                    SAC8 = Arg1
                    Return (SAC8) /* \_SB_.AMW0.SAC8 */
                }

                If ((Arg0 == 0x09))
                {
                    SAC9 = Arg1
                    Return (SAC9) /* \_SB_.AMW0.SAC9 */
                }

                Return (0xFFFFFFFF)
            }

            Method (WSAA, 2, NotSerialized)
            {
                If ((CCAA == Zero)){}
                Return (SETA (Arg0, Arg1))
            }

            Method (WSAB, 2, NotSerialized)
            {
                If ((CCAB == Zero)){}
                Return (SETB (Arg0, Arg1))
            }

            Method (WSAC, 2, NotSerialized)
            {
                If ((CCAC == Zero)){}
                Return (SETC (Arg0, Arg1))
            }

            Method (VINS, 1, NotSerialized)
            {
                If ((Arg0 < Zero)){}
                If ((Arg0 > 0x03)){}
            }

            Method (WMBA, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    Return (GETA (Arg0))
                }

                If ((Arg1 == 0x02))
                {
                    SETA (Arg0, Arg2)
                    Return (Zero)
                }

                If ((Arg1 == 0x03))
                {
                    VINS (Arg0)
                    If ((ECD0 == Zero)){}
                    SAA1 = Arg2
                    Notify (AMW0, 0xD0) // Hardware-Specific
                    Return (Zero)
                }

                Return (0xFFFFFFFF)
            }

            Method (WMBB, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    Return (GETB (Arg0))
                }

                If ((Arg1 == 0x02))
                {
                    SETB (Arg0, Arg2)
                    Return (Zero)
                }

                If ((Arg1 == 0x03))
                {
                    VINS (Arg0)
                    If ((ECD1 == Zero)){}
                    SAB1 = Arg2
                    Notify (AMW0, 0xD1) // Hardware-Specific
                    Return (Zero)
                }

                Return (0xFFFFFFFF)
            }

            Method (WMBC, 3, NotSerialized)
            {
                If ((Arg1 == One))
                {
                    Return (GETC (Arg0))
                }

                If ((Arg1 == 0x02))
                {
                    Return (SETC (Arg0, Arg2))
                }

                If ((Arg1 == 0x03))
                {
                    VINS (Arg0)
                    If ((ECD2 == Zero)){}
                    SAC1 = Arg2
                    Notify (AMW0, 0xD2) // Hardware-Specific
                    Return (Zero)
                }

                If ((Arg1 == 0x04))
                {
                    AC00 = Arg2
                    Return (OEMG (AC00))
                }

                Return (0xFFFFFFFF)
            }

            Method (_WED, 1, NotSerialized)  // _Wxx: Wake Event, xx=0x00-0xFF
            {
                If ((Arg0 == 0xD0))
                {
                    Return (SAA1) /* \_SB_.AMW0.SAA1 */
                }

                If ((Arg0 == 0xD1))
                {
                    Return (SAB1) /* \_SB_.AMW0.SAB1 */
                }

                If ((Arg0 == 0xD2))
                {
                    Return (SAC1) /* \_SB_.AMW0.SAC1 */
                }

                Return (0xFFFFFFFF)
            }

            Method (OEMG, 1, NotSerialized)
            {
                If ((SAC1 == Zero))
                {
                    WKBC (SA00, SA01, SA02, SA03)
                }

                If ((SAC1 == One))
                {
                    WKBC (SA00, SA01, SA02, SA03)
                }

                If ((SAC1 == 0x0100))
                {
                    RKBC (SA00, SA01)
                }

                If ((SAC1 == 0x0200))
                {
                    SCMD (SA00)
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                If ((SAC1 == 0x0300))
                {
                    If ((IGPM == One))
                    {
                        If ((SA00 == One))
                        {
                            Return (^^PC00.LPCB.EC0.IGPS (One))
                        }
                        ElseIf ((SA00 == Zero))
                        {
                            Return (^^PC00.LPCB.EC0.IGPS (Zero))
                        }
                        ElseIf ((SA00 == 0x02))
                        {
                            Return (^^PC00.LPCB.EC0.DGPS ())
                        }
                        ElseIf ((SA00 == 0x03))
                        {
                            Return (0x55)
                        }
                    }
                }

                If ((SAC1 == 0x0400))
                {
                    Return (MTJM) /* \MTJM */
                }

                If ((SAC1 == 0x0500))
                {
                    If ((SA00 == One))
                    {
                        ^^INOU.CTAF (Zero)
                        Return (0xAA)
                    }
                    ElseIf ((SA00 == 0x02))
                    {
                        ^^INOU.CTAF (One)
                        Return (0xBB)
                    }
                    ElseIf ((SA00 == 0x03))
                    {
                        Return (0x55)
                    }
                    ElseIf ((SA00 == 0x08))
                    {
                        Return (0x55)
                    }
                    ElseIf ((((SA00 == 0x09) || (SA00 == 0x0A)) || (SA00 == 
                        0x0C)))
                    {
                        ^^PC00.LPCB.EC0.PMSF ()
                    }
                    ElseIf ((SA00 == 0x0D))
                    {
                        ^^PGPI.SGOV (0x0016108C, Zero)
                    }
                    ElseIf ((SA00 == 0x0E))
                    {
                        ^^PGPI.SGOV (0x0016108C, One)
                    }
                    ElseIf ((SA00 == 0x10))
                    {
                        FMFG = Zero
                        Return (0xBB)
                    }
                    ElseIf ((SA00 == 0x11))
                    {
                        FMFG = One
                        Return (0xAA)
                    }
                }

                SAC1 = Zero
                SAC2 = Zero
                Return (AC00) /* \_SB_.AMW0.AC00 */
            }

            Method (RKBC, 2, Serialized)
            {
                IO80 = 0xDA
                If (!^^PC00.LPCB.EC0.BFLG)
                {
                    ^^PC00.LPCB.EC0.BFLG = One
                    If (ECOK)
                    {
                        ECOK = Zero
                        If (ECON)
                        {
                            Acquire (ECMX, 0xFFFF)
                            ^^PC00.LPCB.EC0.DRDY = Zero
                            ^^PC00.LPCB.EC0.LDAT = Arg0
                            ^^PC00.LPCB.EC0.HDAT = Arg1
                            ^^PC00.LPCB.EC0.RFLG = One
                            FFNT = 0x14
                            DTRD = Zero
                            While (!DTRD)
                            {
                                FFNT -= One
                                If ((FFNT == Zero))
                                {
                                    AC00 = 0xFEFEFEFEFEFEFEFE
                                    Break
                                }

                                Sleep (0x32)
                                DTRD = ^^PC00.LPCB.EC0.DRDY /* \_SB_.PC00.LPCB.EC0_.DRDY */
                            }

                            If (~(FFNT == Zero))
                            {
                                SA00 = ^^PC00.LPCB.EC0.CMDL /* \_SB_.PC00.LPCB.EC0_.CMDL */
                                SA01 = ^^PC00.LPCB.EC0.CMDH /* \_SB_.PC00.LPCB.EC0_.CMDH */
                            }

                            ^^PC00.LPCB.EC0.DRDY = Zero
                            Release (ECMX)
                        }
                        Else
                        {
                            AC00 = 0xFEFEFEFEFEFEFEFE
                        }

                        ECOK = One
                    }
                    Else
                    {
                        AC00 = 0xFEFEFEFEFEFEFEFE
                    }
                }
                Else
                {
                    AC00 = 0xFEFEFEFEFEFEFEFE
                }

                If (ECOK)
                {
                    ^^PC00.LPCB.EC0.BFLG = Zero
                }

                Return (AC00) /* \_SB_.AMW0.AC00 */
            }

            Method (WKBC, 4, Serialized)
            {
                If (!^^PC00.LPCB.EC0.BFLG)
                {
                    ^^PC00.LPCB.EC0.BFLG = One
                    If (ECOK)
                    {
                        ECOK = Zero
                        If (ECON)
                        {
                            Acquire (ECMX, 0xFFFF)
                            ^^PC00.LPCB.EC0.DRDY = Zero
                            ^^PC00.LPCB.EC0.LDAT = Arg0
                            ^^PC00.LPCB.EC0.HDAT = Arg1
                            ^^PC00.LPCB.EC0.CMDL = Arg2
                            ^^PC00.LPCB.EC0.CMDH = Arg3
                            ^^PC00.LPCB.EC0.WFLG = One
                            Sleep (0x0A)
                            FFNT = 0x14
                            DTRD = Zero
                            While (!DTRD)
                            {
                                Sleep (0x32)
                                FFNT--
                                If ((FFNT == Zero))
                                {
                                    AC00 = 0xFEFEFEFEFEFEFEFE
                                    Break
                                }

                                DTRD = ^^PC00.LPCB.EC0.DRDY /* \_SB_.PC00.LPCB.EC0_.DRDY */
                            }

                            ^^PC00.LPCB.EC0.DRDY = Zero
                        }
                        Else
                        {
                            AC00 = 0xFEFEFEFEFEFEFEFE
                        }

                        Release (ECMX)
                    }
                    Else
                    {
                        AC00 = 0xFEFEFEFEFEFEFEFE
                    }

                    ECOK = One
                }
                Else
                {
                    AC00 = 0xFEFEFEFEFEFEFEFE
                }

                If (ECOK)
                {
                    ^^PC00.LPCB.EC0.BFLG = Zero
                }

                Return (AC00) /* \_SB_.AMW0.AC00 */
            }

            Method (SCMD, 1, Serialized)
            {
                If (!^^PC00.LPCB.EC0.BFLG)
                {
                    ^^PC00.LPCB.EC0.BFLG = One
                    If (ECOK)
                    {
                        ECOK = Zero
                        If (ECON)
                        {
                            Acquire (ECMX, 0xFFFF)
                            ^^PC00.LPCB.EC0.DRDY = Zero
                            ^^PC00.LPCB.EC0.BFLG = One
                            ^^PC00.LPCB.EC0.CMDL = Arg0
                            ^^PC00.LPCB.EC0.CFLG = One
                            FFNT = 0x14
                            DTRD = Zero
                            While (!DTRD)
                            {
                                Sleep (0x0A)
                                FFNT--
                                If ((FFNT == Zero))
                                {
                                    AC00 = 0xFEFEFEFEFEFEFEFE
                                    IO80 = 0xCC
                                    Break
                                }

                                DTRD = ^^PC00.LPCB.EC0.DRDY /* \_SB_.PC00.LPCB.EC0_.DRDY */
                            }

                            ^^PC00.LPCB.EC0.DRDY = Zero
                            Sleep (0x32)
                        }
                        Else
                        {
                            AC00 = 0xFEFEFEFEFEFEFEFE
                        }

                        Release (ECMX)
                    }
                    Else
                    {
                        AC00 = 0xFEFEFEFEFEFEFEFE
                    }

                    ECOK = One
                }
                Else
                {
                    AC00 = 0xFEFEFEFEFEFEFEFE
                }

                If (ECOK)
                {
                    ^^PC00.LPCB.EC0.BFLG = Zero
                }
            }

            Method (OEMF, 1, NotSerialized)
            {
                If ((SAC1 == Zero))
                {
                    WKBC (SA00, SA01, SA02, SA03)
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                If ((SAC1 == One))
                {
                    WKBC (SA00, SA01, SA02, SA03)
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                If ((SAC1 == 0x0100))
                {
                    RKBC (SA00, SA01)
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                If ((SAC1 == 0x0200))
                {
                    SCMD (SA00)
                    Return (SAC0) /* \_SB_.AMW0.SAC0 */
                }

                SAC0 = 0xFFFFFFFF
                Return (SAC0) /* \_SB_.AMW0.SAC0 */
            }

            Name (WQBA, Buffer (0x0A93)
            {
                /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  // FOMB....
                /* 0008 */  0x83, 0x0A, 0x00, 0x00, 0xF0, 0x49, 0x00, 0x00,  // .....I..
                /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  // DS...}.T
                /* 0018 */  0x28, 0x51, 0xA4, 0x00, 0x01, 0x06, 0x18, 0x42,  // (Q.....B
                /* 0020 */  0x10, 0x17, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,  // ..."!...
                /* 0028 */  0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,  // ..,...8.
                /* 0030 */  0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08,  // ..@H..J.
                /* 0038 */  0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E,  // ........
                /* 0040 */  0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04,  // ...`P.S.
                /* 0048 */  0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02,  // ..*.....
                /* 0050 */  0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD,  // ,.......
                /* 0058 */  0x02, 0xA4, 0xC3, 0x92, 0xAD, 0x08, 0x1C, 0x21,  // .......!
                /* 0060 */  0x06, 0x1C, 0xA5, 0x13, 0x5B, 0xB8, 0x61, 0x83,  // ....[.a.
                /* 0068 */  0x17, 0x8A, 0xA2, 0x19, 0x44, 0x49, 0x50, 0xB9,  // ....DIP.
                /* 0070 */  0x00, 0xDF, 0x08, 0x02, 0x2F, 0x57, 0x80, 0xE4,  // ..../W..
                /* 0078 */  0x09, 0x48, 0xB3, 0x00, 0xC3, 0x02, 0xAC, 0x0B,  // .H......
                /* 0080 */  0x90, 0x3D, 0x04, 0x2A, 0x75, 0x08, 0x28, 0x39,  // .=.*u.(9
                /* 0088 */  0x43, 0x40, 0x0D, 0xA0, 0xD5, 0x09, 0x08, 0xBF,  // C@......
                /* 0090 */  0xD2, 0x29, 0x21, 0x09, 0xC2, 0x19, 0xAB, 0x78,  // .)!....x
                /* 0098 */  0x7C, 0xCD, 0xA2, 0xE9, 0x39, 0xC9, 0x39, 0x86,  // |...9.9.
                /* 00A0 */  0x1C, 0x8F, 0x0B, 0x3D, 0x08, 0x2E, 0x70, 0xA1,  // ...=..p.
                /* 00A8 */  0x26, 0x90, 0xFC, 0x21, 0x4B, 0x12, 0x0C, 0x4A,  // &..!K..J
                /* 00B0 */  0xC2, 0x58, 0xE8, 0xC8, 0x09, 0x30, 0x1D, 0x29,  // .X...0.)
                /* 00B8 */  0x1B, 0x90, 0x21, 0x4A, 0x1B, 0x35, 0x7A, 0x40,  // ..!J.5z@
                /* 00C0 */  0xE7, 0x77, 0x24, 0x67, 0x77, 0x74, 0x47, 0x92,  // .w$gwtG.
                /* 00C8 */  0xC0, 0xA8, 0xC7, 0x74, 0x8C, 0x85, 0xCD, 0x48,  // ...t...H
                /* 00D0 */  0xA8, 0x31, 0x9A, 0x83, 0x22, 0xE1, 0x06, 0x8D,  // .1.."...
                /* 00D8 */  0x96, 0x08, 0xAB, 0x71, 0xC5, 0x3E, 0x33, 0x0B,  // ...q.>3.
                /* 00E0 */  0x1F, 0x96, 0x30, 0x8E, 0xE0, 0xC0, 0x0E, 0xD6,  // ..0.....
                /* 00E8 */  0xA2, 0x61, 0x84, 0x56, 0x10, 0x9C, 0x06, 0x71,  // .a.V...q
                /* 00F0 */  0x14, 0x51, 0xC2, 0x30, 0x3C, 0x63, 0x06, 0x3A,  // .Q.0<c.:
                /* 00F8 */  0x4A, 0x86, 0x14, 0x26, 0xE8, 0x09, 0x04, 0x39,  // J..&...9
                /* 0100 */  0x79, 0x86, 0x65, 0x88, 0x33, 0xE0, 0x58, 0x31,  // y.e.3.X1
                /* 0108 */  0x42, 0x85, 0xC4, 0x0C, 0x24, 0xF8, 0xFF, 0xFF,  // B...$...
                /* 0110 */  0x04, 0xBA, 0xC6, 0x90, 0x67, 0x20, 0x72, 0x0F,  // ....g r.
                /* 0118 */  0x38, 0x81, 0x20, 0xD1, 0xA3, 0x04, 0x37, 0xAE,  // 8. ...7.
                /* 0120 */  0x51, 0xD9, 0x98, 0xCE, 0x06, 0x37, 0x30, 0x13,  // Q....70.
                /* 0128 */  0xC4, 0x39, 0x3C, 0x8C, 0x0C, 0x08, 0x4D, 0x20,  // .9<...M 
                /* 0130 */  0x7E, 0xEC, 0xF0, 0x09, 0xEC, 0xFE, 0x38, 0x20,  // ~.....8 
                /* 0138 */  0x85, 0x08, 0xBA, 0x10, 0x9C, 0x69, 0x8D, 0x02,  // .....i..
                /* 0140 */  0xB4, 0x61, 0xC8, 0xD6, 0xE1, 0x41, 0x67, 0x81,  // .a...Ag.
                /* 0148 */  0x58, 0x8D, 0xA1, 0x08, 0x22, 0x42, 0xD0, 0x28,  // X..."B.(
                /* 0150 */  0x06, 0x8B, 0x10, 0x2A, 0x9E, 0x51, 0xCF, 0x39,  // ...*.Q.9
                /* 0158 */  0x48, 0xD4, 0xCA, 0x40, 0x84, 0x16, 0xCC, 0x08,  // H..@....
                /* 0160 */  0xCC, 0xFE, 0x20, 0x48, 0xA8, 0xF3, 0x80, 0x7E,  // .. H...~
                /* 0168 */  0x04, 0x96, 0x04, 0x22, 0x23, 0x5B, 0x4A, 0x40,  // ..."#[J@
                /* 0170 */  0x0E, 0x0B, 0x1E, 0x8E, 0x67, 0xD2, 0xFC, 0xCC,  // ....g...
                /* 0178 */  0x34, 0x2A, 0x26, 0x01, 0x50, 0x1A, 0x40, 0x24,  // 4*&.P.@$
                /* 0180 */  0xEA, 0x64, 0x41, 0x09, 0x2C, 0xE5, 0x64, 0x40,  // .dA.,.d@
                /* 0188 */  0x6C, 0x8F, 0x4B, 0xD7, 0x80, 0x03, 0x3C, 0x75,  // l.K...<u
                /* 0190 */  0xDF, 0x0D, 0xCE, 0xCC, 0x1F, 0x0D, 0x6F, 0xC1,  // ......o.
                /* 0198 */  0x67, 0x04, 0x3E, 0x06, 0x0F, 0xF5, 0x10, 0x02,  // g.>.....
                /* 01A0 */  0x1E, 0x21, 0x3B, 0x24, 0x18, 0x10, 0xEF, 0xFD,  // .!;$....
                /* 01A8 */  0x56, 0x40, 0xE6, 0x62, 0x40, 0x76, 0x50, 0x78,  // V@.b@vPx
                /* 01B0 */  0x3E, 0x00, 0xCB, 0x24, 0x4F, 0xF3, 0x18, 0x2A,  // >..$O..*
                /* 01B8 */  0x9E, 0x1A, 0xE2, 0x48, 0xC0, 0xA7, 0x72, 0x52,  // ...H..rR
                /* 01C0 */  0xEC, 0x84, 0xC1, 0x47, 0xC7, 0x47, 0xE1, 0xB3,  // ...G.G..
                /* 01C8 */  0xC3, 0x69, 0x17, 0x7B, 0x84, 0xA0, 0xB2, 0x8E,  // .i.{....
                /* 01D0 */  0x11, 0xE8, 0xB9, 0x1F, 0x61, 0xC0, 0x97, 0x86,  // ....a...
                /* 01D8 */  0x66, 0xAF, 0x1A, 0x84, 0xE0, 0x75, 0xC0, 0x37,  // f....u.7
                /* 01E0 */  0x06, 0x9F, 0x4A, 0x7C, 0xA2, 0xC0, 0x1F, 0x4B,  // ..J|...K
                /* 01E8 */  0xE0, 0x60, 0x3F, 0x2E, 0x60, 0xFE, 0xFF, 0x63,  // .`?.`..c
                /* 01F0 */  0xF4, 0xA9, 0x04, 0x78, 0x8C, 0x80, 0x0B, 0x7F,  // ...x....
                /* 01F8 */  0x7A, 0x98, 0x40, 0x21, 0x5E, 0x02, 0x92, 0x0A,  // z.@!^...
                /* 0200 */  0x83, 0x3A, 0x17, 0xF8, 0x00, 0x02, 0x57, 0x12,  // .:....W.
                /* 0208 */  0x1C, 0x6A, 0x7C, 0x3E, 0x04, 0x9C, 0xFC, 0x61,  // .j|>...a
                /* 0210 */  0x9E, 0xC8, 0xFB, 0x81, 0x07, 0xF7, 0x24, 0x02,  // ......$.
                /* 0218 */  0xE3, 0x9C, 0xE0, 0x69, 0x9D, 0x94, 0x6F, 0x28,  // ...i..o(
                /* 0220 */  0xCF, 0x13, 0xBE, 0x5A, 0x98, 0xC0, 0x87, 0x05,  // ...Z....
                /* 0228 */  0x86, 0xC6, 0x8F, 0x25, 0x60, 0x3D, 0x68, 0xE0,  // ...%`=h.
                /* 0230 */  0xCE, 0x09, 0x70, 0x67, 0xFD, 0x4E, 0x82, 0xC1,  // ..pg.N..
                /* 0238 */  0x0A, 0x15, 0xC3, 0xA8, 0xC6, 0x88, 0xD2, 0xE8,  // ........
                /* 0240 */  0xB8, 0x35, 0x2A, 0xCF, 0xB0, 0xAF, 0x89, 0x08,  // .5*.....
                /* 0248 */  0x25, 0x94, 0x61, 0x1F, 0x47, 0xF0, 0x67, 0x10,  // %.a.G.g.
                /* 0250 */  0xB0, 0x41, 0x3F, 0x83, 0x80, 0x3D, 0xA6, 0x02,  // .A?..=..
                /* 0258 */  0x88, 0x16, 0x40, 0x14, 0x69, 0x34, 0xF4, 0xFF,  // ..@.i4..
                /* 0260 */  0x7F, 0x06, 0xE1, 0xC7, 0x02, 0x1F, 0x09, 0x9E,  // ........
                /* 0268 */  0x60, 0x7C, 0xA9, 0x30, 0xC8, 0x81, 0x9D, 0xD6,  // `|.0....
                /* 0270 */  0x03, 0xC3, 0xF3, 0x80, 0x47, 0xCE, 0x2E, 0x0A,  // ....G...
                /* 0278 */  0x3E, 0x58, 0xF8, 0x80, 0x80, 0x9F, 0x61, 0xC0,  // >X....a.
                /* 0280 */  0x03, 0x7D, 0xF8, 0x80, 0x75, 0x08, 0xC1, 0x8F,  // .}..u...
                /* 0288 */  0xE8, 0x11, 0x03, 0xF6, 0x78, 0x7C, 0x2F, 0x62,  // ....x|/b
                /* 0290 */  0x13, 0x7E, 0x1A, 0x22, 0x83, 0x40, 0x8D, 0xCC,  // .~.".@..
                /* 0298 */  0xD0, 0x1E, 0xE9, 0x69, 0xBD, 0x0F, 0xF8, 0x78,  // ...i...x
                /* 02A0 */  0x64, 0x02, 0x9F, 0x3C, 0xBC, 0x49, 0x8D, 0x07,  // d..<.I..
                /* 02A8 */  0x08, 0xDC, 0x4B, 0x1E, 0x33, 0x7C, 0x69, 0xF0,  // ..K.3|i.
                /* 02B0 */  0x7C, 0x0D, 0xA9, 0xC3, 0x85, 0x6C, 0x8C, 0x07,  // |....l..
                /* 02B8 */  0x35, 0x0A, 0x5F, 0x60, 0x38, 0x81, 0x83, 0x43,  // 5._`8..C
                /* 02C0 */  0xE8, 0x08, 0xE0, 0xB3, 0x0C, 0xF0, 0x14, 0x78,  // .......x
                /* 02C8 */  0xA8, 0x00, 0xCD, 0x8D, 0xC3, 0x60, 0x70, 0x06,  // .....`p.
                /* 02D0 */  0x80, 0x1B, 0x30, 0xEE, 0xFF, 0x3F, 0x60, 0x8E,  // ..0..?`.
                /* 02D8 */  0x79, 0xC2, 0x55, 0xC3, 0xEB, 0x1E, 0x60, 0x75,  // y.U...`u
                /* 02E0 */  0x17, 0x17, 0x08, 0x67, 0x1D, 0xEC, 0x31, 0x06,  // ...g..1.
                /* 02E8 */  0xDE, 0xB9, 0xC0, 0xA3, 0x39, 0x99, 0xB3, 0x78,  // ....9..x
                /* 02F0 */  0xE1, 0x60, 0x78, 0x2F, 0x1C, 0xCF, 0x2F, 0x1E,  // .`x/../.
                /* 02F8 */  0x03, 0xFE, 0x30, 0x03, 0x7C, 0xE4, 0x9E, 0x64,  // ..0.|..d
                /* 0300 */  0x50, 0x02, 0x0F, 0x33, 0x00, 0x25, 0x8E, 0x21,  // P..3.%.!
                /* 0308 */  0xF8, 0xB1, 0xE0, 0xFE, 0xFF, 0x87, 0x19, 0xF8,  // ........
                /* 0310 */  0xB7, 0x86, 0x87, 0x19, 0xB0, 0x87, 0x3B, 0xCC,  // ......;.
                /* 0318 */  0x00, 0x34, 0x79, 0xB9, 0x78, 0xE0, 0xB8, 0x51,  // .4y.x..Q
                /* 0320 */  0xF8, 0x08, 0xE2, 0xCB, 0xA5, 0x09, 0x1C, 0xF8,  // ........
                /* 0328 */  0x30, 0x03, 0xB4, 0xFE, 0xFF, 0x87, 0x19, 0xE0,  // 0.......
                /* 0330 */  0x75, 0x1E, 0x00, 0xDF, 0xA9, 0x05, 0x77, 0x90,  // u.....w.
                /* 0338 */  0x01, 0x1B, 0xC2, 0x29, 0xE0, 0xCE, 0x31, 0xC0,  // ...)..1.
                /* 0340 */  0xE7, 0x80, 0xC7, 0x23, 0xBC, 0x02, 0x24, 0x0E,  // ...#..$.
                /* 0348 */  0x06, 0x75, 0x8E, 0x01, 0x5C, 0x9D, 0x50, 0x9F,  // .u..\.P.
                /* 0350 */  0x11, 0x60, 0xFE, 0xFF, 0xCF, 0x31, 0xE0, 0xBF,  // .`...1..
                /* 0358 */  0x0B, 0x9F, 0x50, 0x9F, 0xF7, 0x00, 0x79, 0x3C,  // ..P...y<
                /* 0360 */  0xC6, 0x80, 0x0E, 0xE4, 0x31, 0x06, 0xEC, 0xD1,  // ....1...
                /* 0368 */  0x8E, 0x31, 0x00, 0x55, 0x9C, 0x1C, 0x63, 0xD0,  // .1.U..c.
                /* 0370 */  0xA7, 0x03, 0x5F, 0x16, 0x3C, 0x2F, 0xFF, 0xFF,  // .._.</..
                /* 0378 */  0x8F, 0x31, 0x80, 0xCF, 0x33, 0x2F, 0x77, 0x76,  // .1..3/wv
                /* 0380 */  0x7C, 0x10, 0x81, 0x07, 0xF2, 0x18, 0x03, 0xD6,  // |.......
                /* 0388 */  0x91, 0xE3, 0x4E, 0x31, 0xC0, 0x47, 0xD8, 0xC2,  // ..N1.G..
                /* 0390 */  0x69, 0x9C, 0x83, 0xAF, 0x5F, 0x03, 0x14, 0xC6,  // i..._...
                /* 0398 */  0xA7, 0x18, 0xE0, 0xFC, 0xFF, 0x3F, 0xC5, 0x80,  // .....?..
                /* 03A0 */  0x37, 0xC0, 0x29, 0x06, 0x94, 0x07, 0x79, 0xCC,  // 7.)...y.
                /* 03A8 */  0x3D, 0x86, 0x41, 0x44, 0x3D, 0x2A, 0x9F, 0x24,  // =.AD=*.$
                /* 03B0 */  0x7C, 0xA0, 0xF7, 0xC9, 0xC4, 0x97, 0x79, 0x83,  // |.....y.
                /* 03B8 */  0x85, 0x7C, 0xF3, 0x66, 0x37, 0x7A, 0x5F, 0x7E,  // .|.f7z_~
                /* 03C0 */  0xE1, 0x9C, 0x65, 0xC0, 0x36, 0xAE, 0x27, 0x3C,  // ..e.6.'<
                /* 03C8 */  0xD0, 0x9F, 0x0B, 0xF4, 0x5D, 0xF2, 0x59, 0x06,  // ....].Y.
                /* 03D0 */  0x70, 0xFA, 0xFF, 0x3F, 0xCB, 0x00, 0x97, 0x13,  // p..?....
                /* 03D8 */  0x1A, 0x58, 0x27, 0xF1, 0x50, 0x0F, 0xBC, 0x42,  // .X'.P..B
                /* 03E0 */  0x7A, 0x38, 0x10, 0xB0, 0x20, 0x6B, 0x95, 0x8D,  // z8.. k..
                /* 03E8 */  0xB5, 0x7A, 0x10, 0x54, 0xF8, 0x21, 0x41, 0x87,  // .z.T.!A.
                /* 03F0 */  0xAB, 0x67, 0x09, 0x9F, 0x6B, 0x61, 0x88, 0x85,  // .g..ka..
                /* 03F8 */  0xD3, 0x51, 0xC7, 0x10, 0x96, 0x49, 0x21, 0x91,  // .Q...I!.
                /* 0400 */  0x10, 0x1A, 0x90, 0xE1, 0x2C, 0x0B, 0x8E, 0x82,  // ....,...
                /* 0408 */  0xF8, 0x00, 0xE0, 0xC8, 0x10, 0x3A, 0x39, 0xC3,  // .....:9.
                /* 0410 */  0x8D, 0x08, 0xA1, 0xE3, 0x83, 0x0F, 0x0C, 0xF8,  // ........
                /* 0418 */  0xC1, 0x1D, 0xD9, 0x89, 0x79, 0x16, 0x3E, 0xD8,  // ....y.>.
                /* 0420 */  0xE0, 0x8E, 0x20, 0x70, 0xA7, 0x86, 0x5D, 0xE3,  // .. p..].
                /* 0428 */  0xA1, 0xE0, 0x06, 0xE2, 0xF3, 0x11, 0x1F, 0x83,  // ........
                /* 0430 */  0x6F, 0x06, 0x67, 0x61, 0x02, 0x76, 0x5C, 0x86,  // o.ga.v\.
                /* 0438 */  0xFF, 0xFF, 0x3F, 0x2E, 0xC3, 0x1F, 0x00, 0xFE,  // ..?.....
                /* 0440 */  0x94, 0x00, 0x07, 0xC8, 0x97, 0x02, 0x2B, 0x3D,  // ......+=
                /* 0448 */  0x18, 0xD0, 0x79, 0x84, 0x08, 0x13, 0xCD, 0x27,  // ..y....'
                /* 0450 */  0x13, 0xD4, 0xE8, 0x75, 0x94, 0xB2, 0xAC, 0xB1,  // ...u....
                /* 0458 */  0xA1, 0x06, 0xEB, 0x33, 0x0D, 0xC3, 0x7E, 0x5D,  // ...3..~]
                /* 0460 */  0xC1, 0x9C, 0xA5, 0x30, 0xB0, 0x1E, 0x3E, 0x87,  // ...0..>.
                /* 0468 */  0x35, 0x5A, 0xD8, 0xA3, 0x7E, 0x98, 0xF0, 0x45,  // 5Z..~..E
                /* 0470 */  0xC4, 0x37, 0x25, 0xDF, 0x61, 0x7C, 0x04, 0x01,  // .7%.a|..
                /* 0478 */  0xCB, 0xB1, 0x0A, 0xFE, 0x81, 0x18, 0x3C, 0xC3,  // ......<.
                /* 0480 */  0x3C, 0x35, 0x1F, 0x10, 0x82, 0x3D, 0xD7, 0x78,  // <5...=.x
                /* 0488 */  0x74, 0xBE, 0x13, 0x18, 0x34, 0x9E, 0xE7, 0x60,  // t...4..`
                /* 0490 */  0x0C, 0x9F, 0x6F, 0xD8, 0x99, 0xE2, 0xF9, 0x06,  // ..o.....
                /* 0498 */  0x5E, 0x88, 0x43, 0x05, 0x94, 0x53, 0x20, 0x3B,  // ^.C..S ;
                /* 04A0 */  0x54, 0x00, 0xE3, 0xFF, 0xFF, 0x68, 0x7D, 0x7F,  // T....h}.
                /* 04A8 */  0xF1, 0xD0, 0xF9, 0xA1, 0x02, 0xF0, 0x2C, 0xE1,  // ......,.
                /* 04B0 */  0x50, 0x01, 0xBA, 0x83, 0x80, 0x0F, 0x15, 0xC0,  // P.......
                /* 04B8 */  0x15, 0xD5, 0x47, 0x02, 0x70, 0x9C, 0x49, 0xF9,  // ..G.p.I.
                /* 04C0 */  0x95, 0x02, 0x9C, 0xA1, 0x56, 0xA9, 0xFF, 0xFF,  // ....V...
                /* 04C8 */  0x91, 0x02, 0x27, 0x7E, 0xD4, 0x3A, 0x7C, 0x9D,  // ..'~.:|.
                /* 04D0 */  0xC6, 0xB1, 0xF9, 0x3A, 0x80, 0x17, 0x7C, 0xA4,  // ...:..|.
                /* 04D8 */  0x40, 0x49, 0xA5, 0x90, 0xD0, 0x23, 0x05, 0x4A,  // @I...#.J
                /* 04E0 */  0x1A, 0x1C, 0x05, 0xF1, 0xD0, 0x1D, 0x1B, 0x42,  // .......B
                /* 04E8 */  0xA7, 0x49, 0xFC, 0x29, 0xE9, 0x20, 0x18, 0x81,  // .I.). ..
                /* 04F0 */  0x63, 0x1E, 0x29, 0x40, 0x71, 0x48, 0x3A, 0x60,  // c.)@qH:`
                /* 04F8 */  0xB0, 0x1C, 0xFC, 0xD8, 0x0A, 0x8F, 0xCE, 0xC6,  // ........
                /* 0500 */  0x4F, 0x6C, 0x04, 0xC5, 0xC3, 0xF5, 0x64, 0xF9,  // Ol....d.
                /* 0508 */  0x41, 0xCE, 0xD7, 0x38, 0x76, 0xE0, 0xE3, 0x07,  // A..8v...
                /* 0510 */  0x0B, 0xB8, 0x07, 0x49, 0xF0, 0x1D, 0x2A, 0x80,  // ...I..*.
                /* 0518 */  0x87, 0x9C, 0x43, 0x05, 0xE8, 0x20, 0x7D, 0xA8,  // ..C.. }.
                /* 0520 */  0x00, 0x0E, 0xFF, 0xFF, 0x43, 0x05, 0x78, 0x8E,  // ....C.x.
                /* 0528 */  0x71, 0x3E, 0x14, 0x80, 0xE3, 0x18, 0x66, 0x90,  // q>....f.
                /* 0530 */  0xB7, 0x44, 0xDC, 0xB9, 0xCD, 0x18, 0x51, 0xDE,  // .D....Q.
                /* 0538 */  0xE7, 0x3C, 0x2A, 0x9F, 0x2C, 0x30, 0x68, 0xCF,  // .<*.,0h.
                /* 0540 */  0x00, 0x3E, 0xDF, 0xB1, 0x7B, 0x05, 0x1E, 0xE8,  // .>..{...
                /* 0548 */  0xB8, 0x5E, 0x62, 0x78, 0x78, 0x15, 0xC3, 0x61,  // .^bxx..a
                /* 0550 */  0x61, 0x8E, 0x13, 0x5E, 0x37, 0x85, 0xF1, 0xE1,  // a..^7...
                /* 0558 */  0x13, 0x70, 0x75, 0x00, 0x00, 0xCF, 0xE1, 0x13,  // .pu.....
                /* 0560 */  0x58, 0xDC, 0x1A, 0xB1, 0x67, 0x4F, 0xB8, 0xFF,  // X...gO..
                /* 0568 */  0xFF, 0xB3, 0x27, 0xFE, 0x5A, 0xF1, 0xEC, 0x09,  // ..'.Z...
                /* 0570 */  0xB0, 0x13, 0xEC, 0x08, 0xB1, 0x67, 0x4F, 0xF0,  // .....gO.
                /* 0578 */  0xFF, 0xFF, 0xCF, 0x9E, 0x3C, 0xCA, 0xD9, 0x93,  // ....<...
                /* 0580 */  0x4A, 0x3F, 0x35, 0xA1, 0x0E, 0x1D, 0x3E, 0xD0,  // J?5...>.
                /* 0588 */  0xF9, 0xEC, 0xC9, 0xA6, 0x83, 0x95, 0x78, 0x68,  // ......xh
                /* 0590 */  0x42, 0x89, 0xA3, 0xD0, 0x79, 0xC9, 0x87, 0x26,  // B...y..&
                /* 0598 */  0x2E, 0x06, 0x8E, 0x82, 0x78, 0xFC, 0x0E, 0x7A,  // ....x..z
                /* 05A0 */  0x66, 0x40, 0x1F, 0xEB, 0xF0, 0xC1, 0x8E, 0x9E,  // f@......
                /* 05A8 */  0xA0, 0x38, 0xBE, 0x83, 0x67, 0x66, 0xB8, 0x5B,  // .8..gf.[
                /* 05B0 */  0x1D, 0xEE, 0xB4, 0x04, 0xEE, 0xE3, 0x03, 0xFE,  // ........
                /* 05B8 */  0xB4, 0x04, 0x3C, 0x44, 0x9C, 0x3A, 0x01, 0x05,  // ..<D.:..
                /* 05C0 */  0xFF, 0xFF, 0xD3, 0x12, 0xDC, 0xF1, 0x3C, 0x75,  // ......<u
                /* 05C8 */  0x02, 0xAF, 0x4B, 0x00, 0x56, 0xF8, 0x69, 0x02,  // ..K.V.i.
                /* 05D0 */  0xCA, 0x31, 0x8F, 0x9D, 0x26, 0x80, 0xF1, 0x89,  // .1..&...
                /* 05D8 */  0x0E, 0x77, 0x9A, 0x00, 0x9C, 0x1E, 0x37, 0xF1,  // .w....7.
                /* 05E0 */  0xFF, 0xFF, 0xE3, 0x26, 0xE0, 0xF8, 0x0C, 0x80,  // ...&....
                /* 05E8 */  0x3F, 0x6E, 0xC2, 0x3D, 0x08, 0xE1, 0x8F, 0x9B,  // ?n.=....
                /* 05F0 */  0x80, 0xDF, 0xFF, 0xFF, 0x71, 0x13, 0x60, 0xE0,  // ....q.`.
                /* 05F8 */  0xBD, 0x02, 0x77, 0xDB, 0xC4, 0x9D, 0x19, 0xA4,  // ..w.....
                /* 0600 */  0xE4, 0xAC, 0x89, 0x91, 0x79, 0xDC, 0x04, 0x5A,  // ....y..Z
                /* 0608 */  0xFF, 0xFF, 0xE3, 0x26, 0x60, 0xD3, 0xEA, 0xA8,  // ...&`...
                /* 0610 */  0xC8, 0xF9, 0x84, 0x1F, 0x37, 0xC1, 0x05, 0xF1,  // ....7...
                /* 0618 */  0xB8, 0x09, 0xF6, 0x68, 0xC7, 0x4D, 0x40, 0xDB,  // ...h.M@.
                /* 0620 */  0xFF, 0xFF, 0xB8, 0x09, 0x7C, 0x2F, 0x33, 0x3E,  // ....|/3>
                /* 0628 */  0x6E, 0x82, 0xF3, 0x9A, 0x80, 0x3B, 0x6D, 0x02,  // n....;m.
                /* 0630 */  0x8F, 0xF8, 0x3A, 0xCE, 0x33, 0xEC, 0xB4, 0x09,  // ..:.3...
                /* 0638 */  0xF3, 0x10, 0x81, 0x3D, 0xD0, 0x81, 0xEF, 0xCC,  // ...=....
                /* 0640 */  0x84, 0x3F, 0x6D, 0x02, 0xAF, 0x99, 0x9D, 0xE4,  // .?m.....
                /* 0648 */  0x99, 0xB1, 0xFB, 0x1C, 0xEE, 0xB0, 0x04, 0x96,  // ........
                /* 0650 */  0xFF, 0xFF, 0x61, 0x09, 0xF8, 0x9E, 0x36, 0x01,  // ..a...6.
                /* 0658 */  0xF3, 0xE7, 0x1A, 0xF4, 0x69, 0x13, 0xE2, 0x69,  // ....i..i
                /* 0660 */  0x02, 0xD8, 0xFE, 0xFF, 0x4F, 0x9B, 0xE0, 0x3D,  // ....O..=
                /* 0668 */  0x4D, 0x00, 0xAE, 0x56, 0xEE, 0xD3, 0x26, 0xE0,  // M..V..&.
                /* 0670 */  0x46, 0xF0, 0x69, 0x13, 0x28, 0xDD, 0x20, 0x70,  // F.i.(. p
                /* 0678 */  0x81, 0xCE, 0x12, 0x68, 0xE9, 0x87, 0x4D, 0xD4,  // ...h..M.
                /* 0680 */  0xFF, 0x1F, 0x14, 0x77, 0xD6, 0x04, 0xF8, 0x75,  // ...w...u
                /* 0688 */  0x34, 0xF1, 0x59, 0x13, 0xF0, 0xF1, 0xFF, 0x3F,  // 4.Y....?
                /* 0690 */  0x52, 0xE0, 0x8E, 0x87, 0xCF, 0x9A, 0xC0, 0xEF,  // R.......
                /* 0698 */  0x2E, 0x81, 0xB9, 0x6A, 0xE2, 0x52, 0x2D, 0x55,  // ...j.R-U
                /* 06A0 */  0x87, 0x62, 0x5C, 0x86, 0x87, 0x84, 0x0E, 0x64,  // .b\....d
                /* 06A8 */  0xEC, 0xD2, 0x03, 0x43, 0x37, 0x9C, 0x8E, 0x14,  // ...C7...
                /* 06B0 */  0x3E, 0x51, 0x58, 0x31, 0x85, 0x34, 0x9D, 0x2C,  // >QX1.4.,
                /* 06B8 */  0x50, 0x2A, 0x4E, 0x16, 0x14, 0xC4, 0x80, 0x8E,  // P*N.....
                /* 06C0 */  0x08, 0x21, 0x2B, 0x27, 0x0B, 0x94, 0x8A, 0x43,  // .!+'...C
                /* 06C8 */  0x0F, 0x32, 0xD3, 0xC5, 0x82, 0x4E, 0xC6, 0xB3,  // .2...N..
                /* 06D0 */  0xE6, 0xD7, 0x50, 0x5F, 0x2C, 0x18, 0x6E, 0x7D,  // ..P_,.n}
                /* 06D8 */  0x57, 0x1E, 0x90, 0xAB, 0x39, 0x29, 0xA0, 0x66,  // W...9).f
                /* 06E0 */  0xE1, 0x03, 0x05, 0x46, 0xD7, 0x7D, 0x02, 0x34,  // ...F.}.4
                /* 06E8 */  0x57, 0xC9, 0x87, 0x51, 0xCF, 0x08, 0x77, 0x9E,  // W..Q..w.
                /* 06F0 */  0x00, 0x23, 0x3A, 0xBF, 0x3E, 0x79, 0xE6, 0xFC,  // .#:.>y..
                /* 06F8 */  0x32, 0xEC, 0x99, 0x1B, 0xC4, 0x33, 0xFF, 0xFF,  // 2....3..
                /* 0700 */  0x27, 0x18, 0xF5, 0x8A, 0x82, 0x9E, 0x89, 0xEF,  // '.......
                /* 0708 */  0x59, 0xB8, 0xBB, 0x1D, 0xF0, 0x1F, 0x9B, 0x2F,  // Y....../
                /* 0710 */  0x27, 0xC0, 0x5B, 0xC8, 0xE5, 0x04, 0x74, 0x23,  // '.[...t#
                /* 0718 */  0xF7, 0xE5, 0x04, 0xB8, 0x0E, 0xE3, 0xE5, 0x04,  // ........
                /* 0720 */  0x4C, 0xB7, 0x12, 0x1F, 0x4D, 0x7C, 0x0C, 0xF6,  // L...M|..
                /* 0728 */  0x15, 0x0A, 0xF3, 0xFF, 0xBF, 0x42, 0x81, 0x2D,  // .....B.-
                /* 0730 */  0xE5, 0xD5, 0x04, 0x75, 0x85, 0x72, 0x82, 0xAB,  // ...u.r..
                /* 0738 */  0x09, 0xE2, 0x0A, 0xFC, 0xCA, 0xE0, 0xC3, 0xB1,  // ........
                /* 0740 */  0x07, 0xE3, 0x9B, 0x09, 0xC0, 0xD4, 0xFF, 0xFF,  // ........
                /* 0748 */  0xCD, 0x04, 0x70, 0x78, 0xAA, 0xF3, 0xCD, 0x04,  // ..px....
                /* 0750 */  0x5C, 0xB0, 0xFC, 0x66, 0x02, 0x3C, 0xA3, 0xDC,  // \..f.<..
                /* 0758 */  0x4C, 0x80, 0x2C, 0x4C, 0xA8, 0x28, 0xC7, 0xF1,  // L.,L.(..
                /* 0760 */  0x78, 0xE0, 0xEB, 0xB8, 0x11, 0x9E, 0xC8, 0x5F,  // x......_
                /* 0768 */  0xE1, 0xE3, 0xC4, 0x78, 0x31, 0xC1, 0x45, 0x7D,  // ...x1.E}
                /* 0770 */  0x3A, 0x98, 0x40, 0xFF, 0xFF, 0x40, 0xE3, 0x57,  // :.@..@.W
                /* 0778 */  0x38, 0x18, 0xD4, 0x8D, 0xC3, 0x07, 0x08, 0xFC,  // 8.......
                /* 0780 */  0x81, 0x90, 0x8D, 0x91, 0x49, 0x82, 0x43, 0x9D,  // ....I.C.
                /* 0788 */  0x0E, 0x3C, 0x92, 0xE3, 0x38, 0x88, 0xF7, 0x41,  // .<..8..A
                /* 0790 */  0xCF, 0xF0, 0xC0, 0x42, 0xB2, 0x4B, 0x87, 0x07,  // ...B.K..
                /* 0798 */  0xCB, 0x6F, 0x2E, 0x3E, 0x20, 0xBC, 0x91, 0xFB,  // .o.> ...
                /* 07A0 */  0xDC, 0x16, 0xF1, 0x89, 0xDC, 0x07, 0x43, 0x76,  // ......Cv
                /* 07A8 */  0x2E, 0x60, 0x68, 0x1C, 0x1A, 0x3B, 0x0C, 0xCF,  // .`h..;..
                /* 07B0 */  0xD1, 0x83, 0x38, 0x8C, 0x97, 0x02, 0x13, 0x78,  // ..8....x
                /* 07B8 */  0x42, 0xE7, 0xFC, 0xF0, 0xF8, 0x22, 0xF1, 0x64,  // B....".d
                /* 07C0 */  0x17, 0x35, 0x46, 0x73, 0x50, 0x24, 0xC2, 0x31,  // .5FsP$.1
                /* 07C8 */  0x00, 0x34, 0x87, 0x88, 0x33, 0x38, 0x85, 0x68,  // .4..38.h
                /* 07D0 */  0x27, 0xEF, 0x63, 0x1D, 0xAC, 0xEB, 0x1D, 0x0E,  // '.c.....
                /* 07D8 */  0xE8, 0x3D, 0x0F, 0x7B, 0x25, 0xF0, 0x49, 0xD2,  // .=.{%.I.
                /* 07E0 */  0xD7, 0x4C, 0x63, 0xC4, 0xF3, 0xF9, 0x0E, 0x37,  // .Lc....7
                /* 07E8 */  0x8D, 0x23, 0xC2, 0x9C, 0x17, 0x0C, 0xF8, 0xA6,  // .#......
                /* 07F0 */  0xE1, 0x73, 0x03, 0x73, 0x7F, 0xBA, 0xD0, 0xB1,  // .s.s....
                /* 07F8 */  0x27, 0xC2, 0x01, 0x9D, 0xDC, 0xC3, 0x68, 0x6F,  // '.....ho
                /* 0800 */  0x18, 0xB2, 0x75, 0x52, 0x79, 0xC0, 0x10, 0x56,  // ..uRy..V
                /* 0808 */  0x63, 0x28, 0x82, 0x88, 0x10, 0x34, 0x8A, 0xC1,  // c(...4..
                /* 0810 */  0x22, 0x84, 0x8A, 0x67, 0xD4, 0xD3, 0x0C, 0xF2,  // "..g....
                /* 0818 */  0x14, 0xF3, 0xE0, 0x11, 0x24, 0x5A, 0x30, 0x23,  // ....$Z0#
                /* 0820 */  0x30, 0xFB, 0x23, 0x65, 0xEF, 0x0C, 0x1D, 0x0C,  // 0.#e....
                /* 0828 */  0x1C, 0x69, 0x34, 0xA8, 0xD3, 0x87, 0x0F, 0x07,  // .i4.....
                /* 0830 */  0x3E, 0x18, 0x1C, 0xDD, 0xB3, 0xBF, 0xCF, 0x0F,  // >.......
                /* 0838 */  0x9E, 0xDA, 0x91, 0x3D, 0xF3, 0xBF, 0x74, 0x32,  // ...=..t2
                /* 0840 */  0x02, 0x9F, 0x57, 0x7C, 0xEC, 0xF0, 0x31, 0x01,  // ..W|..1.
                /* 0848 */  0x3F, 0xC8, 0x80, 0xFF, 0xFF, 0xF7, 0x83, 0x27,  // ?......'
                /* 0850 */  0x0D, 0xB0, 0x9C, 0x53, 0xE0, 0x8F, 0xC7, 0xC7,  // ...S....
                /* 0858 */  0x01, 0x1F, 0xAF, 0xB9, 0xFC, 0x41, 0xA0, 0x0E,  // .....A..
                /* 0860 */  0x37, 0x7C, 0xA4, 0xA7, 0xF5, 0x56, 0xE0, 0xB3,  // 7|...V..
                /* 0868 */  0x80, 0x09, 0x2C, 0xF6, 0xE2, 0x44, 0xC7, 0x03,  // ..,..D..
                /* 0870 */  0xFE, 0x6B, 0xC6, 0x53, 0xC2, 0xAB, 0x86, 0xB1,  // .k.S....
                /* 0878 */  0x7D, 0x58, 0xB0, 0x94, 0x23, 0x86, 0x6C, 0x1C,  // }X..#.l.
                /* 0880 */  0xB9, 0xA1, 0x46, 0x3F, 0xB1, 0x50, 0x51, 0x87,  // ..F?.PQ.
                /* 0888 */  0x17, 0xD4, 0xD1, 0xC2, 0xA7, 0x0A, 0x86, 0xCA,  // ........
                /* 0890 */  0x0F, 0xF4, 0x98, 0x03, 0x0B, 0xF8, 0x2F, 0x3E,  // ....../>
                /* 0898 */  0x3E, 0x5A, 0x80, 0x63, 0x8E, 0x6F, 0x12, 0xD8,  // >Z.c.o..
                /* 08A0 */  0xD1, 0xE1, 0xCE, 0x3E, 0xF8, 0x11, 0xE3, 0x27,  // ...>...'
                /* 08A8 */  0x70, 0xC6, 0x55, 0x63, 0xEB, 0x22, 0x60, 0x75,  // p.Uc."`u
                /* 08B0 */  0x53, 0x40, 0x13, 0x18, 0xE9, 0x59, 0x08, 0xD6,  // S@...Y..
                /* 08B8 */  0xFF, 0xFF, 0x2C, 0x84, 0x3B, 0x18, 0x78, 0x50,  // ..,.;.xP
                /* 08C0 */  0xE7, 0x74, 0x16, 0x07, 0xE6, 0x21, 0xC4, 0x3B,  // .t...!.;
                /* 08C8 */  0x8D, 0xC7, 0x0E, 0x3E, 0x09, 0xFC, 0x59, 0xF9,  // ...>..Y.
                /* 08D0 */  0x28, 0xB1, 0x83, 0xE0, 0xC7, 0x89, 0x47, 0x23,  // (.....G#
                /* 08D8 */  0x36, 0x88, 0xB7, 0x23, 0xCF, 0xE3, 0xB8, 0x7C,  // 6..#...|
                /* 08E0 */  0x52, 0x31, 0xC2, 0x11, 0x3C, 0xA0, 0x3C, 0xB0,  // R1..<.<.
                /* 08E8 */  0xF8, 0x5E, 0x73, 0x04, 0x4F, 0x1E, 0xEF, 0x06,  // .^s.O...
                /* 08F0 */  0x6F, 0x15, 0x1E, 0x37, 0xF6, 0x60, 0xE1, 0x21,  // o..7.`.!
                /* 08F8 */  0xF0, 0x01, 0xBC, 0xE4, 0x9C, 0xA6, 0xCF, 0x4A,  // .......J
                /* 0900 */  0x27, 0x86, 0x3B, 0x19, 0xF0, 0x61, 0x61, 0x8E,  // '.;..aa.
                /* 0908 */  0x4C, 0xB8, 0x80, 0x47, 0x1C, 0x54, 0xA4, 0x53,  // L..G.T.S
                /* 0910 */  0x0E, 0x40, 0x90, 0xCB, 0x09, 0xFB, 0xFF, 0xE3,  // .@......
                /* 0918 */  0xF2, 0x4B, 0x0E, 0xE6, 0x94, 0x03, 0xB6, 0x03,  // .K......
                /* 0920 */  0x8E, 0x4F, 0x39, 0xE0, 0x96, 0x70, 0xCA, 0x01,  // .O9..p..
                /* 0928 */  0x68, 0xF2, 0xA4, 0xF1, 0xC0, 0x71, 0xA3, 0xF0,  // h....q..
                /* 0930 */  0xD1, 0xC4, 0xE7, 0x87, 0x27, 0x0E, 0x16, 0xF8,  // ....'...
                /* 0938 */  0x94, 0x03, 0xDA, 0xFF, 0xFF, 0x29, 0x07, 0xBC,  // .....)..
                /* 0940 */  0x47, 0x48, 0xF0, 0x5C, 0x34, 0xDE, 0x24, 0x70,  // GH.\4.$p
                /* 0948 */  0x97, 0x1C, 0xCC, 0x79, 0x00, 0x7C, 0x07, 0x1C,  // ...y.|..
                /* 0950 */  0xF0, 0x0F, 0x09, 0x47, 0xE0, 0x03, 0x0E, 0xE0,  // ...G....
                /* 0958 */  0xE4, 0x48, 0xC8, 0xE3, 0x3C, 0x0C, 0x14, 0x07,  // .H..<...
                /* 0960 */  0x06, 0x75, 0xC0, 0x01, 0x6E, 0xFF, 0xFF, 0x03,  // .u..n...
                /* 0968 */  0x0E, 0xDC, 0x00, 0x67, 0x1A, 0x20, 0x7A, 0xBF,  // ...g. z.
                /* 0970 */  0xC4, 0x5D, 0x69, 0x30, 0x07, 0x20, 0x70, 0x9E,  // .]i0. p.
                /* 0978 */  0x6F, 0xC0, 0x75, 0xA9, 0x79, 0xBE, 0x01, 0xFB,  // o.u.y...
                /* 0980 */  0x53, 0xC4, 0xE7, 0x1B, 0xC0, 0xDF, 0xFF, 0xFF,  // S.......
                /* 0988 */  0x7C, 0x03, 0x3C, 0xCF, 0xD7, 0xB8, 0x51, 0xF8,  // |.<...Q.
                /* 0990 */  0x16, 0x8F, 0x3B, 0xDF, 0x00, 0x5E, 0x6E, 0x15,  // ..;..^n.
                /* 0998 */  0xB8, 0x33, 0x21, 0xEE, 0xA8, 0x0D, 0xBE, 0x19,  // .3!.....
                /* 09A0 */  0x3C, 0xDF, 0x80, 0x7D, 0xEC, 0xB8, 0xE3, 0x0D,  // <..}....
                /* 09A8 */  0xF0, 0xF9, 0xFF, 0x1F, 0x6F, 0x80, 0x83, 0x42,  // ....o..B
                /* 09B0 */  0x9B, 0x3E, 0x35, 0x1A, 0xB5, 0x6A, 0x50, 0xA6,  // .>5..jP.
                /* 09B8 */  0x46, 0x99, 0x06, 0xB5, 0xFA, 0x54, 0x6A, 0xCC,  // F....Tj.
                /* 09C0 */  0xD8, 0x70, 0x9F, 0x3A, 0xF4, 0x44, 0xD0, 0x19,  // .p.:.D..
                /* 09C8 */  0xC1, 0xB2, 0x1F, 0x1E, 0x02, 0x71, 0x68, 0x10,  // .....qh.
                /* 09D0 */  0xEE, 0x01, 0x84, 0xC5, 0x55, 0x01, 0xC2, 0xC4,  // ....U...
                /* 09D8 */  0x3E, 0x0D, 0x04, 0x42, 0x9E, 0x06, 0x02, 0xB1,  // >..B....
                /* 09E0 */  0x34, 0x1F, 0x20, 0x2C, 0x18, 0x08, 0x5F, 0xBC,  // 4. ,.._.
                /* 09E8 */  0x40, 0x1C, 0xE8, 0x01, 0xA1, 0xD3, 0x07, 0x79,  // @......y
                /* 09F0 */  0x36, 0x08, 0xC4, 0x11, 0xAD, 0x40, 0x34, 0x72,  // 6....@4r
                /* 09F8 */  0x7E, 0x30, 0x88, 0x80, 0x2C, 0x75, 0xCD, 0x02,  // ~0..,u..
                /* 0A00 */  0xB2, 0x70, 0x10, 0x01, 0x39, 0xBA, 0x1A, 0x20,  // .p..9.. 
                /* 0A08 */  0x26, 0xC4, 0x0D, 0x10, 0x8B, 0xA9, 0x07, 0x84,  // &.......
                /* 0A10 */  0x89, 0xF4, 0x33, 0x24, 0xFA, 0x72, 0x10, 0xA0,  // ..3$.r..
                /* 0A18 */  0x25, 0x18, 0x02, 0x62, 0x72, 0x1D, 0x01, 0x31,  // %..br..1
                /* 0A20 */  0xF1, 0x20, 0x02, 0x72, 0x6C, 0x4B, 0x40, 0x4C,  // . .rlK@L
                /* 0A28 */  0x84, 0xA6, 0xC1, 0x50, 0x53, 0x20, 0x4C, 0xA0,  // ...PS L.
                /* 0A30 */  0xAA, 0x01, 0x52, 0x57, 0x80, 0x2C, 0x3C, 0x88,  // ..RW.,<.
                /* 0A38 */  0x80, 0x2C, 0x54, 0x17, 0x10, 0x93, 0x0D, 0x22,  // .,T...."
                /* 0A40 */  0x20, 0x87, 0x7D, 0x39, 0x08, 0xC8, 0xD1, 0x41,  //  .}9...A
                /* 0A48 */  0x34, 0x50, 0xB2, 0x6A, 0x01, 0x59, 0x39, 0x88,  // 4P.j.Y9.
                /* 0A50 */  0x80, 0x9C, 0xE2, 0x9D, 0x23, 0x20, 0x67, 0x02,  // ....# g.
                /* 0A58 */  0x11, 0x90, 0xF3, 0xBF, 0x64, 0x02, 0x11, 0x31,  // ....d..1
                /* 0A60 */  0xBF, 0x9A, 0x40, 0x44, 0xD8, 0xB3, 0x26, 0x10,  // ..@D..&.
                /* 0A68 */  0x91, 0x09, 0x22, 0x20, 0x8B, 0x92, 0x07, 0xC2,  // .." ....
                /* 0A70 */  0x22, 0x81, 0xD0, 0x50, 0xF6, 0x40, 0x58, 0xFC,  // "..P.@X.
                /* 0A78 */  0x37, 0x86, 0x40, 0x2C, 0xFE, 0x6B, 0x10, 0x84,  // 7.@,.k..
                /* 0A80 */  0xFD, 0x73, 0x82, 0x90, 0x70, 0x0F, 0x06, 0x1D,  // .s..p...
                /* 0A88 */  0x02, 0xC8, 0x53, 0x27, 0x08, 0x7B, 0xC7, 0x07,  // ..S'.{..
                /* 0A90 */  0x21, 0xFF, 0x7F                                 // !..
            })
        }
    }

    Name (WSLW, Buffer (0x5F)
    {
        /* 0000 */  0x11, 0x04, 0x5B, 0x01, 0x05, 0x00, 0x01, 0x02,  // ..[.....
        /* 0008 */  0x03, 0x04, 0x03, 0x01, 0x02, 0x03, 0x00, 0x01,  // ........
        /* 0010 */  0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x01,  // ........
        /* 0018 */  0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04,  // ........
        /* 0020 */  0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,  // ........
        /* 0028 */  0x04, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03,  // ........
        /* 0030 */  0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0038 */  0x03, 0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0040 */  0x02, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x03,  // ........
        /* 0048 */  0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03,  // ........
        /* 0050 */  0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04,  // ........
        /* 0058 */  0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04         // .......
    })
    Name (WTBW, Buffer (0x2A)
    {
        /* 0000 */  0x11, 0x04, 0x13, 0x02, 0x00, 0xFF, 0x00, 0x2F,  // ......./
        /* 0008 */  0x30, 0x33, 0x34, 0x37, 0x38, 0x3B, 0x3C, 0x3F,  // 03478;<?
        /* 0010 */  0x40, 0x43, 0x44, 0x47, 0x48, 0x4C, 0x4D, 0x05,  // @CDGHLM.
        /* 0018 */  0xFF, 0x00, 0x2F, 0x30, 0x33, 0x34, 0x36, 0x37,  // ../03467
        /* 0020 */  0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x40, 0x42, 0x43,  // 9:<=?@BC
        /* 0028 */  0x48, 0x49                                       // HI
    })
    Name (WSL5, Buffer (0x5F)
    {
        /* 0000 */  0x11, 0x04, 0x5B, 0x01, 0x05, 0x00, 0x01, 0x02,  // ..[.....
        /* 0008 */  0x03, 0x04, 0x03, 0x01, 0x02, 0x03, 0x00, 0x01,  // ........
        /* 0010 */  0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x01,  // ........
        /* 0018 */  0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04,  // ........
        /* 0020 */  0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,  // ........
        /* 0028 */  0x04, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03,  // ........
        /* 0030 */  0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0038 */  0x03, 0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0040 */  0x02, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x03,  // ........
        /* 0048 */  0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03,  // ........
        /* 0050 */  0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04,  // ........
        /* 0058 */  0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04         // .......
    })
    Name (WTB5, Buffer (0x2A)
    {
        /* 0000 */  0x11, 0x04, 0x13, 0x02, 0x00, 0xFF, 0x00, 0x2F,  // ......./
        /* 0008 */  0x30, 0x33, 0x34, 0x37, 0x38, 0x3B, 0x3C, 0x3F,  // 03478;<?
        /* 0010 */  0x40, 0x43, 0x44, 0x47, 0x48, 0x4C, 0x4D, 0x05,  // @CDGHLM.
        /* 0018 */  0xFF, 0x00, 0x2F, 0x30, 0x33, 0x34, 0x36, 0x37,  // ../03467
        /* 0020 */  0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x40, 0x42, 0x43,  // 9:<=?@BC
        /* 0028 */  0x48, 0x49                                       // HI
    })
    Name (WSL9, Buffer (0x5F)
    {
        /* 0000 */  0x11, 0x04, 0x5B, 0x01, 0x05, 0x00, 0x01, 0x02,  // ..[.....
        /* 0008 */  0x03, 0x04, 0x03, 0x01, 0x02, 0x03, 0x00, 0x01,  // ........
        /* 0010 */  0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x01,  // ........
        /* 0018 */  0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04,  // ........
        /* 0020 */  0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,  // ........
        /* 0028 */  0x04, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03,  // ........
        /* 0030 */  0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0038 */  0x03, 0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0040 */  0x02, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x03,  // ........
        /* 0048 */  0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03,  // ........
        /* 0050 */  0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04,  // ........
        /* 0058 */  0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04         // .......
    })
    Name (WTB9, Buffer (0x2A)
    {
        /* 0000 */  0x11, 0x04, 0x13, 0x02, 0x00, 0xFF, 0x00, 0x2F,  // ......./
        /* 0008 */  0x30, 0x33, 0x34, 0x37, 0x38, 0x3B, 0x3C, 0x3F,  // 03478;<?
        /* 0010 */  0x40, 0x43, 0x44, 0x47, 0x48, 0x4C, 0x4D, 0x05,  // @CDGHLM.
        /* 0018 */  0xFF, 0x00, 0x2F, 0x30, 0x33, 0x34, 0x36, 0x37,  // ../03467
        /* 0020 */  0x39, 0x3A, 0x3C, 0x3D, 0x3F, 0x40, 0x42, 0x43,  // 9:<=?@BC
        /* 0028 */  0x48, 0x49                                       // HI
    })
    Name (WSLY, Buffer (0x5F)
    {
        /* 0000 */  0x11, 0x04, 0x5B, 0x01, 0x05, 0x00, 0x01, 0x02,  // ..[.....
        /* 0008 */  0x03, 0x04, 0x03, 0x01, 0x02, 0x03, 0x00, 0x01,  // ........
        /* 0010 */  0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x01,  // ........
        /* 0018 */  0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04,  // ........
        /* 0020 */  0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,  // ........
        /* 0028 */  0x04, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03,  // ........
        /* 0030 */  0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0038 */  0x03, 0x03, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02,  // ........
        /* 0040 */  0x02, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x03,  // ........
        /* 0048 */  0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03,  // ........
        /* 0050 */  0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04,  // ........
        /* 0058 */  0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04         // .......
    })
    Name (WTBY, Buffer (0x2A)
    {
        /* 0000 */  0x11, 0x04, 0x13, 0x02, 0x00, 0xFF, 0x00, 0x30,  // .......0
        /* 0008 */  0x37, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,  // 79:;<=>?
        /* 0010 */  0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x05,  // @ABCDEF.
        /* 0018 */  0xFF, 0x00, 0x30, 0x37, 0x37, 0x38, 0x39, 0x3A,  // ..07789:
        /* 0020 */  0x3B, 0x3C, 0x3D, 0x3E, 0x3E, 0x3F, 0x40, 0x41,  // ;<=>>?@A
        /* 0028 */  0x42, 0x43                                       // BC
    })
    Name (WD99, Buffer (0x59)
    {
        /* 0000 */  0x10, 0x04, 0x11, 0x05, 0x64, 0x58, 0x1B, 0x00,  // ....dX..
        /* 0008 */  0x00, 0x30, 0x75, 0x00, 0x00, 0x20, 0x4E, 0x00,  // .0u.. N.
        /* 0010 */  0x00, 0xB8, 0x88, 0x00, 0x00, 0x4F, 0x90, 0x1A,  // .....O..
        /* 0018 */  0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x20, 0x4E,  // ..0u.. N
        /* 0020 */  0x00, 0x00, 0xB8, 0x88, 0x00, 0x00, 0x3B, 0x64,  // ......;d
        /* 0028 */  0x19, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x20,  // ...0u.. 
        /* 0030 */  0x4E, 0x00, 0x00, 0xB8, 0x88, 0x00, 0x00, 0x27,  // N......'
        /* 0038 */  0x70, 0x17, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00,  // p...0u..
        /* 0040 */  0x98, 0x3A, 0x00, 0x00, 0xA8, 0x61, 0x00, 0x00,  // .:...a..
        /* 0048 */  0x13, 0x7C, 0x15, 0x00, 0x00, 0x30, 0x75, 0x00,  // .|...0u.
        /* 0050 */  0x00, 0x10, 0x27, 0x00, 0x00, 0x20, 0x4E, 0x00,  // ..'.. N.
        /* 0058 */  0x00                                             // .
    })
    Name (WD80, Buffer (0x59)
    {
        /* 0000 */  0x10, 0x04, 0x11, 0x05, 0x64, 0xC8, 0x19, 0x00,  // ....d...
        /* 0008 */  0x00, 0x30, 0x75, 0x00, 0x00, 0x20, 0x4E, 0x00,  // .0u.. N.
        /* 0010 */  0x00, 0xB8, 0x88, 0x00, 0x00, 0x4F, 0x64, 0x19,  // .....Od.
        /* 0018 */  0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x20, 0x4E,  // ..0u.. N
        /* 0020 */  0x00, 0x00, 0xB8, 0x88, 0x00, 0x00, 0x3B, 0x9C,  // ......;.
        /* 0028 */  0x18, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x20,  // ...0u.. 
        /* 0030 */  0x4E, 0x00, 0x00, 0xB8, 0x88, 0x00, 0x00, 0x27,  // N......'
        /* 0038 */  0x70, 0x17, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00,  // p...0u..
        /* 0040 */  0x98, 0x3A, 0x00, 0x00, 0xA8, 0x61, 0x00, 0x00,  // .:...a..
        /* 0048 */  0x13, 0x7C, 0x15, 0x00, 0x00, 0x30, 0x75, 0x00,  // .|...0u.
        /* 0050 */  0x00, 0x10, 0x27, 0x00, 0x00, 0x20, 0x4E, 0x00,  // ..'.. N.
        /* 0058 */  0x00                                             // .
    })
    OperationRegion (CMS1, SystemIO, 0x72, 0x02)
    Field (CMS1, ByteAcc, NoLock, Preserve)
    {
        IND1,   8, 
        DAT1,   8
    }

    IndexField (IND1, DAT1, ByteAcc, NoLock, Preserve)
    {
        Offset (0xF0), 
        PMDD,   8, 
        PMTD,   8
    }

    Scope (_SB.PC00.LPCB)
    {
        OperationRegion (DBG8, SystemIO, 0x80, One)
        Field (DBG8, ByteAcc, NoLock, Preserve)
        {
            IO80,   8
        }

        OperationRegion (SMIT, SystemIO, 0xB2, One)
        Field (SMIT, ByteAcc, NoLock, Preserve)
        {
            SMIP,   8
        }

        Device (EC0)
        {
            OperationRegion (IO, SystemIO, 0x60, 0x07)
            Field (IO, ByteAcc, Lock, Preserve)
            {
                CMD0,   8, 
                Offset (0x02), 
                CMD2,   8, 
                Offset (0x04), 
                CMD4,   8, 
                Offset (0x06), 
                CMD6,   8
            }

            Field (IO, ByteAcc, Lock, Preserve)
            {
                KBDT,   8, 
                Offset (0x02), 
                ECDT,   8, 
                Offset (0x04), 
                OUTS,   1, 
                INPS,   1, 
                Offset (0x06), 
                OUT6,   1, 
                INP6,   1
            }

            Name (\CPSZ, Zero)
            Name (OSEC, 0x06)
            Name (THOT, Zero)
            Name (VGTT, Zero)
            Name (NVCB, Zero)
            Name (IGPU, Zero)
            Name (ECMA, 0xFE410000)
            Name (ECMS, 0x00010000)
            OperationRegion (ECMG, SystemMemory, ECMA, ECMS)
            Field (ECMG, ByteAcc, Lock, Preserve)
            {
                Offset (0x43E), 
                CPTM,   8, 
                Offset (0x44F), 
                VGAT,   8, 
                Offset (0x45B), 
                    ,   3, 
                ECTP,   1, 
                Offset (0x460), 
                FFAN,   4, 
                Offset (0x466), 
                    ,   4, 
                S0E3,   1, 
                    ,   1, 
                S0E1,   1, 
                Offset (0x468), 
                SDAN,   4, 
                Offset (0x497), 
                ISDB,   1, 
                Offset (0x49F), 
                    ,   3, 
                ADPT,   4, 
                Offset (0x704), 
                BTP0,   16, 
                Offset (0x727), 
                    ,   6, 
                CUME,   1, 
                PL4D,   1, 
                TB43,   1, 
                CMSP,   1, 
                Offset (0x72A), 
                DPMD,   2, 
                Offset (0x72B), 
                    ,   1, 
                CSMS,   1, 
                Offset (0x72D), 
                EYER,   8, 
                EMON,   8, 
                Offset (0x741), 
                APPE,   1, 
                Offset (0x743), 
                GNEN,   1, 
                ECDC,   1, 
                Offset (0x744), 
                CTVA,   8, 
                DBCT,   8, 
                MXDB,   8, 
                MIDB,   8, 
                Offset (0x74C), 
                PDIN,   6, 
                    ,   1, 
                Offset (0x751), 
                    ,   4, 
                TBME,   1, 
                    ,   2, 
                UFME,   1, 
                Offset (0x763), 
                OCP1,   8, 
                OCP2,   8, 
                Offset (0x783), 
                APL1,   8, 
                APL2,   8, 
                APL4,   8, 
                APTC,   7, 
                APTN,   1, 
                Offset (0x788), 
                CTWA,   8, 
                Offset (0x7A4), 
                    ,   2, 
                GC6S,   1, 
                Offset (0x7B3), 
                PMAX,   16, 
                PBSS,   16, 
                PSRC,   8, 
                DTTF,   8, 
                CGLM,   7, 
                Offset (0x7BA), 
                VBNL,   16, 
                RBHF,   16, 
                CMPP,   16, 
                AP01,   8, 
                AP02,   8, 
                AP10,   8, 
                CTID,   8, 
                    ,   3, 
                DBEN,   1, 
                    ,   1, 
                DBST,   1, 
                Offset (0x7C5), 
                    ,   5, 
                WHMS,   1, 
                Offset (0x7C6), 
                WMS0,   2, 
                Offset (0x7C7), 
                    ,   1, 
                LCSE,   1, 
                OCPL,   3, 
                Offset (0x7CC), 
                DC0C,   1, 
                TC1C,   1, 
                TC2C,   1, 
                    ,   1, 
                TC1P,   1, 
                TC2P,   1, 
                    ,   1, 
                TCSA,   1, 
                Offset (0x7CF), 
                FPMS,   8, 
                DBD1,   8, 
                DBD2,   8, 
                GFID,   8, 
                    ,   4, 
                Offset (0x7D4), 
                CPUA,   8, 
                DBAP,   8, 
                DBSP,   8, 
                CGCT,   8, 
                Offset (0x7F7), 
                ETPP,   8, 
                Offset (0xE0D), 
                CPUT,   8, 
                PCHT,   8, 
                Offset (0xE10), 
                SN1T,   8, 
                Offset (0xE12), 
                SN2T,   8, 
                Offset (0xE14), 
                SN3T,   8, 
                Offset (0xE16), 
                SN4T,   8, 
                Offset (0xE18), 
                SN5T,   8, 
                Offset (0xE1C), 
                F1SH,   8, 
                F1SL,   8, 
                Offset (0xE8C), 
                F1DC,   7, 
                F1CM,   1, 
                Offset (0xE9D), 
                F2DC,   7, 
                F2CM,   1, 
                Offset (0xEA0), 
                UVER,   16, 
                RESV,   16, 
                CCI0,   8, 
                CCI1,   8, 
                CCI2,   8, 
                CCI3,   8, 
                CTL0,   8, 
                CTL1,   8, 
                CTL2,   8, 
                CTL3,   8, 
                CTL4,   8, 
                CTL5,   8, 
                CTL6,   8, 
                CTL7,   8, 
                MGI0,   8, 
                MGI1,   8, 
                MGI2,   8, 
                MGI3,   8, 
                MGI4,   8, 
                MGI5,   8, 
                MGI6,   8, 
                MGI7,   8, 
                MGI8,   8, 
                MGI9,   8, 
                MGIA,   8, 
                MGIB,   8, 
                MGIC,   8, 
                MGID,   8, 
                MGIE,   8, 
                MGIF,   8, 
                MGO0,   8, 
                MGO1,   8, 
                MGO2,   8, 
                MGO3,   8, 
                MGO4,   8, 
                MGO5,   8, 
                MGO6,   8, 
                MGO7,   8, 
                MGO8,   8, 
                MGO9,   8, 
                MGOA,   8, 
                MGOB,   8, 
                MGOC,   8, 
                MGOD,   8, 
                MGOE,   8, 
                MGOF,   8
            }

            OperationRegion (ECMP, EmbeddedControl, Zero, 0xFF)
            Field (ECMP, ByteAcc, Lock, Preserve)
            {
                Offset (0x40), 
                XSEC,   8, 
                Offset (0x7B), 
                DEVS,   8
            }

            OperationRegion (ECXP, SystemMemory, (ECMA + 0x0400), 0xFF)
            Field (ECXP, ByteAcc, Lock, Preserve)
            {
                XIF0,   16, 
                XIF1,   16, 
                XIF2,   16, 
                XIF3,   16, 
                XIF4,   16, 
                XIF5,   16, 
                XIF6,   16, 
                XIF7,   16, 
                XIF8,   16, 
                XIF9,   64, 
                XIFA,   64, 
                XIFB,   64, 
                XIFC,   64, 
                XST0,   16, 
                XST1,   16, 
                XST2,   16, 
                XST3,   16, 
                XTP0,   16, 
                XCIN,   1, 
                    ,   1, 
                XTIN,   1, 
                Offset (0x3D), 
                BLLV,   8, 
                XHPP,   7, 
                Offset (0x3F), 
                Offset (0x41), 
                XLPT,   8, 
                    ,   3, 
                Q70D,   1, 
                Q70M,   1, 
                Offset (0x43), 
                XBRL,   3, 
                    ,   4, 
                XBKL,   1, 
                Offset (0x49), 
                ACUR,   8, 
                Offset (0x56), 
                VGTP,   1, 
                    ,   4, 
                BLSC,   1, 
                MDTP,   2, 
                Offset (0x58), 
                    ,   7, 
                EIST,   1, 
                Offset (0x5A), 
                DEXS,   8, 
                XSLT,   1, 
                    ,   2, 
                GC6I,   1, 
                GPST,   1, 
                Offset (0x5C), 
                Offset (0x63), 
                TCOS,   8, 
                Offset (0x66), 
                TURB,   1, 
                    ,   1, 
                PBMN,   1, 
                RTCR,   1, 
                S0IF,   1, 
                    ,   1, 
                Offset (0x6A), 
                PL1L,   8, 
                PL2L,   8, 
                Offset (0x6E), 
                PL3L,   8, 
                PL4L,   8, 
                Offset (0x72), 
                    ,   4, 
                XS4F,   1, 
                Offset (0x76), 
                    ,   1, 
                SLID,   1, 
                    ,   1, 
                S3WA,   1, 
                    ,   1, 
                HPEN,   1, 
                Offset (0x77), 
                Offset (0x78), 
                HBTN,   8, 
                BRTS,   8, 
                W8BR,   8, 
                    ,   1, 
                TOPD,   1, 
                WUSB,   1, 
                FGPT,   1, 
                WEBC,   1, 
                BLTH,   1, 
                DV3G,   1, 
                WLAN,   1, 
                OSDF,   8, 
                CGVT,   8, 
                Offset (0x8A), 
                LDAT,   8, 
                HDAT,   8, 
                RFLG,   1, 
                WFLG,   1, 
                BFLG,   1, 
                CFLG,   1, 
                    ,   3, 
                DRDY,   1, 
                CMDL,   8, 
                CMDH,   8, 
                Offset (0x90), 
                ACIC,   1, 
                BPST,   1, 
                BSOK,   1, 
                Offset (0x9F), 
                ACWT,   1, 
                HTMF,   1, 
                ACFL,   1, 
                Offset (0xA0), 
                Offset (0xA6), 
                CYCN,   16, 
                Offset (0xC0), 
                BIF0,   16, 
                BIF1,   16, 
                BIF2,   16, 
                BIF3,   16, 
                BIF4,   16, 
                BIF5,   16, 
                BIF6,   16, 
                BIF7,   16, 
                BIF8,   16, 
                BIF9,   64, 
                BIFA,   64, 
                BIFB,   64, 
                BIFC,   64, 
                BST0,   16, 
                BST1,   16, 
                BST2,   16, 
                BST3,   16, 
                Offset (0xFC), 
                ACIN,   1, 
                    ,   1, 
                BTIN,   1, 
                Offset (0xFD)
            }

            Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
            Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
            {
                IO (Decode16,
                    0x0062,             // Range Minimum
                    0x0062,             // Range Maximum
                    0x00,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0066,             // Range Minimum
                    0x0066,             // Range Maximum
                    0x00,               // Alignment
                    0x01,               // Length
                    )
            })
            Mutex (ECMT, 0x00)
            Method (ECMD, 1, Serialized)
            {
                If ((Acquire (ECMT, 0x01F4) == Zero))
                {
                    If (ECON)
                    {
                        While ((CMD6 & 0x02))
                        {
                            Stall (0x05)
                        }

                        CMD6 = Arg0
                    }

                    Release (ECMT)
                    Return (Zero)
                }
                Else
                {
                    Return (0xFF)
                }
            }

            Method (_GPE, 0, NotSerialized)  // _GPE: General Purpose Events
            {
                Local0 = 0x46
                Return (Local0)
            }

            Method (_REG, 2, NotSerialized)  // _REG: Region Availability
            {
                If (((Arg0 == 0x03) && (Arg1 == One)))
                {
                    ECON = One
                    If ((OSYS == 0x07DF))
                    {
                        OSEC = 0x07
                        P8XH (Zero, 0x07)
                    }
                    ElseIf (((OSYS == 0x07DC) || (OSYS == 0x07DD)))
                    {
                        OSEC = 0x06
                        P8XH (Zero, 0x06)
                    }
                    Else
                    {
                        OSEC = 0x05
                        P8XH (Zero, 0x05)
                    }

                    XSEC = OSEC /* \_SB_.PC00.LPCB.EC0_.OSEC */
                    PMSC ()
                    If ((DPMF != One))
                    {
                        PMSF ()
                    }

                    ^^^GFX0.CLID = 0x03
                    LIDS = One
                    VGTT = VGTP /* \_SB_.PC00.LPCB.EC0_.VGTP */
                }
            }

            Method (_Q06, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x06)
                If ((Acquire (ECM2, 0x01F4) == Zero))
                {
                    If ((BPST == One))
                    {
                        Notify (BAT0, 0x81) // Information Change
                    }

                    Notify (BAT0, 0x80) // Status Change
                    Notify (AC0, 0x80) // Status Change
                    Release (ECM2)
                }
            }

            Method (_Q07, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x07)
                If ((Acquire (MUEX, 0x01F4) == Zero))
                {
                    Notify (AC0, 0x80) // Status Change
                    Stall (0x14)
                    Notify (BAT0, 0x80) // Status Change
                    Stall (0x14)
                    Release (MUEX)
                }
            }

            Method (DGPS, 0, NotSerialized)
            {
                If ((^^^RP09.PXP._STA == Zero))
                {
                    Return (0x55)
                }
                Else
                {
                    Return (0xAA)
                }
            }

            Method (DELY, 1, NotSerialized)
            {
                Local0 = Zero
                Local1 = (Arg0 * 0x0A)
                While ((Local0 < Local1))
                {
                    Local0 += One
                    Stall (0x64)
                }
            }

            Mutex (IGMX, 0x00)
            Method (IGPS, 1, Serialized)
            {
                Name (FFNT, Zero)
                Acquire (IGMX, 0xFFFF)
                If ((Arg0 == One))
                {
                    If ((^^^RP09.PXP._STA == Zero))
                    {
                        Notify (^^^RP09.PXSX, 0x03) // Eject Request
                        ^^^RP09.PXSX._PSC = Zero
                        Local0 = Zero
                        FFNT = 0x64
                        While ((^^^RP09.PXSX._PSC != 0x03))
                        {
                            FFNT -= One
                            If ((FFNT == Zero))
                            {
                                Local0 = One
                                Break
                            }

                            Sleep (0x64)
                        }

                        If ((Local0 == Zero))
                        {
                            IGPU = One
                            Notify (RP09, Zero) // Bus Check
                        }
                        Else
                        {
                            IGPU = 0x02
                        }
                    }
                    Else
                    {
                        ^^^RP09._PS3 ()
                        IGPU = 0xAA
                    }
                }
                ElseIf ((Arg0 == Zero))
                {
                    If ((^^^RP09.PXP._STA != Zero))
                    {
                        ^^^RP09._PS3 ()
                        IGPU = 0xAA
                    }
                    Else
                    {
                        IGPU = Zero
                        Notify (RP09, Zero) // Bus Check
                        Notify (^^^RP09.PXSX, Zero) // Bus Check
                    }
                }

                Release (IGMX)
                Return (IGPU) /* \_SB_.PC00.LPCB.EC0_.IGPU */
            }

            Method (PMSF, 0, NotSerialized)
            {
                If ((GFID != Zero))
                {
                    If ((CUME == Zero))
                    {
                        If ((DBAP > Zero))
                        {
                            DBEN = One
                        }

                        If ((^^^^INOU.CSTM == One))
                        {
                            If (((MOID == 0x1B) || (MOID == 0x21)))
                            {
                                CSMS = One
                                If ((TB43 == One))
                                {
                                    APTC = 0x0F
                                }
                                Else
                                {
                                    APTC = 0x0A
                                }

                                If (((TBME == One) && (UFME == Zero)))
                                {
                                    APTN = One
                                }
                                Else
                                {
                                    APTN = Zero
                                }
                            }
                            Else
                            {
                                CSMS = One
                                If ((TB43 == One))
                                {
                                    APTC = 0x12
                                }
                                Else
                                {
                                    APTC = 0x0A
                                }

                                If (((TBME == One) && (UFME == Zero)))
                                {
                                    APTN = One
                                }
                                Else
                                {
                                    APTN = Zero
                                }
                            }
                        }
                        Else
                        {
                            CSMS = Zero
                            APTN = Zero
                        }
                    }
                    Else
                    {
                        If ((GFID == 0x19))
                        {
                            ^^^^NPCF.ATPP = 0x04D8
                        }
                        ElseIf (((GFID == 0x1A) || (GFID == 0x1B)))
                        {
                            ^^^^NPCF.ATPP = 0x0640
                        }
                        Else
                        {
                            ^^^^NPCF.ATPP = 0x04D8
                        }

                        If ((^^^^INOU.CSTM == One))
                        {
                            CSMS = One
                        }
                        Else
                        {
                            CSMS = Zero
                        }
                    }

                    _Q83 ()
                    _Q84 ()
                    _Q9C ()
                }
            }

            Method (PMSC, 0, NotSerialized)
            {
                If ((CUME == One))
                {
                    PMDD = 0x03
                }
                ElseIf (((TBME == One) && (UFME == Zero)))
                {
                    PMDD = 0x02
                }
                ElseIf (((TBME == Zero) && (UFME == One)))
                {
                    If (((ACIC == One) && (DC0C == One)))
                    {
                        PMDD = Zero
                    }
                    Else
                    {
                        PMTD = Zero
                    }
                }
                ElseIf (((TBME == Zero) && (UFME == Zero)))
                {
                    If (((ACIC == One) && (DC0C == One)))
                    {
                        PMDD = One
                    }
                    Else
                    {
                        PMTD = One
                    }
                }
            }

            Method (_Q0A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x0A)
                Notify (SLPB, 0x80) // Status Change
            }

            Method (_Q0B, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x0B)
            }

            Method (_Q0C, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x0C)
                If ((XSEC == 0x08))
                {
                    P8XH (Zero, 0x11)
                    Notify (GFX0, 0x80) // Status Change
                }
            }

            Method (_Q0D, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x0D)
            }

            Method (_Q0E, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x0E)
            }

            Method (_Q0F, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x0F)
            }

            Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x10)
            }

            Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x11)
            }

            Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x12)
            }

            Method (_Q13, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x13)
            }

            Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x14)
                Notify (^^^GFX0.DD1F, 0x87) // Device-Specific
                Notify (^^^RP09.PXSX.EDP1, 0x87) // Device-Specific
            }

            Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x15)
                Notify (^^^GFX0.DD1F, 0x86) // Device-Specific
                Notify (^^^RP09.PXSX.EDP1, 0x86) // Device-Specific
            }

            Method (_Q2D, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x2D)
            }

            Method (_Q2E, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x2E)
            }

            Method (_Q2F, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x2F)
            }

            Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x16)
                ^^^GFX0.GLID (0x03)
                ^^^^LID1.LIDS = One
                Notify (LID1, 0x80) // Status Change
            }

            Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x19)
                ^^^GFX0.GLID (0x02)
                ^^^^LID1.LIDS = Zero
                Notify (LID1, 0x80) // Status Change
            }

            Method (_Q27, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x27)
                THOT = One
                Notify (ECTZ, 0x80) // Thermal Status Change
            }

            Method (_Q30, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                ^^^^PGPI.SGOV (0x00161080, Zero)
            }

            Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x40)
                CPPC = Zero
            }

            Method (_Q41, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x41)
                CPPC = 0x02
            }

            Method (_Q42, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x42)
                CPPC = 0x04
            }

            Method (_Q43, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x43)
                CPPC = 0x06
            }

            Method (_Q44, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x44)
                CPPC = 0x08
            }

            Method (_Q45, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x45)
                CPPC = 0x0A
            }

            Method (_Q46, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x46)
                CPPC = 0x10
            }

            Method (_Q47, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x47)
                CPPC = 0x13
            }

            Method (_Q70, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x70)
            }

            Method (_Q71, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x71)
                If ((Acquire (ECM4, 0x01F4) == Zero))
                {
                    TCCO = TCOS /* \_SB_.PC00.LPCB.EC0_.TCOS */
                    SMIP = 0x99
                    Release (ECM4)
                }
            }

            Method (_Q72, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x72)
            }

            Method (_Q79, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x79)
                Notify (^^^^HIDD, 0xCE) // Hardware-Specific
            }

            Method (_Q7A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x7A)
                Notify (^^^^HIDD, 0xCF) // Hardware-Specific
            }

            Method (_Q80, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x80)
                Notify (NPCF, 0xC0) // Hardware-Specific
                ^^^^NPCF.NPCF (ToUUID ("36b49710-2483-11e7-9598-0800200c9a66") /* Unknown UUID */, 0x0100, 0x02, One)
            }

            Method (_Q81, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x81)
                Debug = "=== Q81 ==="
                Notify (NPCF, 0xC0) // Hardware-Specific
                ^^^^NPCF.NPCF (ToUUID ("36b49710-2483-11e7-9598-0800200c9a66") /* Unknown UUID */, 0x0100, 0x02, Zero)
            }

            Method (_Q83, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                IO80 = 0x83
                ^^^^NPCF.ACBT = (CTWA * 0x08)
                ^^^^INOU.PWUP (OCPL)
            }

            Method (_Q84, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                IO80 = 0x84
                If ((DBEN == One))
                {
                    ^^^^NPCF.DBAC = Zero
                    ^^^^NPCF.AMAT = (DBAP * 0x08)
                }
                Else
                {
                    ^^^^NPCF.DBAC = One
                }

                ^^^^INOU.PWUP (OCPL)
            }

            Method (_Q9C, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x9C)
                If ((CUME == Zero))
                {
                    If (((ETPP != Zero) || (ETPP != 0xFF)))
                    {
                        ^^^^NPCF.ATPP = (ETPP * 0x08)
                    }
                }

                ^^^^INOU.PWUP (OCPL)
            }

            Method (_Q85, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x85)
                ^^^^NPCF.WMEN = WHMS /* \_SB_.PC00.LPCB.EC0_.WHMS */
                Notify (NPCF, 0xC1) // Hardware-Specific
            }

            Method (_Q86, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x86)
                Notify (^^^RP09.PXSX, 0xC0) // Hardware-Specific
            }

            Method (_Q88, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x88)
                PMSC ()
                PMSF ()
            }

            Method (_Q89, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x89)
                Debug = "=== 0x89 ==="
                Notify (BAT0, 0x80) // Status Change
            }

            Method (_Q8A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x8A)
                Debug = "=== Q8A OC Phase Level==="
                ^^^^INOU.PWUP (OCPL)
            }

            Method (_Q90, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x90)
                OPML ()
                Debug = "=== PWR board LED control==="
            }

            Method (_Q91, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x91)
                ^^^^PGPI.SGOV (0x00160504, Zero)
                WEBC = Zero
            }

            Method (_Q92, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x92)
                ^^^^PGPI.SGOV (0x00160504, One)
                WEBC = One
            }

            Method (_QAA, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xAA)
                ^^^^PGPI.SGOV (0x0016118F, Zero)
                ^^^^PGPI.SGOV (0x00161190, One)
            }

            Method (_QBB, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xBB)
                ^^^^PGPI.SGOV (0x0016118F, Zero)
                ^^^^PGPI.SGOV (0x00161190, Zero)
            }

            Method (CPML, 0, NotSerialized)
            {
                ^^^^PGPI.SGOV (0x00160511, Zero)
                ^^^^PGPI.SGOV (0x00160510, Zero)
                ^^^^PGPI.SGOV (0x0016050F, Zero)
            }

            Method (OPML, 0, NotSerialized)
            {
                If ((((MOID == 0x06) || (MOID == 0x07)) || (MOID == 0x17)))
                {
                    If (CUME)
                    {
                        ^^^^PGPI.SGOV (0x00160511, Zero)
                        ^^^^PGPI.SGOV (0x00160510, One)
                        ^^^^PGPI.SGOV (0x0016050F, Zero)
                    }
                    Else
                    {
                        If (((TBME == One) && (UFME == Zero)))
                        {
                            ^^^^PGPI.SGOV (0x00160511, Zero)
                            ^^^^PGPI.SGOV (0x00160510, Zero)
                            ^^^^PGPI.SGOV (0x0016050F, One)
                        }

                        If (((TBME == Zero) && (UFME == One)))
                        {
                            ^^^^PGPI.SGOV (0x00160511, One)
                            ^^^^PGPI.SGOV (0x00160510, One)
                            ^^^^PGPI.SGOV (0x0016050F, One)
                        }

                        If (((TBME == Zero) && (UFME == Zero)))
                        {
                            ^^^^PGPI.SGOV (0x00160511, Zero)
                            ^^^^PGPI.SGOV (0x00160510, One)
                            ^^^^PGPI.SGOV (0x0016050F, One)
                        }
                    }
                }
            }

            Method (_QD1, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xD1)
                Debug = "=== QD1 ==="
                Notify (^^^RP09.PXSX, 0xD1) // Hardware-Specific
            }

            Method (_QD2, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xD2)
                Debug = "=== QD2 ==="
                Notify (^^^RP09.PXSX, 0xD2) // Hardware-Specific
            }

            Method (_QD3, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xD3)
                Debug = "=== QD3 ==="
                Notify (^^^RP09.PXSX, 0xD3) // Hardware-Specific
            }

            Method (_QD4, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xD4)
                Debug = "=== QD4 ==="
                Notify (^^^RP09.PXSX, 0xD4) // Hardware-Specific
            }

            Method (_QD5, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xD5)
                Debug = "=== QD5 ==="
                Notify (^^^RP09.PXSX, 0xD5) // Hardware-Specific
            }

            Name (OSDT, Zero)
            Method (_Q53, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                Sleep (0x14)
                OSDT = OSDF /* \_SB_.PC00.LPCB.EC0_.OSDF */
                ^^^^AMW0.WMBC (Zero, 0x03, OSDT)
                OSDT = Zero
                Sleep (0x14)
                OSDF = Zero
            }

            Method (_Q6E, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x6E)
                S3WA = One
            }

            Method (_Q74, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x74)
            }

            Method (_Q75, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x75)
            }

            Method (_Q76, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x76)
                Notify (GFX0, 0x81) // Information Change
                Notify (^^^RP09.PXSX, 0x81) // Information Change
                Notify (GFX0, Zero) // Bus Check
                Notify (^^^RP09.PXSX, Zero) // Bus Check
            }

            Method (_Q77, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x77)
                ^^^^AMW0.WMBC (Zero, 0x03, 0xF0)
            }

            Method (_Q78, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0x78)
                ^^^^AMW0.WMBC (Zero, 0x03, 0xF0)
            }

            Method (_QCC, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xCC)
                ^^^^INOU.PWDB (0x50)
                PMSF ()
            }

            Method (_QDD, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                P8XH (Zero, 0xDD)
                ^^^^INOU.PWDB (0xC8)
            }

            Method (UCEV, 0, Serialized)
            {
                P8XH (Zero, 0x79)
                Local0 = Timer
                ^^^^UBTC.MGI0 = MGI0 /* \_SB_.PC00.LPCB.EC0_.MGI0 */
                ^^^^UBTC.MGI1 = MGI1 /* \_SB_.PC00.LPCB.EC0_.MGI1 */
                ^^^^UBTC.MGI2 = MGI2 /* \_SB_.PC00.LPCB.EC0_.MGI2 */
                ^^^^UBTC.MGI3 = MGI3 /* \_SB_.PC00.LPCB.EC0_.MGI3 */
                ^^^^UBTC.MGI4 = MGI4 /* \_SB_.PC00.LPCB.EC0_.MGI4 */
                ^^^^UBTC.MGI5 = MGI5 /* \_SB_.PC00.LPCB.EC0_.MGI5 */
                ^^^^UBTC.MGI6 = MGI6 /* \_SB_.PC00.LPCB.EC0_.MGI6 */
                ^^^^UBTC.MGI7 = MGI7 /* \_SB_.PC00.LPCB.EC0_.MGI7 */
                ^^^^UBTC.MGI8 = MGI8 /* \_SB_.PC00.LPCB.EC0_.MGI8 */
                ^^^^UBTC.MGI9 = MGI9 /* \_SB_.PC00.LPCB.EC0_.MGI9 */
                ^^^^UBTC.MGIA = MGIA /* \_SB_.PC00.LPCB.EC0_.MGIA */
                ^^^^UBTC.MGIB = MGIB /* \_SB_.PC00.LPCB.EC0_.MGIB */
                ^^^^UBTC.MGIC = MGIC /* \_SB_.PC00.LPCB.EC0_.MGIC */
                ^^^^UBTC.MGID = MGID /* \_SB_.PC00.LPCB.EC0_.MGID */
                ^^^^UBTC.MGIE = MGIE /* \_SB_.PC00.LPCB.EC0_.MGIE */
                ^^^^UBTC.MGIF = MGIF /* \_SB_.PC00.LPCB.EC0_.MGIF */
                ^^^^UBTC.CCI0 = CCI0 /* \_SB_.PC00.LPCB.EC0_.CCI0 */
                ^^^^UBTC.CCI1 = CCI1 /* \_SB_.PC00.LPCB.EC0_.CCI1 */
                ^^^^UBTC.CCI2 = CCI2 /* \_SB_.PC00.LPCB.EC0_.CCI2 */
                ^^^^UBTC.CCI3 = CCI3 /* \_SB_.PC00.LPCB.EC0_.CCI3 */
                Local1 = ((Timer - Local0) / 0x2710)
                ADBG (Local1)
                Notify (UBTC, 0x80) // Status Change
            }

            Method (_Q7B, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
            {
                UCEV ()
            }

            Method (EPTS, 1, NotSerialized)
            {
            }

            Method (EWAK, 1, NotSerialized)
            {
                XSEC = OSEC /* \_SB_.PC00.LPCB.EC0_.OSEC */
            }
        }
    }

    Scope (_SB)
    {
        Mutex (MUEX, 0x00)
        Mutex (ECM1, 0x00)
        Mutex (ECM2, 0x00)
        Mutex (ECM3, 0x00)
        Mutex (ECM4, 0x00)
        Mutex (ECM5, 0x00)
        Mutex (ECM6, 0x00)
        Mutex (ECM7, 0x00)
        Mutex (ECM8, 0x00)
        Mutex (ECM9, 0x00)
        Device (AC0)
        {
            Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
            Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
            {
                _SB
            })
            Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
            {
                If ((Acquire (ECM5, 0x01F4) == Zero))
                {
                    ^^PC00.LPCB.IO80 = 0xB2
                    If (ECON)
                    {
                        Local0 = ^^PC00.LPCB.EC0.XCIN /* \_SB_.PC00.LPCB.EC0_.XCIN */
                    }
                    Else
                    {
                        Local0 = One
                    }

                    If (^^PC00.LPCB.EC0.HPEN)
                    {
                        Local0 = One
                    }

                    Release (ECM5)
                }

                Return (Local0)
            }
        }

        Device (BAT0)
        {
            Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
            Name (_UID, Zero)  // _UID: Unique ID
            Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
            {
                _SB
            })
            Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
            {
                Name (PAK0, Package (0x0D)
                {
                    One, 
                    0x0C56, 
                    0x0C56, 
                    Zero, 
                    0x2A30, 
                    Zero, 
                    Zero, 
                    0x10, 
                    0x08, 
                    "standard", 
                    "00001", 
                    "LiON", 
                    "OEM"
                })
                If (ECON)
                {
                    Acquire (MUEX, 0xFFFF)
                    Debug = "ECBE"
                    PAK0 [One] = ^^PC00.LPCB.EC0.XIF1 /* \_SB_.PC00.LPCB.EC0_.XIF1 */
                    If ((^^PC00.LPCB.EC0.ISDB == One))
                    {
                        If ((^^PC00.LPCB.EC0.CYCN >= 0x32))
                        {
                            PAK0 [0x02] = ^^PC00.LPCB.EC0.XIF2 /* \_SB_.PC00.LPCB.EC0_.XIF2 */
                        }
                        Else
                        {
                            PAK0 [0x02] = ^^PC00.LPCB.EC0.XIF1 /* \_SB_.PC00.LPCB.EC0_.XIF1 */
                        }
                    }
                    Else
                    {
                        PAK0 [0x02] = ^^PC00.LPCB.EC0.XIF2 /* \_SB_.PC00.LPCB.EC0_.XIF2 */
                    }

                    PAK0 [0x03] = ^^PC00.LPCB.EC0.XIF3 /* \_SB_.PC00.LPCB.EC0_.XIF3 */
                    PAK0 [0x04] = ^^PC00.LPCB.EC0.XIF4 /* \_SB_.PC00.LPCB.EC0_.XIF4 */
                    PAK0 [0x07] = ^^PC00.LPCB.EC0.XIF7 /* \_SB_.PC00.LPCB.EC0_.XIF7 */
                    Release (MUEX)
                }
                Else
                {
                    PAK0 [One] = 0xFFFFFFFF
                    PAK0 [0x02] = 0xFFFFFFFF
                    PAK0 [0x04] = 0xFFFFFFFF
                    PAK0 [0x09] = "Error"
                    PAK0 [0x0A] = "00000"
                    PAK0 [0x0B] = "Error"
                    PAK0 [0x0C] = "Error"
                }

                Return (PAK0) /* \_SB_.BAT0._BIF.PAK0 */
            }

            Name (BFB0, Package (0x04)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Method (_BST, 0, NotSerialized)  // _BST: Battery Status
            {
                If ((Acquire (ECM1, 0x01F4) == Zero))
                {
                    Debug = "BST1 Start"
                    If ((^^PC00.LPCB.EC0.BSOK == One))
                    {
                        If (((^^PC00.LPCB.EC0.CGLM <= 0x63) && (^^PC00.LPCB.EC0.CGLM >= One)))
                        {
                            Local0 = ^^PC00.LPCB.EC0.XST0 /* \_SB_.PC00.LPCB.EC0_.XST0 */
                            Local0 |= 0x08
                            BFB0 [Zero] = Local0
                        }
                        Else
                        {
                            BFB0 [Zero] = ^^PC00.LPCB.EC0.XST0 /* \_SB_.PC00.LPCB.EC0_.XST0 */
                        }

                        BFB0 [One] = ^^PC00.LPCB.EC0.XST1 /* \_SB_.PC00.LPCB.EC0_.XST1 */
                        If ((^^PC00.LPCB.EC0.ISDB == One))
                        {
                            If ((^^PC00.LPCB.EC0.CYCN >= 0x32))
                            {
                                BFB0 [0x02] = ^^PC00.LPCB.EC0.XST2 /* \_SB_.PC00.LPCB.EC0_.XST2 */
                            }
                            Else
                            {
                                Local0 = (^^PC00.LPCB.EC0.XST2 * ^^PC00.LPCB.EC0.XIF1)
                                Local1 = ^^PC00.LPCB.EC0.XIF2 /* \_SB_.PC00.LPCB.EC0_.XIF2 */
                                BFB0 [0x02] = (Local0 / Local1)
                            }
                        }
                        Else
                        {
                            BFB0 [0x02] = ^^PC00.LPCB.EC0.XST2 /* \_SB_.PC00.LPCB.EC0_.XST2 */
                        }

                        BFB0 [0x03] = ^^PC00.LPCB.EC0.XST3 /* \_SB_.PC00.LPCB.EC0_.XST3 */
                    }

                    Debug = "BST1 End"
                }

                Release (ECM1)
                Return (BFB0) /* \_SB_.BAT0.BFB0 */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Debug = "BAT0_STA Start"
                If (((BAEX == Zero) || (DA18 == One)))
                {
                    Return (Zero)
                }
                ElseIf (ECON)
                {
                    If ((Acquire (ECM6, 0x01F4) == Zero))
                    {
                        Local0 = ^^PC00.LPCB.EC0.BPST /* \_SB_.PC00.LPCB.EC0_.BPST */
                        Release (ECM6)
                    }

                    If ((Local0 == One))
                    {
                        Return (0x1F)
                    }
                    Else
                    {
                        Return (0x0F)
                    }
                }
                Else
                {
                    Return (0x0F)
                }

                Debug = "BAT0_STA END"
            }

            Method (_BTP, 1, NotSerialized)  // _BTP: Battery Trip Point
            {
                Local0 = Arg0
                If ((^^PC00.LPCB.EC0.BSOK == One))
                {
                    If ((^^PC00.LPCB.EC0.ISDB == One))
                    {
                        If ((^^PC00.LPCB.EC0.CYCN >= 0x32))
                        {
                            ^^PC00.LPCB.EC0.BTP0 = Local0
                        }
                        Else
                        {
                            Local1 = (Local0 * ^^PC00.LPCB.EC0.XIF2)
                            Local2 = ^^PC00.LPCB.EC0.XIF1 /* \_SB_.PC00.LPCB.EC0_.XIF1 */
                            ^^PC00.LPCB.EC0.BTP0 = (Local1 / Local2)
                        }
                    }
                    Else
                    {
                        ^^PC00.LPCB.EC0.BTP0 = Local0
                    }
                }
            }
        }

        ThermalZone (ECTZ)
        {
            Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
            {
                Return (0x0F20)
            }

            Method (_TMP, 0, Serialized)  // _TMP: Temperature
            {
                If ((ECON == Zero))
                {
                    Return (0x0BC2)
                }

                If ((Acquire (ECM7, 0x01F4) == Zero))
                {
                    If ((^^PC00.LPCB.EC0.THOT != Zero))
                    {
                        ^^PC00.LPCB.EC0.THOT = Zero
                        Release (ECM7)
                        Return (0x0FA0)
                    }
                    Else
                    {
                        Release (ECM7)
                        Return ((0x0AAC + (^^PC00.LPCB.EC0.XHPP * 0x0A)))
                    }
                }
            }
        }
    }
}


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
  2026-04-22 11:28 ` [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Armin Wolf
@ 2026-04-22 15:30   ` Werner Sembach
  2026-04-22 16:12     ` Armin Wolf
  0 siblings, 1 reply; 16+ messages in thread
From: Werner Sembach @ 2026-04-22 15:30 UTC (permalink / raw)
  To: Armin Wolf, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel


Am 22.04.26 um 13:28 schrieb Armin Wolf:
> Am 21.04.26 um 22:01 schrieb Werner Sembach:
>> Hi,
>>
>> This series is based on another not yet accepted series
>> https://lore.kernel.org/all/20260417050912.5582-1-W_Armin@gmx.de/
>>
>> RFC because of that, because the third patch is not yet tested, and because
>> I have a question regarding the 3rd patch:
>>
>> Should I abstract the call to wmi_evaluate_method away in a wrapper
>> function in uniwill-wmi somehow, or is it ok to have it straight in the
>> uniwill-laptop code like that? It is quite self contained.
>>
>> Best regards,
>>
>> Werner
>
> Hi,
>
> i prefer having the code for this WMI interface inside a separate file. I 
> think we have to first rename uniwill-wmi* to uniwill-wmi-event*, then the new 
> code can live in uniwill-wmi.c
>
> However we also need some synchronization mechanism between uniwill-acpi and 
> the new uniwill-wmi because some code path need to check EC registers before 
> enabling support for local dimming. I suggest that you use the component 
> framework for that. Basically the new WMI driver registers a component during 
> probing, while the EC acts as a component master _if_ local dimming support is 
> present. When the component and the component master match a sysfs attribute 
> is registered to allow userspace application to control this feature.

Calling the old uniwill-wmi uniwill-wmi-event and the new driver uniwill-wmi 
from here on:

I haven't yet worked with the component framework, but i wonder: since the same 
manual register call structure that we already have for uniwill-wmi-event will 
be also required for uniwill-wmi, can't this call not also be used to exchange 
callbacks like for uniwill-wmi-event and the notifier block? just the other way 
around with uniwill-acpi receiving a callback instead of providing one.

ofc these callbacks must be guarded in some way to not accidentally call 
uninitialized code, if uniwill-wmi fails to init or probe

>
> Thanks,
> Armin Wolf
>
>>
>> Werner Sembach (3):
>>    platform/x86: uniwill-laptop: Make super key init lineup with other
>>      inits
>>    platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
>>    platform/x86: uniwill-laptop: Offer support to activate local dimming
>>
>>   drivers/platform/x86/uniwill/uniwill-acpi.c | 195 ++++++++++++++++++--
>>   1 file changed, 182 insertions(+), 13 deletions(-)
>>
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
  2026-04-22 15:30   ` Werner Sembach
@ 2026-04-22 16:12     ` Armin Wolf
  2026-04-24 12:28       ` Werner Sembach
  0 siblings, 1 reply; 16+ messages in thread
From: Armin Wolf @ 2026-04-22 16:12 UTC (permalink / raw)
  To: Werner Sembach, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel

Am 22.04.26 um 17:30 schrieb Werner Sembach:
> 
> Am 22.04.26 um 13:28 schrieb Armin Wolf:
>> Am 21.04.26 um 22:01 schrieb Werner Sembach:
>>> Hi,
>>>
>>> This series is based on another not yet accepted series
>>> https://lore.kernel.org/all/20260417050912.5582-1-W_Armin@gmx.de/
>>>
>>> RFC because of that, because the third patch is not yet tested, and 
>>> because
>>> I have a question regarding the 3rd patch:
>>>
>>> Should I abstract the call to wmi_evaluate_method away in a wrapper
>>> function in uniwill-wmi somehow, or is it ok to have it straight in the
>>> uniwill-laptop code like that? It is quite self contained.
>>>
>>> Best regards,
>>>
>>> Werner
>>
>> Hi,
>>
>> i prefer having the code for this WMI interface inside a separate 
>> file. I think we have to first rename uniwill-wmi* to uniwill-wmi- 
>> event*, then the new code can live in uniwill-wmi.c
>>
>> However we also need some synchronization mechanism between uniwill- 
>> acpi and the new uniwill-wmi because some code path need to check EC 
>> registers before enabling support for local dimming. I suggest that 
>> you use the component framework for that. Basically the new WMI driver 
>> registers a component during probing, while the EC acts as a component 
>> master _if_ local dimming support is present. When the component and 
>> the component master match a sysfs attribute is registered to allow 
>> userspace application to control this feature.
> 
> Calling the old uniwill-wmi uniwill-wmi-event and the new driver 
> uniwill-wmi from here on:
> 
> I haven't yet worked with the component framework, but i wonder: since 
> the same manual register call structure that we already have for 
> uniwill-wmi-event will be also required for uniwill-wmi, can't this call 
> not also be used to exchange callbacks like for uniwill-wmi-event and 
> the notifier block? just the other way around with uniwill-acpi 
> receiving a callback instead of providing one.
> 
> ofc these callbacks must be guarded in some way to not accidentally call 
> uninitialized code, if uniwill-wmi fails to init or probe

This would indeed be possible, but where would be no mechanism for 
detecting when the WMI driver has finished probing.

I was thinking that the WMI driver uses the component callbacks to pass 
a pointer to its data struct to the component master. Said data struct 
can then by used to change the local dimming status.

I am still not sure when the associated sysfs files should be created. 
We can create them during probing of the EC, but then there will be 
problems should the WMI device take too long/fail to probe. 
Alternatively we can create the sysfs file when the component master 
binds the WMI component, so that the sysfs file will only become visible
once it is operational. We can then issue a uevent towards userspace to 
signal userspace applications that the sysfs attributes of our device 
have changed.

Thanks,
Armin Wolf

> 
>>
>> Thanks,
>> Armin Wolf
>>
>>>
>>> Werner Sembach (3):
>>>    platform/x86: uniwill-laptop: Make super key init lineup with other
>>>      inits
>>>    platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
>>>    platform/x86: uniwill-laptop: Offer support to activate local dimming
>>>
>>>   drivers/platform/x86/uniwill/uniwill-acpi.c | 195 ++++++++++++++++++--
>>>   1 file changed, 182 insertions(+), 13 deletions(-)
>>>
>>
> 


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature
  2026-04-22 16:12     ` Armin Wolf
@ 2026-04-24 12:28       ` Werner Sembach
  0 siblings, 0 replies; 16+ messages in thread
From: Werner Sembach @ 2026-04-24 12:28 UTC (permalink / raw)
  To: Armin Wolf, hansg, ilpo.jarvinen; +Cc: platform-driver-x86, linux-kernel


Am 22.04.26 um 18:12 schrieb Armin Wolf:
> Am 22.04.26 um 17:30 schrieb Werner Sembach:
>>
>> Am 22.04.26 um 13:28 schrieb Armin Wolf:
>>> Am 21.04.26 um 22:01 schrieb Werner Sembach:
>>>> Hi,
>>>>
>>>> This series is based on another not yet accepted series
>>>> https://lore.kernel.org/all/20260417050912.5582-1-W_Armin@gmx.de/
>>>>
>>>> RFC because of that, because the third patch is not yet tested, and because
>>>> I have a question regarding the 3rd patch:
>>>>
>>>> Should I abstract the call to wmi_evaluate_method away in a wrapper
>>>> function in uniwill-wmi somehow, or is it ok to have it straight in the
>>>> uniwill-laptop code like that? It is quite self contained.
>>>>
>>>> Best regards,
>>>>
>>>> Werner
>>>
>>> Hi,
>>>
>>> i prefer having the code for this WMI interface inside a separate file. I 
>>> think we have to first rename uniwill-wmi* to uniwill-wmi- event*, then the 
>>> new code can live in uniwill-wmi.c
>>>
>>> However we also need some synchronization mechanism between uniwill- acpi 
>>> and the new uniwill-wmi because some code path need to check EC registers 
>>> before enabling support for local dimming. I suggest that you use the 
>>> component framework for that. Basically the new WMI driver registers a 
>>> component during probing, while the EC acts as a component master _if_ local 
>>> dimming support is present. When the component and the component master 
>>> match a sysfs attribute is registered to allow userspace application to 
>>> control this feature.
>>
>> Calling the old uniwill-wmi uniwill-wmi-event and the new driver uniwill-wmi 
>> from here on:
>>
>> I haven't yet worked with the component framework, but i wonder: since the 
>> same manual register call structure that we already have for 
>> uniwill-wmi-event will be also required for uniwill-wmi, can't this call not 
>> also be used to exchange callbacks like for uniwill-wmi-event and the 
>> notifier block? just the other way around with uniwill-acpi receiving a 
>> callback instead of providing one.
>>
>> ofc these callbacks must be guarded in some way to not accidentally call 
>> uninitialized code, if uniwill-wmi fails to init or probe
>
> This would indeed be possible, but where would be no mechanism for detecting 
> when the WMI driver has finished probing.
>
> I was thinking that the WMI driver uses the component callbacks to pass a 
> pointer to its data struct to the component master. Said data struct can then 
> by used to change the local dimming status.

ok i will look into this, but first a week of hollyday ^^

best regards,

Werner

>
> I am still not sure when the associated sysfs files should be created. We can 
> create them during probing of the EC, but then there will be problems should 
> the WMI device take too long/fail to probe. Alternatively we can create the 
> sysfs file when the component master binds the WMI component, so that the 
> sysfs file will only become visible
> once it is operational. We can then issue a uevent towards userspace to signal 
> userspace applications that the sysfs attributes of our device have changed.
>
> Thanks,
> Armin Wolf
>
>>
>>>
>>> Thanks,
>>> Armin Wolf
>>>
>>>>
>>>> Werner Sembach (3):
>>>>    platform/x86: uniwill-laptop: Make super key init lineup with other
>>>>      inits
>>>>    platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19)
>>>>    platform/x86: uniwill-laptop: Offer support to activate local dimming
>>>>
>>>>   drivers/platform/x86/uniwill/uniwill-acpi.c | 195 ++++++++++++++++++--
>>>>   1 file changed, 182 insertions(+), 13 deletions(-)
>>>>
>>>
>>
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2026-04-24 12:35 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-21 20:01 [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Werner Sembach
2026-04-21 20:01 ` [RFC PATCH 1/3] platform/x86: uniwill-laptop: Make super key init lineup with other inits Werner Sembach
2026-04-22  9:33   ` Ilpo Järvinen
2026-04-22 11:11   ` Armin Wolf
2026-04-21 20:01 ` [RFC PATCH 2/3] platform/x86: uniwill-laptop: Implement lightbar for XMG Fusion (L19) Werner Sembach
2026-04-22  9:34   ` Ilpo Järvinen
2026-04-22 11:17   ` Armin Wolf
2026-04-22 11:29     ` Armin Wolf
2026-04-22 13:13     ` Werner Sembach
2026-04-21 20:01 ` [RFC PATCH 3/3] platform/x86: uniwill-laptop: Offer support to activate local dimming Werner Sembach
2026-04-21 22:03   ` Armin Wolf
2026-04-22 13:19     ` Werner Sembach
2026-04-22 11:28 ` [RFC PATCH 0/3] platform/x86: uniwill-laptop: Another improvement and another feature Armin Wolf
2026-04-22 15:30   ` Werner Sembach
2026-04-22 16:12     ` Armin Wolf
2026-04-24 12:28       ` Werner Sembach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox