Jump to content
Sign in to follow this  
Followers 0
pink101

question about ACPI and graphic card

6 posts in this topic

Recommended Posts

Hello everyone... i have a question but i didn't know where to post it, so i post it here... i hope that's alright..

 

a year ago i tried to install OSX 10.10 on my old AMD machine and failed. That machine was using onboad ATI graphic card. The installation stop at [PCI CONFIGURATION BEGIN]. i tried many solutions from many forums and still failed. Then when my friends PC was at my place, i tried to installed his NVIDIA graphic card on my AMD machine. Funny thing happen... It can enter installation GUI, but because the graphic card was not mine, i didn't continue the installation. At that time i know that the problem was my onboard ATI graphic card. However, i've read that other people can still enter the installation GUI even if their graphic card wasn't supported by OSX. The installation gui fallback to legacy vga mode and we can see the installation gui. So... my first question is why some people can still enter the installation gui while i can't?

 

some of the solution i find in the forum is set acpi=off, so i tried that solution too, but it's not working on  my machine... Then i get some OSX on virtualbox and tried the acpi=off boot argument... then when the OSX start, i run ioregistryexplorer... why am i still see ACPI tree on OSX on my virtualbox? is that mean that the ACPI is still on? 

 

I've read some DSDT fix/patches... and mostly those fixes are using GFX0 or IGPU device name and set _ADR to either 0x00020000 or 0x01000000 ... can we still use this values in DSDT even if my onboard graphic card is at bus  01:05.0 ?

 

I hope someone have the time to answer my silly questions... :)

 

my hardware from lshw linux tool:


    description: Desktop Computer
    product: A880G+ (To Be Filled By O.E.M.)
    vendor: BIOSTAR Group
    serial: None
    width: 64 bits
    capabilities: smbios-2.6 dmi-2.6 vsyscall32
    configuration: boot=normal chassis=desktop family=To Be Filled By O.E.M. sku=To Be Filled By O.E.M. uuid=00020003-0004-0005-0006-000700080009
  *-core
       description: Motherboard
       product: A880G+
       vendor: BIOSTAR Group
       physical id: 0
       serial: None
       slot: To Be Filled By O.E.M.
     *-firmware
          description: BIOS
          vendor: American Megatrends Inc.
          physical id: 0
          version: 080016
          date: 01/25/2011
          size: 64KiB
          capacity: 960KiB
          capabilities: isa pci pnp apm upgrade shadowing escd cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
     *-cpu
          description: CPU
          product: AMD Phenom(tm) II X4 945 Processor
          vendor: Advanced Micro Devices [AMD]
          physical id: 4
          bus info: cpu@0
          version: AMD Phenom(tm) II X4 945 Processor
          serial: To Be Filled By O.E.M.
          slot: CPU 1
          size: 800MHz
          capacity: 3GHz
          width: 64 bits
          clock: 200MHz
          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate npt lbrv svm_lock nrip_save cpufreq
          configuration: cores=4 enabledcores=4
        *-cache:0
             description: L1 cache
             physical id: 5
             slot: L1-Cache
             size: 512KiB
             capacity: 512KiB
             capabilities: pipeline-burst internal varies
        *-cache:1
             description: L2 cache
             physical id: 6
             slot: L2-Cache
             size: 2MiB
             capacity: 2MiB
             capabilities: pipeline-burst internal varies
        *-cache:2
             description: L3 cache
             physical id: 7
             slot: L3-Cache
             size: 6MiB
             capacity: 6MiB
             capabilities: pipeline-burst internal varies
     *-memory
          description: System Memory
          physical id: 28
          slot: System board or motherboard
          size: 8GiB
        *-bank:0
             description: DIMM Synchronous 667 MHz (1.5 ns)
             product: CMZ8GX3M2A1600C9
             vendor: Corsair
             physical id: 0
             serial: 00000000
             slot: DIMM0
             size: 4GiB
             width: 64 bits
             clock: 667MHz (1.5ns)
        *-bank:1
             description: DIMM Synchronous 667 MHz (1.5 ns)
             product: CMZ8GX3M2A1600C9
             vendor: Corsair
             physical id: 1
             serial: 00000000
             slot: DIMM1
             size: 4GiB
             width: 64 bits
             clock: 667MHz (1.5ns)
        *-bank:2
             description: [empty]
             product: ModulePartNumber02
             vendor: Manufacturer02
             physical id: 2
             serial: SerNum02
             slot: DIMM2
        *-bank:3
             description: [empty]
             product: ModulePartNumber03
             vendor: Manufacturer03
             physical id: 3
             serial: SerNum03
             slot: DIMM3
     *-pci:0
          description: Host bridge
          product: RS880 Host Bridge
          vendor: Advanced Micro Devices [AMD]
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 00
          width: 32 bits
          clock: 66MHz
        *-pci:0
             description: PCI bridge
             product: RS780/RS880 PCI to PCI bridge (int gfx)
             vendor: Advanced Micro Devices [AMD]
             physical id: 1
             bus info: pci@0000:00:01.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pci ht normal_decode bus_master cap_list
             resources: ioport:d000(size=4096) memory:fe800000-fe9fffff ioport:d0000000(size=268435456)
           *-display
                description: VGA compatible controller
                product: RS880 [Radeon HD 4250]
                vendor: Advanced Micro Devices [AMD] nee ATI
                physical id: 5
                bus info: pci@0000:01:05.0
                version: 00
                width: 32 bits
                clock: 33MHz
                capabilities: pm msi vga_controller bus_master cap_list rom
                configuration: driver=radeon latency=0
                resources: irq:18 memory:d0000000-dfffffff ioport:d000(size=256) memory:fe8f0000-fe8fffff memory:fe900000-fe9fffff
        *-pci:1
             description: PCI bridge
             product: RS780 PCI to PCI bridge (PCIE port 3)
             vendor: Advanced Micro Devices [AMD]
             physical id: 7
             bus info: pci@0000:00:07.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci pm pciexpress msi ht normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:40 ioport:e000(size=4096) memory:fea00000-feafffff ioport:fdf00000(size=1048576)
           *-network DISABLED
                description: Ethernet interface
                product: RTL8111/8168B PCI Express Gigabit Ethernet controller
                vendor: Realtek Semiconductor Co., Ltd.
                physical id: 0
                bus info: pci@0000:02:00.0
                logical name: eth0
                version: 03
                serial: 00:30:67:e5:ec:99
                size: 10Mbit/s
                capacity: 1Gbit/s
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
                configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=N/A latency=0 link=no multicast=yes port=MII speed=10Mbit/s
                resources: irq:41 ioport:e800(size=256) memory:fdffb000-fdffbfff memory:fdffc000-fdffffff memory:feae0000-feafffff
        *-storage
             description: SATA controller
             product: SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 11
             bus info: pci@0000:00:11.0
             logical name: scsi2
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: storage pm ahci_1.0 bus_master cap_list emulated
             configuration: driver=ahci latency=64
             resources: irq:22 ioport:c000(size=8) ioport:b000(size=4) ioport:a000(size=8) ioport:9000(size=4) ioport:8000(size=16) memory:fe7ffc00-fe7fffff
           *-disk
                description: ATA Disk
                product: WDC WD5000AAKX-0
                vendor: Western Digital
                physical id: 0.0.0
                bus info: scsi@2:0.0.0
                logical name: /dev/sda
                version: 15.0
                serial: WD-WCAYUY560704
                size: 465GiB (500GB)
                capabilities: partitioned partitioned:dos
                configuration: ansiversion=5 sectorsize=512 signature=cd50cd50
              *-volume:0
                   description: EXT4 volume
                   vendor: Linux
                   physical id: 1
                   bus info: scsi@2:0.0.0,1
                   logical name: /dev/sda1
                   logical name: /
                   version: 1.0
                   serial: dc2ce711-cc5a-40f4-a5e2-6978c0afdbe8
                   size: 82GiB
                   capacity: 82GiB
                   capabilities: primary bootable journaled extended_attributes large_files huge_files dir_nlink extents ext4 ext2 initialized
                   configuration: created=2012-03-01 17:28:49 filesystem=ext4 label=LinuxOS lastmountpoint=/ modified=2017-10-23 14:02:44 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,user_xattr,acl,barrier=1,data=ordered mounted=2017-10-23 14:02:44 state=mounted
              *-volume:1
                   description: Extended partition
                   physical id: 2
                   bus info: scsi@2:0.0.0,2
                   logical name: /dev/sda2
                   size: 382GiB
                   capacity: 382GiB
                   capabilities: primary extended partitioned partitioned:extended
                 *-logicalvolume:0
                      description: Linux filesystem partition
                      physical id: 5
                      logical name: /dev/sda5
                      logical name: /media/Data1
                      capacity: 195GiB
                      configuration: mount.fstype=ext4 mount.options=rw,nosuid,nodev,relatime,user_xattr,acl,barrier=1,data=ordered state=mounted
                 *-logicalvolume:1
                      description: Linux filesystem partition
                      physical id: 6
                      logical name: /dev/sda6
                      logical name: /media/Data2
                      capacity: 172GiB
                      configuration: mount.fstype=ext4 mount.options=rw,nosuid,nodev,relatime,user_xattr,acl,barrier=1,data=ordered state=mounted
                 *-logicalvolume:2
                      description: Linux swap / Solaris partition
                      physical id: 7
                      logical name: /dev/sda7
                      capacity: 14GiB
                      capabilities: nofs
        *-usb:0
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 12
             bus info: pci@0000:00:12.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci_hcd latency=64
             resources: irq:16 memory:fe7fe000-fe7fefff
        *-usb:1
             description: USB controller
             product: SB7x0 USB OHCI1 Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 12.1
             bus info: pci@0000:00:12.1
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci_hcd latency=64
             resources: irq:16 memory:fe7fd000-fe7fdfff
        *-usb:2
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB EHCI Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 12.2
             bus info: pci@0000:00:12.2
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pm debug ehci bus_master cap_list
             configuration: driver=ehci_hcd latency=64
             resources: irq:17 memory:fe7ff800-fe7ff8ff
        *-usb:3
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 13
             bus info: pci@0000:00:13.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci_hcd latency=64
             resources: irq:18 memory:fe7fc000-fe7fcfff
        *-usb:4
             description: USB controller
             product: SB7x0 USB OHCI1 Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 13.1
             bus info: pci@0000:00:13.1
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci_hcd latency=64
             resources: irq:18 memory:fe7fb000-fe7fbfff
        *-usb:5
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB EHCI Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 13.2
             bus info: pci@0000:00:13.2
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pm debug ehci bus_master cap_list
             configuration: driver=ehci_hcd latency=64
             resources: irq:19 memory:fe7ff400-fe7ff4ff
        *-serial UNCLAIMED
             description: SMBus
             product: SBx00 SMBus Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 3c
             width: 32 bits
             clock: 66MHz
             capabilities: ht cap_list
             configuration: latency=0
        *-ide
             description: IDE interface
             product: SB7x0/SB8x0/SB9x0 IDE Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 14.1
             bus info: pci@0000:00:14.1
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ide msi bus_master cap_list
             configuration: driver=pata_atiixp latency=64
             resources: irq:16 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:ff00(size=16)
        *-multimedia
             description: Audio device
             product: SBx00 Azalia (Intel HDA)
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 14.2
             bus info: pci@0000:00:14.2
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm bus_master cap_list
             configuration: driver=snd_hda_intel latency=64
             resources: irq:16 memory:fe7f4000-fe7f7fff
        *-isa
             description: ISA bridge
             product: SB7x0/SB8x0/SB9x0 LPC host controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 14.3
             bus info: pci@0000:00:14.3
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: isa bus_master
             configuration: latency=0
        *-pci:2
             description: PCI bridge
             product: SBx00 PCI to PCI Bridge
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 14.4
             bus info: pci@0000:00:14.4
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pci subtractive_decode bus_master
             resources: memory:feb00000-febfffff
           *-network
                description: Wireless interface
                product: AR5212/AR5213 Wireless Network Adapter
                vendor: Atheros Communications Inc.
                physical id: 5
                bus info: pci@0000:03:05.0
                logical name: wlan0
                version: 01
                serial: 00:14:78:ec:c0:1b
                width: 32 bits
                clock: 33MHz
                capabilities: pm bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=ath5k driverversion=3.2.0-4-amd64 firmware=N/A ip=192.168.100.101 latency=168 link=yes maxlatency=28 mingnt=10 multicast=yes wireless=IEEE 802.11bg
                resources: irq:20 memory:febf0000-febfffff
        *-usb:6
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
             vendor: Advanced Micro Devices [AMD] nee ATI
             physical id: 14.5
             bus info: pci@0000:00:14.5
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci_hcd latency=64
             resources: irq:18 memory:fe7fa000-fe7fafff
     *-pci:1
          description: Host bridge
          product: Family 10h Processor HyperTransport Configuration
          vendor: Advanced Micro Devices [AMD]
          physical id: 101
          bus info: pci@0000:00:18.0
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:2
          description: Host bridge
          product: Family 10h Processor Address Map
          vendor: Advanced Micro Devices [AMD]
          physical id: 102
          bus info: pci@0000:00:18.1
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:3
          description: Host bridge
          product: Family 10h Processor DRAM Controller
          vendor: Advanced Micro Devices [AMD]
          physical id: 103
          bus info: pci@0000:00:18.2
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:4
          description: Host bridge
          product: Family 10h Processor Miscellaneous Control
          vendor: Advanced Micro Devices [AMD]
          physical id: 104
          bus info: pci@0000:00:18.3
          version: 00
          width: 32 bits
          clock: 33MHz
          configuration: driver=k10temp
          resources: irq:0
     *-pci:5
          description: Host bridge
          product: Family 10h Processor Link Control
          vendor: Advanced Micro Devices [AMD]
          physical id: 105
          bus info: pci@0000:00:18.4
          version: 00
          width: 32 bits
          clock: 33MHz
  *-network DISABLED
       description: Ethernet interface
       physical id: 1
       logical name: tap0
       serial: 8a:d2:eb:c6:33:c4
       size: 10Mbit/s
       capabilities: ethernet physical
       configuration: autonegotiation=off broadcast=yes driver=tun driverversion=1.6 duplex=full firmware=N/A link=no multicast=yes port=twisted pair speed=10Mbit/s

Edited by pink101

Share this post


Link to post
Share on other sites
Advertisement

write your hardware specification

CPU?

Mainboard?

Graphic card?

Share this post


Link to post
Share on other sites

added hardware spec..

 

CPU: AMD phenom ii x4 945

Mainboard : Biostar a880g

onboard graphics: ati radeon hd 4250

 

dsdt extracted from linux(didn't compile):

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20100528
 *
 * Disassembly of DSDT.aml, Sat Jun 25 21:15:40 2016
 *
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x0000A1E4 (41444)
 *     Revision         0x02
 *     Checksum         0xED
 *     OEM ID           "88PCP"
 *     OEM Table ID     "88PCP125"
 *     OEM Revision     0x00000002 (2)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20051117 (537202967)
 */
DefinitionBlock ("DSDT.aml", "DSDT", 2, "88PCP", "88PCP125", 0x00000002)
{
    Name (OSTY, Ones)
    OperationRegion (ACMS, SystemIO, 0x72, 0x02)
    Field (ACMS, ByteAcc, NoLock, Preserve)
    {
        ICMS,   8, 
        DCMS,   8
    }

    IndexField (ICMS, DCMS, ByteAcc, NoLock, Preserve)
    {
                Offset (0x01), 
                Offset (0x04), 
                Offset (0x08), 
        BS_A,   32
    }

    OperationRegion (CFGS, SystemMemory, BS_A, 0x80)
    Field (CFGS, AnyAcc, NoLock, Preserve)
    {
                Offset (0x04), 
        PCIE,   32, 
                Offset (0x31), 
        TPMR,   1, 
        STHP,   1, 
        SHPG,   1, 
        OSCF,   1
    }

    OperationRegion (CMPT, SystemIO, 0x0C50, 0x03)
    Field (CMPT, ByteAcc, NoLock, Preserve)
    {
        CMID,   8, 
            ,   6, 
        GPCT,   2, 
        GP0I,   1, 
        GP1I,   1, 
        GP2I,   1, 
        GP3I,   1, 
        GP4I,   1, 
        GP5I,   1, 
        GP6I,   1, 
        GP7I,   1
    }

    OperationRegion (PCFG, SystemMemory, PCIE, 0x02000000)
    Field (PCFG, AnyAcc, NoLock, Preserve)
    {
                Offset (0x38078), 
                Offset (0x3807A), 
        PMS7,   1, 
                Offset (0x50078), 
                Offset (0x5007A), 
        PMSA,   1, 
                Offset (0x8800A), 
        STCL,   16, 
                Offset (0xA0004), 
        SMIE,   1, 
        SMME,   1, 
                Offset (0xA0008), 
        RVID,   8, 
                Offset (0xA0014), 
        SMB1,   32, 
                Offset (0xA0050), 
            ,   10, 
        GP51,   1, 
                Offset (0xA0056), 
            ,   11, 
        GP64,   1, 
                Offset (0xA0082), 
            ,   2, 
        G31O,   1, 
                Offset (0xA0090), 
        SM00,   16, 
                Offset (0xA00BA), 
            ,   4, 
        ESMP,   1, 
                Offset (0xA00BB), 
            ,   1, 
        HSMP,   1, 
                Offset (0xA00E1), 
            ,   6, 
        ACIR,   1, 
                Offset (0xA4004), 
        PCMD,   2
    }

    OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
    Field (PMIO, ByteAcc, NoLock, Preserve)
    {
        INPM,   8, 
        DAPM,   8
    }

    IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve)
    {
            ,   1, 
        TM1E,   1, 
        TM2E,   1, 
                Offset (0x01), 
            ,   1, 
        TM1S,   1, 
        TM2S,   1, 
                Offset (0x04), 
            ,   7, 
        SLPS,   1, 
                Offset (0x07), 
            ,   7, 
        CLPS,   1, 
                Offset (0x0D), 
        EV0S,   1, 
        EV1S,   1, 
                Offset (0x10), 
            ,   6, 
        PWDE,   1, 
                Offset (0x1C), 
            ,   3, 
        MKME,   1, 
        PI3E,   1, 
        PI2E,   1, 
        PI1E,   1, 
        PI0E,   1, 
            ,   3, 
        MKMS,   1, 
        PI3S,   1, 
        PI2S,   1, 
        PI1S,   1, 
        PI0S,   1, 
                Offset (0x20), 
        P1EB,   16, 
                Offset (0x36), 
            ,   6, 
        GV6P,   1, 
        GV7P,   1, 
        EV0C,   1, 
        EV1C,   1, 
            ,   1, 
        GM0P,   1, 
        GM1P,   1, 
        GM2P,   1, 
        GM3P,   1, 
        GM8P,   1, 
            ,   1, 
        GM4P,   1, 
        GM5P,   1, 
            ,   1, 
        GM6P,   1, 
        GM7P,   1, 
                Offset (0x3B), 
        GPX0,   1, 
        GPX4,   1, 
        GPX5,   1, 
        GPX1,   1, 
        GPX6,   1, 
        GPX7,   1, 
        GPX2,   1, 
        GPX3,   1, 
                Offset (0x55), 
        SPRE,   1, 
            ,   1, 
            ,   1, 
        EPNM,   1, 
        DPPF,   1, 
        FNGS,   1, 
                Offset (0x61), 
            ,   7, 
        R617,   1, 
                Offset (0x65), 
            ,   4, 
        RSTU,   1, 
                Offset (0x68), 
            ,   3, 
        TPDE,   1, 
            ,   1, 
                Offset (0x7C), 
            ,   2, 
        BLNK,   2, 
                Offset (0x84), 
        WPNE,   1, 
        WPAG,   1, 
                Offset (0x92), 
            ,   7, 
        GV7S,   1, 
                Offset (0x96), 
        GP8I,   1, 
        GP9I,   1, 
                Offset (0x9A), 
            ,   7, 
        HECO,   1, 
                Offset (0xA8), 
        PI4E,   1, 
        PI5E,   1, 
        PI6E,   1, 
        PI7E,   1, 
                Offset (0xA9), 
        PI4S,   1, 
        PI5S,   1, 
        PI6S,   1, 
        PI7S,   1
    }

    OperationRegion (P1E0, SystemIO, P1EB, 0x04)
    Field (P1E0, ByteAcc, NoLock, Preserve)
    {
            ,   14, 
        PEWS,   1, 
        WSTA,   1, 
            ,   14, 
        PEWD,   1
    }

    Method (SPTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x03))
        {
            Store (Zero, RSTU)
        }

        If (LEqual (Arg0, One))
        {
            Store (0x02, BLNK)
        }

        If (LEqual (Arg0, 0x02))
        {
            Store (Zero, BLNK)
        }

        If (LEqual (Arg0, 0x03))
        {
            Store (One, BLNK)
        }

        Store (One, CLPS)
        Store (One, SLPS)
        If (LLessEqual (RVID, 0x13))
        {
            Store (Zero, PWDE)
        }
    }

    Method (SWAK, 1, NotSerialized)
    {
        Store (One, HECO)
        If (LEqual (Arg0, 0x03))
        {
            Store (One, RSTU)
        }

        Store (PEWS, PEWS)
        Store (0x03, BLNK)
        Store (One, PMS7)
        Store (One, PMSA)
    }

    Method (TRMD, 1, NotSerialized)
    {
        Store (Arg0, SPRE)
        Store (Arg0, TPDE)
    }

    Method (NPTS, 1, NotSerialized)
    {
    }

    Method (NWAK, 1, NotSerialized)
    {
    }

    Name (DP80, 0x80)
    Name (DP90, 0x90)
    Name (ALED, 0x20)
    Name (SPIO, 0x2E)
    Name (IOPB, 0x0E00)
    Name (IOPL, 0x10)
    Name (IOEB, 0x0E80)
    Name (IOEL, 0x10)
    Name (IOGB, 0x0F40)
    Name (IOGL, 0x10)
    Name (IOSB, 0x0A30)
    Name (IOSL, 0x10)
    Name (ATSW, 0xE5)
    Name (APIC, One)
    Name (PMBS, 0x0800)
    Name (PMLN, 0xA0)
    Name (GPBS, Zero)
    Name (GPLN, Zero)
    Name (SMB0, 0x0B00)
    Name (SMBB, 0x0B20)
    Name (SMBM, 0x10)
    Name (SMBL, 0x20)
    Name (AODS, 0xF5)
    Name (SMIP, 0xB0)
    Name (ACSS, One)
    Name (SBA1, 0x0B00)
    Name (SBA2, 0x0B20)
    Name (SIOP, 0x2E)
    Name (GIOB, 0x0F40)
    Name (PCIB, 0xE0000000)
    Name (PCIL, 0x10000000)
    Name (PEHP, One)
    Name (SHPC, Zero)
    Name (PEPM, One)
    Name (PEER, One)
    Name (PECS, One)
    Name (SSBS, 0x0E85)
    Name (CSTR, 0x52)
    Name (RTTR, 0x29)
    OperationRegion (BIOS, SystemMemory, 0xCFFBE064, 0xFF)
    Field (BIOS, ByteAcc, NoLock, Preserve)
    {
        SS1,    1, 
        SS2,    1, 
        SS3,    1, 
        SS4,    1, 
                Offset (0x01), 
        IOST,   16, 
        TOPM,   32, 
        ROMS,   32, 
        MG1B,   32, 
        MG1L,   32, 
        MG2B,   32, 
        MG2L,   32, 
                Offset (0x1C), 
        DMAX,   8, 
        HPTA,   32, 
        CPB0,   32, 
        CPB1,   32, 
        CPB2,   32, 
        CPB3,   32, 
        ASSB,   8, 
        AOTB,   8, 
        AAXB,   32, 
        SMIF,   8, 
        DTSE,   8, 
        DTS1,   8, 
        DTS2,   8, 
        MPEN,   8, 
        TPMF,   8, 
        MG3B,   32, 
        MG3L,   32, 
        MH1B,   32, 
        MH1L,   32, 
        OSTP,   8
    }

    Method (RRIO, 4, NotSerialized)
    {
        Store ("RRIO", Debug)
    }

    Method (RDMA, 3, NotSerialized)
    {
        Store ("rDMA", Debug)
    }

    Name (PICM, Zero)
    Method (_PIC, 1, NotSerialized)
    {
        If (Arg0)
        {
            Store (0xAA, DBG8)
        }
        Else
        {
            Store (0xAC, DBG8)
        }

        Store (Arg0, PICM)
    }

    Name (OSVR, Ones)
    Method (OSFL, 0, NotSerialized)
    {
        If (LNotEqual (OSVR, Ones))
        {
            Return (OSVR)
        }

        Name (TTT0, Zero)
        Store (OSYS (), TTT0)
        If (LEqual (TTT0, One))
        {
            Store (0x03, OSVR)
        }
        Else
        {
            If (LEqual (TTT0, 0x10))
            {
                Store (One, OSVR)
            }
            Else
            {
                If (LEqual (TTT0, 0x11))
                {
                    Store (0x02, OSVR)
                }
                Else
                {
                    If (LEqual (TTT0, 0x12))
                    {
                        Store (0x04, OSVR)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x13))
                        {
                            Store (Zero, OSVR)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x14))
                            {
                                Store (Zero, OSVR)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x15))
                                {
                                    Store (Zero, OSVR)
                                }
                            }
                        }
                    }
                }
            }
        }

        Return (OSVR)
    }

    Method (MCTH, 2, NotSerialized)
    {
        If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
        {
            Return (Zero)
        }

        Add (SizeOf (Arg0), One, Local0)
        Name (BUF0, Buffer (Local0) {})
        Name (BUF1, Buffer (Local0) {})
        Store (Arg0, BUF0)
        Store (Arg1, BUF1)
        While (Local0)
        {
            Decrement (Local0)
            If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
                BUF1, Local0))))
            {
                Return (Zero)
            }
        }

        Return (One)
    }

    Name (PRWP, Package (0x02)
    {
        Zero, 
        Zero
    })
    Method (GPRW, 2, NotSerialized)
    {
        Store (Arg0, Index (PRWP, Zero))
        Store (ShiftLeft (SS1, One), Local0)
        Or (Local0, ShiftLeft (SS2, 0x02), Local0)
        Or (Local0, ShiftLeft (SS3, 0x03), Local0)
        Or (Local0, ShiftLeft (SS4, 0x04), Local0)
        If (And (ShiftLeft (One, Arg1), Local0))
        {
            Store (Arg1, Index (PRWP, One))
        }
        Else
        {
            ShiftRight (Local0, One, Local0)
            If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
            {
                FindSetLeftBit (Local0, Index (PRWP, One))
            }
            Else
            {
                FindSetRightBit (Local0, Index (PRWP, One))
            }
        }

        Return (PRWP)
    }

    Name (WAKP, Package (0x02)
    {
        Zero, 
        Zero
    })
    OperationRegion (DEB0, SystemIO, DP80, One)
    Field (DEB0, ByteAcc, NoLock, Preserve)
    {
        DBG8,   8
    }

    OperationRegion (DEB1, SystemIO, DP90, 0x02)
    Field (DEB1, WordAcc, NoLock, Preserve)
    {
        DBG9,   16
    }

    Method (OSYS, 0, NotSerialized)
    {
        Store (0x10, Local0)
        If (CondRefOf (_OSI, Local1))
        {
            If (_OSI ("Windows 2000"))
            {
                Store (0x12, Local0)
            }

            If (_OSI ("Windows 2001"))
            {
                Store (0x13, Local0)
            }

            If (_OSI ("Windows 2001 SP1"))
            {
                Store (0x13, Local0)
            }

            If (_OSI ("Windows 2001 SP2"))
            {
                Store (0x13, Local0)
            }

            If (_OSI ("Windows 2001.1"))
            {
                Store (0x14, Local0)
            }

            If (_OSI ("Windows 2001.1 SP1"))
            {
                Store (0x14, Local0)
            }

            If (_OSI ("Windows 2006"))
            {
                Store (0x15, Local0)
            }
        }
        Else
        {
            If (MCTH (_OS, "Microsoft Windows NT"))
            {
                Store (0x12, Local0)
            }
            Else
            {
                If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
                {
                    Store (0x11, Local0)
                }
            }
        }

        Return (Local0)
    }

    Scope (_PR)
    {
        Processor (P001, 0x01, 0x00000810, 0x06) {}
        Processor (P002, 0x02, 0x00000000, 0x00) {}
        Processor (P003, 0x03, 0x00000000, 0x00) {}
        Processor (P004, 0x04, 0x00000000, 0x00) {}
        Processor (P005, 0x05, 0x00000000, 0x00) {}
        Processor (P006, 0x06, 0x00000000, 0x00) {}
        Alias (P001, CPU1)
        Alias (P002, CPU2)
        Alias (P003, CPU3)
        Alias (P004, CPU4)
        Alias (P005, CPU5)
        Alias (P006, CPU6)
    }

    Scope (_SB)
    {
        Name (PR00, Package (0x35)
        {
            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

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

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

            Package (0x04)
            {
                0x0002FFFF, 
                0x03, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

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

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

            Package (0x04)
            {
                0x0003FFFF, 
                0x03, 
                LNKC, 
                Zero
            }, 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            Package (0x04)
            {
                0x0009FFFF, 
                Zero, 
                LNKB, 
                Zero
            }, 

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

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

            Package (0x04)
            {
                0x0009FFFF, 
                0x03, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

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

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

            Package (0x04)
            {
                0x000AFFFF, 
                0x03, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

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

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

            Package (0x04)
            {
                0x000BFFFF, 
                0x03, 
                LNKC, 
                Zero
            }, 

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

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

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

            Package (0x04)
            {
                0x000CFFFF, 
                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)
            {
                0x0012FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

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

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

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

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

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

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

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

            Package (0x04)
            {
                0x0011FFFF, 
                Zero, 
                LNKG, 
                Zero
            }
        })
        Name (AR00, Package (0x35)
        {
            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

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

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

            Package (0x04)
            {
                0x0002FFFF, 
                0x03, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            Package (0x04)
            {
                0x0009FFFF, 
                Zero, 
                Zero, 
                0x11
            }, 

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

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

            Package (0x04)
            {
                0x0009FFFF, 
                0x03, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

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

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

            Package (0x04)
            {
                0x000AFFFF, 
                0x03, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

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

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

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

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

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

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

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

            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)
            {
                0x0012FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

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

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

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

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

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

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

            Package (0x04)
            {
                0x0013FFFF, 
                0x03, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                Zero, 
                Zero, 
                0x16
            }
        })
        Name (PR01, Package (0x04)
        {
            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

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

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

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR01, Package (0x04)
        {
            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

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

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

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR02, 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 (AR02, 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 (PR03, 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 (AR03, 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 (PR04, 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 (PR05, 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 (PR06, 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, 
                0x12
            }, 

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

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x11
            }
        })
        Name (PR07, 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 (AR07, 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 (PR09, 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 (AR09, 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 (PR1A, 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 (AR1A, 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 (PR1B, 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 (AR1B, 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 (PR1C, 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 (AR1C, 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 (PR0C, Package (0x0C)
        {
            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                LNKH, 
                Zero
            }, 

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

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

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

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

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

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

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

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                LNKG, 
                Zero
            }
        })
        Name (AR0C, Package (0x0C)
        {
            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                One, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                Zero, 
                0x17
            }, 

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

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

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

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

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

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

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

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                Zero, 
                0x16
            }
        })
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {4,7,10,11,12,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, PRSE)
        Alias (PRSA, PRSF)
        Alias (PRSA, PRSH)
        Name (PRSG, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {4,9,12,14,15}
        })
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, 0x00180000)
            Method (^BN00, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_BBN, 0, NotSerialized)
            {
                Return (BN00 ())
            }

            Name (_UID, Zero)
            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR00)
                }

                Return (PR00)
            }

            Method (NPTS, 1, NotSerialized)
            {
            }

            Method (NWAK, 1, NotSerialized)
            {
            }

            Device (RS78)
            {
                Name (_ADR, Zero)
                OperationRegion (NB2, PCI_Config, Zero, 0x0100)
                Field (NB2, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x60), 
                    MI,     32, 
                    MD,     32, 
                            Offset (0x94), 
                    HI,     32, 
                    HD,     32, 
                            Offset (0xE8), 
                    MCI,    32, 
                    MCD,    32
                }

                Device (BROD)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x14)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y00)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y01)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y00._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y00._LEN, LEN1)
                        CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y01._BAS, BAS2)
                        CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y01._LEN, LEN2)
                        Store (0x3C, MI)
                        Store (MD, Local0)
                        If (And (Local0, 0x40))
                        {
                            Store (0x3A, MI)
                            And (MD, 0xFFFFFF00, BAS1)
                            ShiftLeft (And (MD, 0xFF), 0x17, LEN1)
                        }

                        Store (0x11, MCI)
                        Store (MCD, Local1)
                        Store (0x12, MCI)
                        Store (MCD, Local2)
                        Store (0xF0, MCI)
                        Store (MCD, Local3)
                        If (LEqual (Local2, Zero))
                        {
                            If (LNotEqual (Local3, Zero))
                            {
                                Store (Local1, BAS2)
                                Store (ShiftLeft (Local3, 0x14), LEN2)
                            }
                        }

                        Return (CRS)
                    }
                }
            }

            Device (P0P1)
            {
                Name (_ADR, 0x00010000)
                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR01)
                    }

                    Return (PR01)
                }

                Device (IGFX)
                {
                    Name (_ADR, 0x00050000)
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (0x0F)
                    }

                    OperationRegion (GPXX, SystemMemory, 0x000EF9D7, 0x0100)
                    Field (GPXX, AnyAcc, NoLock, Preserve)
                    {
                        GPCM,   8, 
                        GPDT,   2040
                    }

                    Name (ATIB, Buffer (0xFF) {})
                    OperationRegion (SM00, SystemIO, 0xB0, One)
                    Field (SM00, ByteAcc, NoLock, Preserve)
                    {
                        SMCM,   8
                    }

                    Method (ATIF, 2, Serialized)
                    {
                        Name (SUPF, Zero)
                        Or (SUPF, 0x2000, SUPF)
                        If (LEqual (Arg0, 0x0E))
                        {
                            Return (AF0E (Arg1))
                        }

                        If (LEqual (Arg0, Zero))
                        {
                            Return (AF00 (SUPF))
                        }

                        CreateWordField (ATIB, Zero, SSZE)
                        CreateWordField (ATIB, 0x02, VERN)
                        CreateDWordField (ATIB, 0x04, NMSK)
                        CreateDWordField (ATIB, 0x08, SFUN)
                        Store (Zero, SSZE)
                        Store (Zero, VERN)
                        Store (Zero, NMSK)
                        Store (Zero, SFUN)
                        Return (ATIB)
                    }

                    Method (AF00, 1, Serialized)
                    {
                        CreateWordField (ATIB, Zero, SSZE)
                        CreateWordField (ATIB, 0x02, VERN)
                        CreateDWordField (ATIB, 0x04, NMSK)
                        CreateDWordField (ATIB, 0x08, SFUN)
                        Store (0x0C, SSZE)
                        Store (One, VERN)
                        Store (Zero, NMSK)
                        Store (Arg0, SFUN)
                        Return (ATIB)
                    }

                    Method (AF0E, 1, NotSerialized)
                    {
                        OperationRegion (^GF00, PCI_Config, Zero, 0x40)
                        Field (GF00, AnyAcc, NoLock, Preserve)
                        {
                                    Offset (0x18), 
                            MMAR,   32
                        }

                        OperationRegion (GF02, SystemMemory, MMAR, 0x7000)
                        Field (GF02, DWordAcc, NoLock, Preserve)
                        {
                                    Offset (0x6080), 
                            D1ME,   1, 
                                    Offset (0x609C), 
                            D1VB,   1
                        }

                        Store (Arg0, GPDT)
                        Store (0x0E, GPCM)
                        If (LEqual (D1ME, One))
                        {
                            While (LNotEqual (D1VB, Zero)) {}
                            While (LNotEqual (D1VB, One)) {}
                        }

                        Store (0xE5, SMCM)
                        Return (Zero)
                    }
                }
            }

            Device (PCE2)
            {
                Name (_ADR, 0x00020000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR02)
                    }

                    Return (PR02)
                }
            }

            Device (PCE3)
            {
                Name (_ADR, 0x00030000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR03)
                    }

                    Return (PR03)
                }
            }

            Device (PCE4)
            {
                Name (_ADR, 0x00040000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR04)
                    }

                    Return (PR04)
                }
            }

            Device (PCE5)
            {
                Name (_ADR, 0x00050000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR05)
                    }

                    Return (PR05)
                }
            }

            Device (PCE6)
            {
                Name (_ADR, 0x00060000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR06)
                    }

                    Return (PR06)
                }
            }

            Device (PCE7)
            {
                Name (_ADR, 0x00070000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR07)
                    }

                    Return (PR07)
                }
            }

            Device (PCE9)
            {
                Name (_ADR, 0x00090000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR09)
                    }

                    Return (PR09)
                }
            }

            Device (PCEA)
            {
                Name (_ADR, 0x000A0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1A)
                    }

                    Return (PR1A)
                }
            }

            Device (PCEB)
            {
                Name (_ADR, 0x000B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1B)
                    }

                    Return (PR1B)
                }
            }

            Device (PCEC)
            {
                Name (_ADR, 0x000C0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1C)
                    }

                    Return (PR1C)
                }
            }

            Device (SMBS)
            {
                Name (_ADR, 0x00140000)
                OperationRegion (SMBS, PCI_Config, Zero, 0x0100)
                Field (SMBS, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x08), 
                    REV,    8
                }

                OperationRegion (WIDE, PCI_Config, 0xAD, One)
                Field (WIDE, AnyAcc, NoLock, Preserve)
                {
                    DUM1,   4, 
                    SOPT,   1
                }
            }

            Device (IDEC)
            {
                Name (_ADR, 0x00140001)
                Name (UDMT, Package (0x08)
                {
                    0x78, 
                    0x5A, 
                    0x3C, 
                    0x2D, 
                    0x1E, 
                    0x14, 
                    0x0F, 
                    Zero
                })
                Name (PIOT, Package (0x06)
                {
                    0x0258, 
                    0x0186, 
                    0x010E, 
                    0xB4, 
                    0x78, 
                    Zero
                })
                Name (PITR, Package (0x06)
                {
                    0x99, 
                    0x47, 
                    0x34, 
                    0x22, 
                    0x20, 
                    0x99
                })
                Name (MDMT, Package (0x04)
                {
                    0x01E0, 
                    0x96, 
                    0x78, 
                    Zero
                })
                Name (MDTR, Package (0x04)
                {
                    0x77, 
                    0x21, 
                    0x20, 
                    0xFF
                })
                OperationRegion (IDE, PCI_Config, 0x40, 0x20)
                Field (IDE, AnyAcc, NoLock, Preserve)
                {
                    PPIT,   16, 
                    SPIT,   16, 
                    PMDT,   16, 
                    SMDT,   16, 
                    PPIC,   8, 
                    SPIC,   8, 
                    PPIM,   8, 
                    SPIM,   8, 
                            Offset (0x14), 
                    PUDC,   2, 
                    SUDC,   2, 
                            Offset (0x16), 
                    PUDM,   8, 
                    SUDM,   8
                }

                Method (GETT, 1, NotSerialized)
                {
                    Store (And (Arg0, 0x0F), Local0)
                    Store (ShiftRight (Arg0, 0x04), Local1)
                    Return (Multiply (0x1E, Add (Add (Local0, One), Add (Local1, 
                        One))))
                }

                Method (GTM, 1, NotSerialized)
                {
                    CreateByteField (Arg0, Zero, PIT1)
                    CreateByteField (Arg0, One, PIT0)
                    CreateByteField (Arg0, 0x02, MDT1)
                    CreateByteField (Arg0, 0x03, MDT0)
                    CreateByteField (Arg0, 0x04, PICX)
                    CreateByteField (Arg0, 0x05, UDCX)
                    CreateByteField (Arg0, 0x06, UDMX)
                    Name (BUF, Buffer (0x14)
                    {
                        /* 0000 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (BUF, Zero, PIO0)
                    CreateDWordField (BUF, 0x04, DMA0)
                    CreateDWordField (BUF, 0x08, PIO1)
                    CreateDWordField (BUF, 0x0C, DMA1)
                    CreateDWordField (BUF, 0x10, FLAG)
                    If (And (PICX, One))
                    {
                        Return (BUF)
                    }

                    Store (GETT (PIT0), PIO0)
                    Store (GETT (PIT1), PIO1)
                    If (And (UDCX, One))
                    {
                        Or (FLAG, One, FLAG)
                        Store (DerefOf (Index (UDMT, And (UDMX, 0x0F))), DMA0)
                    }
                    Else
                    {
                        Store (GETT (MDT0), DMA0)
                    }

                    If (And (UDCX, 0x02))
                    {
                        Or (FLAG, 0x04, FLAG)
                        Store (DerefOf (Index (UDMT, ShiftRight (UDMX, 0x04))), DMA1)
                    }
                    Else
                    {
                        Store (GETT (MDT1), DMA1)
                    }

                    Or (FLAG, 0x1A, FLAG)
                    Return (BUF)
                }

                Method (STM, 3, NotSerialized)
                {
                    CreateDWordField (Arg0, Zero, PIO0)
                    CreateDWordField (Arg0, 0x04, DMA0)
                    CreateDWordField (Arg0, 0x08, PIO1)
                    CreateDWordField (Arg0, 0x0C, DMA1)
                    CreateDWordField (Arg0, 0x10, FLAG)
                    Name (BUF, Buffer (0x07)
                    {
                        0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                    })
                    CreateByteField (BUF, Zero, PIT1)
                    CreateByteField (BUF, One, PIT0)
                    CreateByteField (BUF, 0x02, MDT1)
                    CreateByteField (BUF, 0x03, MDT0)
                    CreateByteField (BUF, 0x04, PIMX)
                    CreateByteField (BUF, 0x05, UDCX)
                    CreateByteField (BUF, 0x06, UDMX)
                    Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local0)
                    Divide (Local0, 0x05, Local0)
                    Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local1)
                    Divide (Local1, 0x05, Local1)
                    Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX)
                    Store (DerefOf (Index (PITR, Local0)), PIT0)
                    Store (DerefOf (Index (PITR, Local1)), PIT1)
                    If (And (FLAG, One))
                    {
                        Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
                        Divide (Local0, 0x07, Local0)
                        Or (UDMX, Local0, UDMX)
                        Or (UDCX, One, UDCX)
                    }
                    Else
                    {
                        If (LNotEqual (DMA0, Ones))
                        {
                            Store (Match (MDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
                            Store (DerefOf (Index (MDTR, Local0)), MDT0)
                        }
                    }

                    If (And (FLAG, 0x04))
                    {
                        Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
                        Divide (Local0, 0x07, Local0)
                        Or (UDMX, ShiftLeft (Local0, 0x04), UDMX)
                        Or (UDCX, 0x02, UDCX)
                    }
                    Else
                    {
                        If (LNotEqual (DMA1, Ones))
                        {
                            Store (Match (MDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
                            Store (DerefOf (Index (MDTR, Local0)), MDT1)
                        }
                    }

                    Return (BUF)
                }

                Method (GTF, 2, NotSerialized)
                {
                    CreateByteField (Arg1, Zero, MDT1)
                    CreateByteField (Arg1, One, MDT0)
                    CreateByteField (Arg1, 0x02, PIMX)
                    CreateByteField (Arg1, 0x03, UDCX)
                    CreateByteField (Arg1, 0x04, UDMX)
                    If (LEqual (Arg0, 0xA0))
                    {
                        Store (And (PIMX, 0x0F), Local0)
                        Store (MDT0, Local1)
                        And (UDCX, One, Local2)
                        Store (And (UDMX, 0x0F), Local3)
                    }
                    Else
                    {
                        Store (ShiftRight (PIMX, 0x04), Local0)
                        Store (MDT1, Local1)
                        And (UDCX, 0x02, Local2)
                        Store (ShiftRight (UDMX, 0x04), Local3)
                    }

                    Name (BUF, Buffer (0x15)
                    {
                        /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03, 
                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00, 0xF5
                    })
                    CreateByteField (BUF, One, PMOD)
                    CreateByteField (BUF, 0x08, DMOD)
                    CreateByteField (BUF, 0x05, CMDA)
                    CreateByteField (BUF, 0x0C, CMDB)
                    CreateByteField (BUF, 0x13, CMDC)
                    Store (Arg0, CMDA)
                    Store (Arg0, CMDB)
                    Store (Arg0, CMDC)
                    Or (Local0, 0x08, PMOD)
                    If (Local2)
                    {
                        Or (Local3, 0x40, DMOD)
                    }
                    Else
                    {
                        Store (Match (MDMT, MLE, GETT (Local1), MTR, Zero, Zero), Local4)
                        If (LLess (Local4, 0x03))
                        {
                            Or (0x20, Local4, DMOD)
                        }
                    }

                    Return (BUF)
                }

                Device (PRID)
                {
                    Name (_ADR, Zero)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIC)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                        {
                            Store (PPIT, VPIT)
                            Store (PMDT, VMDT)
                            Store (PPIC, VPIC)
                            Store (PUDC, VUDC)
                            Store (PUDM, VUDM)
                        }
                        Else
                        {
                            Store (SPIT, VPIT)
                            Store (SMDT, VMDT)
                            Store (SPIC, VPIC)
                            Store (SUDC, VUDC)
                            Store (SUDM, VUDM)
                        }

                        Return (GTM (BUF))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIM)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        Store (STM (Arg0, Arg1, Arg2), BUF)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                        {
                            Store (VPIT, PPIT)
                            Store (VMDT, PMDT)
                            Store (VPIM, PPIM)
                            Store (VUDC, PUDC)
                            Store (VUDM, PUDM)
                        }
                        Else
                        {
                            Store (VPIT, SPIT)
                            Store (VMDT, SMDT)
                            Store (VPIM, SPIM)
                            Store (VUDC, SUDC)
                            Store (VUDM, SUDM)
                        }
                    }

                    Device (P_D0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }
                            Else
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }

                            Return (GTF (0xA0, BUF))
                        }
                    }

                    Device (P_D1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }
                            Else
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }

                            Return (GTF (0xB0, BUF))
                        }
                    }
                }

                Device (SECD)
                {
                    Name (_ADR, One)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIC)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                        {
                            Store (SPIT, VPIT)
                            Store (SMDT, VMDT)
                            Store (SPIC, VPIC)
                            Store (SUDC, VUDC)
                            Store (SUDM, VUDM)
                        }
                        Else
                        {
                            Store (PPIT, VPIT)
                            Store (PMDT, VMDT)
                            Store (PPIC, VPIC)
                            Store (PUDC, VUDC)
                            Store (PUDM, VUDM)
                        }

                        Return (GTM (BUF))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIM)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        Store (STM (Arg0, Arg1, Arg2), BUF)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                        {
                            Store (VPIT, SPIT)
                            Store (VMDT, SMDT)
                            Store (VPIM, SPIM)
                            Store (VUDC, SUDC)
                            Store (VUDM, SUDM)
                        }
                        Else
                        {
                            Store (VPIT, PPIT)
                            Store (VMDT, PMDT)
                            Store (VPIM, PPIM)
                            Store (VUDC, PUDC)
                            Store (VUDM, PUDM)
                        }
                    }

                    Device (S_D0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }
                            Else
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }

                            Return (GTF (0xA0, BUF))
                        }
                    }

                    Device (S_D1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }
                            Else
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }

                            Return (GTF (0xB0, BUF))
                        }
                    }
                }
            }

            Device (SBAZ)
            {
                Name (_ADR, 0x00140002)
                OperationRegion (PCI, PCI_Config, Zero, 0x0100)
                Field (PCI, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x42), 
                    DNSP,   1, 
                    DNSO,   1, 
                    ENSR,   1
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x1B, 0x04))
                }
            }

            Device (SBRG)
            {
                Name (_ADR, 0x00140003)
                OperationRegion (LPCS, PCI_Config, Zero, 0x0100)
                Field (LPCS, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x40), 
                        ,   7, 
                    ECEN,   1, 
                            Offset (0xA4), 
                    ECAD,   16, 
                            Offset (0xDA), 
                        ,   1, 
                    BOID,   2
                }

                Name (ECIN, Zero)
                Mutex (ECMU, 0x00)
                Mutex (MLMU, 0x00)
                If (ECEN)
                {
                    And (ECAD, 0xFFFE, ECIN)
                    OperationRegion (ECBP, SystemIO, ECIN, 0x02)
                    Field (ECBP, ByteAcc, NoLock, Preserve)
                    {
                        BPIO,   8
                    }

                    OperationRegion (ECIO, SystemIO, ECIN, 0x02)
                    Field (ECIO, ByteAcc, NoLock, Preserve)
                    {
                        IND,    8, 
                        DAT,    8
                    }

                    IndexField (IND, DAT, ByteAcc, NoLock, Preserve)
                    {
                                Offset (0x07), 
                        LDNM,   8, 
                                Offset (0x22), 
                        POW,    8, 
                                Offset (0x30), 
                        ACT,    1, 
                                Offset (0x60), 
                        IOBH,   8, 
                        IOBL,   8, 
                                Offset (0x70), 
                        INT,    4
                    }

                    Method (CFG, 1, NotSerialized)
                    {
                        Store (0x5A, BPIO)
                        Store (0x5A, BPIO)
                        Store (Arg0, LDNM)
                    }

                    Method (XCFG, 0, NotSerialized)
                    {
                        Store (0xA5, BPIO)
                    }

                    Method (STA, 1, NotSerialized)
                    {
                        Acquire (ECMU, 0x5000)
                        CFG (Arg0)
                        Store (Zero, Local1)
                        If (ACT)
                        {
                            Store (0x0F, Local1)
                        }

                        If (LEqual (IND, 0xFF))
                        {
                            Store (Zero, Local1)
                        }

                        XCFG ()
                        Release (ECMU)
                        Return (Local1)
                    }

                    Method (RDMB, 1, NotSerialized)
                    {
                        Acquire (ECMU, 0x1388)
                        Acquire (MLMU, 0x1388)
                        CFG (0x05)
                        Name (IOBA, Zero)
                        Store (IOBH, IOBA)
                        ShiftLeft (IOBA, 0x08, IOBA)
                        Or (IOBA, IOBL, IOBA)
                        OperationRegion (MLIO, SystemIO, IOBA, 0x02)
                        Field (MLIO, ByteAcc, NoLock, Preserve)
                        {
                            MLIN,   8, 
                            MLDA,   8
                        }

                        Store (Arg0, MLIN)
                        Return (MLDA)
                        Release (MLMU)
                        Release (ECMU)
                    }

                    Method (WRMB, 2, NotSerialized)
                    {
                        Acquire (ECMU, 0x1388)
                        Acquire (MLMU, 0x1388)
                        CFG (0x05)
                        Name (IOBA, Zero)
                        Store (IOBH, IOBA)
                        ShiftLeft (IOBA, 0x08, IOBA)
                        Or (IOBA, IOBL, IOBA)
                        OperationRegion (MLIO, SystemIO, IOBA, 0x02)
                        Field (MLIO, ByteAcc, NoLock, Preserve)
                        {
                            MLIN,   8, 
                            MLDA,   8
                        }

                        Store (Arg0, MLIN)
                        Store (Arg1, MLDA)
                        Release (MLMU)
                        Release (ECMU)
                    }

                    Name (KBWF, One)
                    Name (MSWF, One)
                    Name (IRWF, One)
                    Device (PSKE)
                    {
                        Name (_HID, EisaId ("PNP0303"))
                        Name (_CID, EisaId ("PNP030B"))
                        Method (_STA, 0, NotSerialized)
                        {
                            Store (Zero, Local1)
                            Store (STA (0x07), Local1)
                            Return (Local1)
                        }

                        Name (_CRS, ResourceTemplate ()
                        {
                            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}
                        })
                        Method (_PRW, 0, NotSerialized)
                        {
                            Return (GPRW (0x03, 0x04))
                        }

                        Method (_PSW, 1, NotSerialized)
                        {
                            If (Arg0)
                            {
                                Store (One, KBWF)
                            }
                            Else
                            {
                                Store (Zero, KBWF)
                            }
                        }
                    }

                    Device (PSMS)
                    {
                        Name (_HID, EisaId ("PNP0F03"))
                        Name (_CID, EisaId ("PNP0F13"))
                        Method (_STA, 0, NotSerialized)
                        {
                            Store (Zero, Local1)
                            Store (STA (0x07), Local1)
                            Return (Local1)
                        }

                        Name (_CRS, ResourceTemplate ()
                        {
                            IRQNoFlags ()
                                {12}
                        })
                        Method (_PRW, 0, NotSerialized)
                        {
                            Return (GPRW (0x03, 0x04))
                        }

                        Method (_PSW, 1, NotSerialized)
                        {
                            If (Arg0)
                            {
                                Store (One, MSWF)
                            }
                            Else
                            {
                                Store (Zero, MSWF)
                            }
                        }
                    }

                    Method (KWEN, 0, NotSerialized)
                    {
                        WRMB (0x81, Zero)
                        WRMB (0x82, One)
                        WRMB (0x80, Zero)
                        WRMB (0xA0, 0x95)
                    }

                    Method (KWDS, 0, NotSerialized)
                    {
                        WRMB (0x81, Zero)
                        WRMB (0x82, Zero)
                        WRMB (0x80, Zero)
                        WRMB (0xA0, 0x95)
                    }

                    Method (MWEN, 0, NotSerialized)
                    {
                        WRMB (0x81, One)
                        WRMB (0x82, One)
                        WRMB (0x80, Zero)
                        WRMB (0xA0, 0x95)
                    }

                    Method (MWDS, 0, NotSerialized)
                    {
                        WRMB (0x81, One)
                        WRMB (0x82, Zero)
                        WRMB (0x80, Zero)
                        WRMB (0xA0, 0x95)
                    }

                    Device (ECIR)
                    {
                        Name (_HID, EisaId ("AMDC001"))
                        Method (_STA, 0, NotSerialized)
                        {
                            Store (Zero, Local1)
                            If (LEqual (OSTY, 0x06))
                            {
                                Store (STA (0x05), Local1)
                            }

                            Return (Local1)
                        }

                        Method (_CRS, 0, NotSerialized)
                        {
                            Name (RSRC, ResourceTemplate ()
                            {
                                IO (Decode16,
                                    0x0000,             // Range Minimum
                                    0x0000,             // Range Maximum
                                    0x08,               // Alignment
                                    0x08,               // Length
                                    _Y02)
                                IRQNoFlags (_Y03)
                                    {}
                            })
                            CreateByteField (RSRC, \_SB.PCI0.SBRG.ECIR._CRS._Y02._MIN, IO1)
                            CreateByteField (RSRC, 0x03, IO2)
                            CreateByteField (RSRC, \_SB.PCI0.SBRG.ECIR._CRS._Y02._MAX, IO3)
                            CreateByteField (RSRC, 0x05, IO4)
                            CreateWordField (RSRC, \_SB.PCI0.SBRG.ECIR._CRS._Y03._INT, IRQV)
                            Acquire (ECMU, 0x1388)
                            CFG (0x05)
                            If (ACT)
                            {
                                Store (IOBL, IO1)
                                Store (IOBH, IO2)
                                Store (IOBL, IO3)
                                Store (IOBH, IO4)
                                Store (One, Local0)
                                ShiftLeft (Local0, INT, IRQV)
                            }

                            XCFG ()
                            Release (ECMU)
                            Return (RSRC)
                        }

                        Name (_PRS, ResourceTemplate ()
                        {
                            StartDependentFn (0x00, 0x00)
                            {
                                IO (Decode16,
                                    0x0550,             // Range Minimum
                                    0x0550,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQ (Edge, ActiveHigh, Shared, )
                                    {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0650,             // Range Minimum
                                    0x0650,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQ (Edge, ActiveHigh, Shared, )
                                    {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0550,             // Range Minimum
                                    0x0550,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQ (Edge, ActiveHigh, Shared, )
                                    {3}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16,
                                    0x0650,             // Range Minimum
                                    0x0650,             // Range Maximum
                                    0x01,               // Alignment
                                    0x08,               // Length
                                    )
                                IRQ (Edge, ActiveHigh, Shared, )
                                    {3}
                            }
                            EndDependentFn ()
                        })
                        Method (_SRS, 1, NotSerialized)
                        {
                            CreateByteField (Arg0, 0x02, IO1)
                            CreateByteField (Arg0, 0x03, IO2)
                            CreateWordField (Arg0, 0x09, IRQV)
                            Acquire (ECMU, 0x1388)
                            CFG (0x05)
                            Store (IO1, IOBL)
                            Store (IO2, IOBH)
                            FindSetRightBit (IRQV, Local0)
                            Subtract (Local0, One, INT)
                            Store (One, ACT)
                            XCFG ()
                            Release (ECMU)
                        }

                        Method (_PRW, 0, NotSerialized)
                        {
                            Return (GPRW (0x17, 0x04))
                        }

                        Method (_PSW, 1, NotSerialized)
                        {
                            If (Arg0)
                            {
                                Store (One, IRWF)
                            }
                            Else
                            {
                                Store (Zero, IRWF)
                            }
                        }

                        Method (IRCF, 2, NotSerialized)
                        {
                            Name (CONN, Zero)
                            If (LEqual (Arg0, One))
                            {
                                Or (RVID, CONN, CONN)
                                Or (0x00013200, CONN, CONN)
                                Return (CONN)
                            }

                            If (LEqual (Arg0, 0x02))
                            {
                                ShiftLeft (GP64, One, CONN)
                                Or (GP51, CONN, CONN)
                                Return (CONN)
                            }

                            If (LEqual (Arg0, 0x03))
                            {
                                If (LEqual (Arg1, Zero))
                                {
                                    Store (One, G31O)
                                }
                                Else
                                {
                                    Store (Zero, G31O)
                                    Sleep (0x64)
                                    Store (One, G31O)
                                }
                            }

                            If (LEqual (Arg0, 0x04))
                            {
                                If (LEqual (Arg1, Zero))
                                {
                                    Store (Zero, ACIR)
                                }
                                Else
                                {
                                    Store (One, ACIR)
                                }
                            }

                            If (LOr (LEqual (Arg0, Zero), LGreater (Arg0, 0x05)))
                            {
                                Store (Ones, CONN)
                            }

                            Return (CONN)
                        }
                    }

                    Method (PPTS, 1, NotSerialized)
                    {
                        If (^PSKE._STA ())
                        {
                            If (KBWF)
                            {
                                KWEN ()
                            }
                            Else
                            {
                                KWDS ()
                            }
                        }

                        If (^PSMS._STA ())
                        {
                            If (MSWF)
                            {
                                MWEN ()
                            }
                            Else
                            {
                                MWDS ()
                            }
                        }
                    }

                    Method (WWAK, 1, NotSerialized)
                    {
                        If (^PSKE._STA ())
                        {
                            KWDS ()
                        }

                        If (^PSMS._STA ())
                        {
                            MWDS ()
                        }
                    }
                }

                Method (EPTS, 1, NotSerialized)
                {
                    If (ECEN)
                    {
                        PPTS (Arg0)
                    }
                }

                Method (EWAK, 1, NotSerialized)
                {
                    If (ECEN)
                    {
                        WWAK (Arg0)
                    }
                }

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {2}
                    })
                }

                Device (DMAD)
                {
                    Name (_HID, EisaId ("PNP0200"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        DMA (Compatibility, BusMaster, Transfer8, )
                            {4}
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0081,             // Range Minimum
                            0x0081,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x0087,             // Range Minimum
                            0x0087,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0089,             // Range Minimum
                            0x0089,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x008F,             // Range Minimum
                            0x008F,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00C0,             // Range Minimum
                            0x00C0,             // Range Maximum
                            0x00,               // Alignment
                            0x20,               // Length
                            )
                    })
                }

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x00,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x00F0,             // Range Minimum
                            0x00F0,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IRQNoFlags ()
                            {13}
                    })
                }

                Device (UAR1)
                {
                    Name (_UID, One)
                    Method (_HID, 0, NotSerialized)
                    {
                        Return (UHID (Zero))
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (Zero))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (Zero, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (DCRS (Zero, One))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, Zero)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (CMPR)
                    }

                    Name (CMPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {4}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03E8,             // Range Minimum
                                0x03E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02E8,             // Range Minimum
                                0x02E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F8,             // Range Minimum
                                0x03F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02F8,             // Range Minimum
                                0x02F8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03E8,             // Range Minimum
                                0x03E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x02E8,             // Range Minimum
                                0x02E8,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Method (UAR1._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x10, 0x04))
                }

                Device (FDC)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Method (_FDE, 0, NotSerialized)
                    {
                        Name (FDEP, Package (0x05)
                        {
                            Zero, 
                            Zero, 
                            0x02, 
                            0x02, 
                            0x02
                        })
                        If (_STA ())
                        {
                            Store (One, Index (FDEP, Zero))
                        }

                        Return (FDEP)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x03))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x03, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        DCRS (0x03, One)
                        Store (IRQM, IRQE)
                        Store (DMAM, DMAE)
                        Store (IO11, IO21)
                        Store (IO12, IO22)
                        Store (0x06, LEN2)
                        Add (IO21, 0x07, IO31)
                        Store (IO31, IO32)
                        Store (One, LEN3)
                        Return (CRS2)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, 0x03)
                        CreateWordField (Arg0, 0x11, IRQE)
                        CreateByteField (Arg0, 0x14, DMAE)
                        ENFG (CGLD (0x03))
                        If (IRQE)
                        {
                            FindSetRightBit (IRQE, Local0)
                            Subtract (Local0, One, INTR)
                        }
                        Else
                        {
                            Store (Zero, INTR)
                        }

                        If (DMAE)
                        {
                            FindSetRightBit (DMAE, Local0)
                            Subtract (Local0, One, DMCH)
                        }
                        Else
                        {
                            Store (0x04, DMCH)
                        }

                        EXFG ()
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x03F0,             // Range Minimum
                                0x03F0,             // Range Maximum
                                0x01,               // Alignment
                                0x06,               // Length
                                )
                            IO (Decode16,
                                0x03F7,             // Range Minimum
                                0x03F7,             // Range Maximum
                                0x01,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {6}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {2}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03F0,             // Range Minimum
                                0x03F0,             // Range Maximum
                                0x01,               // Alignment
                                0x06,               // Length
                                )
                            IO (Decode16,
                                0x03F7,             // Range Minimum
                                0x03F7,             // Range Maximum
                                0x01,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0370,             // Range Minimum
                                0x0370,             // Range Maximum
                                0x01,               // Alignment
                                0x06,               // Length
                                )
                            IO (Decode16,
                                0x0377,             // Range Minimum
                                0x0377,             // Range Maximum
                                0x01,               // Alignment
                                0x01,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Device (LPTE)
                {
                    Method (_HID, 0, NotSerialized)
                    {
                        If (LPTM (0x02))
                        {
                            Return (0x0104D041)
                        }
                        Else
                        {
                            Return (0x0004D041)
                        }
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x02))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x02, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        DCRS (0x02, One)
                        If (LPTM (0x02))
                        {
                            Store (IRQM, IRQE)
                            Store (DMAM, DMAE)
                            Store (IO11, IO21)
                            Store (IO12, IO22)
                            Store (LEN1, LEN2)
                            Add (IO21, 0x0400, IO31)
                            Store (IO31, IO32)
                            Store (LEN2, LEN3)
                            Return (CRS2)
                        }
                        Else
                        {
                            Return (CRS1)
                        }
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, 0x02)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        If (LPTM (0x02))
                        {
                            Return (EPPR)
                        }
                        Else
                        {
                            Return (LPPR)
                        }
                    }

                    Name (LPPR, ResourceTemplate ()
                    {
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0278,             // Range Minimum
                                0x0278,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03BC,             // Range Minimum
                                0x03BC,             // Range Maximum
                                0x01,               // Alignment
                                0x04,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {}
                        }
                        EndDependentFn ()
                    })
                    Name (EPPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0778,             // Range Minimum
                                0x0778,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {7}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0378,             // Range Minimum
                                0x0378,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0778,             // Range Minimum
                                0x0778,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0278,             // Range Minimum
                                0x0278,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IO (Decode16,
                                0x0678,             // Range Minimum
                                0x0678,             // Range Maximum
                                0x01,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x03BC,             // Range Minimum
                                0x03BC,             // Range Maximum
                                0x01,               // Alignment
                                0x04,               // Length
                                )
                            IO (Decode16,
                                0x07BC,             // Range Minimum
                                0x07BC,             // Range Maximum
                                0x01,               // Alignment
                                0x04,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Method (SALD, 1, NotSerialized)
                {
                    If (LEqual (Arg0, Zero))
                    {
                        Store (One, Local0)
                    }

                    If (LEqual (Arg0, One))
                    {
                        Store (0x02, Local0)
                    }

                    If (LEqual (Arg0, 0x03))
                    {
                        Store (0x04, Local0)
                    }

                    If (LEqual (Arg0, 0x04))
                    {
                        Store (One, Local0)
                    }

                    If (LEqual (Arg0, 0x05))
                    {
                        Store (One, Local0)
                    }

                    SLD1 (Local0)
                }

                Method (SLD1, 1, NotSerialized)
                {
                    ENFG (0x07)
                    SSRG (0xF8, ALED)
                    SSRG (0xF9, Arg0)
                    EXFG ()
                }

                Method (GSRG, 1, NotSerialized)
                {
                    Store (Arg0, INDX)
                    Return (DATA)
                }

                Method (SSRG, 2, NotSerialized)
                {
                    Store (Arg0, INDX)
                    Store (Arg1, DATA)
                }

                Device (CIR)
                {
                    Name (_HID, EisaId ("ITE8713"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (IRST (0x10))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x10, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (IRCR (0x10))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        IRSR (Arg0, 0x10)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (IRPR)
                    }

                    Method (IRST, 1, NotSerialized)
                    {
                        ENFG (CGLD (Arg0))
                        If (ACTR)
                        {
                            Store (0x0F, Local0)
                        }
                        Else
                        {
                            If (IOAH)
                            {
                                Store (0x0D, Local0)
                            }
                            Else
                            {
                                Store (Zero, Local0)
                            }
                        }

                        EXFG ()
                        Return (Local0)
                    }

                    Name (IRPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16,
                                0x0220,             // Range Minimum
                                0x0220,             // Range Maximum
                                0x08,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {10}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0220,             // Range Minimum
                                0x0220,             // Range Maximum
                                0x08,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,9,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0228,             // Range Minimum
                                0x0228,             // Range Maximum
                                0x08,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,9,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16,
                                0x0238,             // Range Minimum
                                0x0238,             // Range Maximum
                                0x08,               // Alignment
                                0x08,               // Length
                                )
                            IRQNoFlags ()
                                {3,4,5,6,7,9,10,11,12}
                        }
                        EndDependentFn ()
                    })
                    Name (PBUF, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            _Y04)
                        IRQNoFlags (_Y05)
                            {0}
                    })
                    Method (IRCR, 1, NotSerialized)
                    {
                        CreateByteField (PBUF, \_SB.PCI0.SBRG.CIR._Y04._MIN, IOLO)
                        CreateByteField (PBUF, 0x03, IOHI)
                        CreateWordField (PBUF, \_SB.PCI0.SBRG.CIR._Y04._MIN, IOHL)
                        CreateWordField (PBUF, \_SB.PCI0.SBRG.CIR._Y04._MAX, IORL)
                        CreateByteField (PBUF, \_SB.PCI0.SBRG.CIR._Y04._ALN, ALMN)
                        CreateByteField (PBUF, \_SB.PCI0.SBRG.CIR._Y04._LEN, LENG)
                        CreateWordField (PBUF, \_SB.PCI0.SBRG.CIR._Y05._INT, IRQL)
                        ENFG (CGLD (Arg0))
                        Store (IOAH, IOHI)
                        Store (IOAL, IOLO)
                        Store (IOHL, IORL)
                        Store (One, ALMN)
                        Store (0x08, LENG)
                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQL)
                        EXFG ()
                        Return (PBUF)
                    }

                    Method (IRSR, 2, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, POLB)
                        CreateByteField (Arg0, 0x03, POHB)
                        CreateWordField (Arg0, 0x09, PIRQ)
                        ENFG (CGLD (Arg1))
                        Store (POLB, IOAL)
                        Store (POHB, IOAH)
                        FindSetRightBit (PIRQ, Local0)
                        Subtract (Local0, One, INTR)
                        Store (One, ACTR)
                        EXFG ()
                    }
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y06)
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (0x0F)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y06._BAS, HPT)
                        Store (0xFED00000, HPT)
                        Return (CRS)
                    }
                }

                Device (^PCIE)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x11)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xE0000000,         // Address Base
                            0x10000000,         // Address Length
                            _Y07)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y07._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y07._LEN, LEN1)
                        Store (PCIB, BAS1)
                        Store (PCIL, LEN1)
                        Return (CRS)
                    }
                }

                Device (OMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, Zero)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y08)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y09)
                    })
                    Name (CRS1, ResourceTemplate ()
                    {
                        FixedIO (
                            0x0060,             // Address
                            0x01,               // Length
                            )
                        FixedIO (
                            0x0064,             // Address
                            0x01,               // Length
                            )
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0A)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0B)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (APIC)
                        {
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y08._LEN, ML01)
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y08._BAS, MB01)
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y09._LEN, ML02)
                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y09._BAS, MB02)
                            Store (0xFEC00000, MB01)
                            Store (0x1000, ML01)
                            Store (0xFEE00000, MB02)
                            Store (0x1000, ML02)
                            CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y0A._LEN, ML03)
                            CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y0A._BAS, MB03)
                            CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y0B._LEN, ML04)
                            CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y0B._BAS, MB04)
                            Store (0xFEC00000, MB03)
                            Store (0x1000, ML03)
                            Store (0xFEE00000, MB04)
                            Store (0x1000, ML04)
                        }

                        ShiftLeft (0x05, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (CRS)
                        }
                        Else
                        {
                            Return (CRS1)
                        }
                    }
                }

                Device (^^RMEM)
                {
                    Name (_HID, EisaId ("PNP0C01"))
                    Name (_UID, One)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x000A0000,         // Address Length
                            )
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0C)
                        Memory32Fixed (ReadOnly,
                            0x000E0000,         // Address Base
                            0x00020000,         // Address Length
                            _Y0D)
                        Memory32Fixed (ReadWrite,
                            0x00100000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0E)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0F)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.RMEM._Y0C._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.RMEM._Y0C._LEN, LEN1)
                        CreateDWordField (CRS, \_SB.RMEM._Y0D._BAS, BAS2)
                        CreateDWordField (CRS, \_SB.RMEM._Y0D._LEN, LEN2)
                        CreateDWordField (CRS, \_SB.RMEM._Y0E._LEN, LEN3)
                        CreateDWordField (CRS, \_SB.RMEM._Y0F._BAS, BAS4)
                        CreateDWordField (CRS, \_SB.RMEM._Y0F._LEN, LEN4)
                        If (OSFL ()) {}
                        Else
                        {
                            If (MG1B)
                            {
                                If (LGreater (MG1B, 0x000C0000))
                                {
                                    Store (0x000C0000, BAS1)
                                    Subtract (MG1B, BAS1, LEN1)
                                }
                            }
                            Else
                            {
                                Store (0x000C0000, BAS1)
                                Store (0x00020000, LEN1)
                            }

                            If (Add (MG1B, MG1L, Local0))
                            {
                                Store (Local0, BAS2)
                                Subtract (0x00100000, BAS2, LEN2)
                            }
                        }

                        Subtract (MG2B, 0x00100000, LEN3)
                        Store (MH1B, BAS4)
                        Subtract (Zero, BAS4, LEN4)
                        Return (CRS)
                    }
                }

                Device (RMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x10)
                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0010,             // Range Minimum
                            0x0010,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0022,             // Range Minimum
                            0x0022,             // Range Maximum
                            0x00,               // Alignment
                            0x1E,               // Length
                            )
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0065,             // Range Minimum
                            0x0065,             // Range Maximum
                            0x00,               // Alignment
                            0x0B,               // Length
                            )
                        IO (Decode16,
                            0x0072,             // Range Minimum
                            0x0072,             // Range Maximum
                            0x00,               // Alignment
                            0x0E,               // Length
                            )
                        IO (Decode16,
                            0x0080,             // Range Minimum
                            0x0080,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0084,             // Range Minimum
                            0x0084,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x0088,             // Range Minimum
                            0x0088,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x008C,             // Range Minimum
                            0x008C,             // Range Maximum
                            0x00,               // Alignment
                            0x03,               // Length
                            )
                        IO (Decode16,
                            0x0090,             // Range Minimum
                            0x0090,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x00A2,             // Range Minimum
                            0x00A2,             // Range Maximum
                            0x00,               // Alignment
                            0x1E,               // Length
                            )
                        IO (Decode16,
                            0x00B1,             // Range Minimum
                            0x00B1,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00E0,             // Range Minimum
                            0x00E0,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x040B,             // Range Minimum
                            0x040B,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x04D6,             // Range Minimum
                            0x04D6,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C00,             // Range Minimum
                            0x0C00,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0C14,             // Range Minimum
                            0x0C14,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C50,             // Range Minimum
                            0x0C50,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0C52,             // Range Minimum
                            0x0C52,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C6C,             // Range Minimum
                            0x0C6C,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C6F,             // Range Minimum
                            0x0C6F,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0CD0,             // Range Minimum
                            0x0CD0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD2,             // Range Minimum
                            0x0CD2,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD4,             // Range Minimum
                            0x0CD4,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD6,             // Range Minimum
                            0x0CD6,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD8,             // Range Minimum
                            0x0CD8,             // Range Maximum
                            0x00,               // Alignment
                            0x08,               // Length
                            )
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y10)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y13)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y12)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y11)
                        IO (Decode16,
                            0x0900,             // Range Minimum
                            0x0900,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0910,             // Range Minimum
                            0x0910,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0xFE00,             // Range Minimum
                            0xFE00,             // Range Maximum
                            0x00,               // Alignment
                            0xFF,               // Length
                            )
                        IO (Decode16,
                            0x0060,             // Range Minimum
                            0x0060,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y14)
                        IO (Decode16,
                            0x0064,             // Range Minimum
                            0x0064,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y15)
                        Memory32Fixed (ReadOnly,
                            0xFFB80000,         // Address Base
                            0x00080000,         // Address Length
                            )
                        Memory32Fixed (ReadOnly,
                            0xFEC10000,         // Address Base
                            0x00000020,         // Address Length
                            )
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y10._MIN, GP00)
                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y10._MAX, GP01)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y10._LEN, GP0L)
                        Store (PMBS, GP00)
                        Store (PMBS, GP01)
                        Store (PMLN, GP0L)
                        If (SMBB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y11._MIN, GP10)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y11._MAX, GP11)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y11._LEN, GP1L)
                            Store (SMBB, GP10)
                            Store (SMBB, GP11)
                            Store (SMBL, GP1L)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y12._MIN, GPB0)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y12._MAX, GPB1)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y12._LEN, GPBL)
                            Store (SMB0, GPB0)
                            Store (SMB0, GPB1)
                            Store (SMBM, GPBL)
                        }

                        If (GPBS)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y13._MIN, GP20)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y13._MAX, GP21)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y13._LEN, GP2L)
                            Store (GPBS, GP20)
                            Store (GPBS, GP21)
                            Store (GPLN, GP2L)
                        }

                        ShiftLeft (One, 0x0A, Local0)
                        ShiftLeft (One, 0x0C, Local1)
                        Or (And (IOST, Local0), And (IOST, Local1), Local0)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y14._LEN, KBL0)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y15._LEN, KBL1)
                        If (LEqual (Local0, Zero))
                        {
                            Store (One, KBL0)
                            Store (One, KBL1)
                        }

                        Return (CRS)
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, EisaId ("PNP030B"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        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}
                    })
                }

                Method (PS2K._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x03, 0x03))
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F03"))
                    Name (_CID, EisaId ("PNP0F13"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0C, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (M2R0, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {12}
                    })
                    Name (M2R1, ResourceTemplate ()
                    {
                        FixedIO (
                            0x0060,             // Address
                            0x01,               // Length
                            )
                        FixedIO (
                            0x0064,             // Address
                            0x01,               // Length
                            )
                        IRQNoFlags ()
                            {12}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (M2R0)
                        }
                        Else
                        {
                            Return (M2R1)
                        }
                    }
                }

                Method (PS2M._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x03, 0x03))
                }

                Device (SIOR)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Method (_UID, 0, NotSerialized)
                    {
                        Return (SPIO)
                    }

                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y16)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y17)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y18)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y19)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y1A)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 0xF0)))
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y16._MIN, GP10)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y16._MAX, GP11)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y16._LEN, GPL1)
                            Store (SPIO, GP10)
                            Store (SPIO, GP11)
                            Store (0x02, GPL1)
                        }

                        If (IOPB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y17._MIN, GP20)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y17._MAX, GP21)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y17._LEN, GPL2)
                            Store (IOPB, GP20)
                            Store (IOPB, GP21)
                            Store (IOPL, GPL2)
                        }

                        If (IOEB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y18._MIN, GP30)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y18._MAX, GP31)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y18._LEN, GPL3)
                            Store (IOEB, GP30)
                            Store (IOEB, GP31)
                            Store (IOEL, GPL3)
                        }

                        If (IOGB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y19._MIN, GP40)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y19._MAX, GP41)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y19._LEN, GPL4)
                            Store (IOGB, GP40)
                            Store (IOGB, GP41)
                            Store (IOGL, GPL4)
                        }

                        If (IOSB)
                        {
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y1A._MIN, GP50)
                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y1A._MAX, GP51)
                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y1A._LEN, GPL5)
                            Store (IOSB, GP50)
                            Store (IOSB, GP51)
                            Store (IOSL, GPL5)
                        }

                        Return (CRS)
                    }
                }

                Name (DCAT, Package (0x16)
                {
                    One, 
                    0x02, 
                    0x03, 
                    Zero, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0x0A, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF
                })
                Name (IKEY, Package (0x02)
                {
                    Package (0x04)
                    {
                        0x87, 
                        One, 
                        0x55, 
                        0x55
                    }, 

                    Package (0x04)
                    {
                        0x87, 
                        One, 
                        0x55, 
                        0xAA
                    }
                })
                Name (KBFG, One)
                Name (MSFG, One)
                Name (UR1F, One)
                Method (ENFG, 1, NotSerialized)
                {
                    Store (Zero, Local1)
                    If (LEqual (SPIO, 0x2E))
                    {
                        Store (Zero, Local1)
                    }

                    If (LEqual (SPIO, 0x4E))
                    {
                        Store (One, Local1)
                    }

                    Store (Zero, Local0)
                    While (LNotEqual (Local0, 0x04))
                    {
                        Store (DerefOf (Index (DerefOf (Index (IKEY, Local1)), Local0)), 
                            INDX)
                        Increment (Local0)
                    }

                    Store (Arg0, LDN)
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0x02, INDX)
                    Store (0x02, DATA)
                }

                Method (LPTM, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    And (OPT0, 0x02, Local0)
                    EXFG ()
                    Return (Local0)
                }

                Method (UHID, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    And (OPT0, 0x70, Local0)
                    EXFG ()
                    If (Local0)
                    {
                        Return (0x1005D041)
                    }

                    Return (0x0105D041)
                }

                Method (ORF0, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    Or (OPT0, Arg1, OPT0)
                    EXFG ()
                }

                Method (ORF1, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    Or (OPT1, Arg1, OPT1)
                    EXFG ()
                }

                Method (ORF2, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    Or (OPT2, Arg1, OPT2)
                    EXFG ()
                }

                Method (ANF0, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    And (OPT0, Arg1, OPT0)
                    EXFG ()
                }

                Method (ANF2, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    And (OPT2, Arg1, OPT2)
                    EXFG ()
                }

                Method (ANF4, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    And (OPT4, Arg1, OPT4)
                    EXFG ()
                }

                Method (STF0, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    Store (Arg1, OPT0)
                    EXFG ()
                }

                Method (STF1, 2, NotSerialized)
                {
                    ENFG (Arg0)
                    Store (Arg1, OPT1)
                    EXFG ()
                }

                Method (SIOS, 1, NotSerialized)
                {
                    Store ("SIOS", Debug)
                    If (LLess (Arg0, 0x05))
                    {
                        ENFG (0x04)
                        Store (One, ACTR)
                        EXFG ()
                        If (KBFG)
                        {
                            ORF1 (0x04, 0x08)
                            ORF0 (0x04, 0x08)
                        }
                        Else
                        {
                            ANF0 (0x04, 0xF7)
                        }

                        If (MSFG)
                        {
                            ORF1 (0x04, 0x10)
                            ORF0 (0x04, 0x10)
                        }
                        Else
                        {
                            ANF0 (0x04, 0xEF)
                        }

                        ENFG (0x06)
                        Store (Zero, ACTR)
                        EXFG ()
                        ENFG (0x05)
                        Store (Zero, ACTR)
                        EXFG ()
                        ORF1 (0x04, 0xFF)
                        ANF2 (0x04, 0xBF)
                        ANF2 (0x04, 0xF1)
                        ENFG (0x07)
                        And (OP29, 0xEF, OP29)
                        EXFG ()
                    }
                }

                Method (SIOW, 1, NotSerialized)
                {
                    Store ("SIOW", Debug)
                    ENFG (0x07)
                    Or (OP29, 0x10, OP29)
                    ENFG (0x05)
                    Or (ACTR, One, ACTR)
                    ENFG (0x06)
                    Or (ACTR, One, ACTR)
                    ENFG (0x04)
                    STF0 (0x04, Zero)
                    STF1 (0x04, 0xFF)
                    ANF2 (0x04, 0x41)
                    EXFG ()
                }

                Method (SIOH, 0, NotSerialized)
                {
                    Store ("SIOH", Debug)
                }

                OperationRegion (IOID, SystemIO, SPIO, 0x02)
                Field (IOID, ByteAcc, NoLock, Preserve)
                {
                    INDX,   8, 
                    DATA,   8
                }

                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                {
                            Offset (0x07), 
                    LDN,    8, 
                            Offset (0x29), 
                    OP29,   8, 
                            Offset (0x30), 
                    ACTR,   8, 
                            Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    IOH2,   8, 
                    IOL2,   8, 
                            Offset (0x70), 
                    INTR,   8, 
                            Offset (0x74), 
                    DMCH,   8, 
                            Offset (0xF0), 
                    OPT0,   8, 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8, 
                    OPT4,   8
                }

                Method (PS2K._PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (One, KBFG)
                    }
                    Else
                    {
                        Store (Zero, KBFG)
                    }
                }

                Method (PS2M._PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (One, MSFG)
                    }
                    Else
                    {
                        Store (Zero, MSFG)
                    }
                }

                Method (CGLD, 1, NotSerialized)
                {
                    Return (DerefOf (Index (DCAT, Arg0)))
                }

                Method (DSTA, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    Store (ACTR, Local0)
                    EXFG ()
                    If (LEqual (Local0, 0xFF))
                    {
                        Return (Zero)
                    }

                    And (Local0, One, Local0)
                    Or (IOST, ShiftLeft (Local0, Arg0), IOST)
                    If (Local0)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        If (And (ShiftLeft (One, Arg0), IOST))
                        {
                            Return (0x0D)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Method (DCNT, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, Local1)
                    Or (IOAL, Local1, Local1)
                    If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03, 
                        Local1), Zero)))
                    {
                        RDMA (Arg0, Arg1, Increment (Local1))
                    }

                    Store (Arg1, ACTR)
                    RRIO (Arg0, Arg1, Local1, 0x08)
                    EXFG ()
                }

                Name (CRS1, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y1D)
                    IRQNoFlags (_Y1B)
                        {}
                    DMA (Compatibility, NotBusMaster, Transfer8, _Y1C)
                        {}
                })
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y1B._INT, IRQM)
                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y1C._DMA, DMAM)
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y1D._MIN, IO11)
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y1D._MAX, IO12)
                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y1D._LEN, LEN1)
                Name (CRS2, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y20)
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y21)
                    IRQNoFlags (_Y1E)
                        {6}
                    DMA (Compatibility, NotBusMaster, Transfer8, _Y1F)
                        {2}
                })
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y1E._INT, IRQE)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y1F._DMA, DMAE)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y20._MIN, IO21)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y20._MAX, IO22)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y20._LEN, LEN2)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y21._MIN, IO31)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y21._MAX, IO32)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y21._LEN, LEN3)
                Method (DCRS, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, IO11)
                    Or (IOAL, IO11, IO11)
                    Store (IO11, IO12)
                    Subtract (FindSetRightBit (IO11), One, Local0)
                    ShiftLeft (One, Local0, LEN1)
                    If (INTR)
                    {
                        ShiftLeft (One, INTR, IRQM)
                    }
                    Else
                    {
                        Store (Zero, IRQM)
                    }

                    If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
                    {
                        Store (Zero, DMAM)
                    }
                    Else
                    {
                        And (DMCH, 0x03, Local1)
                        ShiftLeft (One, Local1, DMAM)
                    }

                    EXFG ()
                    Return (CRS1)
                }

                Method (DSRS, 2, NotSerialized)
                {
                    CreateWordField (Arg0, 0x09, IRQM)
                    CreateByteField (Arg0, 0x0C, DMAM)
                    CreateWordField (Arg0, 0x02, IO11)
                    ENFG (CGLD (Arg1))
                    ShiftLeft (IOAH, 0x08, Local1)
                    Or (IOAL, Local1, Local1)
                    RRIO (Arg1, Zero, Local1, 0x08)
                    RRIO (Arg1, One, IO11, 0x08)
                    And (IO11, 0xFF, IOAL)
                    ShiftRight (IO11, 0x08, IOAH)
                    If (IRQM)
                    {
                        FindSetRightBit (IRQM, Local0)
                        Subtract (Local0, One, INTR)
                    }
                    Else
                    {
                        Store (Zero, INTR)
                    }

                    If (DMAM)
                    {
                        FindSetRightBit (DMAM, Local0)
                        Subtract (Local0, One, DMCH)
                    }
                    Else
                    {
                        Store (0x04, DMCH)
                    }

                    EXFG ()
                    DCNT (Arg1, One)
                }
            }

            Device (P0PC)
            {
                Name (_ADR, 0x00140004)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x04, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR0C)
                    }

                    Return (PR0C)
                }
            }

            Device (UHC1)
            {
                Name (_ADR, 0x00120000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC2)
            {
                Name (_ADR, 0x00120001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC3)
            {
                Name (_ADR, 0x00120002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (USB4)
            {
                Name (_ADR, 0x00130000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC5)
            {
                Name (_ADR, 0x00130001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC6)
            {
                Name (_ADR, 0x00130002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC7)
            {
                Name (_ADR, 0x00140005)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (SATA)
            {
                Name (_ADR, 0x00110000)
                If (LEqual (STCL, 0x0101))
                {
                    Method (_INI, 0, NotSerialized)
                    {
                    }

                    OperationRegion (SACS, PCI_Config, Zero, 0x40)
                    Field (SACS, AnyAcc, NoLock, Preserve)
                    {
                                Offset (0x24), 
                        STB5,   32
                    }

                    Name (SPTM, Buffer (0x14)
                    {
                        /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 
                        /* 0008 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 
                        /* 0010 */    0x1F, 0x00, 0x00, 0x00
                    })
                    Device (PRID)
                    {
                        Name (_ADR, Zero)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Return (SPTM)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                        }

                        Name (PRIS, Zero)
                        Method (_PS0, 0, NotSerialized)
                        {
                            OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                            Field (BAR, AnyAcc, NoLock, Preserve)
                            {
                                        Offset (0x120), 
                                    ,   7, 
                                PMBY,   1, 
                                        Offset (0x128), 
                                PMS0,   4, 
                                        Offset (0x129), 
                                PMS1,   4, 
                                        Offset (0x220), 
                                    ,   7, 
                                PSBY,   1, 
                                        Offset (0x228), 
                                PSS0,   4, 
                                        Offset (0x229), 
                                PSS1,   4, 
                                        Offset (0x2A0), 
                                    ,   7
                            }

                            If (LAnd (LLessEqual (OSTY, 0x15), LGreaterEqual (OSTY, 0x12)))
                            {
                                If (PMS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (PMBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }

                                If (PSS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (PSBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }
                            }

                            Store (Zero, PRIS)
                        }

                        Method (_PS3, 0, NotSerialized)
                        {
                            Store (0x03, PRIS)
                        }

                        Method (_PSC, 0, NotSerialized)
                        {
                            Return (PRIS)
                        }

                        Device (P_D0)
                        {
                            Name (_ADR, Zero)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x128), 
                                    PMS0,   4, 
                                            Offset (0x129), 
                                    PMS1,   4
                                }

                                If (Not (LEqual (PMS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x120), 
                                        ,   7, 
                                    PMBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (PMBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }

                        Device (P_D1)
                        {
                            Name (_ADR, One)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x228), 
                                    PSS0,   4, 
                                            Offset (0x229), 
                                    PSS1,   4
                                }

                                If (Not (LEqual (PSS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x220), 
                                        ,   7, 
                                    PSBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (PSBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }
                    }

                    Device (SECD)
                    {
                        Name (_ADR, One)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Return (SPTM)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                        }

                        Name (SECS, Zero)
                        Method (_PS0, 0, NotSerialized)
                        {
                            OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                            Field (BAR, AnyAcc, NoLock, Preserve)
                            {
                                        Offset (0x1A0), 
                                    ,   7, 
                                SMBY,   1, 
                                        Offset (0x1A8), 
                                SMS0,   4, 
                                        Offset (0x1A9), 
                                SMS1,   4, 
                                        Offset (0x2A0), 
                                    ,   7, 
                                SSBY,   1, 
                                        Offset (0x2A8), 
                                SSS0,   4, 
                                        Offset (0x2A9), 
                                SSS1,   4, 
                                        Offset (0x2AC)
                            }

                            If (LAnd (LLessEqual (OSTY, 0x15), LGreaterEqual (OSTY, 0x12)))
                            {
                                If (SMS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (SMBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }

                                If (SSS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (SSBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }
                            }

                            Store (Zero, SECS)
                        }

                        Method (_PS3, 0, NotSerialized)
                        {
                            Store (0x03, SECS)
                        }

                        Method (_PSC, 0, NotSerialized)
                        {
                            Return (SECS)
                        }

                        Device (S_D0)
                        {
                            Name (_ADR, Zero)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x1A8), 
                                    SMS0,   4, 
                                            Offset (0x1A9), 
                                    SMS1,   4
                                }

                                If (Not (LEqual (SMS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x1000)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x1A0), 
                                        ,   7, 
                                    SMBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (SMBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }

                        Device (S_D1)
                        {
                            Name (_ADR, One)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x2A8), 
                                    SSS0,   4, 
                                            Offset (0x2A9), 
                                    SSS1,   4
                                }

                                If (Not (LEqual (SSS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x2A0), 
                                        ,   7, 
                                    SSBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (SSBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }
                    }
                }
            }
        }

        Scope (\_GPE)
        {
            Method (_L18, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PCE2, 0x02)
                Notify (\_SB.PCI0.PCE3, 0x02)
                Notify (\_SB.PCI0.PCE4, 0x02)
                Notify (\_SB.PCI0.PCE5, 0x02)
                Notify (\_SB.PCI0.PCE6, 0x02)
                Notify (\_SB.PCI0.PCE7, 0x02)
                Notify (\_SB.PCI0.PCE9, 0x02)
                Notify (\_SB.PCI0.PCEA, 0x02)
                Notify (\_SB.PCI0.PCEB, 0x02)
                Notify (\_SB.PCI0.PCEC, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L1B, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.SBAZ, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L10, 0, NotSerialized)
            {
                \_SB.PCI0.SBRG.SIOH ()
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L03, 0, NotSerialized)
            {
                \_SB.PCI0.SBRG.SIOH ()
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L04, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.P0PC, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0B, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.UHC1, 0x02)
                Notify (\_SB.PCI0.UHC2, 0x02)
                Notify (\_SB.PCI0.UHC3, 0x02)
                Notify (\_SB.PCI0.USB4, 0x02)
                Notify (\_SB.PCI0.UHC5, 0x02)
                Notify (\_SB.PCI0.UHC6, 0x02)
                Notify (\_SB.PCI0.UHC7, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
            Name (_UID, 0xAA)
            Name (_STA, 0x0B)
            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x03, 0x03))
            }
        }
    }

    Scope (_SB)
    {
        OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
        Field (PIRQ, ByteAcc, NoLock, Preserve)
        {
            PIDX,   8, 
            PDAT,   8
        }

        IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
        {
            PIRA,   8, 
            PIRB,   8, 
            PIRC,   8, 
            PIRD,   8, 
            PIRS,   8, 
                    Offset (0x09), 
            PIRE,   8, 
            PIRF,   8, 
            PIRG,   8, 
            PIRH,   8
        }

        OperationRegion (KBDD, SystemIO, 0x64, One)
        Field (KBDD, ByteAcc, NoLock, Preserve)
        {
            PD64,   8
        }

        Method (IRQC, 0, NotSerialized)
        {
            Store (Zero, PIRA)
            Store (Zero, PIRB)
            Store (Zero, PIRC)
            Store (Zero, PIRD)
            Store (PD64, Local1)
            Store (Zero, PIRE)
            Store (Zero, PIRF)
            Store (Zero, PIRG)
            Store (Zero, PIRH)
        }

        Name (BUFA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {15}
        })
        Name (IPRA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Name (IPRB, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Name (IPRC, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Name (IPRD, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, One)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRA)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSA)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRA)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRA, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRA)
            }
        }

        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRB)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSB)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRB)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRB, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRB)
            }
        }

        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRC)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSC)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRC)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRC, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRC)
            }
        }

        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRD)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSD)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRD)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRD, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRD)
            }
        }

        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x05)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRE)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSE)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRE)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRE, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (PIRE, Local0)
                Decrement (Local0)
                Store (Local0, PIRE)
            }
        }

        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRF)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSF)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRF)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRF, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRF)
            }
        }

        Device (LNKG)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRG)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSG)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRG)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRG, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRG)
            }
        }

        Device (LNKH)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRH)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSH)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (Zero, PIRH)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRH, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRH)
            }
        }
    }

    Scope (_SB)
    {
        Name (XCPD, Zero)
        Name (XNPT, One)
        Name (XCAP, 0x02)
        Name (XDCP, 0x04)
        Name (XDCT, 0x08)
        Name (XDST, 0x0A)
        Name (XLCP, 0x0C)
        Name (XLCT, 0x10)
        Name (XLST, 0x12)
        Name (XSCP, 0x14)
        Name (XSCT, 0x18)
        Name (XSST, 0x1A)
        Name (XRCT, 0x1C)
        Mutex (MUTE, 0x00)
        Method (RBPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, One)
            Field (PCFG, ByteAcc, NoLock, Preserve)
            {
                XCFG,   8
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (RWPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFE, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
            Field (PCFG, WordAcc, NoLock, Preserve)
            {
                XCFG,   16
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (RDPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (WBPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x0FFF)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, One)
            Field (PCFG, ByteAcc, NoLock, Preserve)
            {
                XCFG,   8
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (WWPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFE, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
            Field (PCFG, WordAcc, NoLock, Preserve)
            {
                XCFG,   16
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (WDPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (RWDP, 3, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            And (XCFG, Arg2, Local1)
            Or (Local1, Arg1, XCFG)
            Release (MUTE)
        }

        Method (RPME, 1, NotSerialized)
        {
            Add (Arg0, 0x84, Local0)
            Store (RDPE (Local0), Local1)
            If (LEqual (Local1, Ones))
            {
                Return (Zero)
            }
            Else
            {
                If (LAnd (Local1, 0x00010000))
                {
                    WDPE (Local0, And (Local1, 0x00010000))
                    Return (One)
                }

                Return (Zero)
            }
        }
    }

    Method (NB2S, 1, NotSerialized)
    {
    }

    Method (NB2W, 1, NotSerialized)
    {
    }

    Method (_GPE._L09, 0, NotSerialized)
    {
        Notify (\_TZ.THRM, 0x80)
    }

    Scope (_TZ)
    {
        ThermalZone (THRM)
        {
            Method (_TMP, 0, NotSerialized)
            {
                Return (RTMP ())
            }

            Method (_CRT, 0, NotSerialized)
            {
                Return (CTMP ())
            }
        }
    }

    OperationRegion (SENP, SystemIO, SSBS, 0x02)
    Field (SENP, ByteAcc, NoLock, Preserve)
    {
        INDX,   8, 
        DAT0,   8
    }

    Method (SBYT, 2, NotSerialized)
    {
        Store (Arg0, INDX)
        Store (Arg1, DAT0)
    }

    Method (GBYT, 1, NotSerialized)
    {
        Store (Arg0, INDX)
        Store (DAT0, Local0)
        Return (Local0)
    }

    Method (RTMP, 0, NotSerialized)
    {
        Store (GBYT (0x03), Local0)
        Store (GBYT (RTTR), Local0)
        FindSetLeftBit (Local0, Local1)
        If (LEqual (Local1, 0x08))
        {
            And (Local0, 0x7F, Local0)
            Multiply (Local0, 0x0A, Local0)
            Subtract (0x0AAC, Local0, Local0)
        }
        Else
        {
            Multiply (Local0, 0x0A, Local0)
            Add (0x0AAC, Local0, Local0)
        }

        Return (Local0)
    }

    Method (CTMP, 0, NotSerialized)
    {
        Store (GBYT (CSTR), Local0)
        FindSetLeftBit (Local0, Local1)
        If (LEqual (Local1, 0x08))
        {
            And (Local0, 0x7F, Local0)
            Multiply (Local0, 0x0A, Local0)
            Subtract (0x0AAC, Local0, Local0)
        }
        Else
        {
            Multiply (Local0, 0x0A, Local0)
            Add (0x0AAC, Local0, Local0)
        }

        Return (Local0)
    }

    Scope (_SB)
    {
        Scope (PCI0)
        {
            Name (CRS, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, )
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x0CF7,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0CF8,             // Length
                    ,, , TypeStatic)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,             // Granularity
                    0x0D00,             // Range Minimum
                    0xFFFF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0xF300,             // Length
                    ,, , TypeStatic)
                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
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, _Y22, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    ,, _Y23, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    ,, _Y24, AddressRangeMemory, TypeStatic)
            })
            CreateDWordField (CRS, \_SB.PCI0._Y22._MIN, MIN5)
            CreateDWordField (CRS, \_SB.PCI0._Y22._MAX, MAX5)
            CreateDWordField (CRS, \_SB.PCI0._Y22._LEN, LEN5)
            CreateDWordField (CRS, \_SB.PCI0._Y23._MIN, MIN6)
            CreateDWordField (CRS, \_SB.PCI0._Y23._MAX, MAX6)
            CreateDWordField (CRS, \_SB.PCI0._Y23._LEN, LEN6)
            CreateDWordField (CRS, \_SB.PCI0._Y24._MIN, MIN7)
            CreateDWordField (CRS, \_SB.PCI0._Y24._MAX, MAX7)
            CreateDWordField (CRS, \_SB.PCI0._Y24._LEN, LEN7)
            Method (_CRS, 0, NotSerialized)
            {
                Store (MG1L, Local0)
                If (Local0)
                {
                    Store (MG1B, MIN5)
                    Store (MG1L, LEN5)
                    Add (MIN5, Decrement (Local0), MAX5)
                }

                Store (MG2B, MIN6)
                Store (MG2L, LEN6)
                Store (MG2L, Local0)
                Add (MIN6, Decrement (Local0), MAX6)
                Store (MG3B, MIN7)
                Store (MG3L, LEN7)
                Store (MG3L, Local0)
                Add (MIN7, Decrement (Local0), MAX7)
                Return (CRS)
            }
        }
    }

    Name (WOTB, Zero)
    Name (WSSB, Zero)
    Name (WAXB, Zero)
    Method (_PTS, 1, NotSerialized)
    {
        Store (Arg0, DBG8)
        PTS (Arg0)
        Store (Zero, Index (WAKP, Zero))
        Store (Zero, Index (WAKP, One))
        If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
        {
            Sleep (0x0BB8)
        }

        Store (ASSB, WSSB)
        Store (AOTB, WOTB)
        Store (AAXB, WAXB)
        Store (Arg0, ASSB)
        Store (OSFL (), AOTB)
        Store (OSYS (), OSTP)
        Store (Zero, AAXB)
    }

    Method (_WAK, 1, NotSerialized)
    {
        Notify (\_SB.PWRB, 0x02)
        ShiftLeft (Arg0, 0x04, DBG8)
        WAK (Arg0)
        If (ASSB)
        {
            Store (WSSB, ASSB)
            Store (WOTB, AOTB)
            Store (WAXB, AAXB)
        }

        If (DerefOf (Index (WAKP, Zero)))
        {
            Store (Zero, Index (WAKP, One))
        }
        Else
        {
            Store (Arg0, Index (WAKP, One))
        }

        Return (WAKP)
    }

    Scope (_SB.PCI0)
    {
        Method (_INI, 0, NotSerialized)
        {
            Store (0x10, OSTY)
            If (CondRefOf (_OSI, Local1))
            {
                If (_OSI ("Windows 2000"))
                {
                    Store (0x12, OSTY)
                }
                Else
                {
                    If (_OSI ("Windows 2001"))
                    {
                        Store (0x13, OSTY)
                    }
                    Else
                    {
                        If (_OSI ("Windows 2001 SP1"))
                        {
                            Store (0x13, OSTY)
                        }
                        Else
                        {
                            If (_OSI ("Windows 2001 SP2"))
                            {
                                Store (0x13, OSTY)
                            }
                            Else
                            {
                                If (_OSI ("Windows 2001.1"))
                                {
                                    Store (0x14, OSTY)
                                }
                                Else
                                {
                                    If (_OSI ("Windows 2001.1 SP1"))
                                    {
                                        Store (0x14, OSTY)
                                    }
                                    Else
                                    {
                                        If (_OSI ("Windows 2006"))
                                        {
                                            Store (0x15, OSTY)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Else
            {
                If (MCTH (_OS, "Microsoft Windows NT"))
                {
                    Store (0x12, Local0)
                }
                Else
                {
                    If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
                    {
                        Store (0x11, OSTY)
                    }

                    If (MCTH (_OS, "Linux"))
                    {
                        Store (One, OSTY)
                    }
                }
            }

            If (LGreater (OSTY, 0x13))
            {
                Store (One, PWDE)
                Store (Zero, DPPF)
            }
        }
    }

    Scope (\)
    {
        OperationRegion (NCLK, SystemMemory, PCIE, 0x02000000)
        Field (NCLK, AnyAcc, NoLock, Preserve)
        {
                    Offset (0x4C), 
            CLKE,   1, 
                    Offset (0x1048), 
            P3HH,   12, 
            P3II,   1, 
                ,   18, 
            P3EE,   1, 
            P4EN,   1, 
            P4NM,   12, 
            P4HI,   12, 
            P4IO,   1, 
                    Offset (0x1050), 
            P5EN,   1, 
            P5NM,   12, 
            P5HI,   12, 
            P5IO,   1, 
                    Offset (0x1054), 
            P6EN,   1, 
            P6NM,   12, 
            P6HI,   12, 
            P6IO,   1, 
                    Offset (0x1078), 
            B178,   1, 
                    Offset (0x10B0), 
            P1NM,   12, 
            P1HI,   12, 
            P1EN,   1, 
            P1IO,   1, 
                    Offset (0x10B4), 
            P2NM,   12, 
            P2HI,   12, 
            P2EN,   1, 
            P2IO,   1, 
                    Offset (0x10CC), 
            P3EN,   1, 
            P3NM,   12, 
            P3HI,   12, 
            P3IO,   1
        }

        OperationRegion (SOR1, SystemIO, SBA1, 0x10)
        Field (SOR1, ByteAcc, NoLock, Preserve)
        {
            SMSA,   8, 
            SSSA,   8, 
            SBCA,   8, 
            SHCA,   8, 
            SBAA,   8, 
            SD0A,   8, 
            SD1A,   8, 
            SBDA,   8, 
            SSCA,   8, 
            SMCA,   8, 
            SSEA,   16, 
            SSDA,   16, 
            SMTA,   8
        }

        OperationRegion (SOR2, SystemIO, SBA2, 0x10)
        Field (SOR2, ByteAcc, NoLock, Preserve)
        {
            SMSB,   8, 
            SSSB,   8, 
            SBCB,   8, 
            SHCB,   8, 
            SBAB,   8, 
            SD0B,   8, 
            SD1B,   8, 
            SBDB,   8, 
            SSCB,   8, 
            SMCB,   8, 
            SSEB,   16, 
            SSDB,   16, 
            SMTB,   8
        }

        Mutex (MSMB, 0x00)
        Method (RWBK, 5, NotSerialized)
        {
            Acquire (MSMB, 0xFFFF)
            If (LEqual (Arg0, Zero))
            {
                Store (SMSA, Local0)
                And (Local0, Zero, Local0)
                Or (Local0, 0xFF, Local0)
                Store (Local0, SMSA)
                Sleep (0x02)
                Store (SBAA, Local0)
                And (Local0, Zero, Local0)
                Or (Local0, Arg1, Local0)
                Store (Local0, SBAA)
                Sleep (0x02)
                Store (SHCA, Local0)
                And (Local0, Zero, Local0)
                Or (Local0, Arg2, Local0)
                Store (Local0, SHCA)
                Sleep (0x02)
                Store (SBCA, Local0)
                And (Local0, Zero, Local0)
                Or (Local0, 0x14, Local0)
                Store (Local0, SBCA)
                Sleep (0x02)
                Store (SD0A, Local0)
                And (Local0, Zero, Local0)
                Or (Local0, Arg3, Local0)
                Store (Local0, SD0A)
                Sleep (0x02)
                And (Arg1, One, Local1)
                If (LEqual (Local1, Zero))
                {
                    Store (Arg3, Local2)
                    Store (Arg2, Local3)
                    While (Local2)
                    {
                        Store (DerefOf (Index (Arg4, Local3)), Local4)
                        Store (Local4, SBDA)
                        Sleep (0x02)
                        Decrement (Local2)
                        Increment (Local3)
                    }
                }

                Store (SBCA, Local0)
                And (Local0, Zero, Local0)
                Or (Local0, 0x54, Local0)
                Store (Local0, SBCA)
                Sleep (0x02)
                Store (SMSA, Local1)
                While (LNot (And (Local1, One)))
                {
                    Store (SMSA, Local1)
                    If (And (Local1, 0x1C))
                    {
                        Release (MSMB)
                        Return (One)
                    }

                    If (And (Local1, 0x02))
                    {
                        Break
                    }

                    Sleep (0x02)
                }

                Store (SMSA, Local1)
                While (And (Local1, One))
                {
                    Store (SMSA, Local1)
                    Sleep (0x02)
                }

                And (Arg1, One, Local1)
                If (Local1)
                {
                    Store (Arg2, Local1)
                    Store (Arg3, Local2)
                    While (Local2)
                    {
                        Store (SBDA, Index (Arg4, Local1))
                        Sleep (0x02)
                        Increment (Local1)
                        Decrement (Local2)
                    }
                }
            }

            If (LEqual (Arg0, One)) {}
            Release (MSMB)
            Return (Zero)
        }

        Method (WBTD, 4, NotSerialized)
        {
            Store (DerefOf (Index (Arg0, Arg1)), Local0)
            Or (And (Local0, Arg2), Arg3, Local0)
            Store (Local0, Index (Arg0, Arg1))
            PSM0 (0xD2, Or (Arg1, 0x80), One, Local0)
        }

        Method (GSTB, 3, NotSerialized)
        {
            Store (Zero, Local1)
            Store (Arg1, Local0)
            While (Local0)
            {
                Store (PSM0 (0xD2, Or (Add (Arg0, Local1), 0x80), 
                    Zero, Zero), Local2)
                Store (Local2, Index (Arg2, Add (Arg0, Local1)))
                Sleep (0x02)
                Increment (Local1)
                Decrement (Local0)
            }

            Return (Zero)
        }

        Method (PSM0, 4, NotSerialized)
        {
            Store (SMSA, Local0)
            Store (Or (Local0, 0x1F), SMSA)
            Sleep (0x02)
            If (LEqual (Arg2, Zero))
            {
                Store (Or (Arg0, One), SBAA)
            }
            Else
            {
                If (LEqual (Arg2, One))
                {
                    Store (Arg0, SBAA)
                }
            }

            Sleep (0x02)
            Store (Arg1, SHCA)
            Sleep (0x02)
            If (LEqual (Arg2, Zero))
            {
                Store (0x4C, SBCA)
                Sleep (0x02)
                Store (SMSA, Local0)
                And (Local0, One, Local0)
                While (Local0)
                {
                    Sleep (0x02)
                    Store (SMSA, Local0)
                    And (Local0, One, Local0)
                }

                Store (SMSA, Local0)
                And (Local0, 0x1C, Local0)
                If (LNotEqual (Local0, Zero))
                {
                    Return (0xFF)
                }

                Sleep (0x02)
                Store (SD1A, Local0)
                Return (Local0)
            }
            Else
            {
                If (LEqual (Arg2, One))
                {
                    Store (Arg3, SD0A)
                    Sleep (0x02)
                    Store (Arg3, SD1A)
                    Sleep (0x02)
                    Store (0x4C, SBCA)
                    Sleep (0x02)
                    Store (SMSA, Local0)
                    And (Local0, One, Local0)
                    While (Local0)
                    {
                        Sleep (0x02)
                        Store (SMSA, Local0)
                        And (Local0, One, Local0)
                    }

                    Store (SMSA, Local0)
                    And (Local0, 0x1C, Local0)
                    If (LNotEqual (Local0, Zero))
                    {
                        Return (0xFF)
                    }

                    Return (Zero)
                }
            }
        }

        OperationRegion (IOOR, SystemIO, SIOP, 0x02)
        Field (IOOR, ByteAcc, NoLock, Preserve)
        {
            IOID,   8, 
            IODT,   8
        }

        OperationRegion (GBOR, SystemIO, GIOB, 0x02)
        Field (GBOR, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x01), 
                ,   5, 
            GP25,   1, 
            GP26,   1
        }

        Method (RSIO, 1, NotSerialized)
        {
            Store (Arg0, IOID)
            Return (IODT)
        }

        Method (WSIO, 2, NotSerialized)
        {
            Store (Arg0, IOID)
            Store (Arg1, IODT)
        }

        Method (RWIO, 3, NotSerialized)
        {
            WSIO (Arg0, Or (And (RSIO (Arg0), Arg1), Arg2))
        }

        Name (IPSW, Package (0x02)
        {
            Package (0x04)
            {
                0x87, 
                One, 
                0x55, 
                0x55
            }, 

            Package (0x04)
            {
                0x87, 
                One, 
                0x55, 
                0xAA
            }
        })
        Method (SLDN, 1, NotSerialized)
        {
            Store (Zero, Local1)
            If (LEqual (SIOP, 0x2E))
            {
                Store (Zero, Local1)
            }

            If (LEqual (SIOP, 0x4E))
            {
                Store (One, Local1)
            }

            Store (Zero, Local0)
            While (LNotEqual (Local0, 0x04))
            {
                Store (DerefOf (Index (DerefOf (Index (IPSW, Local1)), Local0)), 
                    IOID)
                Increment (Local0)
            }

            WSIO (0x07, Arg0)
        }

        Method (APTS, 1, NotSerialized)
        {
            \AOD.APTS (Arg0)
        }

        Method (AWAK, 1, NotSerialized)
        {
            \AOD.AWAK (Arg0)
        }

        Device (AOD)
        {
            Name (DBG, One)
            Name (GDBG, One)
            Name (CDBG, Zero)
            Name (VDBG, One)
            Name (RDBG, Zero)
            Name (OBID, Package (0x1C)
            {
                0x04, 
                0x01010000, 
                0x01020000, 
                0x01030000, 
                0x02010000, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                One, 
                One, 
                One, 
                One, 
                0xFF, 
                0xFF, 
                0xFF, 
                0xFF, 
                0xFF, 
                "CPU Clock", 
                "PCIE Clock", 
                "South Bridge Clock", 
                "Mem VDDQ", 
                "", 
                "", 
                "", 
                "", 
                ""
            })
            Name (OBIT, Package (0x1D)
            {
                0x01010000, 
                0x0002E630, 
                0x00061A80, 
                Zero, 
                0x03E8, 
                Zero, 
                0x01020000, 
                0x00015F90, 
                0x0003D090, 
                Zero, 
                0x03E8, 
                Zero, 
                0x01030000, 
                0x00015F90, 
                0x000249F0, 
                Zero, 
                0x03E8, 
                Zero, 
                0x02010000, 
                0x0002BF20, 
                0x0003B538, 
                Zero, 
                0x0C4E, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Name (OBDT, Package (0x01)
            {
                Zero
            })
            Method (BM01, 0, NotSerialized)
            {
                PWMR (0x03)
                If (LNot (LAnd (PXEN, PXIO)))
                {
                    Store (One, CLKE)
                    Store (One, B178)
                    Store (0x5A, P3HH)
                    Store (0x5A, P3HI)
                    Store (One, P3IO)
                    Store (One, P3II)
                    Store (One, P3EN)
                    Store (One, P3EE)
                    Store (0x63, P3NM)
                    Store (Zero, CLKE)
                }
            }

            Method (XINI, 0, NotSerialized)
            {
            }

            Method (EM01, 0, NotSerialized)
            {
            }

            Method (BM05, 1, NotSerialized)
            {
            }

            Method (EM05, 1, NotSerialized)
            {
            }

            Method (HM06, 0, NotSerialized)
            {
            }

            Method (HM07, 1, NotSerialized)
            {
            }

            Method (DISC, 0, NotSerialized)
            {
                SLDN (0x07)
                RWIO (0x26, 0xFF, 0x40)
                RWIO (0x2C, 0xEF, Zero)
                RWIO (0xC1, 0xFF, 0x40)
                RWIO (0xC9, 0xFF, 0x40)
                RWIO (0xB9, 0xFF, 0x40)
                Store (Zero, GP26)
            }

            Method (CNCT, 0, NotSerialized)
            {
                Store (One, GP26)
            }

            Name (PWMT, Buffer (0x09)
            {
                /* 0000 */    0x01, 0x02, 0x01, 0x00, 0x1E, 0x1E, 0x01, 0x63, 
                /* 0008 */    0xFF
            })
            Method (VTR, 1, NotSerialized)
            {
                Store (Zero, Local0)
                Store (Arg0, Local1)
                If (LEqual (PWMX, 0x02))
                {
                    Store (Add (Divide (Subtract (0x000369D4, Local1), 0x0596, ), 
                        PMIN), Local0)
                }
                Else
                {
                    If (LEqual (PWMX, 0x03))
                    {
                        Store (Add (Divide (Subtract (0x000278D0, Local1), 0x0A8C, ), 
                            PMIN), Local0)
                    }
                    Else
                    {
                        Store (Zero, Local0)
                    }
                }

                Return (Local0)
            }

            Method (RTV, 1, NotSerialized)
            {
                Store (Arg0, Local0)
                If (LEqual (PWMX, 0x02))
                {
                    Store (Subtract (0x000369D4, Multiply (Subtract (Local0, PMIN), 0x0596)
                        ), Local1)
                }
                Else
                {
                    If (LEqual (PWMX, 0x03))
                    {
                        Store (Subtract (0x000278D0, Multiply (Subtract (Local0, PMIN), 0x0A8C)
                            ), Local1)
                    }
                    Else
                    {
                        Store (Zero, Local1)
                    }
                }

                Return (Local1)
            }

            Name (QLST, Package (0x07)
            {
                0x06, 
                Package (0x08)
                {
                    0x26CE, 
                    "Advanced Clock Calibration", 
                    Zero, 
                    0x04, 
                    Buffer (0x09)
                    {
                        "Disabled"
                    }, 

                    Buffer (0x05)
                    {
                        "Auto"
                    }, 

                    Buffer (0x0A)
                    {
                        "All Cores"
                    }, 

                    Buffer (0x09)
                    {
                        "Per Core"
                    }
                }, 

                Package (0x16)
                {
                    0x4520, 
                    "Value (All Cores)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x82, 0x02, 0x01, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x86, 0x10, 0x00, 0x02, 0x00
                    }, 

                    0x10, 
                    Buffer (0x03)
                    {
                        "0%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "+10%"
                    }, 

                    Buffer (0x05)
                    {
                        "+12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x05)
                    {
                        "- 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "-10%"
                    }, 

                    Buffer (0x05)
                    {
                        "-12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }
                }, 

                Package (0x16)
                {
                    0x4524, 
                    "Value (Core 0)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x82, 0x03, 0x01, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x86, 0x10, 0x00, 0x02, 0x00
                    }, 

                    0x10, 
                    Buffer (0x03)
                    {
                        "0%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "+10%"
                    }, 

                    Buffer (0x05)
                    {
                        "+12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x05)
                    {
                        "- 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "-10%"
                    }, 

                    Buffer (0x05)
                    {
                        "-12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }
                }, 

                Package (0x16)
                {
                    0x4528, 
                    "Value (Core 1)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x82, 0x03, 0x01, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x86, 0x10, 0x00, 0x02, 0x00
                    }, 

                    0x10, 
                    Buffer (0x03)
                    {
                        "0%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "+10%"
                    }, 

                    Buffer (0x05)
                    {
                        "+12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x05)
                    {
                        "- 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "-10%"
                    }, 

                    Buffer (0x05)
                    {
                        "-12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }
                }, 

                Package (0x16)
                {
                    0x452C, 
                    "Value (Core 2)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x82, 0x03, 0x01, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x86, 0x10, 0x00, 0x02, 0x00
                    }, 

                    0x10, 
                    Buffer (0x03)
                    {
                        "0%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "+10%"
                    }, 

                    Buffer (0x05)
                    {
                        "+12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x05)
                    {
                        "- 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "-10%"
                    }, 

                    Buffer (0x05)
                    {
                        "-12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }
                }, 

                Package (0x16)
                {
                    0x4530, 
                    "Value (Core 3)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x82, 0x03, 0x01, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x86, 0x10, 0x00, 0x02, 0x00
                    }, 

                    0x10, 
                    Buffer (0x03)
                    {
                        "0%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "+ 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "+10%"
                    }, 

                    Buffer (0x05)
                    {
                        "+12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }, 

                    Buffer (0x05)
                    {
                        "- 2%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 4%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 6%"
                    }, 

                    Buffer (0x05)
                    {
                        "- 8%"
                    }, 

                    Buffer (0x05)
                    {
                        "-10%"
                    }, 

                    Buffer (0x05)
                    {
                        "-12%"
                    }, 

                    Buffer (0x09)
                    {
                        "RESERVED"
                    }
                }
            })
            Name (ID01, Zero)
            Name (ID02, Zero)
            Method (SOID, 1, NotSerialized)
            {
                ShiftRight (Arg0, 0x18, ID01)
                ShiftRight (And (Arg0, 0x00FF0000), 0x10, ID02)
                Return (Zero)
            }

            Method (WROW, 4, NotSerialized)
            {
                Name (IFPK, Package (0x06)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                CreateDWordField (Arg0, Zero, BUF0)
                CreateDWordField (Arg0, 0x04, BUF1)
                CreateDWordField (Arg0, 0x08, BUF2)
                CreateDWordField (Arg0, 0x0C, BUF3)
                CreateDWordField (Arg0, 0x10, BUF4)
                CreateDWordField (Arg0, 0x14, BUF5)
                Store (BUF0, Index (IFPK, Zero))
                Store (BUF1, Index (IFPK, One))
                Store (BUF2, Index (IFPK, 0x02))
                Store (BUF3, Index (IFPK, 0x03))
                Store (BUF4, Index (IFPK, 0x04))
                Store (BUF5, Index (IFPK, 0x05))
                Store (Arg3, Local0)
                Store (Zero, Local1)
                While (Local0)
                {
                    Store (DerefOf (Index (IFPK, Local1)), Index (Arg1, Add (Multiply (
                        Arg2, Arg3), Local1)))
                    Increment (Local1)
                    Decrement (Local0)
                }
            }

            Method (GROW, 4, NotSerialized)
            {
                Name (IFPK, Package (0x06)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Store (Arg3, Local0)
                Store (Zero, Local1)
                While (Local0)
                {
                    Store (DerefOf (Index (Arg0, Add (Multiply (Arg2, Arg3), Local1
                        ))), Index (IFPK, Local1))
                    Increment (Local1)
                    Decrement (Local0)
                }

                CreateDWordField (Arg1, Zero, BUF0)
                CreateDWordField (Arg1, 0x04, BUF1)
                CreateDWordField (Arg1, 0x08, BUF2)
                CreateDWordField (Arg1, 0x0C, BUF3)
                CreateDWordField (Arg1, 0x10, BUF4)
                CreateDWordField (Arg1, 0x14, BUF5)
                Store (DerefOf (Index (IFPK, Zero)), BUF0)
                Store (DerefOf (Index (IFPK, One)), BUF1)
                Store (DerefOf (Index (IFPK, 0x02)), BUF2)
                Store (DerefOf (Index (IFPK, 0x03)), BUF3)
                Store (DerefOf (Index (IFPK, 0x04)), BUF4)
                Store (DerefOf (Index (IFPK, 0x05)), BUF5)
            }

            Method (CPTB, 2, NotSerialized)
            {
                Name (LOID, Zero)
                CreateDWordField (Arg1, Zero, BUF0)
                CreateDWordField (Arg1, 0x04, BUF1)
                CreateDWordField (Arg1, 0x08, BUF2)
                CreateDWordField (Arg1, 0x0C, BUF3)
                CreateDWordField (Arg1, 0x10, BUF4)
                Store (Zero, Local0)
                Store (DerefOf (Index (OBIT, Local0)), LOID)
                While (LOID)
                {
                    If (LEqual (LOID, Arg0))
                    {
                        Store (DerefOf (Index (OBIT, Add (Local0, Zero))), BUF0)
                        Store (DerefOf (Index (OBIT, Add (Local0, One))), BUF1)
                        Store (DerefOf (Index (OBIT, Add (Local0, 0x02))), BUF2)
                        Store (DerefOf (Index (OBIT, Add (Local0, 0x03))), BUF3)
                        Store (DerefOf (Index (OBIT, Add (Local0, 0x04))), BUF4)
                        Break
                    }

                    Add (Local0, 0x06, Local0)
                    Store (DerefOf (Index (OBIT, Local0)), LOID)
                }

                If (LEqual (LOID, Zero))
                {
                    Return (0xFF)
                }

                Return (Zero)
            }

            Method (CBTP, 1, NotSerialized)
            {
                Name (LOID, Zero)
                CreateDWordField (Arg0, Zero, BUF0)
                CreateDWordField (Arg0, 0x04, BUF1)
                CreateDWordField (Arg0, 0x08, BUF2)
                CreateDWordField (Arg0, 0x0C, BUF3)
                CreateDWordField (Arg0, 0x10, BUF4)
                CreateDWordField (Arg0, 0x14, BUF5)
                Store (Zero, Local0)
                Store (DerefOf (Index (OBIT, Local0)), LOID)
                While (LOID)
                {
                    If (LEqual (LOID, BUF0))
                    {
                        Store (BUF0, Index (OBIT, Add (Local0, Zero)))
                        Store (BUF1, Index (OBIT, Add (Local0, One)))
                        Store (BUF2, Index (OBIT, Add (Local0, 0x02)))
                        Store (BUF3, Index (OBIT, Add (Local0, 0x03)))
                        Store (BUF4, Index (OBIT, Add (Local0, 0x04)))
                        Store (BUF5, Index (OBIT, Add (Local0, 0x05)))
                        Break
                    }

                    Add (Local0, 0x06, Local0)
                    Store (DerefOf (Index (OBIT, Local0)), LOID)
                }

                If (LEqual (LOID, Zero))
                {
                    Return (0xFF)
                }

                Return (Zero)
            }

            Method (ABS, 2, NotSerialized)
            {
                If (LLess (Arg0, Arg1))
                {
                    Return (Subtract (Arg1, Arg0))
                }
                Else
                {
                    Return (Subtract (Arg0, Arg1))
                }
            }

            Name (DG01, One)
            Name (DG02, 0x02)
            Name (DG03, 0x03)
            Name (DG04, 0x04)
            Method (ADBG, 2, NotSerialized)
            {
                If (DBG)
                {
                    If (LEqual (Arg1, DG01))
                    {
                        If (GDBG)
                        {
                            Store ("[GEN]", Debug)
                            Store (Arg0, Debug)
                        }
                    }
                    Else
                    {
                        If (LEqual (Arg1, DG02))
                        {
                            If (CDBG)
                            {
                                Store ("[CLK]", Debug)
                                Store (Arg0, Debug)
                            }
                        }
                        Else
                        {
                            If (LEqual (Arg1, DG03))
                            {
                                If (VDBG)
                                {
                                    Store ("[VOL]", Debug)
                                    Store (Arg0, Debug)
                                }
                            }
                            Else
                            {
                                If (LEqual (Arg1, DG04))
                                {
                                    If (RDBG)
                                    {
                                        Store ("[RCMD]", Debug)
                                        Store (Arg0, Debug)
                                    }
                                }
                                Else
                                {
                                    Store ("[NULL]", Debug)
                                    Store (Arg0, Debug)
                                }
                            }
                        }
                    }
                }
            }

            Method (SITV, 7, NotSerialized)
            {
                Store (Zero, GERR)
                Store (Arg1, Local0)
                Store (Zero, Local1)
                If (LEqual (Arg5, One))
                {
                    While (Local0)
                    {
                        If (LEqual (DerefOf (Index (Arg3, Local1)), Arg0))
                        {
                            Store (Arg2, Local2)
                            Store (Zero, Local3)
                            While (Local2)
                            {
                                Store (DerefOf (Index (Arg3, Add (Local1, Local3))), Index (
                                    Arg4, Local3))
                                Increment (Local3)
                                Decrement (Local2)
                            }

                            Break
                        }

                        Add (Local1, Arg2, Local1)
                        Decrement (Local0)
                    }

                    If (LEqual (Local0, Zero))
                    {
                        Or (GERR, One, GERR)
                    }
                }
                Else
                {
                    If (LEqual (Arg5, 0x02))
                    {
                        While (Local0)
                        {
                            If (LEqual (DerefOf (Index (Arg3, Local1)), Arg0))
                            {
                                If (LEqual (DerefOf (Index (Arg3, Add (Local1, One))), 
                                    Arg6))
                                {
                                    Store (Arg2, Local2)
                                    Store (Zero, Local3)
                                    While (Local2)
                                    {
                                        Store (DerefOf (Index (Arg3, Add (Local1, Local3))), Index (
                                            Arg4, Local3))
                                        Increment (Local3)
                                        Decrement (Local2)
                                    }

                                    Break
                                }
                            }

                            Add (Local1, Arg2, Local1)
                            Decrement (Local0)
                        }

                        If (LEqual (Local0, Zero))
                        {
                            Or (GERR, One, GERR)
                        }
                    }
                    Else
                    {
                        Or (GERR, One, GERR)
                    }
                }
            }

            OperationRegion (AODT, SystemMemory, 0x000EFE4C, 0x0100)
            Field (AODT, AnyAcc, NoLock, Preserve)
            {
                ASCD,   16, 
                ASTS,   32, 
                        Offset (0x08), 
                ASBF,   960, 
                GFXO,   1, 
                GMOD,   2
            }

            OperationRegion (SMIX, SystemIO, SMIP, One)
            Field (SMIX, ByteAcc, NoLock, Preserve)
            {
                SMIC,   8
            }

            Name (EXBF, Buffer (0x78) {})
            Method (GCMS, 1, NotSerialized)
            {
                Name (TEMP, Buffer (0x06) {})
                CreateDWordField (TEMP, Zero, TMP1)
                CreateWordField (TEMP, 0x04, TMP2)
                Store (One, ASCD)
                CreateWordField (EXBF, Zero, CMSI)
                CreateWordField (EXBF, 0x02, CMSD)
                Store (Zero, EXBF)
                Store (Arg0, CMSI)
                Store (EXBF, ASBF)
                Store (AODS, SMIC)
                Store (ASBF, EXBF)
                Store (ASTS, TMP1)
                Store (CMSD, TMP2)
                Return (TEMP)
            }

            Method (SCMS, 2, NotSerialized)
            {
                Store (0x02, ASCD)
                CreateWordField (EXBF, Zero, CMSI)
                CreateWordField (EXBF, 0x02, CMSD)
                Store (Zero, EXBF)
                Store (Arg0, CMSI)
                Store (Arg1, CMSD)
                Store (EXBF, ASBF)
                Store (AODS, SMIC)
                Store (ASBF, EXBF)
                Return (ASTS)
            }

            Name (CPUD, Zero)
            Name (GFXD, Zero)
            Name (SBCD, Zero)
            Name (GCIR, Buffer (0x0A)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                /* 0008 */    0x00, 0x00
            })
            CreateByteField (GCIR, Zero, GID1)
            CreateByteField (GCIR, One, GVCH)
            CreateByteField (GCIR, 0x02, GMSH)
            CreateByteField (GCIR, 0x03, GSTH)
            CreateByteField (GCIR, 0x04, GVCL)
            CreateByteField (GCIR, 0x05, GMSL)
            CreateByteField (GCIR, 0x06, GSTL)
            CreateByteField (GCIR, 0x07, GVDI)
            CreateByteField (GCIR, 0x08, GIEN)
            CreateByteField (GCIR, 0x09, GIBT)
            Method (GETC, 1, NotSerialized)
            {
                ADBG ("getc", DG02)
                If (GSTB (Zero, 0x20, TSBF))
                {
                    ADBG (TSBF, DG02)
                    Store (One, GVB2)
                    Store (Zero, GVB1)
                    Return (GVBF)
                }

                ADBG (TSBF, DG02)
                Store (Zero, GVB2)
                SCCT (ID02)
                Store (GOCC (), GVB1)
                Return (GVBF)
            }

            Method (SETC, 2, NotSerialized)
            {
                If (GSTB (Zero, 0x20, TSBF))
                {
                    Return (One)
                }

                SCCT (ID02)
                SOCC (Arg1)
                Return (Zero)
            }

            Method (CINI, 0, NotSerialized)
            {
                GSTB (Zero, 0x20, TSBF)
                Or (OCFL, One, OCFL)
                Return (Zero)
            }

            Method (GCCX, 4, NotSerialized)
            {
                And (DerefOf (Index (TSBF, Arg2)), 0x80, Local0)
                ShiftRight (Local0, 0x07, Local0)
                And (DerefOf (Index (TSBF, Arg0)), 0xC0, Local1)
                ShiftRight (Local1, 0x05, Local1)
                And (DerefOf (Index (TSBF, Arg1)), 0xFF, Local2)
                ShiftLeft (Local2, 0x03, Local2)
                Add (Local0, Local1, Local0)
                Add (Local0, Local2, Local0)
                And (DerefOf (Index (TSBF, Arg0)), 0x3F, Local1)
                Multiply (Arg3, Local0, Local2)
                Divide (Local2, Local1, , Local3)
                Return (Local3)
            }

            Method (CCLK, 1, NotSerialized)
            {
                Name (VCOV, Zero)
                Name (VCOD, Zero)
                If (LEqual (Arg0, One))
                {
                    If (LEqual (CPUD, Zero))
                    {
                        Store (GDIV (0x14), CPUD)
                    }

                    Store (CPUD, VCOD)
                    Store (GCCX (0x10, 0x11, 0x14, 0xC350), VCOV)
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        If (LEqual (GFXD, Zero))
                        {
                            Store (GDIV (0x1C), GFXD)
                        }

                        Store (GFXD, VCOD)
                        Store (GCCX (0x1A, 0x1B, 0x1C, 0x37EE), VCOV)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            If (LEqual (SBCD, Zero))
                            {
                                Store (GDIV (0x1F), SBCD)
                            }

                            Store (SBCD, VCOD)
                            Store (GCCX (0x1D, 0x1E, 0x1F, 0x37EE), VCOV)
                        }
                    }
                }

                Return (Divide (VCOV, VCOD, ))
            }

            Method (GETM, 1, NotSerialized)
            {
                And (DerefOf (Index (TSBF, Arg0)), 0x3F, Local1)
                Return (Local1)
            }

            Method (GETN, 3, NotSerialized)
            {
                And (DerefOf (Index (TSBF, Arg2)), 0x80, Local0)
                ShiftRight (Local0, 0x07, Local0)
                And (DerefOf (Index (TSBF, Arg0)), 0xC0, Local1)
                ShiftRight (Local1, 0x05, Local1)
                And (DerefOf (Index (TSBF, Arg1)), 0xFF, Local2)
                ShiftLeft (Local2, 0x03, Local2)
                Add (Local0, Local1, Local0)
                Add (Local0, Local2, Local0)
                Return (Local0)
            }

            Method (SETM, 2, NotSerialized)
            {
                Store (Or (And (DerefOf (Index (TSBF, Arg1)), 0xC0), 
                    Arg0), Index (TSBF, Arg1))
            }

            Method (SETN, 4, NotSerialized)
            {
                Store (Or (And (ShiftLeft (Arg0, 0x05), 0xC0), And (
                    DerefOf (Index (TSBF, Arg1)), 0x3F)), Index (TSBF, Arg1
                    ))
                Store (And (ShiftRight (Arg0, 0x03), 0xFF), Index (TSBF, 
                    Arg2))
                Or (And (DerefOf (Index (TSBF, Arg3)), 0x7F), And (
                    ShiftLeft (Arg0, 0x07), 0x80), Index (TSBF, Arg3))
            }

            Method (SCCX, 6, NotSerialized)
            {
                Name (MAXC, Zero)
                Name (NNNN, Zero)
                Name (MMMM, Zero)
                Name (CURC, Zero)
                Name (TARC, Zero)
                Name (REFC, Zero)
                Name (OFF0, Zero)
                Name (OFF1, Zero)
                Name (OFF2, Zero)
                Store (Arg0, CURC)
                Store (Arg1, TARC)
                Store (Arg2, OFF0)
                Store (Arg3, OFF1)
                Store (Arg4, OFF2)
                Store (Arg5, REFC)
                Store (GETM (OFF0), MMMM)
                Store (GETN (OFF0, OFF1, OFF2), NNNN)
                Store (Divide (Multiply (REFC, 0x07FF), MMMM, ), MAXC)
                While (LLess (MAXC, TARC))
                {
                    ADBG ("MAXC", DG02)
                    ADBG (MAXC, DG02)
                    Decrement (MMMM)
                    SETM (MMMM, OFF0)
                    ADBG (TSBF, DG02)
                    If (RWBK (Zero, 0xD2, Arg1, Add (Subtract (OFF2, OFF0), 
                        One), TSBF))
                    {
                        Return (One)
                    }

                    Store (GETM (OFF0), MMMM)
                    Store (Divide (Multiply (REFC, 0x07FF), MMMM, ), MAXC)
                }

                Store (GCCX (OFF0, OFF1, OFF2, REFC), CURC)
                If (LGreater (CURC, TARC))
                {
                    While (LGreater (CURC, TARC))
                    {
                        Decrement (NNNN)
                        SETN (NNNN, OFF0, OFF1, OFF2)
                        If (RWBK (Zero, 0xD2, OFF0, Add (Subtract (OFF2, OFF0), 
                            One), TSBF))
                        {
                            Return (One)
                        }

                        ADBG ("M/N", DG02)
                        ADBG (MMMM, DG02)
                        ADBG (NNNN, DG02)
                        Store (GCCX (OFF0, OFF1, OFF2, REFC), CURC)
                        ADBG ("CURC", DG02)
                        ADBG (CURC, DG02)
                    }
                }
                Else
                {
                    If (LLess (CURC, TARC))
                    {
                        While (LLess (CURC, TARC))
                        {
                            Increment (NNNN)
                            SETN (NNNN, OFF0, OFF1, OFF2)
                            If (RWBK (Zero, 0xD2, OFF0, Add (Subtract (OFF2, OFF0), 
                                One), TSBF))
                            {
                                Return (One)
                            }

                            ADBG ("M/N", DG02)
                            ADBG (MMMM, DG02)
                            ADBG (NNNN, DG02)
                            Store (GCCX (OFF0, OFF1, OFF2, REFC), CURC)
                            ADBG ("CURC", DG02)
                            ADBG (CURC, DG02)
                        }
                    }
                }

                Return (Zero)
            }

            Name (DIVD, Buffer (0x10)
            {
                /* 0000 */    0x02, 0x03, 0x05, 0x09, 0x04, 0x06, 0x0A, 0x12, 
                /* 0008 */    0x08, 0x0C, 0x14, 0x24, 0x10, 0x18, 0x28, 0x48
            })
            Method (GDIV, 1, NotSerialized)
            {
                Return (DerefOf (Index (DIVD, And (DerefOf (Index (TSBF, Arg0)), 
                    0x0F))))
            }

            Method (WTCX, 3, NotSerialized)
            {
                Store (Arg1, Local0)
                Store (Arg2, Local1)
                If (LEqual (Arg0, One))
                {
                    Return (SCCX (Local0, Local1, 0x10, 0x11, 0x14, 0xC350))
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Return (SCCX (Local0, Local1, 0x1A, 0x1B, 0x1C, 0x37EE))
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Return (SCCX (Local0, Local1, 0x1D, 0x1E, 0x1F, 0x37EE))
                        }
                    }
                }

                Return (0x04)
            }

            Method (GOCC, 0, NotSerialized)
            {
                Store (DerefOf (Index (TSBF, GVCL)), Local0)
                Store (DerefOf (Index (TSBF, GVCH)), Local1)
                ShiftRight (And (Local1, GMSH), GSTH, Local1)
                Add (Multiply (Local1, 0x0100), Local0, Local0)
                Multiply (Divide (Local0, GVDI, ), 0x03E8, Local0)
                Return (Local0)
            }

            Name (VCOH, Zero)
            Name (VCOL, Zero)
            Method (SOCC, 1, NotSerialized)
            {
                Store (Divide (Arg0, 0x03E8, ), Local0)
                Multiply (Local0, GVDI, Local0)
                Store (Local0, Local1)
                ShiftLeft (And (Local0, 0xFF), GSTL, VCOL)
                ShiftLeft (ShiftRight (Local1, 0x08, Local1), GSTH, VCOH)
                WBTD (TSBF, GIEN, Not (GIBT), Zero)
                WBTD (TSBF, GVCL, Not (GMSL), VCOL)
                WBTD (TSBF, GVCH, Not (GMSH), VCOH)
                WBTD (TSBF, GIEN, Not (GIBT), GIBT)
            }

            Method (SCCT, 1, NotSerialized)
            {
                SITV (Arg0, 0x03, 0x0A, DCIF, GCIR, One, Zero)
            }

            Name (DCIF, Buffer (0x1E)
            {
                /* 0000 */    0x01, 0x11, 0x70, 0x04, 0x0F, 0xFF, 0x00, 0x02, 
                /* 0008 */    0x1F, 0x80, 0x02, 0x11, 0x07, 0x00, 0x10, 0xFF, 
                /* 0010 */    0x00, 0x06, 0x1F, 0x10, 0x03, 0x14, 0x70, 0x04, 
                /* 0018 */    0x12, 0xFF, 0x00, 0x06, 0x1F, 0x40
            })
            Name (PWIF, Buffer (0x08)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (PWIF, One, PWMX)
            CreateByteField (PWIF, 0x02, PWEN)
            CreateByteField (PWIF, 0x03, PMIN)
            CreateByteField (PWIF, 0x04, PMAX)
            CreateByteField (PWIF, 0x05, PDFT)
            CreateByteField (PWIF, 0x06, PSTP)
            CreateByteField (PWIF, 0x07, PNMD)
            Name (PXIF, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (PXIF, Zero, PXHI)
            CreateByteField (PXIF, One, PXNM)
            CreateByteField (PXIF, 0x02, PXEN)
            CreateByteField (PXIF, 0x03, PXIO)
            Method (VINI, 0, NotSerialized)
            {
                ADBG ("VINI", DG03)
                Name (LDFT, Zero)
                Store (DerefOf (Index (OBID, Zero)), Local0)
                Store (One, Local1)
                While (Local0)
                {
                    SOID (DerefOf (Index (OBID, Local1)))
                    ADBG ("ID", DG03)
                    ADBG (ID01, DG03)
                    ADBG (ID02, DG03)
                    If (LEqual (ID01, 0x02))
                    {
                        If (LEqual (GPIF (ID02), Zero))
                        {
                            ADBG ("PWIF", DG03)
                            ADBG (PWIF, DG03)
                            If (LEqual (PWEN, One))
                            {
                                PWMR (PWMX)
                                If (LNot (LAnd (PXEN, PXIO)))
                                {
                                    Store (One, LDFT)
                                    Break
                                }
                            }
                        }
                    }

                    Decrement (Local0)
                    Increment (Local1)
                }

                ADBG ("LDFT", DG03)
                ADBG (LDFT, DG03)
                If (LEqual (LDFT, One))
                {
                    DISC ()
                    Store (DerefOf (Index (OBID, Zero)), Local0)
                    Store (One, Local1)
                    While (Local0)
                    {
                        SOID (DerefOf (Index (OBID, Local1)))
                        ADBG ("ID", DG03)
                        ADBG (ID01, DG03)
                        ADBG (ID02, DG03)
                        If (LEqual (ID01, 0x02))
                        {
                            If (LEqual (GPIF (ID02), Zero))
                            {
                                ADBG ("PWIF", DG03)
                                ADBG (PWIF, DG03)
                                If (LEqual (PWEN, One))
                                {
                                    FPDV (PWMX)
                                    PWMW (PWMX, PDFT)
                                }

                                ADBG ("PWMR", DG03)
                                ADBG (PWMR (PWMX), DG03)
                            }
                        }

                        Decrement (Local0)
                        Increment (Local1)
                    }
                }

                ADBG ("PWM Register", DG03)
                ADBG ("PX EN PXNM PXHI PXIO", DG03)
                Store (One, CLKE)
                ADBG (P1EN, DG03)
                ADBG (P1NM, DG03)
                ADBG (P1HI, DG03)
                ADBG (P1IO, DG03)
                ADBG (P2EN, DG03)
                ADBG (P2NM, DG03)
                ADBG (P2HI, DG03)
                ADBG (P2IO, DG03)
                ADBG (P3EN, DG03)
                ADBG (P3NM, DG03)
                ADBG (P3HI, DG03)
                ADBG (P3IO, DG03)
                ADBG (P4EN, DG03)
                ADBG (P4NM, DG03)
                ADBG (P4HI, DG03)
                ADBG (P4IO, DG03)
                ADBG (P5EN, DG03)
                ADBG (P5NM, DG03)
                ADBG (P5HI, DG03)
                ADBG (P5IO, DG03)
                ADBG (P6EN, DG03)
                ADBG (P6NM, DG03)
                ADBG (P6HI, DG03)
                ADBG (P6IO, DG03)
                Store (Zero, CLKE)
                CNCT ()
            }

            Method (SETV, 2, NotSerialized)
            {
                ADBG ("setv", DG03)
                If (LEqual (GPIF (Arg0), Zero))
                {
                    Store (VTR (Arg1), Local0)
                    ADBG (PWIF, DG03)
                    ADBG ("seted Regiseter", DG03)
                    ADBG (Local0, DG03)
                    WTVR (Local0, PWMX, PMAX, PMIN, PDFT, PSTP)
                    ADBG ("read REG", DG03)
                    ADBG (PWMR (PWMX), DG03)
                }
            }

            Method (GETV, 1, NotSerialized)
            {
                ADBG ("getv", DG03)
                If (LEqual (GPIF (Arg0), Zero))
                {
                    ADBG ("PWIF", DG03)
                    ADBG (PWIF, DG03)
                    Store (PWMR (PWMX), Local0)
                    ADBG ("REG value", DG03)
                    ADBG (Local0, DG03)
                    Store (RTV (Local0), Local1)
                    ADBG ("Voltage value", DG03)
                    ADBG (Local1, DG03)
                    Store (Zero, GVB2)
                    Store (Local1, GVB1)
                }
                Else
                {
                    Store (Zero, GVB1)
                    Store (0x04, GVB2)
                }

                Return (GVBF)
            }

            Method (GPIF, 1, NotSerialized)
            {
                Store (Zero, Local1)
                Store (Zero, Local0)
                While (One)
                {
                    If (LEqual (DerefOf (Index (PWMT, Local1)), 0xFF))
                    {
                        Store (0xFF, Local0)
                        Break
                    }

                    If (LEqual (DerefOf (Index (PWMT, Local1)), Arg0))
                    {
                        Store (0x08, Local2)
                        Store (Zero, Local3)
                        While (Local2)
                        {
                            Store (DerefOf (Index (PWMT, Add (Local1, Local3))), Index (
                                PWIF, Local3))
                            Increment (Local3)
                            Decrement (Local2)
                        }

                        Break
                    }

                    Add (Local1, 0x08, Local1)
                }

                If (LEqual (Local0, 0xFF))
                {
                    Return (0xFF)
                }

                Return (Zero)
            }

            Method (WTVR, 6, NotSerialized)
            {
                Name (PTGT, Zero)
                If (LOr (LGreater (Arg0, Arg2), LLess (Arg0, Arg3)))
                {
                    Store (Arg4, PTGT)
                }
                Else
                {
                    Store (Arg0, PTGT)
                }

                Store (PWMR (Arg1), Local0)
                RMPV (PTGT, Local0, Arg5, Arg1)
                Return (Zero)
            }

            Method (PWMR, 1, NotSerialized)
            {
                Store (One, CLKE)
                If (LEqual (Arg0, One))
                {
                    Store (P1HI, Local0)
                    Store (P1HI, PXHI)
                    Store (P1NM, PXNM)
                    Store (P1EN, PXEN)
                    Store (P1IO, PXIO)
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (P2HI, Local0)
                        Store (P2HI, PXHI)
                        Store (P2NM, PXNM)
                        Store (P2EN, PXEN)
                        Store (P2IO, PXIO)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Store (P3HI, Local0)
                            Store (P3HI, PXHI)
                            Store (P3NM, PXNM)
                            Store (P3EN, PXEN)
                            Store (P3IO, PXIO)
                        }
                        Else
                        {
                            If (LEqual (Arg0, 0x04))
                            {
                                Store (P4HI, Local0)
                                Store (P4HI, PXHI)
                                Store (P4NM, PXNM)
                                Store (P4EN, PXEN)
                                Store (P4IO, PXIO)
                            }
                            Else
                            {
                                If (LEqual (Arg0, 0x05))
                                {
                                    Store (P5HI, Local0)
                                    Store (P5HI, PXHI)
                                    Store (P5NM, PXNM)
                                    Store (P5EN, PXEN)
                                    Store (P5IO, PXIO)
                                }
                                Else
                                {
                                    If (LEqual (Arg0, 0x06))
                                    {
                                        Store (P6HI, Local0)
                                        Store (P6HI, PXHI)
                                        Store (P6NM, PXNM)
                                        Store (P6EN, PXEN)
                                        Store (P6IO, PXIO)
                                    }
                                    Else
                                    {
                                        Store (0x03, Local0)
                                    }
                                }
                            }
                        }
                    }
                }

                Store (Zero, CLKE)
                Return (Local0)
            }

            Method (PWMW, 2, NotSerialized)
            {
                Store (One, CLKE)
                Store (Arg1, Local1)
                If (LEqual (Arg0, One))
                {
                    Store (Local1, P1HI)
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Local1, P2HI)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Store (Local1, P3HI)
                            Store (Local1, P3HH)
                        }
                        Else
                        {
                            If (LEqual (Arg0, 0x04))
                            {
                                Store (Local1, P4HI)
                            }
                            Else
                            {
                                If (LEqual (Arg0, 0x05))
                                {
                                    Store (Local1, P5HI)
                                }
                                Else
                                {
                                    If (LEqual (Arg0, 0x06))
                                    {
                                        Store (Local1, P6HI)
                                    }
                                }
                            }
                        }
                    }
                }

                Store (Zero, CLKE)
                Return (Zero)
            }

            Method (FPDV, 1, NotSerialized)
            {
                Store (PNMD, Local2)
                Store (One, CLKE)
                If (LEqual (Arg0, One))
                {
                    Store (Local2, P1NM)
                    Store (One, P1EN)
                    Store (One, P1IO)
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Local2, P2NM)
                        Store (One, P2EN)
                        Store (One, P2IO)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Store (Local2, P3NM)
                            Store (One, P3EN)
                            Store (One, P3IO)
                            Store (One, P3EE)
                            Store (One, P3II)
                        }
                        Else
                        {
                            If (LEqual (Arg0, 0x04))
                            {
                                Store (Local2, P4NM)
                                Store (One, P4EN)
                                Store (One, P4IO)
                            }
                            Else
                            {
                                If (LEqual (Arg0, 0x05))
                                {
                                    Store (Local2, P5NM)
                                    Store (One, P5EN)
                                    Store (One, P5IO)
                                }
                                Else
                                {
                                    If (LEqual (Arg0, 0x06))
                                    {
                                        Store (Local2, P6NM)
                                        Store (One, P6EN)
                                        Store (One, P6IO)
                                    }
                                }
                            }
                        }
                    }
                }

                Store (Zero, CLKE)
            }

            Method (RMPV, 4, NotSerialized)
            {
                Store (Arg0, Local0)
                Store (Arg1, Local1)
                While (One)
                {
                    If (LLess (ABS (Local0, Local1), Arg2))
                    {
                        Break
                    }

                    If (LGreater (Local0, Local1))
                    {
                        Add (Local1, Arg2, Local1)
                    }

                    If (LLess (Local0, Local1))
                    {
                        Subtract (Local1, Arg2, Local1)
                    }

                    PWMW (Arg3, Local1)
                    Sleep (0x64)
                }

                If (LNotEqual (Local0, Local1))
                {
                    PWMW (Arg3, Local0)
                }

                Sleep (0x02)
            }

            Name (GF01, Zero)
            Name (OVFL, One)
            Name (OCFL, One)
            Name (GERR, Zero)
            Name (TSBF, Buffer (0x20)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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
            })
            Name (GVBF, Buffer (0x05)
            {
                0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateDWordField (GVBF, Zero, GVB1)
            CreateByteField (GVBF, 0x04, GVB2)
            Method (AM01, 0, NotSerialized)
            {
                ADBG ("AM01", DG01)
                If (LNot (GF01))
                {
                    BM01 ()
                    If (OCFL)
                    {
                        CINI ()
                    }

                    If (OVFL)
                    {
                        VINI ()
                    }

                    XINI ()
                    EM01 ()
                    Store (One, GF01)
                }

                Return (Zero)
            }

            Method (AM02, 0, NotSerialized)
            {
                ADBG ("AM02", DG01)
                ADBG (OBID, DG01)
                Return (OBID)
            }

            Method (AM03, 1, NotSerialized)
            {
                ADBG ("AM03", DG01)
                SOID (Arg0)
                If (LAnd (LEqual (ID01, One), OCFL))
                {
                    Store (GETC (ID02), Local0)
                }
                Else
                {
                    If (LAnd (LEqual (ID01, 0x02), OVFL))
                    {
                        Store (GETV (ID02), Local0)
                    }
                    Else
                    {
                        Store (Zero, GVB1)
                        Store (0x04, GVB2)
                        Store (GVBF, Local0)
                    }
                }

                ADBG ("GVBF", DG01)
                ADBG (Local0, DG01)
                Return (Local0)
            }

            Method (AM04, 2, NotSerialized)
            {
                ADBG ("AM04", DG01)
                SOID (Arg0)
                If (LAnd (LEqual (ID01, One), OCFL))
                {
                    SETC (ID02, Arg1)
                }
                Else
                {
                    If (LAnd (LEqual (ID01, 0x02), OVFL))
                    {
                        SETV (ID02, Arg1)
                    }
                    Else
                    {
                        Return (0x04)
                    }
                }

                Return (Zero)
            }

            Method (AM05, 1, NotSerialized)
            {
                Name (INFO, Buffer (0x14)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                    /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                })
                CreateDWordField (INFO, Zero, IFID)
                CreateDWordField (INFO, 0x04, IFMI)
                CreateDWordField (INFO, 0x08, IFMX)
                CreateDWordField (INFO, 0x0C, IFSP)
                CreateField (INFO, 0x80, 0x03, IFST)
                ADBG ("AM05", DG01)
                ADBG (OBIT, DG01)
                SOID (Arg0)
                ADBG ("ID", DG01)
                ADBG (ID01, DG01)
                ADBG (ID02, DG01)
                BM05 (Arg0)
                ADBG ("OBIT", DG01)
                ADBG (OBIT, DG01)
                CPTB (Arg0, INFO)
                EM05 (Arg0)
                ADBG ("info", DG01)
                ADBG (INFO, DG01)
                Return (INFO)
            }

            Method (AM06, 0, NotSerialized)
            {
                HM06 ()
                Return (Zero)
            }

            Method (AM07, 1, NotSerialized)
            {
                HM07 (Arg0)
                Return (Zero)
            }

            Method (AM08, 1, NotSerialized)
            {
                Name (LODT, Package (0x34)
                {
                    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, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Store (Zero, Local0)
                While (One)
                {
                    If (LEqual (DerefOf (Index (OBDT, Local0)), Arg0))
                    {
                        Store (Zero, Local4)
                        Break
                    }

                    If (LEqual (DerefOf (Index (OBDT, Local0)), Zero))
                    {
                        Store (0x04, Local4)
                        Break
                    }

                    Add (Local0, DerefOf (Index (OBDT, Add (Local0, One))), 
                        Local0)
                    Add (Local0, 0x02, Local0)
                }

                If (Local4) {}
                Else
                {
                    Store (DerefOf (Index (OBDT, Add (Local0, One))), Local1)
                    Add (Local1, 0x02, Local1)
                    Store (Zero, Local2)
                    While (Local1)
                    {
                        Store (DerefOf (Index (OBDT, Local0)), Index (LODT, Local2))
                        Decrement (Local1)
                        Increment (Local0)
                        Increment (Local2)
                    }
                }

                Return (LODT)
            }

            Name (OBSV, Package (0x09)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Method (APTS, 1, NotSerialized)
            {
                If (LAnd (GF01, LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))))
                {
                    Store (DerefOf (Index (OBID, Zero)), Local0)
                    Store (One, Local1)
                    Store (Zero, Local2)
                    While (Local0)
                    {
                        SOID (DerefOf (Index (OBID, Local1)))
                        If (LAnd (LEqual (ID01, One), OCFL))
                        {
                            GETC (ID02)
                            Store (GVB1, Local3)
                        }
                        Else
                        {
                            If (LAnd (LEqual (ID01, 0x02), OVFL))
                            {
                                GETV (ID02)
                                Store (GVB1, Local3)
                            }
                            Else
                            {
                                Store (Zero, Local3)
                            }
                        }

                        Store (Local3, Index (OBSV, Local2))
                        Decrement (Local0)
                        Increment (Local1)
                        Increment (Local2)
                    }
                }
            }

            Method (AWAK, 1, NotSerialized)
            {
                If (LAnd (GF01, LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))))
                {
                    Store (DerefOf (Index (OBID, Zero)), Local0)
                    Store (One, Local1)
                    Store (Zero, Local2)
                    While (Local0)
                    {
                        Store (DerefOf (Index (OBSV, Local2)), Local3)
                        SOID (DerefOf (Index (OBID, Local1)))
                        If (LAnd (LEqual (ID01, One), OCFL))
                        {
                            SETC (ID02, Local3)
                        }
                        Else
                        {
                            If (LAnd (LEqual (ID01, 0x02), OVFL))
                            {
                                SETV (ID02, Local3)
                            }
                            Else
                            {
                            }
                        }

                        Decrement (Local0)
                        Increment (Local1)
                        Increment (Local2)
                    }
                }
            }

            Name (CMDV, Zero)
            Method (AM09, 0, NotSerialized)
            {
                Return (CMDV)
            }

            Name (OBUF, Buffer (0x0200) {})
            Method (AM10, 1, NotSerialized)
            {
                ADBG ("AM10", DG04)
                CreateDWordField (Arg0, Zero, ACMD)
                ADBG (ACMD, DG04)
                CreateField (OBUF, Zero, 0x1000, TEMP)
                Store (Zero, TEMP)
                If (LEqual (ACMD, 0x00030001))
                {
                    R301 ()
                }
                Else
                {
                    If (LEqual (ACMD, 0x00030002))
                    {
                        R302 (Arg0)
                    }
                    Else
                    {
                        If (LEqual (ACMD, 0x00030003))
                        {
                            R303 (Arg0)
                        }
                        Else
                        {
                            If (LEqual (ACMD, 0x00030004))
                            {
                                R304 (Arg0)
                            }
                            Else
                            {
                                If (LEqual (ACMD, 0x00040001))
                                {
                                    R401 (Arg0)
                                }
                                Else
                                {
                                    If (LEqual (ACMD, 0x00040002))
                                    {
                                        R402 (Arg0)
                                    }
                                    Else
                                    {
                                        CreateDWordField (OBUF, Zero, CMDS)
                                        Store (0x00010000, CMDS)
                                    }
                                }
                            }
                        }
                    }
                }

                ADBG (OBUF, DG04)
                Return (OBUF)
            }

            Name (CMDL, Buffer (0x54) {})
            Method (AM11, 0, NotSerialized)
            {
                Name (TEMP, Zero)
                CreateDWordField (CMDL, Zero, CMDC)
                Add (TEMP, 0x04, TEMP)
                If (ACSS)
                {
                    CreateDWordField (CMDL, TEMP, CMD1)
                    Add (TEMP, 0x04, TEMP)
                    Store (0x00030001, CMD1)
                    CreateDWordField (CMDL, TEMP, CMD2)
                    Add (TEMP, 0x04, TEMP)
                    Store (0x00030002, CMD2)
                    CreateDWordField (CMDL, TEMP, CMD3)
                    Add (TEMP, 0x04, TEMP)
                    Store (0x00030003, CMD3)
                    CreateDWordField (CMDL, TEMP, CMD4)
                    Add (TEMP, 0x04, TEMP)
                    Store (0x00030004, CMD4)
                }

                CreateDWordField (CMDL, TEMP, CMD5)
                Add (TEMP, 0x04, TEMP)
                Store (0x00040001, CMD5)
                CreateDWordField (CMDL, TEMP, CMD6)
                Add (TEMP, 0x04, TEMP)
                Store (0x00040002, CMD6)
                Subtract (TEMP, 0x04, TEMP)
                Divide (TEMP, 0x04, , TEMP)
                Store (TEMP, CMDC)
                Return (CMDL)
            }

            If (ACSS)
            {
                Method (R301, 0, NotSerialized)
                {
                    Store (DerefOf (Index (QLST, Zero)), Local0)
                    CreateDWordField (OBUF, Zero, TMP1)
                    CreateWordField (OBUF, 0x04, TMP2)
                    Store (Local0, TMP2)
                    Store (Zero, TMP1)
                    Return (Zero)
                }

                Method (R302, 1, NotSerialized)
                {
                    Name (CIDX, Zero)
                    CreateWordField (Arg0, 0x04, IIDX)
                    Store (One, CIDX)
                    Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                        Local0)
                    Increment (CIDX)
                    Store (0x20, Local1)
                    CreateField (OBUF, Local1, 0x0100, TMP1)
                    Store (Local0, TMP1)
                    Add (Local1, 0x0100, Local1)
                    ADBG ("OBUF", DG04)
                    ADBG (OBUF, DG04)
                    Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                        Local0)
                    Increment (CIDX)
                    CreateField (OBUF, Local1, 0x08, TMP2)
                    Store (Local0, TMP2)
                    ADBG ("OBUF", DG04)
                    ADBG (OBUF, DG04)
                    Add (Local1, 0x08, Local1)
                    Store (Local0, Local2)
                    Divide (Local1, 0x08, , Local5)
                    ADBG ("local5", DG04)
                    ADBG (Local5, DG04)
                    While (LGreater (Local2, Zero))
                    {
                        Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                            Local0)
                        ADBG ("IIDX", DG04)
                        ADBG (IIDX, DG04)
                        ADBG ("CIDX", DG04)
                        ADBG (CIDX, DG04)
                        ADBG ("Local0", DG04)
                        Store (Local0, DG04)
                        Store (0x05, Local4)
                        Store (Zero, Local6)
                        While (LGreater (Local4, Zero))
                        {
                            If (LLess (Local6, SizeOf (Local0)))
                            {
                                Store (DerefOf (Index (Local0, Local6)), Index (OBUF, Local5))
                            }
                            Else
                            {
                                Store (Zero, Index (OBUF, Local5))
                            }

                            Increment (Local6)
                            Increment (Local5)
                            Decrement (Local4)
                        }

                        Add (Local1, 0x28, Local1)
                        Decrement (Local2)
                        Increment (CIDX)
                    }

                    ADBG ("OBUF", DG04)
                    ADBG (OBUF, DG04)
                    Store (0x0378, Local1)
                    Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                        Local0)
                    Increment (CIDX)
                    CreateField (OBUF, Local1, 0x08, TMP3)
                    Store (Local0, TMP3)
                    ADBG ("OBUF", DG04)
                    ADBG (OBUF, DG04)
                    Add (Local1, 0x08, Local1)
                    Store (Local0, Local2)
                    Divide (Local1, 0x08, , Local5)
                    ADBG ("local5", DG04)
                    ADBG (Local5, DG04)
                    While (LGreater (Local2, Zero))
                    {
                        Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                            Local0)
                        Store (0x14, Local4)
                        Store (Zero, Local6)
                        While (LGreater (Local4, Zero))
                        {
                            If (LLess (Local6, SizeOf (Local0)))
                            {
                                Store (DerefOf (Index (Local0, Local6)), Index (OBUF, Local5))
                            }
                            Else
                            {
                                Store (Zero, Index (OBUF, Local5))
                            }

                            Increment (Local6)
                            Increment (Local5)
                            Decrement (Local4)
                        }

                        Add (Local1, 0x80)
                        Decrement (Local2)
                        Increment (CIDX)
                    }

                    ADBG ("OBUF", DG04)
                    ADBG (OBUF, DG04)
                    CreateDWordField (OBUF, Zero, TMP4)
                    Store (Zero, TMP4)
                    Return (Zero)
                }

                Method (R303, 1, NotSerialized)
                {
                    CreateWordField (Arg0, 0x04, IITM)
                    CreateDWordField (OBUF, Zero, TMP1)
                    CreateWordField (OBUF, 0x04, TMP2)
                    Store (DerefOf (Index (DerefOf (Index (QLST, IITM)), Zero)), 
                        Local0)
                    Store (GCMS (Local0), Local1)
                    CreateDWordField (Local1, Zero, TMP3)
                    CreateWordField (Local1, 0x04, TMP4)
                    Store (TMP3, TMP1)
                    Store (TMP4, TMP2)
                    Return (Zero)
                }

                Method (R304, 1, NotSerialized)
                {
                    CreateWordField (Arg0, 0x04, IITM)
                    CreateWordField (Arg0, 0x06, CMSD)
                    CreateDWordField (OBUF, Zero, TMP1)
                    Store (DerefOf (Index (DerefOf (Index (QLST, IITM)), Zero)), 
                        Local0)
                    Store (SCMS (Local0, CMSD), TMP1)
                    Return (Zero)
                }
            }

            Name (VEND, Buffer (0x05)
            {
                "ASUS"
            })
            Method (R401, 1, NotSerialized)
            {
                CreateField (OBUF, 0x20, 0x0200, TMP2)
                Store (VEND, TMP2)
                Return (Zero)
            }

            Method (R402, 1, NotSerialized)
            {
                CreateField (OBUF, 0x20, 0x08, TMP1)
                CreateField (OBUF, 0x28, 0x08, TMP2)
                Store (GMOD, TMP1)
                Store (GFXO, TMP2)
                Return (Zero)
            }

            Name (WQBA, Buffer (0x0BBB)
            {
                /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 
                /* 0008 */    0xAB, 0x0B, 0x00, 0x00, 0x20, 0x4A, 0x00, 0x00, 
                /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 
                /* 0018 */    0x28, 0x5B, 0xA4, 0x00, 0x01, 0x06, 0x18, 0x42, 
                /* 0020 */    0x10, 0x15, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, 
                /* 0028 */    0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, 
                /* 0030 */    0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08, 
                /* 0038 */    0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E, 
                /* 0040 */    0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, 
                /* 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, 
                /* 0068 */    0x17, 0x8A, 0xA2, 0x19, 0x44, 0x49, 0x50, 0xB9, 
                /* 0070 */    0x00, 0xDF, 0x08, 0x02, 0x2F, 0x57, 0x80, 0xE4, 
                /* 0078 */    0x09, 0x48, 0xB3, 0x00, 0xC3, 0x02, 0xAC, 0x0B, 
                /* 0080 */    0x90, 0x3D, 0x04, 0x2A, 0x75, 0x08, 0x28, 0x39, 
                /* 0088 */    0x43, 0x40, 0x0D, 0xA0, 0xD5, 0x09, 0x08, 0xBF, 
                /* 0090 */    0xD2, 0x29, 0x21, 0x09, 0xC2, 0x19, 0xAB, 0x78, 
                /* 0098 */    0x7C, 0xCD, 0xA2, 0xE9, 0x39, 0xC9, 0x39, 0x86, 
                /* 00A0 */    0x1C, 0x8F, 0x0B, 0x3D, 0x08, 0x1E, 0x47, 0x03, 
                /* 00A8 */    0x08, 0x93, 0x3F, 0x64, 0x05, 0x80, 0x41, 0x49, 
                /* 00B0 */    0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9, 
                /* 00B8 */    0x80, 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A, 
                /* 00C0 */    0xBF, 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04, 
                /* 00C8 */    0x46, 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42, 
                /* 00D0 */    0x8D, 0xD1, 0x1C, 0x14, 0x09, 0x37, 0x68, 0xB4, 
                /* 00D8 */    0x44, 0x58, 0x8D, 0x2B, 0xF6, 0x99, 0x59, 0xF8, 
                /* 00E0 */    0xB0, 0x84, 0x71, 0x04, 0x07, 0x76, 0xB0, 0x16, 
                /* 00E8 */    0x0D, 0x23, 0xB4, 0x82, 0xE0, 0x34, 0x88, 0xA3, 
                /* 00F0 */    0x88, 0x12, 0x86, 0xE1, 0x19, 0x33, 0xD0, 0x51, 
                /* 00F8 */    0x32, 0xA4, 0x30, 0x41, 0x4F, 0x20, 0xC8, 0xC9, 
                /* 0100 */    0x33, 0x2C, 0x43, 0x9C, 0x01, 0xC7, 0x8A, 0x11, 
                /* 0108 */    0x2A, 0x24, 0x66, 0x20, 0xC1, 0xFF, 0xFF, 0x27, 
                /* 0110 */    0xD0, 0x35, 0x86, 0x3C, 0x03, 0x91, 0x7B, 0xC0, 
                /* 0118 */    0x09, 0x04, 0x89, 0x1E, 0x25, 0xB8, 0x71, 0x8D, 
                /* 0120 */    0xCA, 0xC6, 0x74, 0x36, 0xB8, 0x81, 0x99, 0x20, 
                /* 0128 */    0xCE, 0xE1, 0x61, 0x64, 0x40, 0x68, 0x02, 0xF1, 
                /* 0130 */    0x63, 0x87, 0x4F, 0x60, 0xF7, 0xC7, 0x01, 0x29, 
                /* 0138 */    0x44, 0xD0, 0x85, 0xE0, 0x4C, 0x6B, 0x14, 0x60, 
                /* 0140 */    0xED, 0xEC, 0x20, 0x5B, 0x10, 0x3A, 0x0B, 0xC4, 
                /* 0148 */    0x6A, 0x0C, 0x45, 0x10, 0x11, 0x82, 0x46, 0x31, 
                /* 0150 */    0x5E, 0x84, 0x50, 0x21, 0xA2, 0x44, 0x3D, 0xE7, 
                /* 0158 */    0x20, 0xB5, 0x09, 0x50, 0x06, 0x22, 0xB4, 0x60, 
                /* 0160 */    0x46, 0x60, 0xF6, 0x07, 0x41, 0x24, 0x58, 0x80, 
                /* 0168 */    0xF8, 0x23, 0xB0, 0x84, 0x13, 0x81, 0x8C, 0x8C, 
                /* 0170 */    0x86, 0x1E, 0x16, 0x7C, 0x12, 0x60, 0x07, 0x04, 
                /* 0178 */    0xCF, 0xE7, 0xD4, 0x4C, 0xE0, 0xC0, 0x10, 0xE2, 
                /* 0180 */    0x95, 0x00, 0x51, 0x47, 0x0B, 0x4A, 0x60, 0x29, 
                /* 0188 */    0x47, 0x03, 0x62, 0x7B, 0x60, 0xBA, 0x07, 0x1C, 
                /* 0190 */    0xE1, 0xB9, 0xFB, 0x72, 0x70, 0x6A, 0xFE, 0x69, 
                /* 0198 */    0x78, 0x9A, 0x0F, 0x09, 0x98, 0x21, 0x7A, 0xAC, 
                /* 01A0 */    0x07, 0x11, 0xF0, 0x10, 0xD9, 0x29, 0xC1, 0x80, 
                /* 01A8 */    0x78, 0xEF, 0xD7, 0x02, 0x32, 0x82, 0x97, 0x04, 
                /* 01B0 */    0x03, 0x7A, 0x12, 0x0F, 0x08, 0x60, 0x39, 0x68, 
                /* 01B8 */    0x1C, 0xF8, 0x09, 0x55, 0x7C, 0x07, 0xA0, 0x47, 
                /* 01C0 */    0x02, 0x36, 0xA3, 0xF8, 0x26, 0x28, 0xEB, 0xF8, 
                /* 01C8 */    0x80, 0x9E, 0x73, 0xB4, 0x67, 0x87, 0x97, 0x85, 
                /* 01D0 */    0x66, 0xAF, 0x18, 0x84, 0xE0, 0x35, 0xC0, 0x37, 
                /* 01D8 */    0x05, 0x9F, 0x46, 0x2C, 0x69, 0x75, 0x72, 0xB2, 
                /* 01E0 */    0x2A, 0x8F, 0x98, 0x82, 0x7B, 0x08, 0x5C, 0x04, 
                /* 01E8 */    0x9C, 0x86, 0xEE, 0xF1, 0x82, 0x43, 0xC1, 0x78, 
                /* 01F0 */    0xE9, 0xFF, 0x7F, 0xBC, 0xE0, 0x3E, 0x0F, 0x1C, 
                /* 01F8 */    0x2F, 0x58, 0x4E, 0x09, 0x55, 0x5D, 0x36, 0x34, 
                /* 0200 */    0x87, 0xF3, 0x6D, 0x1E, 0x9F, 0x1C, 0x2D, 0x3C, 
                /* 0208 */    0x61, 0x36, 0x96, 0xA3, 0x62, 0xC7, 0x10, 0x36, 
                /* 0210 */    0x3A, 0x3E, 0x0A, 0x0F, 0xF8, 0xB5, 0xA1, 0x58, 
                /* 0218 */    0x10, 0x99, 0x80, 0xD0, 0x91, 0xE1, 0xC0, 0xC1, 
                /* 0220 */    0xE2, 0xEC, 0x00, 0x21, 0x02, 0x0B, 0x1B, 0x39, 
                /* 0228 */    0x7A, 0xC4, 0x1E, 0xD4, 0x3B, 0x8C, 0x31, 0x1E, 
                /* 0230 */    0x08, 0x8C, 0x7A, 0x48, 0x07, 0x0F, 0x3E, 0x40, 
                /* 0238 */    0x0F, 0x1E, 0x70, 0xFA, 0xFF, 0x27, 0xB0, 0xA0, 
                /* 0240 */    0x21, 0x4B, 0xC4, 0xE0, 0xD1, 0xA7, 0x08, 0x0F, 
                /* 0248 */    0xE7, 0xDD, 0x87, 0x1F, 0x44, 0x12, 0x38, 0x3C, 
                /* 0250 */    0x84, 0x06, 0x0F, 0x9E, 0xB3, 0x8F, 0x07, 0x0F, 
                /* 0258 */    0x7E, 0x79, 0x83, 0x07, 0xD1, 0x14, 0x8E, 0x0D, 
                /* 0260 */    0x77, 0xB0, 0xF1, 0xC0, 0xC1, 0x3D, 0x5C, 0xFC, 
                /* 0268 */    0x90, 0x70, 0x67, 0x2D, 0x78, 0x3E, 0x27, 0x4F, 
                /* 0270 */    0x06, 0xF0, 0x12, 0x84, 0x3B, 0x6C, 0x01, 0x97, 
                /* 0278 */    0x11, 0x70, 0x99, 0xAB, 0xA4, 0x87, 0x2A, 0x0B, 
                /* 0280 */    0x83, 0x41, 0x9D, 0xAB, 0xC0, 0xFB, 0xFF, 0x3F, 
                /* 0288 */    0x57, 0x01, 0xF6, 0x2F, 0x53, 0xEF, 0x53, 0x3E, 
                /* 0290 */    0x57, 0x81, 0x3B, 0xDA, 0x79, 0x40, 0xE7, 0x16, 
                /* 0298 */    0x72, 0x9A, 0x41, 0x1F, 0x0A, 0x7C, 0x06, 0x78, 
                /* 02A0 */    0x92, 0x01, 0xDB, 0xA1, 0x0A, 0x38, 0x9C, 0x64, 
                /* 02A8 */    0xC0, 0x73, 0x2B, 0x7B, 0x92, 0x61, 0xFF, 0xFF, 
                /* 02B0 */    0x93, 0x0C, 0x38, 0x0F, 0x62, 0x3E, 0xC9, 0x80, 
                /* 02B8 */    0xEF, 0xE8, 0x85, 0x3B, 0x81, 0xC0, 0xF3, 0x38, 
                /* 02C0 */    0x24, 0x21, 0x1F, 0x42, 0xF0, 0x43, 0x3A, 0xA6, 
                /* 02C8 */    0x67, 0x10, 0x60, 0x28, 0xE4, 0x65, 0xE0, 0x03, 
                /* 02D0 */    0x08, 0x8D, 0x7E, 0x06, 0x01, 0xB4, 0xFF, 0xFF, 
                /* 02D8 */    0xCF, 0x20, 0xC0, 0xE5, 0xAC, 0xF0, 0x0C, 0x02, 
                /* 02E0 */    0x76, 0xF1, 0xAF, 0x3A, 0x9D, 0x07, 0x1C, 0x1C, 
                /* 02E8 */    0x42, 0x4E, 0x8E, 0x8A, 0xA8, 0xE1, 0x58, 0xEB, 
                /* 02F0 */    0x41, 0x80, 0x8C, 0xE7, 0x45, 0xC0, 0x41, 0x4F, 
                /* 02F8 */    0x8A, 0x40, 0xF7, 0xAC, 0x81, 0x3B, 0x1F, 0xC0, 
                /* 0300 */    0x3D, 0x12, 0xF2, 0x73, 0x07, 0xF8, 0xA2, 0x43, 
                /* 0308 */    0xE8, 0x98, 0x89, 0x3F, 0x51, 0x79, 0x88, 0x3E, 
                /* 0310 */    0x1B, 0x98, 0xC0, 0xA3, 0x05, 0xD7, 0x39, 0x11, 
                /* 0318 */    0x5C, 0xFF, 0xFF, 0xD1, 0xC2, 0x3B, 0x69, 0xE0, 
                /* 0320 */    0x46, 0x0B, 0xF7, 0x00, 0xFC, 0x58, 0x80, 0x39, 
                /* 0328 */    0x62, 0x82, 0xEB, 0xD0, 0x02, 0xA6, 0xEB, 0x02, 
                /* 0330 */    0xE6, 0xD2, 0x82, 0x3F, 0xB4, 0x00, 0x1F, 0xA1, 
                /* 0338 */    0x27, 0x16, 0x94, 0xB4, 0x43, 0x0B, 0xA0, 0xF9, 
                /* 0340 */    0xFF, 0x7F, 0x68, 0x01, 0x6E, 0x73, 0x7D, 0x68, 
                /* 0348 */    0x01, 0x7B, 0xB8, 0x73, 0x18, 0x95, 0x73, 0x0E, 
                /* 0350 */    0x83, 0x76, 0x68, 0xF6, 0x39, 0x0C, 0xB8, 0x1E, 
                /* 0358 */    0x26, 0xF0, 0x87, 0x4A, 0xB8, 0xB3, 0x88, 0x1F, 
                /* 0360 */    0x27, 0xDA, 0x5B, 0x80, 0xCF, 0xA7, 0xC0, 0xED, 
                /* 0368 */    0xB0, 0x86, 0x3B, 0x82, 0xC0, 0xBB, 0x14, 0x9C, 
                /* 0370 */    0x96, 0xA7, 0xF6, 0xD4, 0x7F, 0x70, 0x8D, 0x5F, 
                /* 0378 */    0x41, 0xC8, 0x3D, 0xC6, 0x77, 0x10, 0xF6, 0xFF, 
                /* 0380 */    0x3F, 0x88, 0x01, 0x37, 0x19, 0x07, 0x31, 0x54, 
                /* 0388 */    0xF0, 0x43, 0x08, 0x40, 0xA1, 0xCB, 0xC2, 0x43, 
                /* 0390 */    0x08, 0xD8, 0xA5, 0x1F, 0xC4, 0x68, 0xEC, 0x83, 
                /* 0398 */    0x18, 0xEA, 0xFF, 0x7F, 0x82, 0xC7, 0x9F, 0xC3, 
                /* 03A0 */    0x00, 0xA7, 0x67, 0x38, 0xB8, 0x51, 0x8F, 0x61, 
                /* 03A8 */    0x80, 0xA2, 0xB3, 0x28, 0x70, 0x82, 0x78, 0x0E, 
                /* 03B0 */    0x63, 0xFF, 0xFF, 0x73, 0x18, 0xF0, 0x14, 0xFC, 
                /* 03B8 */    0x12, 0xF0, 0x81, 0x85, 0x4A, 0x84, 0x41, 0x9D, 
                /* 03C0 */    0x59, 0x00, 0xDE, 0x1C, 0x90, 0x9F, 0x59, 0xC0, 
                /* 03C8 */    0x1E, 0xF2, 0xAD, 0xA1, 0x1F, 0x81, 0xFF, 0xFF, 
                /* 03D0 */    0x67, 0x16, 0xC0, 0xF5, 0x99, 0xDC, 0x63, 0xC5, 
                /* 03D8 */    0x1D, 0x22, 0xD8, 0x48, 0x42, 0xBE, 0x0A, 0xBC, 
                /* 03E0 */    0x15, 0x98, 0xC0, 0x91, 0x0F, 0x2D, 0x40, 0xF7, 
                /* 03E8 */    0x6C, 0x82, 0x1B, 0x2D, 0xDC, 0xE3, 0xC8, 0x39, 
                /* 03F0 */    0x9E, 0xD0, 0xBB, 0xF9, 0xEB, 0x03, 0x3B, 0x4D, 
                /* 03F8 */    0xB0, 0x21, 0x83, 0x57, 0xDE, 0x21, 0x10, 0xF5, 
                /* 0400 */    0xFF, 0x1F, 0xB2, 0x0F, 0x24, 0x9E, 0xC2, 0xCB, 
                /* 0408 */    0x0C, 0x66, 0x26, 0x31, 0x0E, 0x24, 0xC2, 0xB1, 
                /* 0410 */    0x78, 0x78, 0xE4, 0x28, 0x08, 0xAA, 0x33, 0x3F, 
                /* 0418 */    0x19, 0x35, 0xE8, 0x67, 0xF7, 0x84, 0x0F, 0x9E, 
                /* 0420 */    0xE9, 0xBE, 0xE1, 0x83, 0xE1, 0x30, 0x08, 0x73, 
                /* 0428 */    0xCE, 0x1E, 0x3F, 0xF8, 0x8E, 0x3D, 0xB8, 0x73, 
                /* 0430 */    0x10, 0xBC, 0xEB, 0x8A, 0x91, 0x4F, 0xE8, 0x25, 
                /* 0438 */    0x00, 0x73, 0x6B, 0xC1, 0x9E, 0x05, 0x81, 0x93, 
                /* 0440 */    0xAC, 0x83, 0x20, 0x4A, 0xC8, 0x59, 0x10, 0x54, 
                /* 0448 */    0xFF, 0xFF, 0x83, 0x10, 0xC0, 0x04, 0x6F, 0xF7, 
                /* 0450 */    0x20, 0x5D, 0x83, 0x7C, 0x1B, 0x78, 0x1A, 0x78, 
                /* 0458 */    0xF8, 0x89, 0xF2, 0x20, 0xE4, 0x8B, 0xC4, 0x0B, 
                /* 0460 */    0x41, 0x84, 0x28, 0xC7, 0x7B, 0x02, 0x11, 0x9E, 
                /* 0468 */    0x86, 0x3C, 0xE1, 0x30, 0xE1, 0x4E, 0x36, 0xCA, 
                /* 0470 */    0x4B, 0x43, 0x18, 0x43, 0xC7, 0x0A, 0x14, 0x39, 
                /* 0478 */    0x7E, 0x08, 0x1F, 0x85, 0x7C, 0x10, 0x62, 0x51, 
                /* 0480 */    0xCE, 0xB7, 0xF4, 0xFC, 0x61, 0x23, 0x67, 0x11, 
                /* 0488 */    0xD4, 0x49, 0xC0, 0x87, 0x0E, 0x0F, 0xEA, 0x09, 
                /* 0490 */    0x01, 0x13, 0x1A, 0x42, 0x47, 0x5C, 0xE0, 0x7A, 
                /* 0498 */    0xDA, 0xC0, 0xFD, 0xFF, 0x8F, 0x42, 0xE0, 0x38, 
                /* 04A0 */    0x80, 0xC0, 0x7B, 0xF0, 0xF8, 0xB4, 0x0E, 0x2E, 
                /* 04A8 */    0x08, 0x9F, 0x3F, 0xE0, 0xFB, 0x44, 0x16, 0xEE, 
                /* 04B0 */    0x5B, 0xC0, 0x0B, 0x0D, 0xEE, 0xEC, 0x01, 0x7C, 
                /* 04B8 */    0xE4, 0x1E, 0x6B, 0x51, 0x02, 0x61, 0x50, 0x67, 
                /* 04C0 */    0x0F, 0xC0, 0xF9, 0xFF, 0xFF, 0xEC, 0x01, 0xD6, 
                /* 04C8 */    0x81, 0x3E, 0x7A, 0x1C, 0xE8, 0x31, 0x06, 0x89, 
                /* 04D0 */    0x11, 0xC4, 0x77, 0x0E, 0x1F, 0x7C, 0xE2, 0xBC, 
                /* 04D8 */    0x11, 0x3C, 0x7B, 0xF8, 0xC8, 0x71, 0x5C, 0x3E, 
                /* 04E0 */    0x80, 0xF8, 0xEC, 0xE1, 0x2B, 0x88, 0xF1, 0xC2, 
                /* 04E8 */    0xC4, 0x7C, 0x38, 0xF2, 0x35, 0x21, 0x5E, 0xE4, 
                /* 04F0 */    0xB0, 0x61, 0x22, 0xFB, 0xEC, 0xC1, 0x22, 0x1E, 
                /* 04F8 */    0x6B, 0xA9, 0x94, 0x83, 0x19, 0xFA, 0x4C, 0xE0, 
                /* 0500 */    0x5B, 0xC2, 0x99, 0xBD, 0x71, 0x44, 0x38, 0xAE, 
                /* 0508 */    0x93, 0x3B, 0x9F, 0x38, 0x1E, 0xD2, 0x49, 0xFB, 
                /* 0510 */    0x6C, 0x06, 0xBE, 0xE3, 0x07, 0x70, 0x38, 0x9B, 
                /* 0518 */    0x81, 0x67, 0x74, 0x70, 0x0F, 0x53, 0xE0, 0x93, 
                /* 0520 */    0x75, 0x36, 0x43, 0x0F, 0xCB, 0xE7, 0x82, 0x57, 
                /* 0528 */    0x07, 0x0F, 0x82, 0x9D, 0xCB, 0xC0, 0x75, 0xB8, 
                /* 0530 */    0x83, 0xF3, 0xFF, 0x3F, 0x97, 0x01, 0xAF, 0x73, 
                /* 0538 */    0xC7, 0x91, 0xB1, 0x53, 0x05, 0x47, 0x3C, 0xA8, 
                /* 0540 */    0x33, 0x79, 0x77, 0x39, 0x6B, 0x1F, 0x3C, 0x02, 
                /* 0548 */    0x9D, 0xE7, 0x29, 0xFB, 0x1C, 0x03, 0x73, 0x84, 
                /* 0550 */    0x1E, 0x3B, 0xF8, 0x0E, 0x26, 0xF8, 0x83, 0x0C, 
                /* 0558 */    0x1C, 0x98, 0x13, 0x38, 0xBA, 0x40, 0xA7, 0x10, 
                /* 0560 */    0xE7, 0x14, 0x9E, 0x63, 0x80, 0x91, 0x1C, 0x4B, 
                /* 0568 */    0x20, 0x2C, 0xC0, 0xB1, 0x40, 0xA2, 0x96, 0x49, 
                /* 0570 */    0x61, 0x7C, 0x32, 0xF0, 0x39, 0x06, 0xAE, 0x24, 
                /* 0578 */    0x38, 0xD4, 0xF8, 0x3C, 0xB2, 0x97, 0xBC, 0xE3, 
                /* 0580 */    0x3C, 0x91, 0x37, 0x04, 0x8F, 0xFF, 0x81, 0x06, 
                /* 0588 */    0xC6, 0xC0, 0x3D, 0xAD, 0x93, 0xF2, 0x4D, 0xEE, 
                /* 0590 */    0xB1, 0xC4, 0x67, 0x43, 0x7E, 0x5C, 0x60, 0x68, 
                /* 0598 */    0xFC, 0x74, 0x03, 0x86, 0xFF, 0xFF, 0xE9, 0x06, 
                /* 05A0 */    0xCE, 0x9D, 0xC1, 0x47, 0x0D, 0xB0, 0x5C, 0x6D, 
                /* 05A8 */    0x30, 0x58, 0xA1, 0x62, 0x34, 0x7A, 0xD7, 0x23, 
                /* 05B0 */    0xA0, 0xC7, 0xD7, 0xD7, 0x45, 0x9A, 0x42, 0x45, 
                /* 05B8 */    0x0C, 0xF1, 0x42, 0x60, 0x97, 0xC7, 0x71, 0xE4, 
                /* 05C0 */    0x59, 0x17, 0x5C, 0xD8, 0xCF, 0xBA, 0x60, 0x0F, 
                /* 05C8 */    0x75, 0x4E, 0xA2, 0x91, 0x46, 0x83, 0x3A, 0xC8, 
                /* 05D0 */    0xF0, 0x03, 0xC1, 0x63, 0x90, 0x4F, 0x1E, 0x06, 
                /* 05D8 */    0x39, 0xD1, 0xD3, 0x7A, 0x5C, 0x78, 0x1A, 0xF0, 
                /* 05E0 */    0xB8, 0xD9, 0x35, 0xC1, 0x1F, 0x04, 0x1F, 0x0F, 
                /* 05E8 */    0xF0, 0x97, 0xA0, 0x80, 0x27, 0xFA, 0xF0, 0x01, 
                /* 05F0 */    0xEB, 0x10, 0x82, 0x3F, 0x61, 0xC0, 0x1F, 0x8F, 
                /* 05F8 */    0x8F, 0x01, 0x3E, 0xD1, 0xFA, 0x48, 0x45, 0x06, 
                /* 0600 */    0x81, 0x3A, 0xBC, 0xF1, 0x91, 0x9E, 0xD6, 0xDB, 
                /* 0608 */    0x80, 0x0F, 0x09, 0x87, 0xC5, 0x0E, 0x1E, 0x3E, 
                /* 0610 */    0xA3, 0x80, 0x63, 0x3C, 0xF0, 0x6F, 0x9F, 0x4F, 
                /* 0618 */    0x07, 0xFF, 0xFF, 0x08, 0xAF, 0x0C, 0x9E, 0xAF, 
                /* 0620 */    0x0F, 0x66, 0x60, 0xB9, 0x75, 0xF8, 0xD0, 0x10, 
                /* 0628 */    0xEA, 0xA9, 0xC3, 0x33, 0x78, 0xBF, 0xF0, 0x09, 
                /* 0630 */    0x04, 0x98, 0x04, 0x36, 0x34, 0x48, 0x26, 0x73, 
                /* 0638 */    0x9D, 0xB2, 0x71, 0xDA, 0xA1, 0xC3, 0xB4, 0xC8, 
                /* 0640 */    0x03, 0x82, 0x8E, 0x06, 0x3E, 0xD2, 0xF8, 0x80, 
                /* 0648 */    0xCB, 0x0F, 0x49, 0x86, 0xB0, 0x30, 0x0A, 0x9D, 
                /* 0650 */    0x7C, 0x3C, 0x1A, 0x0F, 0x8F, 0xC0, 0x51, 0x10, 
                /* 0658 */    0x8F, 0xDC, 0x21, 0x21, 0x64, 0xE4, 0x10, 0x80, 
                /* 0660 */    0x3E, 0x2C, 0x30, 0x88, 0x87, 0x2E, 0x13, 0xF8, 
                /* 0668 */    0xD8, 0xE0, 0xF3, 0x1A, 0x9C, 0xE3, 0x91, 0x27, 
                /* 0670 */    0xE3, 0x69, 0x78, 0xDC, 0xB8, 0x53, 0x07, 0xDC, 
                /* 0678 */    0x71, 0xE0, 0x0F, 0x3A, 0xF8, 0x53, 0x20, 0x3F, 
                /* 0680 */    0x27, 0x91, 0xF3, 0x1F, 0xA8, 0x04, 0x9E, 0x0B, 
                /* 0688 */    0x40, 0x01, 0xE4, 0xAB, 0x80, 0x95, 0x1E, 0x07, 
                /* 0690 */    0xE8, 0x14, 0x42, 0x84, 0x89, 0x66, 0x78, 0x4C, 
                /* 0698 */    0xF0, 0xD3, 0x17, 0x1D, 0x8F, 0x87, 0xE5, 0xFF, 
                /* 06A0 */    0xFF, 0x20, 0xF9, 0xF1, 0x85, 0x61, 0x3F, 0x9D, 
                /* 06A8 */    0xF8, 0xD4, 0x76, 0x8C, 0xEF, 0x05, 0x8F, 0x5F, 
                /* 06B0 */    0x18, 0x58, 0x0F, 0x9B, 0xC3, 0x1A, 0x2D, 0xEC, 
                /* 06B8 */    0xD1, 0x3E, 0x3E, 0xF8, 0xEA, 0xE1, 0x89, 0xF9, 
                /* 06C0 */    0x16, 0xE7, 0x43, 0x07, 0x58, 0x0E, 0x52, 0xC0, 
                /* 06C8 */    0xE3, 0xFC, 0xC3, 0xE6, 0xF0, 0x02, 0xF1, 0x1C, 
                /* 06D0 */    0xE6, 0x83, 0x07, 0x3B, 0xF1, 0xB1, 0x53, 0x1F, 
                /* 06D8 */    0xD7, 0x75, 0x8E, 0x43, 0x9C, 0x21, 0xF8, 0x20, 
                /* 06E0 */    0x1C, 0x67, 0x91, 0xF2, 0x38, 0x53, 0x72, 0x95, 
                /* 06E8 */    0x7C, 0xE0, 0xA8, 0x1A, 0x45, 0xF0, 0xBE, 0x15, 
                /* 06F0 */    0xB0, 0x08, 0xC7, 0x08, 0x94, 0x78, 0x0A, 0x49, 
                /* 06F8 */    0x3F, 0x46, 0xA0, 0xC4, 0xC2, 0x51, 0x10, 0x1F, 
                /* 0700 */    0x23, 0x7C, 0x90, 0xB0, 0x8D, 0x63, 0x04, 0x6A, 
                /* 0708 */    0x8C, 0x3E, 0x0C, 0xF2, 0xA3, 0x00, 0x3F, 0x45, 
                /* 0710 */    0xC0, 0x3F, 0xF1, 0xE0, 0xC6, 0x0A, 0x77, 0x70, 
                /* 0718 */    0x6C, 0x85, 0x2F, 0x3D, 0x87, 0x76, 0x76, 0x0F, 
                /* 0720 */    0x09, 0x51, 0xDE, 0x5F, 0x8D, 0x18, 0x21, 0x60, 
                /* 0728 */    0xD8, 0x68, 0x1E, 0x23, 0xEE, 0xD8, 0xCE, 0x2E, 
                /* 0730 */    0x45, 0x9E, 0x53, 0xAC, 0x47, 0x25, 0x7E, 0xA4, 
                /* 0738 */    0x80, 0xF7, 0xFF, 0x27, 0xF0, 0x31, 0x0F, 0x77, 
                /* 0740 */    0xA4, 0x80, 0x33, 0x93, 0xF3, 0xC0, 0xA8, 0x1B, 
                /* 0748 */    0x8B, 0xE0, 0x8D, 0xF6, 0x92, 0x8D, 0x3D, 0x58, 
                /* 0750 */    0x00, 0x8F, 0x13, 0xA3, 0x0F, 0x16, 0xE0, 0x3A, 
                /* 0758 */    0x13, 0xF8, 0x60, 0x01, 0x5C, 0xCF, 0x07, 0x3E, 
                /* 0760 */    0x1D, 0x80, 0xF5, 0xF2, 0xC3, 0xEF, 0x07, 0x30, 
                /* 0768 */    0x4E, 0x18, 0x30, 0xCE, 0x07, 0x98, 0x1B, 0x86, 
                /* 0770 */    0xC3, 0x2C, 0x59, 0x27, 0x0C, 0x7E, 0x5C, 0x73, 
                /* 0778 */    0xA4, 0xD5, 0x6A, 0x20, 0xEC, 0x12, 0x86, 0x23, 
                /* 0780 */    0x18, 0x04, 0x4C, 0x27, 0x0B, 0x8F, 0xDA, 0x11, 
                /* 0788 */    0x28, 0x24, 0xED, 0x80, 0x81, 0x12, 0x73, 0xC0, 
                /* 0790 */    0xA0, 0x20, 0x06, 0x74, 0x52, 0x08, 0x9D, 0x45, 
                /* 0798 */    0xFD, 0xFF, 0x3F, 0x60, 0xF0, 0x83, 0x9D, 0x4F, 
                /* 07A0 */    0x0D, 0xEC, 0x72, 0xEB, 0xEB, 0x85, 0xE7, 0xE9, 
                /* 07A8 */    0x29, 0x73, 0x3C, 0x1F, 0x43, 0x0C, 0xEB, 0x8B, 
                /* 07B0 */    0x09, 0x78, 0x6E, 0x14, 0xEC, 0x34, 0x8B, 0xB9, 
                /* 07B8 */    0xB8, 0xB1, 0xB3, 0x1D, 0x3B, 0x15, 0x18, 0xE5, 
                /* 07C0 */    0x70, 0xDF, 0xC0, 0xAC, 0xE6, 0xAA, 0x80, 0x9A, 
                /* 07C8 */    0x11, 0x86, 0xC0, 0xE3, 0xF5, 0x81, 0x11, 0x4C, 
                /* 07D0 */    0xFA, 0x2E, 0x14, 0x20, 0x47, 0xE7, 0x32, 0x47, 
                /* 07D8 */    0x8F, 0x3A, 0x47, 0xF9, 0x24, 0xC5, 0x47, 0xEF, 
                /* 07E0 */    0xA3, 0xB9, 0x4F, 0x2B, 0x70, 0xCF, 0x52, 0x3E, 
                /* 07E8 */    0x42, 0x01, 0xDF, 0x81, 0xF9, 0x52, 0x80, 0x3B, 
                /* 07F0 */    0xA0, 0x80, 0xE1, 0xFA, 0x80, 0xFD, 0xFF, 0xC3, 
                /* 07F8 */    0xBC, 0xA2, 0xE0, 0xCF, 0x28, 0xC0, 0x24, 0xF0, 
                /* 0800 */    0x59, 0x0A, 0x74, 0x90, 0x3E, 0xA3, 0x00, 0xD7, 
                /* 0808 */    0xA1, 0xE2, 0xCE, 0x28, 0xE0, 0x38, 0x10, 0x1E, 
                /* 0810 */    0x3D, 0x3F, 0x47, 0xB1, 0x38, 0xC7, 0x12, 0x74, 
                /* 0818 */    0xA8, 0x97, 0x83, 0x6E, 0x9B, 0xEC, 0x58, 0x82, 
                /* 0820 */    0x8D, 0x72, 0x2C, 0x41, 0x85, 0xA0, 0xD0, 0x09, 
                /* 0828 */    0xCA, 0x27, 0x09, 0x7E, 0xC6, 0xE3, 0x20, 0x06, 
                /* 0830 */    0x74, 0xF6, 0x93, 0x04, 0x5A, 0xC5, 0x49, 0x02, 
                /* 0838 */    0x19, 0xF6, 0x5C, 0x02, 0x84, 0xFE, 0xFF, 0xE7, 
                /* 0840 */    0x12, 0xF0, 0x9E, 0x13, 0x9F, 0x26, 0xC0, 0x35, 
                /* 0848 */    0x6B, 0xFC, 0x69, 0x02, 0x7F, 0x3E, 0x01, 0x16, 
                /* 0850 */    0x47, 0x46, 0xC0, 0xD9, 0x41, 0x90, 0x1F, 0x19, 
                /* 0858 */    0x81, 0xEF, 0xB9, 0x84, 0xFF, 0xFF, 0xCF, 0x25, 
                /* 0860 */    0xE0, 0x19, 0xB6, 0xCF, 0x25, 0x80, 0x93, 0x9B, 
                /* 0868 */    0x34, 0x3F, 0x97, 0xC0, 0x1D, 0xBA, 0xE3, 0x9C, 
                /* 0870 */    0xBE, 0x10, 0x57, 0x58, 0xDF, 0x33, 0xE2, 0x27, 
                /* 0878 */    0x18, 0xE3, 0x58, 0x82, 0x0A, 0x70, 0xF8, 0x02, 
                /* 0880 */    0xB4, 0xFF, 0xFF, 0x4F, 0x23, 0xE0, 0x3F, 0x17, 
                /* 0888 */    0x7B, 0xF4, 0xFC, 0x40, 0xE2, 0x43, 0x06, 0x19, 
                /* 0890 */    0x3D, 0x8D, 0x7C, 0xF8, 0x82, 0x1E, 0xF1, 0x30, 
                /* 0898 */    0x02, 0xB4, 0x07, 0xFA, 0xF0, 0x05, 0xC6, 0xDB, 
                /* 08A0 */    0x03, 0x3F, 0x6E, 0x02, 0xAF, 0xD8, 0x87, 0x12, 
                /* 08A8 */    0xD0, 0xC1, 0xF2, 0x43, 0x09, 0xF8, 0xFF, 0xFF, 
                /* 08B0 */    0x87, 0x12, 0xF0, 0x8C, 0x1E, 0x77, 0xF6, 0x02, 
                /* 08B8 */    0xC7, 0x55, 0xC2, 0x83, 0x37, 0xE0, 0x31, 0x3D, 
                /* 08C0 */    0x16, 0x18, 0x90, 0x9D, 0x4B, 0x98, 0xEC, 0x73, 
                /* 08C8 */    0x09, 0xFA, 0x3C, 0x62, 0xAB, 0xB7, 0x63, 0x72, 
                /* 08D0 */    0x52, 0xC7, 0x08, 0x3F, 0x97, 0xA0, 0x24, 0x9F, 
                /* 08D8 */    0x4B, 0x00, 0xDA, 0x1C, 0xBA, 0xC0, 0xF1, 0xFF, 
                /* 08E0 */    0x3F, 0x74, 0x01, 0x3C, 0xB8, 0x06, 0xFA, 0x40, 
                /* 08E8 */    0x02, 0xAE, 0x7B, 0x82, 0x0F, 0x24, 0xC0, 0xF5, 
                /* 08F0 */    0x28, 0x00, 0x9E, 0x23, 0x08, 0xFE, 0xC8, 0xEC, 
                /* 08F8 */    0x03, 0x3F, 0xEE, 0xA4, 0xEF, 0x53, 0x75, 0x5C, 
                /* 0900 */    0xE3, 0x1F, 0xF1, 0x11, 0xFC, 0xFF, 0x1B, 0x3F, 
                /* 0908 */    0x7D, 0x91, 0x7B, 0x81, 0x8F, 0x25, 0x3A, 0xF0, 
                /* 0910 */    0xA3, 0x04, 0x53, 0x48, 0xEE, 0x01, 0x02, 0x25, 
                /* 0918 */    0x10, 0x8E, 0x82, 0xF8, 0x00, 0xE1, 0xF0, 0xE7, 
                /* 0920 */    0x24, 0xE8, 0x57, 0x4B, 0x7E, 0x7E, 0xC0, 0x5F, 
                /* 0928 */    0x47, 0xD8, 0x28, 0xD9, 0x71, 0x1E, 0x37, 0x4A, 
                /* 0930 */    0xB8, 0x60, 0xAF, 0x0F, 0x86, 0xB8, 0xC3, 0x13, 
                /* 0938 */    0xE1, 0x67, 0x5B, 0xCC, 0x31, 0x1F, 0xEE, 0x51, 
                /* 0940 */    0xE1, 0x51, 0x09, 0x5C, 0xB3, 0x86, 0x75, 0x58, 
                /* 0948 */    0x02, 0x3C, 0x78, 0x38, 0x4C, 0x00, 0xAD, 0xFF, 
                /* 0950 */    0xFF, 0x61, 0x09, 0xFC, 0xB3, 0xE7, 0x83, 0x38, 
                /* 0958 */    0x11, 0x0F, 0x1F, 0x03, 0x74, 0x2C, 0x6F, 0x07, 
                /* 0960 */    0xEC, 0xD8, 0xAB, 0xC3, 0x12, 0x6A, 0x0C, 0x3E, 
                /* 0968 */    0xFA, 0xFA, 0xE8, 0xC4, 0x20, 0x1F, 0x0F, 0x31, 
                /* 0970 */    0xC7, 0x16, 0x76, 0xC2, 0x07, 0xF8, 0xF6, 0xFF, 
                /* 0978 */    0x3F, 0xE1, 0x03, 0xD6, 0xCE, 0x24, 0xBE, 0x3F, 
                /* 0980 */    0x60, 0xAF, 0x2D, 0xF8, 0xA3, 0x09, 0xF0, 0x06, 
                /* 0988 */    0xF7, 0xD1, 0x04, 0x70, 0xF5, 0xFF, 0x3F, 0x9A, 
                /* 0990 */    0xE0, 0x84, 0x9E, 0x9D, 0x50, 0x67, 0x03, 0x1F, 
                /* 0998 */    0x98, 0x6C, 0x14, 0x95, 0x40, 0xBF, 0x69, 0xBC, 
                /* 09A0 */    0x9F, 0x07, 0x31, 0xF4, 0x49, 0xF0, 0x53, 0x13, 
                /* 09A8 */    0x06, 0xC2, 0x47, 0x13, 0x9F, 0x24, 0x7C, 0x9C, 
                /* 09B0 */    0xE0, 0x52, 0xE0, 0x28, 0x88, 0x8F, 0x13, 0x8E, 
                /* 09B8 */    0x79, 0x36, 0x41, 0x9F, 0x0A, 0x7C, 0x3F, 0x38, 
                /* 09C0 */    0x09, 0x6C, 0xA8, 0xF3, 0x04, 0x50, 0x19, 0x07, 
                /* 09C8 */    0xFE, 0xE8, 0x04, 0x57, 0xD8, 0xC9, 0x04, 0x64, 
                /* 09D0 */    0x27, 0x72, 0x60, 0x6E, 0xE2, 0x1C, 0x01, 0x94, 
                /* 09D8 */    0xFE, 0xFF, 0x27, 0x72, 0xE0, 0x70, 0x5A, 0xE5, 
                /* 09E0 */    0xA7, 0x01, 0x7C, 0xA0, 0xA3, 0x2A, 0x3A, 0xD6, 
                /* 09E8 */    0x93, 0x41, 0x23, 0x7E, 0x07, 0x08, 0x77, 0xEA, 
                /* 09F0 */    0xE7, 0xF9, 0x40, 0xC0, 0x8E, 0xE5, 0x3E, 0x2C, 
                /* 09F8 */    0xF1, 0xF3, 0x92, 0x4F, 0x11, 0x3E, 0x41, 0x70, 
                /* 0A00 */    0x49, 0x27, 0x08, 0x0A, 0x62, 0x40, 0xE7, 0x3D, 
                /* 0A08 */    0x5D, 0x7A, 0x10, 0xF4, 0x7C, 0xC3, 0x8F, 0xC5, 
                /* 0A10 */    0xBE, 0xB6, 0x1C, 0xC5, 0x23, 0x51, 0x82, 0xF9, 
                /* 0A18 */    0x0E, 0x01, 0xF4, 0xB6, 0x04, 0x4F, 0xDE, 0x6D, 
                /* 0A20 */    0x09, 0x44, 0x18, 0x77, 0x72, 0x16, 0x0C, 0xE1, 
                /* 0A28 */    0x28, 0x7D, 0x80, 0x80, 0x31, 0xC0, 0xC7, 0x84, 
                /* 0A30 */    0x62, 0xDF, 0x37, 0xF4, 0xBE, 0x04, 0xF3, 0x8A, 
                /* 0A38 */    0x09, 0xAE, 0xF3, 0x12, 0x30, 0x9E, 0x89, 0xFF, 
                /* 0A40 */    0xFF, 0x3E, 0xCF, 0x21, 0xE4, 0x02, 0xC0, 0x4F, 
                /* 0A48 */    0xE5, 0x60, 0x39, 0x36, 0x80, 0x67, 0x1C, 0xEC, 
                /* 0A50 */    0x0A, 0x80, 0x3F, 0x32, 0xC1, 0x3E, 0x35, 0xE2, 
                /* 0A58 */    0x8E, 0x4C, 0x60, 0x98, 0x08, 0x3B, 0xE7, 0x1C, 
                /* 0A60 */    0x08, 0xF6, 0x60, 0x02, 0xBC, 0x55, 0x1C, 0x4C, 
                /* 0A68 */    0x00, 0x2D, 0xC3, 0x0D, 0x72, 0x3E, 0x8F, 0xE4, 
                /* 0A70 */    0xC6, 0x79, 0xC3, 0xF3, 0x89, 0x84, 0x9D, 0xC4, 
                /* 0A78 */    0xD9, 0xFF, 0xFF, 0x60, 0xC2, 0x25, 0x41, 0x48, 
                /* 0A80 */    0xFE, 0x61, 0x09, 0x89, 0x8D, 0x9D, 0xFE, 0x39, 
                /* 0A88 */    0xBC, 0xB9, 0x32, 0x82, 0x62, 0x8F, 0x4B, 0xA8, 
                /* 0A90 */    0xC3, 0x84, 0x45, 0x9E, 0x26, 0x50, 0xA7, 0x69, 
                /* 0A98 */    0x9F, 0x90, 0xC9, 0x69, 0x82, 0x46, 0x3E, 0x4D, 
                /* 0AA0 */    0xA0, 0x87, 0xE6, 0x89, 0x9D, 0x06, 0x6E, 0xDC, 
                /* 0AA8 */    0xA7, 0xC1, 0x6F, 0x87, 0xFC, 0xC0, 0x04, 0x7C, 
                /* 0AB0 */    0x0F, 0x0F, 0xF8, 0xD3, 0x04, 0xEC, 0xF3, 0x0D, 
                /* 0AB8 */    0x1B, 0x74, 0xC8, 0x77, 0x87, 0x17, 0x59, 0x1F, 
                /* 0AC0 */    0x26, 0x80, 0xF9, 0xC8, 0x7D, 0x98, 0x00, 0xFF, 
                /* 0AC8 */    0xFF, 0xFF, 0xD0, 0x04, 0x5C, 0x15, 0xDA, 0xF4, 
                /* 0AD0 */    0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, 
                /* 0AD8 */    0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xA4, 
                /* 0AE0 */    0x9D, 0x54, 0xBD, 0x54, 0x8D, 0xD5, 0x91, 0x9E, 
                /* 0AE8 */    0x0B, 0x02, 0x71, 0xD4, 0x05, 0x0B, 0xC4, 0xD1, 
                /* 0AF0 */    0x9F, 0x40, 0x02, 0xB1, 0xB8, 0x57, 0x88, 0x40, 
                /* 0AF8 */    0x2C, 0xF5, 0x05, 0x21, 0x10, 0xCB, 0xD4, 0x01, 
                /* 0B00 */    0xC2, 0x82, 0xBC, 0xEF, 0x05, 0xE2, 0x60, 0x52, 
                /* 0B08 */    0x06, 0x40, 0xAD, 0x80, 0xB0, 0x78, 0xCB, 0x12, 
                /* 0B10 */    0x88, 0x23, 0x9A, 0x39, 0x01, 0x50, 0x37, 0x20, 
                /* 0B18 */    0x4C, 0xA0, 0x1E, 0x10, 0x26, 0xDC, 0x10, 0x08, 
                /* 0B20 */    0x8B, 0xA3, 0x08, 0x84, 0x09, 0xB6, 0x04, 0xC2, 
                /* 0B28 */    0xE2, 0x82, 0x50, 0xC1, 0x9E, 0x8E, 0xFD, 0x4C, 
                /* 0B30 */    0x3E, 0x88, 0x80, 0x1C, 0xDA, 0x14, 0x10, 0x93, 
                /* 0B38 */    0xA0, 0x0A, 0x88, 0x25, 0x78, 0x0C, 0x08, 0xC8, 
                /* 0B40 */    0x71, 0x40, 0x04, 0xE4, 0x50, 0xB6, 0x80, 0x58, 
                /* 0B48 */    0x44, 0x10, 0x01, 0x59, 0xCF, 0x1B, 0x4E, 0x40, 
                /* 0B50 */    0x16, 0x07, 0x22, 0x20, 0x8B, 0x36, 0x06, 0xC4, 
                /* 0B58 */    0x22, 0x80, 0x08, 0xC8, 0xC9, 0x5E, 0x70, 0x81, 
                /* 0B60 */    0x48, 0x4C, 0x10, 0x01, 0x39, 0xEC, 0x8A, 0x05, 
                /* 0B68 */    0xE4, 0xE8, 0x20, 0x02, 0xB2, 0x4E, 0x6F, 0x40, 
                /* 0B70 */    0x4C, 0x34, 0x88, 0x80, 0x2C, 0xFE, 0xB1, 0x21, 
                /* 0B78 */    0x20, 0x47, 0x01, 0x11, 0x90, 0x03, 0x3E, 0x28, 
                /* 0B80 */    0x02, 0x91, 0xB8, 0x20, 0x02, 0xB2, 0x46, 0x7B, 
                /* 0B88 */    0x40, 0x4C, 0x30, 0x88, 0x80, 0x2C, 0xFB, 0x07, 
                /* 0B90 */    0x25, 0x20, 0x87, 0x00, 0xD1, 0x00, 0xC9, 0xEB, 
                /* 0B98 */    0x40, 0x03, 0x24, 0xBF, 0x89, 0x40, 0x44, 0xE2, 
                /* 0BA0 */    0xAB, 0x22, 0x10, 0xD1, 0x0B, 0x22, 0x20, 0xFF, 
                /* 0BA8 */    0xFF, 0xA5, 0xFF, 0x38, 0x04, 0xE4, 0x20, 0x20, 
                /* 0BB0 */    0x02, 0x26, 0x1A, 0x81, 0xE9, 0x0B, 0x21, 0x10, 
                /* 0BB8 */    0xF9, 0xFF, 0x03
            })
            Name (_HID, EisaId ("PNP0C14"))
            Name (_UID, Zero)
            Name (_WDG, Buffer (0x28)
            {
                /* 0000 */    0x6A, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11, 
                /* 0008 */    0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00, 
                /* 0010 */    0x41, 0x41, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05, 
                /* 0018 */    0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, 
                /* 0020 */    0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00
            })
            Method (WMAA, 3, NotSerialized)
            {
                If (LEqual (Arg0, Zero))
                {
                    If (LOr (LOr (LNotEqual (Arg1, One), LNotEqual (Arg1, 
                        0x02)), LNotEqual (Arg1, 0x06)))
                    {
                        CreateDWordField (Arg2, Zero, WIID)
                    }

                    If (LEqual (Arg1, One))
                    {
                        Return (AM01 ())
                    }
                    Else
                    {
                        If (LEqual (Arg1, 0x02))
                        {
                            Return (AM02 ())
                        }
                        Else
                        {
                            If (LEqual (Arg1, 0x03))
                            {
                                Return (AM03 (WIID))
                            }
                            Else
                            {
                                If (LEqual (Arg1, 0x04))
                                {
                                    CreateDWordField (Arg2, 0x04, IVAL)
                                    Return (AM04 (WIID, IVAL))
                                }
                                Else
                                {
                                    If (LEqual (Arg1, 0x05))
                                    {
                                        Return (AM05 (WIID))
                                    }
                                    Else
                                    {
                                        If (LEqual (Arg1, 0x06))
                                        {
                                            Return (AM06 ())
                                        }
                                        Else
                                        {
                                            If (LEqual (Arg1, 0x07))
                                            {
                                                AM07 (Arg2)
                                            }
                                            Else
                                            {
                                                If (LEqual (Arg1, 0x08))
                                                {
                                                    AM08 (WIID)
                                                }
                                                Else
                                                {
                                                    If (LEqual (Arg1, 0x09))
                                                    {
                                                        Return (AM09 ())
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (Arg1, 0x0A))
                                                        {
                                                            Return (AM10 (Arg2))
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (Arg1, 0x0B))
                                                            {
                                                                Return (AM11 ())
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    Name (WQBA, Buffer (0x0BBB)
    {
        /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 
        /* 0008 */    0xAB, 0x0B, 0x00, 0x00, 0x20, 0x4A, 0x00, 0x00, 
        /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 
        /* 0018 */    0x28, 0x5B, 0xA4, 0x00, 0x01, 0x06, 0x18, 0x42, 
        /* 0020 */    0x10, 0x15, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, 
        /* 0028 */    0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, 
        /* 0030 */    0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08, 
        /* 0038 */    0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E, 
        /* 0040 */    0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, 
        /* 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, 
        /* 0068 */    0x17, 0x8A, 0xA2, 0x19, 0x44, 0x49, 0x50, 0xB9, 
        /* 0070 */    0x00, 0xDF, 0x08, 0x02, 0x2F, 0x57, 0x80, 0xE4, 
        /* 0078 */    0x09, 0x48, 0xB3, 0x00, 0xC3, 0x02, 0xAC, 0x0B, 
        /* 0080 */    0x90, 0x3D, 0x04, 0x2A, 0x75, 0x08, 0x28, 0x39, 
        /* 0088 */    0x43, 0x40, 0x0D, 0xA0, 0xD5, 0x09, 0x08, 0xBF, 
        /* 0090 */    0xD2, 0x29, 0x21, 0x09, 0xC2, 0x19, 0xAB, 0x78, 
        /* 0098 */    0x7C, 0xCD, 0xA2, 0xE9, 0x39, 0xC9, 0x39, 0x86, 
        /* 00A0 */    0x1C, 0x8F, 0x0B, 0x3D, 0x08, 0x1E, 0x47, 0x03, 
        /* 00A8 */    0x08, 0x93, 0x3F, 0x64, 0x05, 0x80, 0x41, 0x49, 
        /* 00B0 */    0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9, 
        /* 00B8 */    0x80, 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A, 
        /* 00C0 */    0xBF, 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04, 
        /* 00C8 */    0x46, 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42, 
        /* 00D0 */    0x8D, 0xD1, 0x1C, 0x14, 0x09, 0x37, 0x68, 0xB4, 
        /* 00D8 */    0x44, 0x58, 0x8D, 0x2B, 0xF6, 0x99, 0x59, 0xF8, 
        /* 00E0 */    0xB0, 0x84, 0x71, 0x04, 0x07, 0x76, 0xB0, 0x16, 
        /* 00E8 */    0x0D, 0x23, 0xB4, 0x82, 0xE0, 0x34, 0x88, 0xA3, 
        /* 00F0 */    0x88, 0x12, 0x86, 0xE1, 0x19, 0x33, 0xD0, 0x51, 
        /* 00F8 */    0x32, 0xA4, 0x30, 0x41, 0x4F, 0x20, 0xC8, 0xC9, 
        /* 0100 */    0x33, 0x2C, 0x43, 0x9C, 0x01, 0xC7, 0x8A, 0x11, 
        /* 0108 */    0x2A, 0x24, 0x66, 0x20, 0xC1, 0xFF, 0xFF, 0x27, 
        /* 0110 */    0xD0, 0x35, 0x86, 0x3C, 0x03, 0x91, 0x7B, 0xC0, 
        /* 0118 */    0x09, 0x04, 0x89, 0x1E, 0x25, 0xB8, 0x71, 0x8D, 
        /* 0120 */    0xCA, 0xC6, 0x74, 0x36, 0xB8, 0x81, 0x99, 0x20, 
        /* 0128 */    0xCE, 0xE1, 0x61, 0x64, 0x40, 0x68, 0x02, 0xF1, 
        /* 0130 */    0x63, 0x87, 0x4F, 0x60, 0xF7, 0xC7, 0x01, 0x29, 
        /* 0138 */    0x44, 0xD0, 0x85, 0xE0, 0x4C, 0x6B, 0x14, 0x60, 
        /* 0140 */    0xED, 0xEC, 0x20, 0x5B, 0x10, 0x3A, 0x0B, 0xC4, 
        /* 0148 */    0x6A, 0x0C, 0x45, 0x10, 0x11, 0x82, 0x46, 0x31, 
        /* 0150 */    0x5E, 0x84, 0x50, 0x21, 0xA2, 0x44, 0x3D, 0xE7, 
        /* 0158 */    0x20, 0xB5, 0x09, 0x50, 0x06, 0x22, 0xB4, 0x60, 
        /* 0160 */    0x46, 0x60, 0xF6, 0x07, 0x41, 0x24, 0x58, 0x80, 
        /* 0168 */    0xF8, 0x23, 0xB0, 0x84, 0x13, 0x81, 0x8C, 0x8C, 
        /* 0170 */    0x86, 0x1E, 0x16, 0x7C, 0x12, 0x60, 0x07, 0x04, 
        /* 0178 */    0xCF, 0xE7, 0xD4, 0x4C, 0xE0, 0xC0, 0x10, 0xE2, 
        /* 0180 */    0x95, 0x00, 0x51, 0x47, 0x0B, 0x4A, 0x60, 0x29, 
        /* 0188 */    0x47, 0x03, 0x62, 0x7B, 0x60, 0xBA, 0x07, 0x1C, 
        /* 0190 */    0xE1, 0xB9, 0xFB, 0x72, 0x70, 0x6A, 0xFE, 0x69, 
        /* 0198 */    0x78, 0x9A, 0x0F, 0x09, 0x98, 0x21, 0x7A, 0xAC, 
        /* 01A0 */    0x07, 0x11, 0xF0, 0x10, 0xD9, 0x29, 0xC1, 0x80, 
        /* 01A8 */    0x78, 0xEF, 0xD7, 0x02, 0x32, 0x82, 0x97, 0x04, 
        /* 01B0 */    0x03, 0x7A, 0x12, 0x0F, 0x08, 0x60, 0x39, 0x68, 
        /* 01B8 */    0x1C, 0xF8, 0x09, 0x55, 0x7C, 0x07, 0xA0, 0x47, 
        /* 01C0 */    0x02, 0x36, 0xA3, 0xF8, 0x26, 0x28, 0xEB, 0xF8, 
        /* 01C8 */    0x80, 0x9E, 0x73, 0xB4, 0x67, 0x87, 0x97, 0x85, 
        /* 01D0 */    0x66, 0xAF, 0x18, 0x84, 0xE0, 0x35, 0xC0, 0x37, 
        /* 01D8 */    0x05, 0x9F, 0x46, 0x2C, 0x69, 0x75, 0x72, 0xB2, 
        /* 01E0 */    0x2A, 0x8F, 0x98, 0x82, 0x7B, 0x08, 0x5C, 0x04, 
        /* 01E8 */    0x9C, 0x86, 0xEE, 0xF1, 0x82, 0x43, 0xC1, 0x78, 
        /* 01F0 */    0xE9, 0xFF, 0x7F, 0xBC, 0xE0, 0x3E, 0x0F, 0x1C, 
        /* 01F8 */    0x2F, 0x58, 0x4E, 0x09, 0x55, 0x5D, 0x36, 0x34, 
        /* 0200 */    0x87, 0xF3, 0x6D, 0x1E, 0x9F, 0x1C, 0x2D, 0x3C, 
        /* 0208 */    0x61, 0x36, 0x96, 0xA3, 0x62, 0xC7, 0x10, 0x36, 
        /* 0210 */    0x3A, 0x3E, 0x0A, 0x0F, 0xF8, 0xB5, 0xA1, 0x58, 
        /* 0218 */    0x10, 0x99, 0x80, 0xD0, 0x91, 0xE1, 0xC0, 0xC1, 
        /* 0220 */    0xE2, 0xEC, 0x00, 0x21, 0x02, 0x0B, 0x1B, 0x39, 
        /* 0228 */    0x7A, 0xC4, 0x1E, 0xD4, 0x3B, 0x8C, 0x31, 0x1E, 
        /* 0230 */    0x08, 0x8C, 0x7A, 0x48, 0x07, 0x0F, 0x3E, 0x40, 
        /* 0238 */    0x0F, 0x1E, 0x70, 0xFA, 0xFF, 0x27, 0xB0, 0xA0, 
        /* 0240 */    0x21, 0x4B, 0xC4, 0xE0, 0xD1, 0xA7, 0x08, 0x0F, 
        /* 0248 */    0xE7, 0xDD, 0x87, 0x1F, 0x44, 0x12, 0x38, 0x3C, 
        /* 0250 */    0x84, 0x06, 0x0F, 0x9E, 0xB3, 0x8F, 0x07, 0x0F, 
        /* 0258 */    0x7E, 0x79, 0x83, 0x07, 0xD1, 0x14, 0x8E, 0x0D, 
        /* 0260 */    0x77, 0xB0, 0xF1, 0xC0, 0xC1, 0x3D, 0x5C, 0xFC, 
        /* 0268 */    0x90, 0x70, 0x67, 0x2D, 0x78, 0x3E, 0x27, 0x4F, 
        /* 0270 */    0x06, 0xF0, 0x12, 0x84, 0x3B, 0x6C, 0x01, 0x97, 
        /* 0278 */    0x11, 0x70, 0x99, 0xAB, 0xA4, 0x87, 0x2A, 0x0B, 
        /* 0280 */    0x83, 0x41, 0x9D, 0xAB, 0xC0, 0xFB, 0xFF, 0x3F, 
        /* 0288 */    0x57, 0x01, 0xF6, 0x2F, 0x53, 0xEF, 0x53, 0x3E, 
        /* 0290 */    0x57, 0x81, 0x3B, 0xDA, 0x79, 0x40, 0xE7, 0x16, 
        /* 0298 */    0x72, 0x9A, 0x41, 0x1F, 0x0A, 0x7C, 0x06, 0x78, 
        /* 02A0 */    0x92, 0x01, 0xDB, 0xA1, 0x0A, 0x38, 0x9C, 0x64, 
        /* 02A8 */    0xC0, 0x73, 0x2B, 0x7B, 0x92, 0x61, 0xFF, 0xFF, 
        /* 02B0 */    0x93, 0x0C, 0x38, 0x0F, 0x62, 0x3E, 0xC9, 0x80, 
        /* 02B8 */    0xEF, 0xE8, 0x85, 0x3B, 0x81, 0xC0, 0xF3, 0x38, 
        /* 02C0 */    0x24, 0x21, 0x1F, 0x42, 0xF0, 0x43, 0x3A, 0xA6, 
        /* 02C8 */    0x67, 0x10, 0x60, 0x28, 0xE4, 0x65, 0xE0, 0x03, 
        /* 02D0 */    0x08, 0x8D, 0x7E, 0x06, 0x01, 0xB4, 0xFF, 0xFF, 
        /* 02D8 */    0xCF, 0x20, 0xC0, 0xE5, 0xAC, 0xF0, 0x0C, 0x02, 
        /* 02E0 */    0x76, 0xF1, 0xAF, 0x3A, 0x9D, 0x07, 0x1C, 0x1C, 
        /* 02E8 */    0x42, 0x4E, 0x8E, 0x8A, 0xA8, 0xE1, 0x58, 0xEB, 
        /* 02F0 */    0x41, 0x80, 0x8C, 0xE7, 0x45, 0xC0, 0x41, 0x4F, 
        /* 02F8 */    0x8A, 0x40, 0xF7, 0xAC, 0x81, 0x3B, 0x1F, 0xC0, 
        /* 0300 */    0x3D, 0x12, 0xF2, 0x73, 0x07, 0xF8, 0xA2, 0x43, 
        /* 0308 */    0xE8, 0x98, 0x89, 0x3F, 0x51, 0x79, 0x88, 0x3E, 
        /* 0310 */    0x1B, 0x98, 0xC0, 0xA3, 0x05, 0xD7, 0x39, 0x11, 
        /* 0318 */    0x5C, 0xFF, 0xFF, 0xD1, 0xC2, 0x3B, 0x69, 0xE0, 
        /* 0320 */    0x46, 0x0B, 0xF7, 0x00, 0xFC, 0x58, 0x80, 0x39, 
        /* 0328 */    0x62, 0x82, 0xEB, 0xD0, 0x02, 0xA6, 0xEB, 0x02, 
        /* 0330 */    0xE6, 0xD2, 0x82, 0x3F, 0xB4, 0x00, 0x1F, 0xA1, 
        /* 0338 */    0x27, 0x16, 0x94, 0xB4, 0x43, 0x0B, 0xA0, 0xF9, 
        /* 0340 */    0xFF, 0x7F, 0x68, 0x01, 0x6E, 0x73, 0x7D, 0x68, 
        /* 0348 */    0x01, 0x7B, 0xB8, 0x73, 0x18, 0x95, 0x73, 0x0E, 
        /* 0350 */    0x83, 0x76, 0x68, 0xF6, 0x39, 0x0C, 0xB8, 0x1E, 
        /* 0358 */    0x26, 0xF0, 0x87, 0x4A, 0xB8, 0xB3, 0x88, 0x1F, 
        /* 0360 */    0x27, 0xDA, 0x5B, 0x80, 0xCF, 0xA7, 0xC0, 0xED, 
        /* 0368 */    0xB0, 0x86, 0x3B, 0x82, 0xC0, 0xBB, 0x14, 0x9C, 
        /* 0370 */    0x96, 0xA7, 0xF6, 0xD4, 0x7F, 0x70, 0x8D, 0x5F, 
        /* 0378 */    0x41, 0xC8, 0x3D, 0xC6, 0x77, 0x10, 0xF6, 0xFF, 
        /* 0380 */    0x3F, 0x88, 0x01, 0x37, 0x19, 0x07, 0x31, 0x54, 
        /* 0388 */    0xF0, 0x43, 0x08, 0x40, 0xA1, 0xCB, 0xC2, 0x43, 
        /* 0390 */    0x08, 0xD8, 0xA5, 0x1F, 0xC4, 0x68, 0xEC, 0x83, 
        /* 0398 */    0x18, 0xEA, 0xFF, 0x7F, 0x82, 0xC7, 0x9F, 0xC3, 
        /* 03A0 */    0x00, 0xA7, 0x67, 0x38, 0xB8, 0x51, 0x8F, 0x61, 
        /* 03A8 */    0x80, 0xA2, 0xB3, 0x28, 0x70, 0x82, 0x78, 0x0E, 
        /* 03B0 */    0x63, 0xFF, 0xFF, 0x73, 0x18, 0xF0, 0x14, 0xFC, 
        /* 03B8 */    0x12, 0xF0, 0x81, 0x85, 0x4A, 0x84, 0x41, 0x9D, 
        /* 03C0 */    0x59, 0x00, 0xDE, 0x1C, 0x90, 0x9F, 0x59, 0xC0, 
        /* 03C8 */    0x1E, 0xF2, 0xAD, 0xA1, 0x1F, 0x81, 0xFF, 0xFF, 
        /* 03D0 */    0x67, 0x16, 0xC0, 0xF5, 0x99, 0xDC, 0x63, 0xC5, 
        /* 03D8 */    0x1D, 0x22, 0xD8, 0x48, 0x42, 0xBE, 0x0A, 0xBC, 
        /* 03E0 */    0x15, 0x98, 0xC0, 0x91, 0x0F, 0x2D, 0x40, 0xF7, 
        /* 03E8 */    0x6C, 0x82, 0x1B, 0x2D, 0xDC, 0xE3, 0xC8, 0x39, 
        /* 03F0 */    0x9E, 0xD0, 0xBB, 0xF9, 0xEB, 0x03, 0x3B, 0x4D, 
        /* 03F8 */    0xB0, 0x21, 0x83, 0x57, 0xDE, 0x21, 0x10, 0xF5, 
        /* 0400 */    0xFF, 0x1F, 0xB2, 0x0F, 0x24, 0x9E, 0xC2, 0xCB, 
        /* 0408 */    0x0C, 0x66, 0x26, 0x31, 0x0E, 0x24, 0xC2, 0xB1, 
        /* 0410 */    0x78, 0x78, 0xE4, 0x28, 0x08, 0xAA, 0x33, 0x3F, 
        /* 0418 */    0x19, 0x35, 0xE8, 0x67, 0xF7, 0x84, 0x0F, 0x9E, 
        /* 0420 */    0xE9, 0xBE, 0xE1, 0x83, 0xE1, 0x30, 0x08, 0x73, 
        /* 0428 */    0xCE, 0x1E, 0x3F, 0xF8, 0x8E, 0x3D, 0xB8, 0x73, 
        /* 0430 */    0x10, 0xBC, 0xEB, 0x8A, 0x91, 0x4F, 0xE8, 0x25, 
        /* 0438 */    0x00, 0x73, 0x6B, 0xC1, 0x9E, 0x05, 0x81, 0x93, 
        /* 0440 */    0xAC, 0x83, 0x20, 0x4A, 0xC8, 0x59, 0x10, 0x54, 
        /* 0448 */    0xFF, 0xFF, 0x83, 0x10, 0xC0, 0x04, 0x6F, 0xF7, 
        /* 0450 */    0x20, 0x5D, 0x83, 0x7C, 0x1B, 0x78, 0x1A, 0x78, 
        /* 0458 */    0xF8, 0x89, 0xF2, 0x20, 0xE4, 0x8B, 0xC4, 0x0B, 
        /* 0460 */    0x41, 0x84, 0x28, 0xC7, 0x7B, 0x02, 0x11, 0x9E, 
        /* 0468 */    0x86, 0x3C, 0xE1, 0x30, 0xE1, 0x4E, 0x36, 0xCA, 
        /* 0470 */    0x4B, 0x43, 0x18, 0x43, 0xC7, 0x0A, 0x14, 0x39, 
        /* 0478 */    0x7E, 0x08, 0x1F, 0x85, 0x7C, 0x10, 0x62, 0x51, 
        /* 0480 */    0xCE, 0xB7, 0xF4, 0xFC, 0x61, 0x23, 0x67, 0x11, 
        /* 0488 */    0xD4, 0x49, 0xC0, 0x87, 0x0E, 0x0F, 0xEA, 0x09, 
        /* 0490 */    0x01, 0x13, 0x1A, 0x42, 0x47, 0x5C, 0xE0, 0x7A, 
        /* 0498 */    0xDA, 0xC0, 0xFD, 0xFF, 0x8F, 0x42, 0xE0, 0x38, 
        /* 04A0 */    0x80, 0xC0, 0x7B, 0xF0, 0xF8, 0xB4, 0x0E, 0x2E, 
        /* 04A8 */    0x08, 0x9F, 0x3F, 0xE0, 0xFB, 0x44, 0x16, 0xEE, 
        /* 04B0 */    0x5B, 0xC0, 0x0B, 0x0D, 0xEE, 0xEC, 0x01, 0x7C, 
        /* 04B8 */    0xE4, 0x1E, 0x6B, 0x51, 0x02, 0x61, 0x50, 0x67, 
        /* 04C0 */    0x0F, 0xC0, 0xF9, 0xFF, 0xFF, 0xEC, 0x01, 0xD6, 
        /* 04C8 */    0x81, 0x3E, 0x7A, 0x1C, 0xE8, 0x31, 0x06, 0x89, 
        /* 04D0 */    0x11, 0xC4, 0x77, 0x0E, 0x1F, 0x7C, 0xE2, 0xBC, 
        /* 04D8 */    0x11, 0x3C, 0x7B, 0xF8, 0xC8, 0x71, 0x5C, 0x3E, 
        /* 04E0 */    0x80, 0xF8, 0xEC, 0xE1, 0x2B, 0x88, 0xF1, 0xC2, 
        /* 04E8 */    0xC4, 0x7C, 0x38, 0xF2, 0x35, 0x21, 0x5E, 0xE4, 
        /* 04F0 */    0xB0, 0x61, 0x22, 0xFB, 0xEC, 0xC1, 0x22, 0x1E, 
        /* 04F8 */    0x6B, 0xA9, 0x94, 0x83, 0x19, 0xFA, 0x4C, 0xE0, 
        /* 0500 */    0x5B, 0xC2, 0x99, 0xBD, 0x71, 0x44, 0x38, 0xAE, 
        /* 0508 */    0x93, 0x3B, 0x9F, 0x38, 0x1E, 0xD2, 0x49, 0xFB, 
        /* 0510 */    0x6C, 0x06, 0xBE, 0xE3, 0x07, 0x70, 0x38, 0x9B, 
        /* 0518 */    0x81, 0x67, 0x74, 0x70, 0x0F, 0x53, 0xE0, 0x93, 
        /* 0520 */    0x75, 0x36, 0x43, 0x0F, 0xCB, 0xE7, 0x82, 0x57, 
        /* 0528 */    0x07, 0x0F, 0x82, 0x9D, 0xCB, 0xC0, 0x75, 0xB8, 
        /* 0530 */    0x83, 0xF3, 0xFF, 0x3F, 0x97, 0x01, 0xAF, 0x73, 
        /* 0538 */    0xC7, 0x91, 0xB1, 0x53, 0x05, 0x47, 0x3C, 0xA8, 
        /* 0540 */    0x33, 0x79, 0x77, 0x39, 0x6B, 0x1F, 0x3C, 0x02, 
        /* 0548 */    0x9D, 0xE7, 0x29, 0xFB, 0x1C, 0x03, 0x73, 0x84, 
        /* 0550 */    0x1E, 0x3B, 0xF8, 0x0E, 0x26, 0xF8, 0x83, 0x0C, 
        /* 0558 */    0x1C, 0x98, 0x13, 0x38, 0xBA, 0x40, 0xA7, 0x10, 
        /* 0560 */    0xE7, 0x14, 0x9E, 0x63, 0x80, 0x91, 0x1C, 0x4B, 
        /* 0568 */    0x20, 0x2C, 0xC0, 0xB1, 0x40, 0xA2, 0x96, 0x49, 
        /* 0570 */    0x61, 0x7C, 0x32, 0xF0, 0x39, 0x06, 0xAE, 0x24, 
        /* 0578 */    0x38, 0xD4, 0xF8, 0x3C, 0xB2, 0x97, 0xBC, 0xE3, 
        /* 0580 */    0x3C, 0x91, 0x37, 0x04, 0x8F, 0xFF, 0x81, 0x06, 
        /* 0588 */    0xC6, 0xC0, 0x3D, 0xAD, 0x93, 0xF2, 0x4D, 0xEE, 
        /* 0590 */    0xB1, 0xC4, 0x67, 0x43, 0x7E, 0x5C, 0x60, 0x68, 
        /* 0598 */    0xFC, 0x74, 0x03, 0x86, 0xFF, 0xFF, 0xE9, 0x06, 
        /* 05A0 */    0xCE, 0x9D, 0xC1, 0x47, 0x0D, 0xB0, 0x5C, 0x6D, 
        /* 05A8 */    0x30, 0x58, 0xA1, 0x62, 0x34, 0x7A, 0xD7, 0x23, 
        /* 05B0 */    0xA0, 0xC7, 0xD7, 0xD7, 0x45, 0x9A, 0x42, 0x45, 
        /* 05B8 */    0x0C, 0xF1, 0x42, 0x60, 0x97, 0xC7, 0x71, 0xE4, 
        /* 05C0 */    0x59, 0x17, 0x5C, 0xD8, 0xCF, 0xBA, 0x60, 0x0F, 
        /* 05C8 */    0x75, 0x4E, 0xA2, 0x91, 0x46, 0x83, 0x3A, 0xC8, 
        /* 05D0 */    0xF0, 0x03, 0xC1, 0x63, 0x90, 0x4F, 0x1E, 0x06, 
        /* 05D8 */    0x39, 0xD1, 0xD3, 0x7A, 0x5C, 0x78, 0x1A, 0xF0, 
        /* 05E0 */    0xB8, 0xD9, 0x35, 0xC1, 0x1F, 0x04, 0x1F, 0x0F, 
        /* 05E8 */    0xF0, 0x97, 0xA0, 0x80, 0x27, 0xFA, 0xF0, 0x01, 
        /* 05F0 */    0xEB, 0x10, 0x82, 0x3F, 0x61, 0xC0, 0x1F, 0x8F, 
        /* 05F8 */    0x8F, 0x01, 0x3E, 0xD1, 0xFA, 0x48, 0x45, 0x06, 
        /* 0600 */    0x81, 0x3A, 0xBC, 0xF1, 0x91, 0x9E, 0xD6, 0xDB, 
        /* 0608 */    0x80, 0x0F, 0x09, 0x87, 0xC5, 0x0E, 0x1E, 0x3E, 
        /* 0610 */    0xA3, 0x80, 0x63, 0x3C, 0xF0, 0x6F, 0x9F, 0x4F, 
        /* 0618 */    0x07, 0xFF, 0xFF, 0x08, 0xAF, 0x0C, 0x9E, 0xAF, 
        /* 0620 */    0x0F, 0x66, 0x60, 0xB9, 0x75, 0xF8, 0xD0, 0x10, 
        /* 0628 */    0xEA, 0xA9, 0xC3, 0x33, 0x78, 0xBF, 0xF0, 0x09, 
        /* 0630 */    0x04, 0x98, 0x04, 0x36, 0x34, 0x48, 0x26, 0x73, 
        /* 0638 */    0x9D, 0xB2, 0x71, 0xDA, 0xA1, 0xC3, 0xB4, 0xC8, 
        /* 0640 */    0x03, 0x82, 0x8E, 0x06, 0x3E, 0xD2, 0xF8, 0x80, 
        /* 0648 */    0xCB, 0x0F, 0x49, 0x86, 0xB0, 0x30, 0x0A, 0x9D, 
        /* 0650 */    0x7C, 0x3C, 0x1A, 0x0F, 0x8F, 0xC0, 0x51, 0x10, 
        /* 0658 */    0x8F, 0xDC, 0x21, 0x21, 0x64, 0xE4, 0x10, 0x80, 
        /* 0660 */    0x3E, 0x2C, 0x30, 0x88, 0x87, 0x2E, 0x13, 0xF8, 
        /* 0668 */    0xD8, 0xE0, 0xF3, 0x1A, 0x9C, 0xE3, 0x91, 0x27, 
        /* 0670 */    0xE3, 0x69, 0x78, 0xDC, 0xB8, 0x53, 0x07, 0xDC, 
        /* 0678 */    0x71, 0xE0, 0x0F, 0x3A, 0xF8, 0x53, 0x20, 0x3F, 
        /* 0680 */    0x27, 0x91, 0xF3, 0x1F, 0xA8, 0x04, 0x9E, 0x0B, 
        /* 0688 */    0x40, 0x01, 0xE4, 0xAB, 0x80, 0x95, 0x1E, 0x07, 
        /* 0690 */    0xE8, 0x14, 0x42, 0x84, 0x89, 0x66, 0x78, 0x4C, 
        /* 0698 */    0xF0, 0xD3, 0x17, 0x1D, 0x8F, 0x87, 0xE5, 0xFF, 
        /* 06A0 */    0xFF, 0x20, 0xF9, 0xF1, 0x85, 0x61, 0x3F, 0x9D, 
        /* 06A8 */    0xF8, 0xD4, 0x76, 0x8C, 0xEF, 0x05, 0x8F, 0x5F, 
        /* 06B0 */    0x18, 0x58, 0x0F, 0x9B, 0xC3, 0x1A, 0x2D, 0xEC, 
        /* 06B8 */    0xD1, 0x3E, 0x3E, 0xF8, 0xEA, 0xE1, 0x89, 0xF9, 
        /* 06C0 */    0x16, 0xE7, 0x43, 0x07, 0x58, 0x0E, 0x52, 0xC0, 
        /* 06C8 */    0xE3, 0xFC, 0xC3, 0xE6, 0xF0, 0x02, 0xF1, 0x1C, 
        /* 06D0 */    0xE6, 0x83, 0x07, 0x3B, 0xF1, 0xB1, 0x53, 0x1F, 
        /* 06D8 */    0xD7, 0x75, 0x8E, 0x43, 0x9C, 0x21, 0xF8, 0x20, 
        /* 06E0 */    0x1C, 0x67, 0x91, 0xF2, 0x38, 0x53, 0x72, 0x95, 
        /* 06E8 */    0x7C, 0xE0, 0xA8, 0x1A, 0x45, 0xF0, 0xBE, 0x15, 
        /* 06F0 */    0xB0, 0x08, 0xC7, 0x08, 0x94, 0x78, 0x0A, 0x49, 
        /* 06F8 */    0x3F, 0x46, 0xA0, 0xC4, 0xC2, 0x51, 0x10, 0x1F, 
        /* 0700 */    0x23, 0x7C, 0x90, 0xB0, 0x8D, 0x63, 0x04, 0x6A, 
        /* 0708 */    0x8C, 0x3E, 0x0C, 0xF2, 0xA3, 0x00, 0x3F, 0x45, 
        /* 0710 */    0xC0, 0x3F, 0xF1, 0xE0, 0xC6, 0x0A, 0x77, 0x70, 
        /* 0718 */    0x6C, 0x85, 0x2F, 0x3D, 0x87, 0x76, 0x76, 0x0F, 
        /* 0720 */    0x09, 0x51, 0xDE, 0x5F, 0x8D, 0x18, 0x21, 0x60, 
        /* 0728 */    0xD8, 0x68, 0x1E, 0x23, 0xEE, 0xD8, 0xCE, 0x2E, 
        /* 0730 */    0x45, 0x9E, 0x53, 0xAC, 0x47, 0x25, 0x7E, 0xA4, 
        /* 0738 */    0x80, 0xF7, 0xFF, 0x27, 0xF0, 0x31, 0x0F, 0x77, 
        /* 0740 */    0xA4, 0x80, 0x33, 0x93, 0xF3, 0xC0, 0xA8, 0x1B, 
        /* 0748 */    0x8B, 0xE0, 0x8D, 0xF6, 0x92, 0x8D, 0x3D, 0x58, 
        /* 0750 */    0x00, 0x8F, 0x13, 0xA3, 0x0F, 0x16, 0xE0, 0x3A, 
        /* 0758 */    0x13, 0xF8, 0x60, 0x01, 0x5C, 0xCF, 0x07, 0x3E, 
        /* 0760 */    0x1D, 0x80, 0xF5, 0xF2, 0xC3, 0xEF, 0x07, 0x30, 
        /* 0768 */    0x4E, 0x18, 0x30, 0xCE, 0x07, 0x98, 0x1B, 0x86, 
        /* 0770 */    0xC3, 0x2C, 0x59, 0x27, 0x0C, 0x7E, 0x5C, 0x73, 
        /* 0778 */    0xA4, 0xD5, 0x6A, 0x20, 0xEC, 0x12, 0x86, 0x23, 
        /* 0780 */    0x18, 0x04, 0x4C, 0x27, 0x0B, 0x8F, 0xDA, 0x11, 
        /* 0788 */    0x28, 0x24, 0xED, 0x80, 0x81, 0x12, 0x73, 0xC0, 
        /* 0790 */    0xA0, 0x20, 0x06, 0x74, 0x52, 0x08, 0x9D, 0x45, 
        /* 0798 */    0xFD, 0xFF, 0x3F, 0x60, 0xF0, 0x83, 0x9D, 0x4F, 
        /* 07A0 */    0x0D, 0xEC, 0x72, 0xEB, 0xEB, 0x85, 0xE7, 0xE9, 
        /* 07A8 */    0x29, 0x73, 0x3C, 0x1F, 0x43, 0x0C, 0xEB, 0x8B, 
        /* 07B0 */    0x09, 0x78, 0x6E, 0x14, 0xEC, 0x34, 0x8B, 0xB9, 
        /* 07B8 */    0xB8, 0xB1, 0xB3, 0x1D, 0x3B, 0x15, 0x18, 0xE5, 
        /* 07C0 */    0x70, 0xDF, 0xC0, 0xAC, 0xE6, 0xAA, 0x80, 0x9A, 
        /* 07C8 */    0x11, 0x86, 0xC0, 0xE3, 0xF5, 0x81, 0x11, 0x4C, 
        /* 07D0 */    0xFA, 0x2E, 0x14, 0x20, 0x47, 0xE7, 0x32, 0x47, 
        /* 07D8 */    0x8F, 0x3A, 0x47, 0xF9, 0x24, 0xC5, 0x47, 0xEF, 
        /* 07E0 */    0xA3, 0xB9, 0x4F, 0x2B, 0x70, 0xCF, 0x52, 0x3E, 
        /* 07E8 */    0x42, 0x01, 0xDF, 0x81, 0xF9, 0x52, 0x80, 0x3B, 
        /* 07F0 */    0xA0, 0x80, 0xE1, 0xFA, 0x80, 0xFD, 0xFF, 0xC3, 
        /* 07F8 */    0xBC, 0xA2, 0xE0, 0xCF, 0x28, 0xC0, 0x24, 0xF0, 
        /* 0800 */    0x59, 0x0A, 0x74, 0x90, 0x3E, 0xA3, 0x00, 0xD7, 
        /* 0808 */    0xA1, 0xE2, 0xCE, 0x28, 0xE0, 0x38, 0x10, 0x1E, 
        /* 0810 */    0x3D, 0x3F, 0x47, 0xB1, 0x38, 0xC7, 0x12, 0x74, 
        /* 0818 */    0xA8, 0x97, 0x83, 0x6E, 0x9B, 0xEC, 0x58, 0x82, 
        /* 0820 */    0x8D, 0x72, 0x2C, 0x41, 0x85, 0xA0, 0xD0, 0x09, 
        /* 0828 */    0xCA, 0x27, 0x09, 0x7E, 0xC6, 0xE3, 0x20, 0x06, 
        /* 0830 */    0x74, 0xF6, 0x93, 0x04, 0x5A, 0xC5, 0x49, 0x02, 
        /* 0838 */    0x19, 0xF6, 0x5C, 0x02, 0x84, 0xFE, 0xFF, 0xE7, 
        /* 0840 */    0x12, 0xF0, 0x9E, 0x13, 0x9F, 0x26, 0xC0, 0x35, 
        /* 0848 */    0x6B, 0xFC, 0x69, 0x02, 0x7F, 0x3E, 0x01, 0x16, 
        /* 0850 */    0x47, 0x46, 0xC0, 0xD9, 0x41, 0x90, 0x1F, 0x19, 
        /* 0858 */    0x81, 0xEF, 0xB9, 0x84, 0xFF, 0xFF, 0xCF, 0x25, 
        /* 0860 */    0xE0, 0x19, 0xB6, 0xCF, 0x25, 0x80, 0x93, 0x9B, 
        /* 0868 */    0x34, 0x3F, 0x97, 0xC0, 0x1D, 0xBA, 0xE3, 0x9C, 
        /* 0870 */    0xBE, 0x10, 0x57, 0x58, 0xDF, 0x33, 0xE2, 0x27, 
        /* 0878 */    0x18, 0xE3, 0x58, 0x82, 0x0A, 0x70, 0xF8, 0x02, 
        /* 0880 */    0xB4, 0xFF, 0xFF, 0x4F, 0x23, 0xE0, 0x3F, 0x17, 
        /* 0888 */    0x7B, 0xF4, 0xFC, 0x40, 0xE2, 0x43, 0x06, 0x19, 
        /* 0890 */    0x3D, 0x8D, 0x7C, 0xF8, 0x82, 0x1E, 0xF1, 0x30, 
        /* 0898 */    0x02, 0xB4, 0x07, 0xFA, 0xF0, 0x05, 0xC6, 0xDB, 
        /* 08A0 */    0x03, 0x3F, 0x6E, 0x02, 0xAF, 0xD8, 0x87, 0x12, 
        /* 08A8 */    0xD0, 0xC1, 0xF2, 0x43, 0x09, 0xF8, 0xFF, 0xFF, 
        /* 08B0 */    0x87, 0x12, 0xF0, 0x8C, 0x1E, 0x77, 0xF6, 0x02, 
        /* 08B8 */    0xC7, 0x55, 0xC2, 0x83, 0x37, 0xE0, 0x31, 0x3D, 
        /* 08C0 */    0x16, 0x18, 0x90, 0x9D, 0x4B, 0x98, 0xEC, 0x73, 
        /* 08C8 */    0x09, 0xFA, 0x3C, 0x62, 0xAB, 0xB7, 0x63, 0x72, 
        /* 08D0 */    0x52, 0xC7, 0x08, 0x3F, 0x97, 0xA0, 0x24, 0x9F, 
        /* 08D8 */    0x4B, 0x00, 0xDA, 0x1C, 0xBA, 0xC0, 0xF1, 0xFF, 
        /* 08E0 */    0x3F, 0x74, 0x01, 0x3C, 0xB8, 0x06, 0xFA, 0x40, 
        /* 08E8 */    0x02, 0xAE, 0x7B, 0x82, 0x0F, 0x24, 0xC0, 0xF5, 
        /* 08F0 */    0x28, 0x00, 0x9E, 0x23, 0x08, 0xFE, 0xC8, 0xEC, 
        /* 08F8 */    0x03, 0x3F, 0xEE, 0xA4, 0xEF, 0x53, 0x75, 0x5C, 
        /* 0900 */    0xE3, 0x1F, 0xF1, 0x11, 0xFC, 0xFF, 0x1B, 0x3F, 
        /* 0908 */    0x7D, 0x91, 0x7B, 0x81, 0x8F, 0x25, 0x3A, 0xF0, 
        /* 0910 */    0xA3, 0x04, 0x53, 0x48, 0xEE, 0x01, 0x02, 0x25, 
        /* 0918 */    0x10, 0x8E, 0x82, 0xF8, 0x00, 0xE1, 0xF0, 0xE7, 
        /* 0920 */    0x24, 0xE8, 0x57, 0x4B, 0x7E, 0x7E, 0xC0, 0x5F, 
        /* 0928 */    0x47, 0xD8, 0x28, 0xD9, 0x71, 0x1E, 0x37, 0x4A, 
        /* 0930 */    0xB8, 0x60, 0xAF, 0x0F, 0x86, 0xB8, 0xC3, 0x13, 
        /* 0938 */    0xE1, 0x67, 0x5B, 0xCC, 0x31, 0x1F, 0xEE, 0x51, 
        /* 0940 */    0xE1, 0x51, 0x09, 0x5C, 0xB3, 0x86, 0x75, 0x58, 
        /* 0948 */    0x02, 0x3C, 0x78, 0x38, 0x4C, 0x00, 0xAD, 0xFF, 
        /* 0950 */    0xFF, 0x61, 0x09, 0xFC, 0xB3, 0xE7, 0x83, 0x38, 
        /* 0958 */    0x11, 0x0F, 0x1F, 0x03, 0x74, 0x2C, 0x6F, 0x07, 
        /* 0960 */    0xEC, 0xD8, 0xAB, 0xC3, 0x12, 0x6A, 0x0C, 0x3E, 
        /* 0968 */    0xFA, 0xFA, 0xE8, 0xC4, 0x20, 0x1F, 0x0F, 0x31, 
        /* 0970 */    0xC7, 0x16, 0x76, 0xC2, 0x07, 0xF8, 0xF6, 0xFF, 
        /* 0978 */    0x3F, 0xE1, 0x03, 0xD6, 0xCE, 0x24, 0xBE, 0x3F, 
        /* 0980 */    0x60, 0xAF, 0x2D, 0xF8, 0xA3, 0x09, 0xF0, 0x06, 
        /* 0988 */    0xF7, 0xD1, 0x04, 0x70, 0xF5, 0xFF, 0x3F, 0x9A, 
        /* 0990 */    0xE0, 0x84, 0x9E, 0x9D, 0x50, 0x67, 0x03, 0x1F, 
        /* 0998 */    0x98, 0x6C, 0x14, 0x95, 0x40, 0xBF, 0x69, 0xBC, 
        /* 09A0 */    0x9F, 0x07, 0x31, 0xF4, 0x49, 0xF0, 0x53, 0x13, 
        /* 09A8 */    0x06, 0xC2, 0x47, 0x13, 0x9F, 0x24, 0x7C, 0x9C, 
        /* 09B0 */    0xE0, 0x52, 0xE0, 0x28, 0x88, 0x8F, 0x13, 0x8E, 
        /* 09B8 */    0x79, 0x36, 0x41, 0x9F, 0x0A, 0x7C, 0x3F, 0x38, 
        /* 09C0 */    0x09, 0x6C, 0xA8, 0xF3, 0x04, 0x50, 0x19, 0x07, 
        /* 09C8 */    0xFE, 0xE8, 0x04, 0x57, 0xD8, 0xC9, 0x04, 0x64, 
        /* 09D0 */    0x27, 0x72, 0x60, 0x6E, 0xE2, 0x1C, 0x01, 0x94, 
        /* 09D8 */    0xFE, 0xFF, 0x27, 0x72, 0xE0, 0x70, 0x5A, 0xE5, 
        /* 09E0 */    0xA7, 0x01, 0x7C, 0xA0, 0xA3, 0x2A, 0x3A, 0xD6, 
        /* 09E8 */    0x93, 0x41, 0x23, 0x7E, 0x07, 0x08, 0x77, 0xEA, 
        /* 09F0 */    0xE7, 0xF9, 0x40, 0xC0, 0x8E, 0xE5, 0x3E, 0x2C, 
        /* 09F8 */    0xF1, 0xF3, 0x92, 0x4F, 0x11, 0x3E, 0x41, 0x70, 
        /* 0A00 */    0x49, 0x27, 0x08, 0x0A, 0x62, 0x40, 0xE7, 0x3D, 
        /* 0A08 */    0x5D, 0x7A, 0x10, 0xF4, 0x7C, 0xC3, 0x8F, 0xC5, 
        /* 0A10 */    0xBE, 0xB6, 0x1C, 0xC5, 0x23, 0x51, 0x82, 0xF9, 
        /* 0A18 */    0x0E, 0x01, 0xF4, 0xB6, 0x04, 0x4F, 0xDE, 0x6D, 
        /* 0A20 */    0x09, 0x44, 0x18, 0x77, 0x72, 0x16, 0x0C, 0xE1, 
        /* 0A28 */    0x28, 0x7D, 0x80, 0x80, 0x31, 0xC0, 0xC7, 0x84, 
        /* 0A30 */    0x62, 0xDF, 0x37, 0xF4, 0xBE, 0x04, 0xF3, 0x8A, 
        /* 0A38 */    0x09, 0xAE, 0xF3, 0x12, 0x30, 0x9E, 0x89, 0xFF, 
        /* 0A40 */    0xFF, 0x3E, 0xCF, 0x21, 0xE4, 0x02, 0xC0, 0x4F, 
        /* 0A48 */    0xE5, 0x60, 0x39, 0x36, 0x80, 0x67, 0x1C, 0xEC, 
        /* 0A50 */    0x0A, 0x80, 0x3F, 0x32, 0xC1, 0x3E, 0x35, 0xE2, 
        /* 0A58 */    0x8E, 0x4C, 0x60, 0x98, 0x08, 0x3B, 0xE7, 0x1C, 
        /* 0A60 */    0x08, 0xF6, 0x60, 0x02, 0xBC, 0x55, 0x1C, 0x4C, 
        /* 0A68 */    0x00, 0x2D, 0xC3, 0x0D, 0x72, 0x3E, 0x8F, 0xE4, 
        /* 0A70 */    0xC6, 0x79, 0xC3, 0xF3, 0x89, 0x84, 0x9D, 0xC4, 
        /* 0A78 */    0xD9, 0xFF, 0xFF, 0x60, 0xC2, 0x25, 0x41, 0x48, 
        /* 0A80 */    0xFE, 0x61, 0x09, 0x89, 0x8D, 0x9D, 0xFE, 0x39, 
        /* 0A88 */    0xBC, 0xB9, 0x32, 0x82, 0x62, 0x8F, 0x4B, 0xA8, 
        /* 0A90 */    0xC3, 0x84, 0x45, 0x9E, 0x26, 0x50, 0xA7, 0x69, 
        /* 0A98 */    0x9F, 0x90, 0xC9, 0x69, 0x82, 0x46, 0x3E, 0x4D, 
        /* 0AA0 */    0xA0, 0x87, 0xE6, 0x89, 0x9D, 0x06, 0x6E, 0xDC, 
        /* 0AA8 */    0xA7, 0xC1, 0x6F, 0x87, 0xFC, 0xC0, 0x04, 0x7C, 
        /* 0AB0 */    0x0F, 0x0F, 0xF8, 0xD3, 0x04, 0xEC, 0xF3, 0x0D, 
        /* 0AB8 */    0x1B, 0x74, 0xC8, 0x77, 0x87, 0x17, 0x59, 0x1F, 
        /* 0AC0 */    0x26, 0x80, 0xF9, 0xC8, 0x7D, 0x98, 0x00, 0xFF, 
        /* 0AC8 */    0xFF, 0xFF, 0xD0, 0x04, 0x5C, 0x15, 0xDA, 0xF4, 
        /* 0AD0 */    0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, 
        /* 0AD8 */    0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xA4, 
        /* 0AE0 */    0x9D, 0x54, 0xBD, 0x54, 0x8D, 0xD5, 0x91, 0x9E, 
        /* 0AE8 */    0x0B, 0x02, 0x71, 0xD4, 0x05, 0x0B, 0xC4, 0xD1, 
        /* 0AF0 */    0x9F, 0x40, 0x02, 0xB1, 0xB8, 0x57, 0x88, 0x40, 
        /* 0AF8 */    0x2C, 0xF5, 0x05, 0x21, 0x10, 0xCB, 0xD4, 0x01, 
        /* 0B00 */    0xC2, 0x82, 0xBC, 0xEF, 0x05, 0xE2, 0x60, 0x52, 
        /* 0B08 */    0x06, 0x40, 0xAD, 0x80, 0xB0, 0x78, 0xCB, 0x12, 
        /* 0B10 */    0x88, 0x23, 0x9A, 0x39, 0x01, 0x50, 0x37, 0x20, 
        /* 0B18 */    0x4C, 0xA0, 0x1E, 0x10, 0x26, 0xDC, 0x10, 0x08, 
        /* 0B20 */    0x8B, 0xA3, 0x08, 0x84, 0x09, 0xB6, 0x04, 0xC2, 
        /* 0B28 */    0xE2, 0x82, 0x50, 0xC1, 0x9E, 0x8E, 0xFD, 0x4C, 
        /* 0B30 */    0x3E, 0x88, 0x80, 0x1C, 0xDA, 0x14, 0x10, 0x93, 
        /* 0B38 */    0xA0, 0x0A, 0x88, 0x25, 0x78, 0x0C, 0x08, 0xC8, 
        /* 0B40 */    0x71, 0x40, 0x04, 0xE4, 0x50, 0xB6, 0x80, 0x58, 
        /* 0B48 */    0x44, 0x10, 0x01, 0x59, 0xCF, 0x1B, 0x4E, 0x40, 
        /* 0B50 */    0x16, 0x07, 0x22, 0x20, 0x8B, 0x36, 0x06, 0xC4, 
        /* 0B58 */    0x22, 0x80, 0x08, 0xC8, 0xC9, 0x5E, 0x70, 0x81, 
        /* 0B60 */    0x48, 0x4C, 0x10, 0x01, 0x39, 0xEC, 0x8A, 0x05, 
        /* 0B68 */    0xE4, 0xE8, 0x20, 0x02, 0xB2, 0x4E, 0x6F, 0x40, 
        /* 0B70 */    0x4C, 0x34, 0x88, 0x80, 0x2C, 0xFE, 0xB1, 0x21, 
        /* 0B78 */    0x20, 0x47, 0x01, 0x11, 0x90, 0x03, 0x3E, 0x28, 
        /* 0B80 */    0x02, 0x91, 0xB8, 0x20, 0x02, 0xB2, 0x46, 0x7B, 
        /* 0B88 */    0x40, 0x4C, 0x30, 0x88, 0x80, 0x2C, 0xFB, 0x07, 
        /* 0B90 */    0x25, 0x20, 0x87, 0x00, 0xD1, 0x00, 0xC9, 0xEB, 
        /* 0B98 */    0x40, 0x03, 0x24, 0xBF, 0x89, 0x40, 0x44, 0xE2, 
        /* 0BA0 */    0xAB, 0x22, 0x10, 0xD1, 0x0B, 0x22, 0x20, 0xFF, 
        /* 0BA8 */    0xFF, 0xA5, 0xFF, 0x38, 0x04, 0xE4, 0x20, 0x20, 
        /* 0BB0 */    0x02, 0x26, 0x1A, 0x81, 0xE9, 0x0B, 0x21, 0x10, 
        /* 0BB8 */    0xF9, 0xFF, 0x03
    })
    Name (QLST, Package (0x07)
    {
        0x06, 
        Package (0x08)
        {
            0x26CE, 
            "Advanced Clock Calibration", 
            Zero, 
            0x04, 
            Buffer (0x09)
            {
                "Disabled"
            }, 

            Buffer (0x05)
            {
                "Auto"
            }, 

            Buffer (0x0A)
            {
                "All Cores"
            }, 

            Buffer (0x09)
            {
                "Per Core"
            }
        }, 

        Package (0x16)
        {
            0x4520, 
            "Value (All Cores)", 
            0x02, 
            Buffer (0x05)
            {
                0x82, 0x02, 0x01, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x86, 0x10, 0x00, 0x02, 0x00
            }, 

            0x10, 
            Buffer (0x03)
            {
                "0%"
            }, 

            Buffer (0x05)
            {
                "+ 2%"
            }, 

            Buffer (0x05)
            {
                "+ 4%"
            }, 

            Buffer (0x05)
            {
                "+ 6%"
            }, 

            Buffer (0x05)
            {
                "+ 8%"
            }, 

            Buffer (0x05)
            {
                "+10%"
            }, 

            Buffer (0x05)
            {
                "+12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x05)
            {
                "- 2%"
            }, 

            Buffer (0x05)
            {
                "- 4%"
            }, 

            Buffer (0x05)
            {
                "- 6%"
            }, 

            Buffer (0x05)
            {
                "- 8%"
            }, 

            Buffer (0x05)
            {
                "-10%"
            }, 

            Buffer (0x05)
            {
                "-12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }
        }, 

        Package (0x16)
        {
            0x4524, 
            "Value (Core 0)", 
            0x02, 
            Buffer (0x05)
            {
                0x82, 0x03, 0x01, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x86, 0x10, 0x00, 0x02, 0x00
            }, 

            0x10, 
            Buffer (0x03)
            {
                "0%"
            }, 

            Buffer (0x05)
            {
                "+ 2%"
            }, 

            Buffer (0x05)
            {
                "+ 4%"
            }, 

            Buffer (0x05)
            {
                "+ 6%"
            }, 

            Buffer (0x05)
            {
                "+ 8%"
            }, 

            Buffer (0x05)
            {
                "+10%"
            }, 

            Buffer (0x05)
            {
                "+12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x05)
            {
                "- 2%"
            }, 

            Buffer (0x05)
            {
                "- 4%"
            }, 

            Buffer (0x05)
            {
                "- 6%"
            }, 

            Buffer (0x05)
            {
                "- 8%"
            }, 

            Buffer (0x05)
            {
                "-10%"
            }, 

            Buffer (0x05)
            {
                "-12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }
        }, 

        Package (0x16)
        {
            0x4528, 
            "Value (Core 1)", 
            0x02, 
            Buffer (0x05)
            {
                0x82, 0x03, 0x01, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x86, 0x10, 0x00, 0x02, 0x00
            }, 

            0x10, 
            Buffer (0x03)
            {
                "0%"
            }, 

            Buffer (0x05)
            {
                "+ 2%"
            }, 

            Buffer (0x05)
            {
                "+ 4%"
            }, 

            Buffer (0x05)
            {
                "+ 6%"
            }, 

            Buffer (0x05)
            {
                "+ 8%"
            }, 

            Buffer (0x05)
            {
                "+10%"
            }, 

            Buffer (0x05)
            {
                "+12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x05)
            {
                "- 2%"
            }, 

            Buffer (0x05)
            {
                "- 4%"
            }, 

            Buffer (0x05)
            {
                "- 6%"
            }, 

            Buffer (0x05)
            {
                "- 8%"
            }, 

            Buffer (0x05)
            {
                "-10%"
            }, 

            Buffer (0x05)
            {
                "-12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }
        }, 

        Package (0x16)
        {
            0x452C, 
            "Value (Core 2)", 
            0x02, 
            Buffer (0x05)
            {
                0x82, 0x03, 0x01, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x86, 0x10, 0x00, 0x02, 0x00
            }, 

            0x10, 
            Buffer (0x03)
            {
                "0%"
            }, 

            Buffer (0x05)
            {
                "+ 2%"
            }, 

            Buffer (0x05)
            {
                "+ 4%"
            }, 

            Buffer (0x05)
            {
                "+ 6%"
            }, 

            Buffer (0x05)
            {
                "+ 8%"
            }, 

            Buffer (0x05)
            {
                "+10%"
            }, 

            Buffer (0x05)
            {
                "+12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x05)
            {
                "- 2%"
            }, 

            Buffer (0x05)
            {
                "- 4%"
            }, 

            Buffer (0x05)
            {
                "- 6%"
            }, 

            Buffer (0x05)
            {
                "- 8%"
            }, 

            Buffer (0x05)
            {
                "-10%"
            }, 

            Buffer (0x05)
            {
                "-12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }
        }, 

        Package (0x16)
        {
            0x4530, 
            "Value (Core 3)", 
            0x02, 
            Buffer (0x05)
            {
                0x82, 0x03, 0x01, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x86, 0x10, 0x00, 0x02, 0x00
            }, 

            0x10, 
            Buffer (0x03)
            {
                "0%"
            }, 

            Buffer (0x05)
            {
                "+ 2%"
            }, 

            Buffer (0x05)
            {
                "+ 4%"
            }, 

            Buffer (0x05)
            {
                "+ 6%"
            }, 

            Buffer (0x05)
            {
                "+ 8%"
            }, 

            Buffer (0x05)
            {
                "+10%"
            }, 

            Buffer (0x05)
            {
                "+12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }, 

            Buffer (0x05)
            {
                "- 2%"
            }, 

            Buffer (0x05)
            {
                "- 4%"
            }, 

            Buffer (0x05)
            {
                "- 6%"
            }, 

            Buffer (0x05)
            {
                "- 8%"
            }, 

            Buffer (0x05)
            {
                "-10%"
            }, 

            Buffer (0x05)
            {
                "-12%"
            }, 

            Buffer (0x09)
            {
                "RESERVED"
            }
        }
    })
    Name (_S0, Package (0x04)
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    If (SS1)
    {
        Name (_S1, Package (0x04)
        {
            One, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS3)
    {
        Name (_S3, Package (0x04)
        {
            0x03, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS4)
    {
        Name (_S4, Package (0x04)
        {
            0x04, 
            Zero, 
            Zero, 
            Zero
        })
    }

    Name (_S5, Package (0x04)
    {
        0x05, 
        Zero, 
        Zero, 
        Zero
    })
    Method (PTS, 1, NotSerialized)
    {
        If (Arg0)
        {
            \_SB.PCI0.SBRG.SIOS (Arg0)
            \_SB.PCI0.SBRG.SALD (Arg0)
            NPTS (Arg0)
            SPTS (Arg0)
            \_SB.PCI0.SBRG.EPTS (Arg0)
            NB2S (Arg0)
            APTS (Arg0)
        }
    }

    Method (WAK, 1, NotSerialized)
    {
        \_SB.PCI0.SBRG.SIOW (Arg0)
        \_SB.PCI0.SBRG.SALD (Zero)
        NWAK (Arg0)
        SWAK (Arg0)
        \_SB.PCI0.SBRG.EWAK (Arg0)
        NB2W (Arg0)
        AWAK (Arg0)
    }
}


i want to tied clean and patch the dsdt if it can help boot into installation gui, but if not, then i wont start cleaning/fixing error in my dsdt..

Edited by pink101

Share this post


Link to post
Share on other sites

I think it makes more sense to buy an OS X compatible graphics card, then your system will work with a suitable amd kernel

Share this post


Link to post
Share on other sites

I think it makes more sense to buy an OS X compatible graphics card, then your system will work with a suitable amd kernel

 

yup... that's the plan... but i'm just curious if it will help if i patch the DSDT... because as you can see in my DSDT above... the IGFX device is placed under POP1 device... and (i don't know much about how to write _ADR but...) it seems wrong and not like other dsdt i find online...

Share this post


Link to post
Share on other sites

as far as I know there is no injection for your graphics card, but I can also be wrong.

here is your error-free DSDT but without graphic card injection

Pink_without_Graphic.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By MaLd0n
      --Donations via PayPal--
      https://tinyurl.com/r2bvzm7
       
      --Original Topic--
      https://www.olarila.com/topic/6874-olarila-hackbook-lenovo-ideapad-s145-mojave-catalina-full-dsdt-patches/
       

       
      -Perfect HackBook, HDMI Audio/Video, Bluetooth, AirPlay, Sleep, Lid Sleep, Auto Sleep, Audio, etc!
      -Wifi card has been replaced with Dell DW1560!
      -I'm using a S145-15IWL Model with Intel Core i5 8265u / Intel UHD Graphics 620
      -Update bios/uefi to last version
       
      --Installation--
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
       
      --Clover Folder--
      Just paste EFI folder inside EFI partition
      https://www.olarila.com/files/Clover.Folder/Lenovo IdeaPad S145.zip
      Notebooks with ELAN trackpad use it with my folder above
      IdeaPad S145 ELAN.zip
       
      Bluetooth Broadcom
      Bluetooth Broadcom.zip
       
      CPUFriend for i5-8265U
      CPUFriend i5-8265U.zip
       
      --Full DSDT Patches--
      -My DSDT
      DSDT Lenovo IdeaPad S145.zip
       
      This DSDT work on S145-14IWL, S145-15IWL, V14-IWL, V15-IWL models
      -Patches
      -FIX ERRORS AND WARNINGS -REMOVE UNUSED SCOPES / DEVICES -HIGH PRECISION EVENT TIMER -SATA SERIE 11 ID -DMAC -REMOVE LINES, PROBLEMATIC and UNUSED -SLPB -DARWIN / WINDOWS 2015 -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -REAL TIME CLOCK -ARTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -FWHD -USBX -PMCR -PPMC -XSPI -GMM -IMEI -EC -PRWs -_DSMs -PNLF -BRIGHTNESS KEYS -I2C -NATIVE USB -ARPT -GFX0 -DTGP -kUSBCompanionIndex -io-device-location -FULL RENAMED DEVICES   --IGPU Patch--
      Video solution with HDMI Audio and Video
      <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> CQClPg== </data> <key>device-id</key> <data> pT4AAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>framebuffer-con0-alldata</key> <data> AAAIAAIAAACYAAAA </data> <key>framebuffer-con0-enable</key> <integer>1</integer> <key>framebuffer-con1-alldata</key> <data> AQEJAAAIAADHAQAA </data> <key>framebuffer-con1-enable</key> <integer>1</integer> <key>framebuffer-con2-alldata</key> <data> AgYKAAAEAADHAQAA </data> <key>framebuffer-con2-enable</key> <integer>1</integer> <key>framebuffer-fbmem</key> <data> AACQAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-stolenmem</key> <data> AAAwAQ== </data> <key>framebuffer-unifiedmem</key> <data> AAAAgA== </data> <key>hda-gfx</key> <string>onboard-1</string> <key>model</key> <string>Intel Corporation, Cannon Point-LP Iris Plus Graphics 655</string> </dict>   --Native USB Fix for Notebooks - No Injector/Kext Required--
      https://www.olarila.com/topic/6878-guide-native-usb-fix-for-notebooks-no-injectorkext-required/
      https://www.olarila.com/topic/6181-guide-native-usb-fix-for-desktops-no-injectorkext-required-skylake/
       
       
      -ScreenShots

































      -Links
       
       
      Clover https://github.com/CloverHackyColor/CloverBootloader
      AirportBrcmFixup.kext https://github.com/acidanthera/AirportBrcmFixup
      AppleALC.kext https://github.com/acidanthera/AppleALC
      Brcm Bluetooth https://github.com/acidanthera/BrcmPatchRAM
      Lilu.kext https://github.com/acidanthera/Lilu
      SystemProfilerMemoryFixup.kext https://github.com/Goldfish64/SystemProfilerMemoryFixup
      VirtualSMC.kext https://github.com/acidanthera/VirtualSMC
      VoodooI2C.kext https://github.com/alexandred/VoodooI2C
      VoodooPS2Controller.kext https://github.com/acidanthera/VoodooPS2
      WhateverGreen.kext https://github.com/acidanthera/WhateverGreen
      MaciASL - https://github.com/acidanthera/MaciASL
      acpica - https://github.com/acpica/acpica
      AptioMemoryFix.efi https://github.com/acidanthera/AptioFixPkg
      ApfsDriverLoader.efi https://github.com/acidanthera/AppleSupportPkg
      HFSPlus.efi https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true
      Hackintool https://github.com/headkaze/Hackintool
       
      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
       
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
       
      We're all here to have fun and learn from each other!
    • By kevin_1351
      tl;dr: VirtualSMC causes me a flood of log messages and correlated cpu spikes. FakeSMC doesn't.
       
      Hi, I have almost finalized my Huawei Matebook X Pro Opencore setup and everything is working very well besides wifi/bt ofc (which is about to change).
       
      However, I noticed how the cpu usage sometimes went up a little and when looking at the Console I could see a never-ending flood of:
      default 14:05:05.983292+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:05.982975+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:05.982996+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985932+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985949+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.986134+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426574+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:39.426729+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426585+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431085+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431097+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431246+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433068+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:42.433227+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433078+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434453+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434465+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434622+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:44.436155+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:44.436166+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0  
      As you can see, multiple of these per second. Another guy with the same computer is also having this issue and posted a dsdt change to fix it. This fix didn't solve anything though
      He tried to limit the Notify call by implementing a state change requirement before calling Notify.
       
      Here is the original acpi:
      Scope (_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } ^^PCI0.GFX0.CLID = Local0 Return (Local0) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } Notify (LID, 0x80) // Status Change } } Which he changed to: 
      Scope (_SB) { Device (LID) { Name (_OLD, One) // assuming everything else.. the lid should start open? Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } Return (Local0) } } Device (PNLF) { Name (_HID, EisaId ("APP0002")) // _HID: Hardware ID Name (_CID, "backlight") // _CID: Compatible ID Name (_UID, 0x0A) // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } If ((^^^^LID._OLD != Local0)) { Notify (LID, 0x80) // Status Change ^^^^LID._OLD = Local0 } } } Besides me not seeing any reason to declare _OLD in LID. The idea itself shouldn't be too bad right? Well, as I said, his fix didn't work.
       
      In fact, to prove that Method _Q81 doesn't have anything to do with the issue at all, I created a Clover/Opencore patch to change _Q81 to XQ81. This resulted in my lid not working at all of course, but the log flooding still persisted!
      So _Q81 doesn't have anything to do with the issue afaik.
       
      Now, further Google searches led me to a chinese post where he tied the issue to VirtualSMC. And indeed, by migrating to FakeSMC the issue is no more.
       
      Unfortunately, I'm very fond of VirtualSMC for various reasons. So I would very much like to keep it. If not I'd have to implement the old way of doing Battery monitoring etcetc. Which isn't very elegant and update proof as it requires DSDT patching.
       
      So, I do believe that the issue may very well be in the DSDT code, perhaps in the ambient light part. I'm not very skilled at this and just started studying the ACPI spec 3 days ago.
       
      Could someone please help me out? Thanks a lot in advance
       
       
      origin.zip
      OC.zip
    • By nijhawank
      Hi friends,
       
      Recently I had been looking for ways to control the battery charging on my hackintosh which is a Thinkpad T460 with dual batteries. On Windows there's a program Lenovo Vantage that lets you set the Battery Charging Start and Stop Thresholds. These thresholds continue to apply even when the laptop is turned off as these thresholds are managed by the embedded controller, so from that perspective its a set once and forget.
       
      But there was one more thing that was frustrating me. By default Lenovo uses the external battery first and once its almost drained (less than 5%), it switches to the internal battery.
      Although the Charging Start and Stop Limits are a good way to increase the life span of Lithium batteries (by lowering the max charge limit), the complete drainage of the external battery prior to switching to internal is not a good idea.
      Fortunately Lenovo EC provide options to force drain (use) a battery (even with the ac adapter connected) thereby allowing to manually switch to the internal one, however these are manual controls. In Linux, there's a program tpacpi-bat that runs as a daemon and performs an efficient management of the dual batteries such as switching to internal battery when the external one reaches a configurable lower limit. However, this is Linux only and uses the ACPI interface.
       
      I did some research to understand my options in macOS. I found RehabMan's ACPIDebug.kext and its ability (using another RehabMan's tool ioio) to call a function defined in the DSDT. With information collected tpacpi-bat and ACPIDebug.kext, I have created a dirty version. 
       
      So this is how you use it...
      1. Use the attached SSDT-RMDT. As this was just a rough work to validate my understanding, I just did a hard coding for the first battery. 
      2. Install ACPIDebug.kext
      3. After the reboot, you can trigger the following battery operations...
      a. Set Battery Charge Start Threshold
      ioio -s org_rehabman_ACPIDebug dbg1 <start-percent>
      a. Set Battery Charge Stop Threshold
      ioio -s org_rehabman_ACPIDebug dbg2 <stop-percent>
      a. Force Discharge
      ioio -s org_rehabman_ACPIDebug dbg3 <0|1> //0 to disable, 1 to enable
      a. Inhibit battery charging for specified number of minutes
      ioio -s org_rehabman_ACPIDebug dbg4 <minutes> //0 to disable
      a. View Battery Info
      ioio -s org_rehabman_ACPIDebug dbg5 <anything> //pass anything, its ignored
      a. View Battery Charge Start/Stop Thresholds
      ioio -s org_rehabman_ACPIDebug dbg0 <anything> //pass anything, its ignored
       
      You can see the output using the Log Viewer Console (filter on ACPIDebug). You'd see something like this...
      default    19:34:35.175265 -0800    kernel    ACPIDebug: "View Thresholds"
      default    19:34:35.176349 -0800    kernel    ACPIDebug: { "Charge Start Threshold=", 0x28, }
      default    19:34:35.176489 -0800    kernel    ACPIDebug: { "Charge Stop  Threshold=", 0x3c, }
      default    21:07:36.023627 -0800    kernel    ACPIDebug: "Battery Info"
      default    21:07:36.032040 -0800    kernel    ACPIDebug: { "Conversion (mW[h] -> mA[h]) Required?=", 0x0, }
      default    21:07:36.032323 -0800    kernel    ACPIDebug: { "Design Voltage=", 0x2a30, }
      default    21:07:36.032519 -0800    kernel    ACPIDebug: { "Design Capacity=", 0xdb60, }
      default    21:07:36.032772 -0800    kernel    ACPIDebug: { "Last Full Capacity=", 0x6a9a, }
      default    21:07:36.033783 -0800    kernel    ACPIDebug: { "Remaining Capacity=", 0x2e7c, }
      default    21:07:36.033968 -0800    kernel    ACPIDebug: { "Remaining Percent=", 0x2b, }
      default    21:11:19.319090 -0800    kernel    ACPIDebug: { "Charge Stop Threshold=", 0x5a, }
      default    21:11:30.722450 -0800    kernel    ACPIDebug: { "Charge Start Threshold=", 0x50, }
      default    23:34:39.071335 -0800    kernel    ACPIDebug: "Force Discharge=Enabled"
      default    23:34:59.427494 -0800    kernel    ACPIDebug: "Force Discharge=Disabled"
      default    23:35:08.475281 -0800    kernel    ACPIDebug: { "Inhibit Charge Enabled (in Minutes)=", 0xf, }
      default    23:35:12.971671 -0800    kernel    ACPIDebug: "Inhibit Charge=Disabled"
       
      At this time, I just hard-coded for the BAT0 to quickly validate my understanding and its working well. 
       
      What's next? As I understand (and please correct me if I'm wrong), I can't return values with ACPIDebug.kext along with ioio, plus this is also all very hacky.
      To be able to create a program that reads the current remaining capacity (percent) and switches control to internal batter, I need a way to return this info. Currently I'm just outputting it to the logs.
       
      My thinking is to modify ACPIDebug.kext or one of these other kexts (ACPISensors.kext) to add code for above and then create a program to optimally manage the operation of my two batteries.
      However, I'm very new to all of this and will take some time.
       
      In the meanwhile, here is it for your playing pleasures. Please be aware that my SSDT-RMDT is currently hard-coded for BAT0 and doesn't have all the validations. 
      Credits to RehabMan, tpacpi-bat, and other resources on internet.
       
      Thanks all.
       
       
      SSDT-RMDT.dsl
    • By kylon
      ACPI and Clover config for Acer Aspire v5-571PG
       
      Tested on Catalina 10.15.1 and Clover EFI 5098 (Should work on MacOS 10.9.x - 10.15.x)
       
      Not Working:
      - sd card reader
      - Atheros AR9462 (use a compatible USB wireless adapter, see below)
      - Touchscreen (MacOS 10.15 only)
       
       
      Notes:
      Disable Secure Boot and enable Legacy Boot. Legacy Mode is recommended.  
      **To reset your BIOS, power on the pc and hold the power button for about 30-40 seconds or you can short G2101 (RAM SLOT 1)**
       
       
      About the Atheros card:
      You can install ATH9KFixup (you will also need additional patches on 10.14+ to restore Atheros support) to enable this card, however,
      it will break sleep on MacOS 10.14+, it can freeze your OS at any time and it can freeze your network settings.
      Because of its instability it is highly recommended to buy a USB wireless adapter.
       
      You can find a list of working adapters, and the drivers, here.
       
       
      Additional things you will need:
      Latest Clover config (AcerAspireV5-571pg - CCE Bank) from here CloverEFI (download) or OpenCore (download - Untested) WhateverGreen (download) VoodooPS2 (download) VirtualSMC + SMCBatteryManager (download) AppleALC (download) Lilu (download) Mieze Realtek RTL8111 (download)  
      CloverEFI drivers you will need:
      ApfsDriverLoader EmuVariableUefi FSInject DataHubDxe VBoxHfs (if you have hfs partitions)  
      Remember to install BIOS drivers if you enable Legaby Boot.
       
       
       
      Feel free to ask for help.
      Please send me a PM if you have fixes or improvements, thanks.
    • By Majed DH
      Hi everyone. 
      I have HP 15-da0xxx series laptop. i got macos mojave installed on it. but I was trying to get my intel graphics working but i couldn't change dmvt preallocation. 
      So I updated the bios (unfortunately). And since then i could not boot any version of clover. 
      I tried two versions that were working and even an installer that worked before is not working:
       
      I searched alot about the error and found nothing relared to macos or hackintosh..  would it be solved by patching the dsdt? 

      Any suggestions people ? 
×