From owner-acpi-jp@jp.freebsd.org  Sat Sep 29 11:59:20 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id LAA88171;
	Sat, 29 Sep 2001 11:59:20 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from smtp008pub.verizon.net (smtp008pub.verizon.net [206.46.170.187])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id LAA88165
	for <acpi-jp@jp.freebsd.org>; Sat, 29 Sep 2001 11:59:13 +0900 (JST)
	(envelope-from kabaev@bellatlantic.net)
Received: from bellatlantic.net (pool-141-154-237-225.bos.east.verizon.net [141.154.237.225])
	by smtp008pub.verizon.net  with ESMTP
	for <acpi-jp@jp.freebsd.org>; id f8T2von06609
	Fri, 28 Sep 2001 21:57:54 -0500 (CDT)
Message-ID: <3BB538AD.3090501@bellatlantic.net>
Date: Fri, 28 Sep 2001 22:57:49 -0400
From: "Alexander N. Kabaev" <kabaev@bellatlantic.net>
User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.4) Gecko/20010918
X-Accept-Language: ru, be, en
MIME-Version: 1.0
To: acpi-jp@jp.freebsd.org
Content-Type: multipart/mixed;
 boundary="------------040209090002060901000908"
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: acpi-jp 1311
Subject: [acpi-jp 1311] CURRENT crashes in acpi  on IBM ThnkPad 77ED
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: kabaev@bellatlantic.net

This is a multi-part message in MIME format.
--------------040209090002060901000908
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,
I tried to install -CURRENT on the IBM ThinkPad 77ED today. I started 
with tle latest -CURRENT snapshot
and then procceeded with the usual buildworld procedure. Unfortunately, 
newest kernel panics
almost immediately on boot. The following is an output of boot -v  with  
a crash
backtrace from ddb. Also, the acpidump info is attached. I could poke 
around with gdb over serial line if
additional information is needed. Any help with getting this laptop up 
and running will be highly appreciated. 

--------- BEGIN DMESG & TRACE ------------
/boot/kernel/acpi.ko text=0x32594 data=0xf9c+0x1028 
syms=[0x4+0x4950+0x4+0x60de]
SMAP type=01 base=00000000 00000000 len=00000000 0009fc00
SMAP type=02 base=00000000 0009fc00 len=00000000 00000400
SMAP type=02 base=00000000 000f0000 len=00000000 00010000
SMAP type=01 base=00000000 00100000 len=00000000 07ed0000
SMAP type=03 base=00000000 07fd0000 len=00000000 0000f000
SMAP type=04 base=00000000 07fdf000 len=00000000 00001000
SMAP type=02 base=00000000 07fe0000 len=00000000 00020000
SMAP type=02 base=00000000 fffe0000 len=00000000 00020000
Copyright (c) 1992-2001 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #1: Fri Sep 28 21:19:04 EDT 2001
    root@kan.dnsalias.net:/usr/src/sys/i386/compile/MONTY
Calibrating clock(s) ... TSC clock: 265248281 Hz, i8254 clock: 1193115 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
Timecounter "TSC"  frequency 265266737 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (265.27-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x650  Stepping = 0
  
Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 134021120 (130880K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x00353000 - 0x07fc7fff, 130502656 bytes (31861 pages)
avail memory = 127246336 (124264K bytes)
bios32: Found BIOS32 Service Directory header at 0xc00fd800
bios32: Entry = 0xfd820 (c00fd820)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0xfd880+0x0
pnpbios: Found PnP BIOS data at 0xc00fe700
pnpbios: Entry = f0000:e724  Rev = 1.0
pnpbios: Event flag at 415
Other BIOS signatures found:
Preloaded elf kernel "/boot/kernel/kernel" at 0xc032c000.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc032c0b4.
null: <null device, zero device>
mem: <memory & I/O>
Pentium Pro MTRR support enabled
random: <entropy source>
pci_open(1):    mode 1 addr port (0x0cf8) is 0x000038c8
pci_open(1a):   mode1res=0x80000000 (0x80000000)
pci_cfgcheck:   device 0 [class=060000] [hdr=00] is there (id=71928086)
Using $PIR table, 5 entries at 0xc00f9f90
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <IBM    TP770E  > on motherboard
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI"  frequency 3579545 Hz
panic: ACPI fatal signal, type 0x2  code 0x90000002  argument 0x0
Debugger("panic")
Stopped at      Debugger+0x44:  pushl   %ebx
db> trace
Debugger(c021aa9b) at Debugger+0x44
panic(c031d0a0,2,90000002,0,c034ea0c) at panic+0x70
AcpiOsSignal(0,c0f36c40,5b32,c0319e74,c0f33ec0) at AcpiOsSignal+0x26
AcpiExTriadic(5b32,c0f30c00,c034ea34,a,c0319e74) at AcpiExTriadic+0x74
AcpiDsExecEndOp(c0f30c00,c0f08c00,c0f30c00,0,0) at AcpiDsExecEndOp+0x1c5
AcpiPsParseLoop(c0f30c00,c0f03cc0,0,0,c034eab0) at AcpiPsParseLoop+0x443
AcpiPsParseAml(c0f03cc0,c80a62d3,119,31,c0f02260) at AcpiPsParseAml+0x132
AcpiPsxExecute(c0f02260,0,c034eb4c,c0f02260,c034ebc8) at 
AcpiPsxExecute+0x102
AcpiNsExecuteControlMethod(c0f02260,0,c034eb4c,0,c0f02300) at 
AcpiNsExecuteControlMethod+0x45
AcpiNsEvaluateByHandle(c0f02260,0,c034ebc8,c034ec24,c034ec24) at 
AcpiNsEvaluateByHandle+0x7a
AcpiNsEvaluateRelative(c0f02300,c031a5d1,0,c034ebc8,c034ec24) at 
AcpiNsEvaluateRelative+0x9d
AcpiRsGetCrsMethodData(c0f02300,c034ec24,c034ebf8,c0311c1c,c0f02300) at 
AcpiRsGetCrsMethodData+0x24
AcpiGetCurrentResources(c0f02300,c034ec24,c0eee070,c0f02300,c0f37200) at 
AcpiGetCurrentResources+0x3f
acpi_GetIntoBuffer(c0f02300,c030dc44,c034ec24,c0eee070,c0735480) at 
acpi_GetIntoBuffer+0x20
acpi_parse_resources(c0f37200,c0f02300,c031ef00,0,c0f02300) at 
acpi_parse_resources+0x1b
acpi_probe_child(c0f02300,3,c0735480,0,0) at acpi_probe_child+0x12f
AcpiNsWalkNamespace(0,c072da40,64,1,c03117cc) at AcpiNsWalkNamespace+0x82
AcpiWalkNamespace(0,c072da40,64,c03117cc,c0735480) at AcpiWalkNamespace+0x56
acpi_probe_children(c0735480,c0eee090,c0735a00,c0735480,6) at 
acpi_probe_children+0x4d
acpi_attach(c0735480,c0735480,c0735a00,c0735a00,1) at acpi_attach+0x1d5
device_probe_and_attach(c0735480) at device_probe_and_attach+0x9a
bus_generic_attach(c0735a00,c0ecc090,c0735b80,c034ed5c,c016c1a6) at 
bus_generic_attach+0x16
nexus_attach(c0735a00,c0735a00,c0733bb4,353000,1) at nexus_attach+0xe
device_probe_and_attach(c0735a00) at device_probe_and_attach+0x9a
root_bus_configure(c0735b80,c022c380,0,4) at root_bus_configure+0x16
configure(0,34bc00,34b000,0,c011bcfc) at configure+0x22
mi_startup() at mi_startup+0x90
begin() at begin+0x43

---------------- END DMESG & TRACE ----------

--------------040209090002060901000908
Content-Type: text/plain;
 name="tp770ed.asl"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
 filename="tp770ed.asl"

RSD PTR: Checksum=3D165, OEMID=3DIBM, RsdtAddress=3D0x07fd0000
RSDT: Lenth=3D44, Revision=3D1, Checksum=3D77,
	OEMID=3DIBM, OEM Table ID=3DTP770E, OEM Revision=3D0x1,
	Creator ID=3D, Creator Revision=3D0x0
	Entries=3D{ 0x07fd0100, 0x07fd0040 }
	DSDT=3D0x7fd0200
	INT_MODEL=3DPIC
	SCI_INT=3D9
	SMI_CMD=3D0xb2, ACPI_ENABLE=3D0xa0, ACPI_DISABLE=3D0xa1, S4BIOS_REQ=3D0x=
a2
	PM1a_EVT_BLK=3D0xef00-0xef03
	PM1a_CNT_BLK=3D0xef04-0xef05
	PM2_CNT_BLK=3D0x22-0x22
	PM2_TMR_BLK=3D0xef08-0xef0b
	PM2_GPE0_BLK=3D0xef0c-0xef0f
	P_LVL2_LAT=3D1ms, P_LVL3_LAT=3D41025ms
	FLUSH_SIZE=3D32768, FLUSH_STRIDE=3D32
	DUTY_OFFSET=3D1, DUTY_WIDTH=3D3
	DAY_ALRM=3D13, MON_ALRM=3D0, CENTURY=3D50
	Flags=3D{WBINVD,PROC_C1,P_LVL2_UP,SLP_BUTTON,RTC_S4,DCK_CAP}
DSDT: Lenth=3D51936, Revision=3D1, Checksum=3D1,
	OEMID=3DIBM, OEM Table ID=3DTP770E, OEM Revision=3D0x101,
	Creator ID=3DMSFT, Creator Revision=3D0x100000c
Scope(\_PR_) {
    Processor(CPU0, 1, 0xef10, 0x6) {
    }
}
Name(SPS_, 0x0)
OperationRegion(GLEN, SystemIO, 0xef20, 0x2)
Field(GLEN, WordAcc, NoLock, Preserve) {
    ,	15,
    BLEN,	1
}
OperationRegion(GLCR, SystemIO, 0xef28, 0x4)
Field(GLCR, DWordAcc, NoLock, Preserve) {
    PSMI,	1,
    PBRL,	1,
    PTPL,	1,
    Offset(0x1),
    PGSB,	1,
    PGSI,	7,
    PEOS,	1,
    Offset(0x3),
    PSMF,	1,
    PLPL,	1,
    Offset(0x4)
}
OperationRegion(GPIR, SystemIO, 0xef30, 0x4)
Field(GPIR, ByteAcc, NoLock, Preserve) {
    ,	1,
    H8SC,	1,
    ,	1,
    RAM0,	1,
    RAM1,	1,
    ,	1,
    IRQ8,	1,
    SIRQ,	1,
    THRM,	1,
    BATL,	1,
    LID_,	1,
    ,	1,
    RI__,	1,
    MID0,	1,
    MID1,	1,
    MID2,	1,
    MID3,	1,
    SYSA,	1,
    ,	4
}
OperationRegion(GPOR, SystemIO, 0xef34, 0x4)
Field(GPOR, ByteAcc, NoLock, Preserve) {
    Offset(0x1),
    EXTA,	1,
    ,	1,
    ULTO,	1,
    HDDO,	1,
    EID_,	3,
    SUSS,	1,
    SUSC,	1,
    CPUS,	1,
    PCIS,	1,
    ZZ__,	1,
    SSS1,	1,
    ,	6,
    PCIE,	1,
    ,	1,
    SMB0,	1,
    SMB1,	1,
    Offset(0x4)
}
PowerResource(PHBY, 3, 0) {
    Name(STAT, 0x1)
    Method(_STA) {
        Return(STAT)
    }
    Method(_ON_) {
        Store(One, STAT)
        Store(Zero, HDDO)
    }
    Method(_OFF) {
        Store(Zero, STAT)
        If(LNot(W98F)) {
            If(LNot(LGreater(SPS_, 0x3))) {
                If(LNot(HDP0)) {
                    Store(One, HDDO)
                }
            }
        }
    }
}
OperationRegion(SCIO, SystemIO, 0x15ee, 0x2)
Field(SCIO, ByteAcc, NoLock, Preserve) {
    SINX,	8,
    SDAT,	8
}
IndexField(SINX, SDAT, ByteAcc, NoLock, Preserve) {
    ,	4,
    VDPW,	1,
    CBPW,	1,
    Offset(0x1),
    Offset(0x3),
    ,	2,
    SGCR,	1,
    ,	1,
    SGCL,	1,
    Offset(0x4),
    ,	2,
    SGDR,	1,
    ,	1,
    SGDL,	1,
    Offset(0x5),
    Offset(0x1a),
    IRQE,	1,
    IRQS,	3,
    Offset(0x1b),
    ,	1,
    UBSL,	1,
    DASD,	1,
    Offset(0x1e),
    SMSC,	4,
    Offset(0x1f),
    Offset(0x20),
    I3ME,	1,
    I3MS,	1,
    I4ME,	1,
    I4MS,	1,
    M3ME,	1,
    M3MS,	1,
    M4ME,	1,
    M4MS,	1,
    MIQS,	8
}
OperationRegion(I2CB, SystemIO, 0x15ec, 0x2)
Field(I2CB, ByteAcc, NoLock, Preserve) {
    IND0,	8,
    DAT0,	8
}
IndexField(IND0, DAT0, ByteAcc, NoLock, Preserve) {
    Offset(0x7f),
    ACI_,	8
}
PowerResource(PVID, 1, 0) {
    Name(STAT, One)
    Method(_STA) {
        Return(STAT)
    }
    Method(_ON_) {
        Store(One, STAT)
        If(LNot(VDPW)) {
            Sleep(0xa)
            Store(One, VDPW)
            Sleep(0xc8)
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0xa002, S_BX)
            Store(0x0100, S_CX)
            SMPI
            0x81
            Store(0x5381, S_AX)
            Store(0x90c2, S_BX)
            Store(0x0105, S_CX)
            SMPI
            0x81
            Release(MSMI)
        }
    }
    Method(_OFF) {
        Store(Zero, STAT)
        If(LAnd(LLess(\SPS_, 0x4), LGreater(\SPS_, 0x0))) {
            If(VDPW) {
                Acquire(MSMI, 0xffff)
                Store(0x5381, S_AX)
                Store(0x90c2, S_BX)
                Store(0x0104, S_CX)
                SMPI
                0x81
                Store(0x5381, S_AX)
                Store(0xa002, S_BX)
                Store(0x0200, S_CX)
                SMPI
                0x81
                Sleep(0xa)
                Store(Zero, VDPW)
                Sleep(0xc8)
                Release(MSMI)
            }
        }
    }
}
PowerResource(PRSD, 0, 0) {
    Method(_STA) {
        Return(XOr(SGDR, One, ))
    }
    Method(_ON_) {
        Store(0x1, SGCR)
        Store(0x0, SGDR)
    }
    Method(_OFF) {
        If(LNot(DBG_)) {
            Store(0x1, SGCR)
            Store(0x1, SGDR)
        }
    }
}
Method(HBEN) {
    If(VCDB) {
        Store(0x0, SGCL)
        Store(0x0, SGDL)
        Store(0x1, SGCL)
    }
}
Method(HBDS) {
    If(VCDB) {
        Store(0x0, SGCL)
        Store(0x0, SGDL)
        Store(0x0, SGCL)
    }
}
PowerResource(PDCK, 1, 0) {
    Name(STAT, 0x1)
    Method(_STA) {
        Return(STAT)
    }
    Method(_ON_) {
        Store(0x1, STAT)
    }
    Method(_OFF) {
        Store(0x0, STAT)
    }
}
Scope(\_SB_) {
    Device(LNKA) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x1)
        Method(_INI) {
            If(W98F) {
                And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, )=
)
            }
        }
        Method(_STA) {
            If(LNot(VPIR)) {
                \_SB_.PCI0.ISA0.PIRA
                Return(0x9)
            }
            Else {
                Return(0xb)
            }
        }
        Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
        Method(_DIS) {
            Or(\_SB_.PCI0.ISA0.PIRA, 0x80, \_SB_.PCI0.ISA0.PIRA)
        }
        Method(_CRS) {
            Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(BUFA, 0x1, IRA1)
            And(\_SB_.PCI0.ISA0.PIRA, 0x8f, Local0)
            If(VPIR) {
                Local0
                Store(ShiftLeft(One, Local0, ), IRA1)
            }
            Return(BUFA)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, 0x1, IRA2)
            FindSetRightBit(IRA2, Local0)
            And(\_SB_.PCI0.ISA0.PIRA, 0x70, Local1)
            Or(Local1, Decrement(Local0), Local1)
            Store(Local1, \_SB_.PCI0.ISA0.PIRA)
        }
    }
    Device(LNKB) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x2)
        Method(_INI) {
            If(W98F) {
                And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, )=
)
            }
        }
        Method(_STA) {
            If(LNot(VPIR)) {
                \_SB_.PCI0.ISA0.PIRB
                Return(0x9)
            }
            Else {
                Return(0xb)
            }
        }
        Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
        Method(_DIS) {
            Or(\_SB_.PCI0.ISA0.PIRB, 0x80, \_SB_.PCI0.ISA0.PIRB)
        }
        Method(_CRS) {
            Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(BUFB, 0x1, IRB1)
            And(\_SB_.PCI0.ISA0.PIRB, 0x8f, Local0)
            If(VPIR) {
                Local0
                Store(ShiftLeft(One, Local0, ), IRB1)
            }
            Return(BUFB)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, 0x1, IRB2)
            FindSetRightBit(IRB2, Local0)
            And(\_SB_.PCI0.ISA0.PIRB, 0x70, Local1)
            Or(Local1, Decrement(Local0), Local1)
            Store(Local1, \_SB_.PCI0.ISA0.PIRB)
        }
    }
    Device(LNKC) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x3)
        Method(_INI) {
            If(W98F) {
                And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, )=
)
            }
        }
        Method(_STA) {
            If(LNot(VPIR)) {
                \_SB_.PCI0.ISA0.PIRC
                Return(0x9)
            }
            Else {
                Return(0xb)
            }
        }
        Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
        Method(_DIS) {
            Or(\_SB_.PCI0.ISA0.PIRC, 0x80, \_SB_.PCI0.ISA0.PIRC)
        }
        Method(_CRS) {
            Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(BUFC, 0x1, IRC1)
            And(\_SB_.PCI0.ISA0.PIRC, 0x8f, Local0)
            If(VPIR) {
                Local0
                Store(ShiftLeft(One, Local0, ), IRC1)
            }
            Return(BUFC)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, 0x1, IRC2)
            FindSetRightBit(IRC2, Local0)
            And(\_SB_.PCI0.ISA0.PIRC, 0x70, Local1)
            Or(Local1, Decrement(Local0), Local1)
            Store(Local1, \_SB_.PCI0.ISA0.PIRC)
        }
    }
    Device(LNKD) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x4)
        Method(_INI) {
            If(W98F) {
                And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, )=
)
            }
        }
        Method(_STA) {
            If(LNot(VPIR)) {
                \_SB_.PCI0.ISA0.PIRD
                Return(0x9)
            }
            Else {
                Return(0xb)
            }
        }
        Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xde, 0x18, 0x79, 0x0 })
        Method(_DIS) {
            Or(\_SB_.PCI0.ISA0.PIRD, 0x80, \_SB_.PCI0.ISA0.PIRD)
        }
        Method(_CRS) {
            Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(BUFD, 0x1, IRD1)
            And(\_SB_.PCI0.ISA0.PIRD, 0x8f, Local0)
            If(VPIR) {
                Local0
                Store(ShiftLeft(One, Local0, ), IRD1)
            }
            Return(BUFD)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, 0x1, IRD2)
            FindSetRightBit(IRD2, Local0)
            And(\_SB_.PCI0.ISA0.PIRD, 0x70, Local1)
            Or(Local1, Decrement(Local0), Local1)
            Store(Local1, \_SB_.PCI0.ISA0.PIRD)
        }
    }
    Method(VPIR, 1) {
        Store(One, Local0)
        If(And(Arg0, 0x80, )) {
            Store(Zero, Local0)
        }
        Else {
            And(Arg0, 0xf, Local1)
            If(LLess(Local1, 0x3)) {
                Store(Zero, Local0)
            }
            Else {
                If(LOr(LEqual(Local1, 0x8), LEqual(Local1, 0xd))) {
                    Store(Zero, Local0)
                }
            }
        }
        Return(Local0)
    }
    Device(LID0) {
        Name(_HID, 0x0d0cd041)
        Method(_LID) {
            If(H8DR) {
                Return(\_SB_.PCI0.ISA0.EC0_.HPLD)
            }
            Else {
                If(And(RBEC, 0x36, 0x4)) {
                    Zero
                    Return(0x1)
                }
                Else {
                    Return(0x0)
                }
            }
        }
        Name(_PRW, Package(0x2) {
            0xb,
            0x3,
        })
        Method(_PSW, 1) {
            If(H8DR) {
                If(Arg0) {
                    Store(One, \_SB_.PCI0.ISA0.EC0_.HWLO)
                }
                Else {
                    Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWLO)
                }
            }
            Else {
                If(Arg0) {
                    WBEC
                    0x32
                    Or(RBEC, 0x32, 0x4)
                    Zero
                }
                Else {
                    WBEC
                    0x32
                    And(RBEC, 0x32, 0xfb)
                    Zero
                }
            }
        }
    }
    Device(SLPB) {
        Name(_HID, 0x0e0cd041)
        Name(_PRW, Package(0x2) {
            0xb,
            0x3,
        })
        Method(_PSW, 1) {
            If(LAnd(LLess(\SPS_, 0x5), LGreater(\SPS_, 0x0))) {
                If(H8DR) {
                    If(Arg0) {
                        Store(One, \_SB_.PCI0.ISA0.EC0_.HWFN)
                    }
                    Else {
                        Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWFN)
                    }
                }
                Else {
                    If(Arg0) {
                        WBEC
                        0x32
                        Or(RBEC, 0x32, 0x10)
                        Zero
                    }
                    Else {
                        WBEC
                        0x32
                        And(RBEC, 0x32, 0xef)
                        Zero
                    }
                }
            }
            Else {
                If(Arg0) {
                    Store(One, \_SB_.PCI0.ISA0.EC0_.HXFN)
                }
                Else {
                    Store(Zero, \_SB_.PCI0.ISA0.EC0_.HXFN)
                }
            }
        }
        Method(_PS0) {
            If(W98F) {
                If(SPS_) {
                    \FAIL
                }
            }
        }
        Method(_PS3) {
            Noop
        }
    }
    Device(HKEY) {
        Name(_HID, 0x68004d24)
        Method(_STA) {
            If(VDHK) {
                Return(0xf)
            }
            Else {
                Return(0x0)
            }
        }
        Name(DHKC, 0x0)
        Name(DHKB, 0x1)
        Mutex(XDHK, 7)
        Name(DHKH, 0x0)
        Name(DHKW, 0x0)
        Name(DHKS, 0x0)
        Name(DHKD, 0x0)
        Method(MHKS) {
            Notify(\_SB_.SLPB, 0x80)
        }
        Method(MHKC, 1) {
            Store(Arg0, DHKC)
        }
        Method(MHKP) {
            Acquire(XDHK, 0xffff)
            If(DHKW) {
                Store(DHKW, Local1)
                Store(Zero, DHKW)
            }
            Else {
                If(DHKD) {
                    Store(DHKD, Local1)
                    Store(Zero, DHKD)
                }
                Else {
                    If(DHKS) {
                        Store(DHKS, Local1)
                        Store(Zero, DHKS)
                    }
                    Else {
                        Store(DHKH, Local1)
                        Store(Zero, DHKH)
                    }
                }
            }
            Release(XDHK)
            Return(Local1)
        }
        Method(MHKE, 1) {
            Store(Arg0, DHKB)
            Acquire(XDHK, 0xffff)
            Store(Zero, DHKH)
            Store(Zero, DHKW)
            Store(Zero, DHKS)
            Store(Zero, DHKD)
            Release(XDHK)
        }
        Method(MHKD) {
            \_SB_.PCI0.VID0.VLID
            0x0
        }
        Method(MHKQ, 1) {
            If(DHKB) {
                If(DHKC) {
                    Acquire(XDHK, 0xffff)
                    If(LLess(Arg0, 0x1000)) {
                    }
                    Else {
                        If(LLess(Arg0, 0x2000)) {
                            Store(Arg0, DHKH)
                        }
                        Else {
                            If(LLess(Arg0, 0x3000)) {
                                Store(Arg0, DHKW)
                            }
                            Else {
                                If(LLess(Arg0, 0x4000)) {
                                    Store(Arg0, DHKS)
                                }
                                Else {
                                    If(LLess(Arg0, 0x5000)) {
                                        Store(Arg0, DHKD)
                                    }
                                    Else {
                                        If(LLess(Arg0, 0x6000)) {
                                            Store(Arg0, DHKH)
                                        }
                                        Else {
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Release(XDHK)
                    Notify(HKEY, 0x80)
                }
                Else {
                    If(LEqual(Arg0, 0x1004)) {
                        Notify(\_SB_.SLPB, 0x80)
                    }
                }
            }
        }
    }
    Name(ICM0, Buffer(0x23) {0x2, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0xa0, 0xf5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa0, 0x91, 0x3, 0=
x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
    CreateByteField(ICM0, 0xf, LOGI)
    CreateByteField(ICM0, 0x13, MAXH)
    CreateByteField(ICM0, 0x16, HDM0)
    CreateByteField(ICM0, 0x1d, HPI0)
    Name(ICM1, Buffer(0x1c) {0x2, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0xb0, 0xf5, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0=
x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
    CreateByteField(ICM1, 0xf, HDM1)
    CreateByteField(ICM1, 0x16, HPI1)
    Name(ICC1, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0=
, 0x0, 0x0, 0x0, 0xb0, 0xef })
    CreateByteField(ICC1, 0x1, CDM1)
    CreateByteField(ICC1, 0x8, CPI1)
    Name(IDKM, 0x0)
    Name(ICM2, Buffer(0x1c) {0x2, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0xa0, 0xf5, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0=
x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
    CreateByteField(ICM2, 0xf, HDM2)
    CreateByteField(ICM2, 0x16, HPI2)
    Name(ICC2, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0=
, 0x0, 0x0, 0x0, 0xa0, 0xef })
    CreateByteField(ICC2, 0x1, CDM2)
    CreateByteField(ICC2, 0x8, CPI2)
    Name(IDKS, 0x0)
    Name(ICM3, Buffer(0x1c) {0x2, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0xb0, 0xf5, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0=
x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
    CreateByteField(ICM3, 0xf, HDM3)
    CreateByteField(ICM3, 0x16, HPI3)
    Name(ICC3, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0=
, 0x0, 0x0, 0x0, 0xb0, 0xef })
    CreateByteField(ICC3, 0x1, CDM3)
    CreateByteField(ICC3, 0x8, CPI3)
    Name(BGTM, Buffer(0x14) { })
    CreateDWordField(BGTM, 0x0, GTP0)
    CreateDWordField(BGTM, 0x4, GTD0)
    CreateDWordField(BGTM, 0x8, GTP1)
    CreateDWordField(BGTM, 0xc, GTD1)
    CreateDWordField(BGTM, 0x10, GTMF)
    Device(MBRM) {
        Name(_HID, 0x010cd041)
        Name(MBR0, Buffer(0x3e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0xc0, =
0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x=
86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xee, 0x1, 0x86, 0x9, 0=
x0, 0x0, 0x0, 0x0, 0xfe, 0xff, 0x0, 0x0, 0x2, 0x0, 0x79, 0x0 })
        Name(MBR1, Buffer(0x32) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0=
x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xee, 0x1, 0=
x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xff, 0x0, 0x0, 0x2, 0x0, 0x79, 0x0 }=
)
        CreateDWordField(MBR0, 0x10, MBVB)
        CreateDWordField(MBR0, 0x14, MBVL)
        CreateDWordField(MBR0, 0x28, MBB0)
        CreateDWordField(MBR0, 0x2c, MBL0)
        CreateDWordField(MBR1, 0x1c, MBB1)
        CreateDWordField(MBR1, 0x20, MBL1)
        Method(_CRS) {
            If(W98F) {
                If(GAPL) {
                    Store(GAPA, MBVB)
                    Store(GAPL, MBVL)
                    Subtract(TOMP, MBB0, MBL0)
                    Return(MBR0)
                }
                Else {
                    Subtract(TOMP, MBB1, MBL1)
                    Return(MBR1)
                }
            }
            Else {
                Subtract(FRAS, MBVB, MBVL)
                Subtract(TOMP, MBB0, MBL0)
                Return(MBR0)
            }
        }
    }
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_ADR, 0x0)
        OperationRegion(X000, PCI_Config, 0x0, 0x0100)
        Field(X000, DWordAcc, NoLock, Preserve) {
            Offset(0x4f),
            ,	7,
            XPLD,	1
        }
        Field(X000, DWordAcc, NoLock, Preserve) {
            Offset(0x7a),
            CREN,	1,
            Offset(0x7b)
        }
        Name(_S1D, 0x1)
        Name(_S3D, 0x1)
        Name(_PRW, Package(0x2) {
            0xb,
            0x3,
        })
        Method(_PSW, 1) {
            EPSW
            0x1
            Arg0
        }
        Name(PMEE, 0x0)
        Method(EPSW, 2) {
            If(Arg1) {
                Or(PMEE, Arg0, Local0)
            }
            Else {
                And(PMEE, Not(Arg0, ), Local0)
            }
            Store(Local0, PMEE)
            If(H8DR) {
                If(Local0) {
                    Store(0x1, \_SB_.PCI0.ISA0.EC0_.HWPM)
                }
                Else {
                    Store(0x0, \_SB_.PCI0.ISA0.EC0_.HWPM)
                }
            }
            Else {
                If(Local0) {
                    WBEC
                    0x32
                    Or(RBEC, 0x32, 0x1)
                    Zero
                }
                Else {
                    WBEC
                    0x32
                    And(RBEC, 0x32, 0xfe)
                    Zero
                }
            }
        }
        Name(_CRS, Buffer(0x88) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc=
, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc,=
 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, =
0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x80, 0xc, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80,=
 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x10, 0x0, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd0, 0x=
ff, 0x79, 0x0 })
        CreateDWordField(_CRS, 0x5c, MW1N)
        CreateDWordField(_CRS, 0x60, MW1X)
        CreateDWordField(_CRS, 0x68, MW1L)
        CreateDWordField(_CRS, 0x76, MW2N)
        CreateDWordField(_CRS, 0x7a, MW2X)
        CreateDWordField(_CRS, 0x82, MW2L)
        Name(_PRT, Package(0x6) {
            Package(0x4) {
                0x0001ffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0002ffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0003ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0005ffff,
                0x0,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
        })
        Method(_INI) {
            If(LEqual(SCMP, \_OS_)) {
                "Microsoft Windows"
                Zero
                Store(One, W98F)
            }
            Else {
                Store(Zero, W98F)
                If(LEqual(SCMP, \_OS_)) {
                    "Microsoft Windows NT"
                    Zero
                    Store(One, WNTF)
                    \_SB_.PCI0.ISA0.MWV0.MWDU
                }
                Else {
                    Store(Zero, WNTF)
                }
            }
            Store(FRAS, MW1N)
            Add(Subtract(MW1X, MW1N, ), 0x1, MW1L)
            Store(TOMP, MW2N)
            Add(Subtract(MW2X, MW2N, ), 0x1, MW2L)
            If(PXDN) {
                And(PXDN, 0xffff0000, Local0)
                Add(Local0, 0xffff, Index(DerefOf(Index(_PRT, 0x0, )), 0x=
0, ))
                Add(Local0, 0x0, \_SB_.PCI0.ISA0._ADR)
                Add(Local0, 0x1, \_SB_.PCI0.IDE0._ADR)
                Add(Local0, 0x2, \_SB_.PCI0.USB0._ADR)
                Add(Local0, 0x3, \_SB_.PCI0.PM00._ADR)
            }
            Else {
                Fatal(0x2, 0x90000002, 0x0)
            }
            If(W98F) {
                Acquire(MSMI, 0xffff)
                Store(0x5381, S_AX)
                Store(0x90c2, S_BX)
                Store(0x0, S_CX)
                SMPI
                0x81
                Release(MSMI)
            }
        }
        Name(EDX1, Buffer(0x80) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,=
 0x0, 0x24, 0x4d, 0x55, 0xa, 0x1, 0x1, 0x1, 0x1, 0x23, 0x9, 0x1, 0x2, 0x8=
0, 0x21, 0x18, 0x0, 0xea, 0xd, 0xfb, 0xa0, 0x57, 0x47, 0x98, 0x27, 0x12, =
0x4d, 0x51, 0xa1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x19, 0x0, 0x40, 0x41, 0x0, 0x26=
, 0x30, 0x18, 0x88, 0x36, 0x0, 0xe, 0xcb, 0x10, 0x0, 0x0, 0x1a, 0x0, 0x0,=
 0x0, 0xfc, 0x0, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x64, 0x20, 0x=
4c, 0x43, 0x44, 0x20, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x31, 0x30, 0x32, 0x34, 0=
x78, 0x37, 0x36, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x33 })
        Name(EDX2, Buffer(0x0100) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf=
f, 0x0, 0x24, 0x4d, 0x55, 0xa, 0x1, 0x1, 0x1, 0x1, 0x23, 0x9, 0x1, 0x2, 0=
x80, 0x21, 0x18, 0x0, 0xea, 0xd, 0xfb, 0xa0, 0x57, 0x47, 0x98, 0x27, 0x12=
, 0x4d, 0x51, 0xa1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x19, 0x0, 0x40, 0x41, 0x0, 0x=
26, 0x30, 0x18, 0x88, 0x36, 0x0, 0xe, 0xcb, 0x10, 0x0, 0x0, 0x1a, 0x0, 0x=
0, 0x0, 0xfc, 0x0, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x64, 0x20, =
0x4c, 0x43, 0x44, 0x20, 0x0, 0x0, 0x0, 0xfc, 0x0, 0x31, 0x30, 0x32, 0x34,=
 0x78, 0x37, 0x36, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x33, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Name(EDT1, Buffer(0x80) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,=
 0x0, 0xc1, 0xd0, 0xfe, 0x9, 0x1, 0x1, 0x1, 0x1, 0x23, 0x9, 0x1, 0x2, 0x0=
, 0x0, 0x0, 0x0, 0xea, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0xa1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x31, 0x58, 0x1c, 0x20, 0x28, =
0x80, 0x1, 0x0, 0xf6, 0xb8, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x0, 0x0, 0xfc, 0x0=
, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x64, 0x20, 0x54, 0x56, 0x20,=
 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x59 })
        Name(EDT2, Buffer(0x0100) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf=
f, 0x0, 0xc1, 0xd0, 0xfe, 0x9, 0x1, 0x1, 0x1, 0x1, 0x23, 0x9, 0x1, 0x2, 0=
x0, 0x0, 0x0, 0x0, 0xea, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0xa1, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x31, 0x58, 0x1c, 0x20, 0x28=
, 0x80, 0x1, 0x0, 0xf6, 0xb8, 0x0, 0x0, 0x0, 0x1a, 0x0, 0x0, 0x0, 0xfc, 0=
x0, 0x54, 0x68, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x64, 0x20, 0x54, 0x56, 0x2=
0, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x59, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Mutex(MDGS, 7)
        Name(VDEE, 0x1)
        Name(VDDA, Buffer(0x2) { })
        CreateBitField(VDDA, 0x0, VUPC)
        CreateBitField(VDDA, 0x1, VQDL)
        CreateBitField(VDDA, 0x2, VQDC)
        CreateBitField(VDDA, 0x3, VQDT)
        CreateBitField(VDDA, 0x4, VADL)
        CreateBitField(VDDA, 0x5, VADC)
        CreateBitField(VDDA, 0x6, VADT)
        CreateBitField(VDDA, 0x7, VSDL)
        CreateBitField(VDDA, 0x8, VSDC)
        CreateBitField(VDDA, 0x9, VSDT)
        CreateBitField(VDDA, 0xa, MSWT)
        CreateBitField(VDDA, 0xb, VWST)
        Name(LCT0, 0x0)
        Device(VID0) {
            Name(_ADR, 0x00030000)
            Method(_INI) {
                Store(VCDL, VADL)
                Store(VCDC, VADC)
                Store(VCDT, VADT)
                Store(VCDL, VQDL)
                Store(VCDC, VQDC)
                Store(VCDT, VQDT)
                Store(VCDL, VSDL)
                Store(VCDC, VSDC)
                Store(VCDT, VSDT)
                Acquire(MSMI, 0xffff)
                Store(0x5381, S_AX)
                Store(0x1000, S_BX)
                Store(0x0, S_CX)
                SMPI
                0x81
                And(S_CX, 0x0700, LCT0)
                Release(MSMI)
            }
            Name(_PR0, Package(0x1) {
                PVID,
            })
            Name(_PR1, Package(0x1) {
                PVID,
            })
            Name(_PR2, Package(0x1) {
                PVID,
            })
            Method(VSWT) {
                If(\PVID._STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1000, S_BX)
                    Store(0x0, S_CX)
                    SMPI
                    0x81
                    And(S_CL, 0x1, Local0)
                    And(ESI1, 0x1, Local1)
                    And(S_CH, 0x7, Local2)
                    Release(MSMI)
                    And(Local0, Local1, Local3)
                    If(Local3) {
                        If(LEqual(0x4, Local2)) {
                            Store(0x0100, Local4)
                        }
                        Else {
                            Store(0x0400, Local4)
                        }
                    }
                    Else {
                        If(LEqual(0x2, Local2)) {
                            Store(0x0300, Local4)
                        }
                        Else {
                            If(LEqual(0x3, Local2)) {
                                Store(0x0100, Local4)
                            }
                            Else {
                                Store(0x0200, Local4)
                            }
                        }
                    }
                    ASWT
                    Local4
                    0x1
                }
            }
            Method(VEXP) {
                If(\PVID._STA) {
                    If(VCDE) {
                        Store(0x79, Local1)
                    }
                    Else {
                        Store(0x1, Local1)
                    }
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1003, S_BX)
                    Store(Local1, S_CH)
                    SMPI
                    0x81
                    Release(MSMI)
                }
            }
            Method(VECC) {
                If(\PVID._STA) {
                    If(VCDH) {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x2, S_BX)
                        Store(0x0200, S_CX)
                        SMPI
                        0x81
                        And(S_CH, 0x30, Local0)
                        Store(0x5381, S_AX)
                        Store(0x1000, S_BX)
                        Store(0x0, S_CX)
                        SMPI
                        0x81
                        And(S_CH, 0x7, Local1)
                        If(Local0) {
                            If(LEqual(Local1, 0x1)) {
                                ASWT
                                0x0200
                                0x2
                            }
                        }
                        Else {
                            If(LEqual(Local1, 0x2)) {
                                ASWT
                                0x0100
                                0x2
                            }
                        }
                    }
                }
            }
            Method(VLID, 1) {
                If(Arg0) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1000, S_BX)
                    Store(0x0, S_CX)
                    SMPI
                    0x81
                    And(S_CX, 0x0700, Local0)
                    Release(MSMI)
                    If(LNot(LEqual(Local0, LCT0))) {
                        ASWT
                        LCT0
                        0x0
                    }
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1000, S_BX)
                    Store(0x0, S_CX)
                    SMPI
                    0x81
                    And(S_CX, 0x0700, LCT0)
                    Store(LCT0, Local0)
                    Release(MSMI)
                    If(LAnd(Local0, 0x0100)) {
                        ASWT
                        0x0200
                        0x0
                    }
                }
            }
            Method(VLOE) {
                If(\PVID._STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1000, S_BX)
                    Store(0x0, S_CX)
                    SMPI
                    0x81
                    And(S_CH, 0x7, Local0)
                    Store(0x5381, S_AX)
                    Store(0x1000, S_BX)
                    Store(0x1, S_CX)
                    SMPI
                    0x81
                    And(S_CH, 0x3, Local1)
                    Store(0x5381, S_AX)
                    Store(0x2, S_BX)
                    Store(0x0200, S_CX)
                    SMPI
                    0x81
                    Store(S_CH, Local2)
                    Release(MSMI)
                    If(LEqual(0x2, Local0)) {
                        If(LEqual(0x0, Local2)) {
                            ASWT
                            0x0100
                            0x0
                        }
                        Else {
                            If(LEqual(0x3, Local1)) {
                                ASWT
                                0x0300
                                0x0
                            }
                            Else {
                                If(LEqual(0x1, Local1)) {
                                    ASWT
                                    0x0100
                                    0x0
                                }
                            }
                        }
                    }
                }
            }
            Method(_DOS, 1) {
                If(LEqual(Arg0, 0x2)) {
                    Store(0x1, Local0)
                    While(Local0) {
                        Acquire(MDGS, 0xffff)
                        If(LEqual(0x0, MSWT)) {
                            Store(0x1, MSWT)
                            Store(0x0, Local0)
                            Store(Arg0, VDEE)
                        }
                        Release(MDGS)
                        Sleep(0x1)
                    }
                }
                Else {
                    Acquire(MDGS, 0xffff)
                    If(LEqual(VDEE, 0x2)) {
                        Store(0x0, MSWT)
                    }
                    If(LGreater(Arg0, 0x2)) {
                        Store(0x1, VDEE)
                    }
                    Else {
                        Store(Arg0, VDEE)
                    }
                    Release(MDGS)
                }
            }
            Method(_DOD) {
                If(MPGP) {
                    Return(Package(0x4) {
                        0x00010110,
                        0x00010100,
                        0x0200,
                        0x00021100,
                    })
                }
                Else {
                    Return(Package(0x2) {
                        0x00010110,
                        0x00010100,
                    })
                }
            }
            Method(ASWT, 2) {
                If(LEqual(0x1, VDEE)) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1001, S_BX)
                    Store(Arg0, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1000, S_BX)
                    SMPI
                    0x81
                    Store(S_AX, Local0)
                    Release(MSMI)
                    If(LEqual(0x80, S_AX)) {
                        Store(0x1, Local0)
                        While(Local0) {
                            Acquire(MDGS, 0xffff)
                            If(LEqual(0x0, MSWT)) {
                                Store(0x0, Local0)
                                If(And(0x1, Arg1, )) {
                                    Store(0x1, VUPC)
                                }
                                Else {
                                    Store(0x0, VUPC)
                                }
                                If(LEqual(0x0400, Arg0)) {
                                    Store(0x0, VQDL)
                                    Store(0x0, VQDC)
                                    Store(0x1, VQDT)
                                }
                                Else {
                                    Store(0x0, VQDT)
                                    If(LEqual(0x0300, Arg0)) {
                                        Store(0x1, VQDL)
                                        Store(0x1, VQDC)
                                    }
                                    Else {
                                        If(LEqual(0x0200, Arg0)) {
                                            Store(0x0, VQDL)
                                            Store(0x1, VQDC)
                                        }
                                        Else {
                                            If(LEqual(0x0100, Arg0)) {
                                                Store(0x1, VQDL)
                                                Store(0x0, VQDC)
                                            }
                                        }
                                    }
                                }
                            }
                            Release(MDGS)
                            Sleep(0x1)
                        }
                        If(And(0x2, Arg1, )) {
                            Notify(\_SB_.PCI0.VID0, 0x81)
                        }
                        Else {
                            Notify(\_SB_.PCI0.VID0, 0x80)
                        }
                    }
                }
            }
            Device(LCD0) {
                Name(_ADR, 0x0110)
                Method(_DCS) {
                    If(VADL) {
                        Return(0x1f)
                    }
                    Else {
                        Return(0x1d)
                    }
                }
                Method(_DDC, 1) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x2, S_BX)
                    Store(0x0100, S_CX)
                    SMPI
                    0x81
                    Store(S_BL, Local0)
                    Release(MSMI)
                    If(LEqual(Local0, 0x2)) {
                        If(LEqual(Arg0, 0x1)) {
                            Return(EDX1)
                        }
                        Else {
                            If(LEqual(Arg0, 0x2)) {
                                Return(EDX2)
                            }
                        }
                    }
                }
                Method(_DGS) {
                    Return(VQDL)
                }
                Method(_DSS, 1) {
                    And(Arg0, 0x1, VSDL)
                    If(And(Arg0, 0x80000000, )) {
                        If(And(Arg0, 0x40000000, )) {
                            CSWT
                        }
                        Else {
                            DSWT
                        }
                    }
                }
            }
            Device(CRT0) {
                Name(_ADR, 0x0100)
                Method(_DCS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x2, S_BX)
                    Store(0x0200, S_CX)
                    SMPI
                    0x81
                    Store(S_CH, Local0)
                    Release(MSMI)
                    If(LOr(LEqual(Local0, 0x10), LEqual(Local0, 0x20))) {=

                        If(VADC) {
                            Return(0x1f)
                        }
                        Else {
                            Return(0x1d)
                        }
                    }
                    Else {
                        If(VADC) {
                            Return(0xf)
                        }
                        Else {
                            Return(0xd)
                        }
                    }
                }
                Method(_DDC, 1) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0xa003, S_BX)
                    SMPI
                    0x81
                    Release(MSMI)
                    If(LEqual(Arg0, 0x1)) {
                        Return(DDC1)
                    }
                    Else {
                        If(LEqual(Arg0, 0x2)) {
                            Return(DDC2)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
                Method(_DGS) {
                    Return(VQDC)
                }
                Method(_DSS, 1) {
                    And(Arg0, 0x1, VSDC)
                    If(And(Arg0, 0x80000000, )) {
                        If(And(Arg0, 0x40000000, )) {
                            CSWT
                        }
                        Else {
                            DSWT
                        }
                    }
                }
            }
            Device(TV0_) {
                Name(_ADR, 0x0200)
                Method(_DCS) {
                    If(MPGP) {
                        If(VADT) {
                            Return(0xf)
                        }
                        Else {
                            Return(0xd)
                        }
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Method(_DDC, 1) {
                    If(LEqual(Arg0, 0x1)) {
                        Return(EDT1)
                    }
                    Else {
                        If(LEqual(Arg0, 0x2)) {
                            Return(EDT2)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
                Method(_DGS) {
                    Return(VQDT)
                }
                Method(_DSS, 1) {
                    And(Arg0, 0x1, VSDT)
                    If(And(Arg0, 0x80000000, )) {
                        If(And(Arg0, 0x40000000, )) {
                            CSWT
                        }
                        Else {
                            DSWT
                        }
                    }
                }
            }
            Device(CAP0) {
                Name(_ADR, 0x1100)
            }
            Method(DSWT) {
                If(VSDL) {
                    Store(0x0100, Local0)
                }
                Else {
                    Store(0x0, Local0)
                }
                If(VSDC) {
                    Or(0x0200, Local0, Local0)
                }
                If(VSDT) {
                    Or(0x0400, Local0, Local0)
                }
                If(Local0) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0xa001, S_BX)
                    If(VUPC) {
                        Or(Local0, 0x3, S_CX)
                    }
                    Else {
                        Or(Local0, 0x2, S_CX)
                    }
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(VSDL, VADL)
                    Store(VSDC, VADC)
                    Store(VSDT, VADT)
                }
                Else {
                    Noop
                }
            }
            Method(CSWT) {
                If(VSDL) {
                    Store(0x0100, Local0)
                }
                Else {
                    Store(0x0, Local0)
                }
                If(VSDC) {
                    Or(0x0200, Local0, Local0)
                }
                If(VSDT) {
                    Or(0x0400, Local0, Local0)
                }
                Acquire(MSMI, 0xffff)
                Store(0x5381, S_AX)
                Store(0x90c0, S_BX)
                Store(Local0, S_CX)
                Store(0x2, S_CL)
                SMPI
                0x81
                Release(MSMI)
                Store(VSDL, VADL)
                Store(VSDC, VADC)
                Store(VSDT, VADT)
            }
        }
        Device(CBS0) {
            Name(_ADR, 0x00020000)
            OperationRegion(CBUS, PCI_Config, 0x0, 0x0100)
            Field(CBUS, DWordAcc, NoLock, Preserve) {
                Offset(0x40),
                SVID,	16,
                SSID,	16,
                LGDC,	32,
                Offset(0x80),
                SYSC,	32,
                MCTL,	8,
                Offset(0x91),
                CCTL,	8,
                Offset(0x93),
                DIAG,	8
            }
            Method(_INI) {
                Store(Zero, LGDC)
                And(CCTL, 0x7f, CCTL)
                Or(SYSC, 0x1, SYSC)
            }
        }
        Device(CBS1) {
            Name(_ADR, 0x00020001)
            OperationRegion(CBUS, PCI_Config, 0x0, 0x0100)
            Field(CBUS, DWordAcc, NoLock, Preserve) {
                Offset(0x40),
                SVID,	16,
                SSID,	16,
                LGDC,	32,
                Offset(0x80),
                SYSC,	32,
                MCTL,	8,
                Offset(0x91),
                CCTL,	8,
                Offset(0x93),
                DIAG,	8
            }
            Method(_INI) {
                Store(Zero, LGDC)
                And(CCTL, 0x7f, CCTL)
                Or(SYSC, 0x1, SYSC)
            }
        }
        Device(ISA0) {
            Name(_ADR, 0x00010000)
            OperationRegion(PIRQ, PCI_Config, 0x60, 0x60)
            Field(PIRQ, AnyAcc, NoLock, Preserve) {
                PIRA,	8,
                PIRB,	8,
                PIRC,	8,
                PIRD,	8,
                SIRQ,	8,
                Offset(0x16),
                CH00,	3,
                ,	4,
                FE00,	1,
                CH01,	3,
                ,	4,
                FE01,	1,
                Offset(0x22),
                P21E,	3,
                Offset(0x23),
                Offset(0x50),
                GCR0,	1,
                GCR1,	1,
                ,	1,
                ,	1,
                GCR4,	1,
                GCR5,	1,
                GCR6,	1,
                Offset(0x51),
                ,	1,
                ,	1,
                ,	1,
                GCRB,	1,
                GCRC,	1,
                ,	1,
                ,	1,
                Offset(0x52),
                Offset(0x54),
                Offset(0x60)
            }
            OperationRegion(SIO_, SystemIO, 0x2e, 0x2)
            Field(SIO_, ByteAcc, NoLock, Preserve) {
                INDX,	8,
                DATA,	8
            }
            IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
                FER_,	8,
                FAR_,	8,
                PTR_,	8,
                FCR_,	8,
                PCR_,	8,
                Offset(0x6),
                PMC_,	8,
                TUP_,	8,
                SID_,	8,
                ASC_,	8,
                S0LA,	8,
                S0CF,	8,
                S1LA,	8,
                S1CF,	8,
                Offset(0x10),
                S0HA,	8,
                S1HA,	8,
                SCF0,	8,
                Offset(0x18),
                SCF1,	8,
                Offset(0x1b),
                PNP0,	8,
                PNP1,	8,
                Offset(0x40),
                SCF2,	8,
                PNP2,	8,
                PBAL,	8,
                PBAH,	8,
                U1AL,	8,
                U1AH,	8,
                U2AL,	8,
                U2AH,	8,
                FBAL,	8,
                FBAH,	8,
                SBAL,	8,
                SBAH,	8,
                IRQ1,	8,
                IRQ2,	8,
                IRQ3,	8,
                PNP3,	8,
                SCF3,	8,
                CLK_,	8
            }
            PowerResource(PSIO, 0, 0) {
                Name(PSTS, 0x1)
                Method(_STA) {
                    Return(PSTS)
                }
                Method(_ON_) {
                    And(PTR_, 0xfe, Local0)
                    Store(Local0, PTR_)
                    Store(0x1, PSTS)
                }
                Method(_OFF) {
                    Store(0x0, PSTS)
                }
            }
            Device(FDC0) {
                Name(_HID, 0x0007d041)
                Name(_PR0, Package(0x1) {
                    PSIO,
                })
                Name(DRQD, 0x0)
                Method(_STA) {
                    Store(\_SB_.PCI0.PM00.XFE_, Local0)
                    If(Local0) {
                        Return(0xf)
                    }
                    Else {
                        Return(0xd)
                    }
                }
                Method(_DIS) {
                    And(PNP2, 0x80, Local0)
                    Store(Local0, PNP2)
                    Store(Zero, \_SB_.PCI0.PM00.XFE_)
                    Store(Zero, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                }
                Method(_CRS) {
                    Name(FCRS, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, =
0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0=
, 0x2a, 0x4, 0x0, 0x79, 0x0 })
                    Store(0x4, DRQD)
                    Return(FCRS)
                }
                Name(_PRS, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3,=
 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x=
2a, 0x4, 0x0, 0x79, 0x0 })
                Method(_SRS, 1) {
                    And(FBAL, 0x1, Local0)
                    Or(Local0, 0xfc, Local0)
                    Store(Local0, FBAL)
                    And(FBAH, 0x3, Local0)
                    Store(Local0, FBAH)
                    And(PNP2, 0x80, Local0)
                    Or(Local0, 0x36, Local0)
                    Store(Local0, PNP2)
                    If(And(FER_, 0x8, Local1)) {
                    }
                    Else {
                        Or(FER_, 0x8, Local1)
                        Store(Local1, FER_)
                    }
                    Store(Zero, \_SB_.PCI0.PM00.XFA_)
                    Store(One, \_SB_.PCI0.PM00.XFE_)
                    Store(0x4, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                }
                Name(FDEB, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0 })
                CreateByteField(FDEB, 0x0, FD0S)
                CreateByteField(FDEB, 0x4, FD1S)
                Method(_INI) {
                    If(WNTF) {
                        If(FDNS) {
                            SELD
                            Zero
                        }
                        Else {
                            SELD
                            One
                            Store(0x1, ^FDD0._ADR)
                            Store(0x0, ^FDD1._ADR)
                            Store(0x1, Index(^FDD0._FDI, 0x0, ))
                            Store(0x0, Index(^FDD1._FDI, 0x0, ))
                        }
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x1b00, S_BX)
                        Store(0x0, S_CX)
                        SMPI
                        0x81
                        If(And(S_CX, 0x2, )) {
                            Store(0x1, ^FDD0._ADR)
                            Store(0x0, ^FDD1._ADR)
                            Store(0x1, Index(^FDD0._FDI, 0x0, ))
                            Store(0x0, Index(^FDD1._FDI, 0x0, ))
                        }
                        Release(MSMI)
                    }
                }
                Method(_FDE) {
                    If(LEqual(\_SB_.PCI0.ISA0.EC0_.GUID, 0xd)) {
                        If(ULTO) {
                            Store(0x0, Local0)
                        }
                        Else {
                            Store(0x1, Local0)
                        }
                    }
                    Else {
                        Store(0x0, Local0)
                    }
                    If(^FDD0._ADR) {
                        Store(0x1, FD0S)
                        Store(Local0, FD1S)
                    }
                    Else {
                        Store(Local0, FD0S)
                        Store(0x1, FD1S)
                    }
                    Return(FDEB)
                }
                Method(SELD, 1) {
                    Acquire(MSMI, 0xffff)
                    If(Arg0) {
                        Store(0x0103, S_CX)
                    }
                    Else {
                        Store(0x0101, S_CX)
                    }
                    Store(0x5381, S_AX)
                    Store(0x1b01, S_BX)
                    SMPI
                    0x81
                    Release(MSMI)
                }
                Device(FDD0) {
                    Name(_ADR, 0x0)
                    Name(_FDI, Package(0x10) {
                        0x0,
                        0x4,
                        0x4f,
                        0x12,
                        0x1,
                        0xd1,
                        0x2,
                        0x25,
                        0x2,
                        0x12,
                        0x1b,
                        0xff,
                        0x65,
                        0xf6,
                        0xf,
                        0x4,
                    })
                    Method(_EJ0, 1) {
                        If(LEqual(\_SB_.PCI0.ISA0.EC0_.BDEV, 0xd)) {
                            \_SB_.PCI0.ISA0.EC0_.BEJ0
                            Arg0
                        }
                    }
                }
                Device(FDD1) {
                    Name(_ADR, 0x1)
                    Name(_FDI, Package(0x10) {
                        0x1,
                        0x4,
                        0x4f,
                        0x12,
                        0x1,
                        0xd1,
                        0x2,
                        0x25,
                        0x2,
                        0x12,
                        0x1b,
                        0xff,
                        0x65,
                        0xf6,
                        0xf,
                        0x4,
                    })
                }
            }
            Device(UAR1) {
                Name(_HID, 0x0105d041)
                Name(_EJD, "_SB.PCI0.DOCK")
                Name(_PR0, Package(0x2) {
                    PSIO,
                    PRSD,
                })
                Name(_PRW, Package(0x2) {
                    0xa,
                    0x3,
                })
                Name(UA1W, 0x0)
                Method(_PSW, 1) {
                    Store(Arg0, UA1W)
                }
                Method(_STA) {
                    If(And(FER_, 0x2, )) {
                        Return(0xf)
                    }
                    Else {
                        Return(0xd)
                    }
                }
                Method(_DIS) {
                    If(LNot(DBG_)) {
                        And(FER_, 0xfd, Local0)
                        Store(Local0, FER_)
                        Store(Zero, \_SB_.PCI0.PM00.XU1E)
                    }
                }
                Method(_CRS) {
                    Name(BUFF, Buffer(0xd) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0=
x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 })
                    CreateWordField(BUFF, 0x2, U1MN)
                    CreateWordField(BUFF, 0x4, U1MX)
                    CreateWordField(BUFF, 0x9, U1IQ)
                    ShiftLeft(And(U1AL, 0xfe, ), 0x2, Local0)
                    Store(Local0, U1MN)
                    Store(Local0, U1MX)
                    If(And(PNP1, 0x1, )) {
                        Store(0x8, U1IQ)
                    }
                    Return(BUFF)
                }
                Name(_PRS, Buffer(0x37) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x3,=
 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x1, 0x47, 0x1, 0xf8, 0x2, 0=
xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x3, 0xe8=
, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x2, 0xe8, =
0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, IOAR)
                    CreateWordField(Arg0, 0x9, IRQM)
                    If(LEqual(IOAR, 0x03f8)) {
                        Store(0xfe, Local0)
                        Store(0x0, Local1)
                    }
                    Else {
                        If(LEqual(IOAR, 0x02f8)) {
                            Store(0xbe, Local0)
                            Store(0x1, Local1)
                        }
                        Else {
                            If(LEqual(IOAR, 0x03e8)) {
                                Store(0xfa, Local0)
                                Store(0x7, Local1)
                            }
                            Else {
                                If(LEqual(IOAR, 0x02e8)) {
                                    Store(0xba, Local0)
                                    Store(0x5, Local1)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    And(U1AH, 0x3, Local2)
                    Store(Local2, U1AH)
                    And(U1AL, 0x1, Local2)
                    Or(Local0, Local2, Local0)
                    Store(Local0, U1AL)
                    Store(Local1, \_SB_.PCI0.PM00.XU1A)
                    And(PNP1, 0xf0, Local0)
                    If(LEqual(IRQM, 0x10)) {
                        Or(Local0, 0x4, Local0)
                    }
                    Else {
                        If(LEqual(IRQM, 0x8)) {
                            Or(Local0, 0x3, Local0)
                        }
                        Else {
                            Fatal(0x2, 0x90000002, 0x0)
                        }
                    }
                    Store(Local0, PNP1)
                    Or(FER_, 0x2, Local0)
                    Store(Local0, FER_)
                    Store(One, \_SB_.PCI0.PM00.XU1E)
                }
            }
            Device(LPT_) {
                Name(_HID, 0x0004d041)
                Name(_EJD, "_SB.PCI0.DOCK")
                Name(_PR0, Package(0x1) {
                    PSIO,
                })
                Method(_STA) {
                    If(LEqual(PPMD, 0x3)) {
                        Return(Zero)
                    }
                    Else {
                        If(And(FER_, 0x1, )) {
                            Return(0xf)
                        }
                        Else {
                            Return(0xd)
                        }
                    }
                }
                Method(_DIS) {
                    And(FER_, 0xfe, Local0)
                    Store(Local0, FER_)
                    Store(Zero, \_SB_.PCI0.PM00.XPE_)
                }
                Method(_CRS) {
                    Name(BUFF, Buffer(0xd) {0x47, 0x1, 0xbc, 0x3, 0xbc, 0=
x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x79, 0x0 })
                    CreateWordField(BUFF, 0x2, L1MN)
                    CreateWordField(BUFF, 0x4, L1MX)
                    CreateByteField(BUFF, 0x6, L1AL)
                    CreateByteField(BUFF, 0x7, L1LN)
                    CreateWordField(BUFF, 0x9, L1IQ)
                    If(LEqual(PPMD, 0x3)) {
                        Store(0x0, L1MN)
                        Store(0x0, L1MX)
                        Store(0x0, L1AL)
                        Store(0x0, L1LN)
                        Store(0x0, L1IQ)
                        Return(BUFF)
                    }
                    And(PBAL, 0xff, Local0)
                    If(LEqual(Local0, 0xef)) {
                    }
                    Else {
                        If(LEqual(Local0, 0xde)) {
                            Store(0x0378, L1MN)
                            Store(0x0378, L1MX)
                            Store(0x8, L1LN)
                        }
                        Else {
                            If(LEqual(Local0, 0x9e)) {
                                Store(0x0278, L1MN)
                                Store(0x0278, L1MX)
                                Store(0x8, L1LN)
                            }
                        }
                    }
                    And(PNP0, 0xf0, Local1)
                    If(LEqual(Local1, 0x0)) {
                        Store(0x0, L1IQ)
                    }
                    Else {
                        If(LEqual(Local1, 0x50)) {
                            Store(0x20, L1IQ)
                        }
                    }
                    Return(BUFF)
                }
                Method(_PRS) {
                    If(PPMD) {
                        Return(PEPP)
                    }
                    Else {
                        Return(PLPT)
                    }
                }
                Name(PLPT, Buffer(0x4b) {0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc=
, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, =
0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x=
8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22=
, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x0, 0=
x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x0, 0x0, 0x38=
, 0x79, 0x0 })
                Name(PEPP, Buffer(0x1b) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78=
, 0x3, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, =
0x1, 0x8, 0x22, 0xa0, 0x0, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, IOAR)
                    CreateWordField(Arg0, 0x9, IRQM)
                    If(LEqual(IOAR, 0x03bc)) {
                        Store(0xef, Local0)
                        Store(0x0, Local1)
                    }
                    Else {
                        If(LEqual(IOAR, 0x0378)) {
                            Store(0xde, Local0)
                            Store(0x1, Local1)
                        }
                        Else {
                            If(LEqual(IOAR, 0x0278)) {
                                Store(0x9e, Local0)
                                Store(0x2, Local1)
                            }
                            Else {
                                Fatal(0x2, 0x90000002, 0x0)
                            }
                        }
                    }
                    And(PBAH, 0x3, Local2)
                    Store(Local2, PBAH)
                    Store(Local0, PBAL)
                    Store(Local1, \_SB_.PCI0.PM00.XPA_)
                    And(PNP0, 0xf, Local0)
                    If(LEqual(IRQM, 0x20)) {
                        Or(Local0, 0x50, Local0)
                    }
                    Else {
                        If(LEqual(IRQM, 0x80)) {
                            Or(Local0, 0x70, Local0)
                        }
                        Else {
                            If(LEqual(IRQM, Zero)) {
                            }
                        }
                    }
                    Store(Local0, PNP0)
                    If(LEqual(PPMD, 0x0)) {
                        And(PCR_, 0xfa, Local0)
                        If(PPDR) {
                            Or(PTR_, 0x80, Local1)
                        }
                        Else {
                            And(PTR_, 0x7f, Local1)
                        }
                    }
                    Else {
                        If(LEqual(PPMD, 0x1)) {
                            And(PCR_, 0xf9, Local0)
                            Or(Local0, 0x1, Local0)
                        }
                        Else {
                            And(PCR_, 0xfb, Local0)
                            Or(Local0, 0x3, Local0)
                        }
                        And(PTR_, 0x7f, Local1)
                    }
                    Store(Local0, PCR_)
                    Store(Local1, PTR_)
                    Or(FER_, 0x1, Local0)
                    Store(Local0, FER_)
                    Store(One, \_SB_.PCI0.PM00.XPE_)
                }
            }
            Device(ECP_) {
                Name(_HID, 0x0104d041)
                Name(_EJD, "_SB.PCI0.DOCK")
                Name(_PR0, Package(0x1) {
                    PSIO,
                })
                Name(DRQD, 0x0)
                Method(_STA) {
                    If(LEqual(PPMD, 0x3)) {
                        If(And(FER_, 0x1, )) {
                            Return(0xf)
                        }
                        Else {
                            Return(0xd)
                        }
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Method(_DIS) {
                    And(FER_, 0xfe, Local0)
                    Store(Local0, FER_)
                    Store(Zero, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    Store(Zero, \_SB_.PCI0.PM00.XPE_)
                }
                Method(_CRS) {
                    Name(BUFF, Buffer(0x18) {0x47, 0x1, 0xbc, 0x3, 0xbc, =
0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3, 0x22, 0x80, 0x0=
, 0x2a, 0x8, 0x0, 0x79, 0x0 })
                    CreateWordField(BUFF, 0x2, ECN0)
                    CreateWordField(BUFF, 0x4, ECX0)
                    CreateByteField(BUFF, 0x6, ECA0)
                    CreateByteField(BUFF, 0x7, ECL0)
                    CreateWordField(BUFF, 0xa, ECN1)
                    CreateWordField(BUFF, 0xc, ECX1)
                    CreateByteField(BUFF, 0xe, ECA1)
                    CreateByteField(BUFF, 0xf, ECL1)
                    CreateWordField(BUFF, 0x11, ECIQ)
                    CreateWordField(BUFF, 0x14, ECDQ)
                    If(LNot(LEqual(PPMD, 0x3))) {
                        Store(0x0, ECN0)
                        Store(0x0, ECX0)
                        Store(0x0, ECA0)
                        Store(0x0, ECL0)
                        Store(0x0, ECN1)
                        Store(0x0, ECX1)
                        Store(0x0, ECA1)
                        Store(0x0, ECL1)
                        Store(0x0, ECIQ)
                        Store(0x0, ECDQ)
                        Return(BUFF)
                    }
                    And(PBAL, 0xff, Local0)
                    If(LEqual(Local0, 0xef)) {
                        Store(0x03bc, Local1)
                    }
                    Else {
                        If(LEqual(Local0, 0xde)) {
                            Store(0x0378, Local1)
                            Store(0x8, ECL0)
                        }
                        Else {
                            If(LEqual(Local0, 0x9e)) {
                                Store(0x0278, Local1)
                                Store(0x8, ECL0)
                            }
                        }
                    }
                    Store(Local1, ECN0)
                    Store(Local1, ECX0)
                    Add(Local1, 0x0400, ECN1)
                    Add(Local1, 0x0400, ECX1)
                    And(PNP0, 0xf0, Local1)
                    If(LEqual(Local1, 0x50)) {
                        Store(0x20, ECIQ)
                    }
                    Else {
                        If(LEqual(Local1, 0x70)) {
                        }
                        Else {
                            Store(0x0, ECIQ)
                        }
                    }
                    And(SCF1, 0x38, Local2)
                    If(LEqual(Local2, 0x0)) {
                        Store(0x0, ECDQ)
                    }
                    Else {
                        If(LEqual(Local2, 0x8)) {
                            Store(0x1, ECDQ)
                        }
                        Else {
                            If(LEqual(Local2, 0x10)) {
                                Store(0x2, ECDQ)
                            }
                            Else {
                                If(LEqual(Local2, 0x20)) {
                                }
                                Else {
                                    Store(0x0, ECDQ)
                                }
                            }
                        }
                    }
                    Store(ECDQ, DRQD)
                    Return(BUFF)
                }
                Method(_PRS) {
                    If(LNot(PPDM)) {
                        Return(PEC0)
                    }
                    Else {
                        Return(PEC1)
                    }
                }
                Name(PEC0, Buffer(0x48) {0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc=
, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3, 0x22, 0x80, 0=
x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47=
, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x3, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x0, 0=
x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x7=
8, 0x6, 0x1, 0x3, 0x22, 0x20, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
                Name(PEC1, Buffer(0x48) {0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc=
, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3, 0x22, 0x80, 0=
x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47=
, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x3, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0=
x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x7=
8, 0x6, 0x1, 0x3, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, IOAR)
                    CreateWordField(Arg0, 0x11, IRQM)
                    CreateByteField(Arg0, 0x14, DMAM)
                    If(LEqual(IOAR, 0x03bc)) {
                        Store(0xef, Local0)
                        Store(0x0, Local1)
                    }
                    Else {
                        If(LEqual(IOAR, 0x0378)) {
                            Store(0xde, Local0)
                            Store(0x1, Local1)
                        }
                        Else {
                            If(LEqual(IOAR, 0x0278)) {
                                Store(0x9e, Local0)
                                Store(0x2, Local1)
                            }
                            Else {
                                Fatal(0x2, 0x90000002, 0x0)
                            }
                        }
                    }
                    And(PBAH, 0x3, Local2)
                    Store(Local2, PBAH)
                    Store(Local0, PBAL)
                    Store(Local1, \_SB_.PCI0.PM00.XPA_)
                    And(PNP0, 0xf, Local0)
                    If(LEqual(IRQM, 0x20)) {
                        Or(Local0, 0x50, Local0)
                    }
                    Else {
                        If(LEqual(IRQM, 0x80)) {
                            Or(Local0, 0x70, Local0)
                        }
                    }
                    Store(Local0, PNP0)
                    And(SCF1, 0xc7, Local1)
                    If(LEqual(DMAM, 0x1)) {
                        Or(Local1, 0x8, Local1)
                    }
                    Else {
                        If(LEqual(DMAM, 0x2)) {
                            Or(Local1, 0x10, Local1)
                        }
                        Else {
                            If(LEqual(DMAM, 0x8)) {
                                Or(Local1, 0x20, Local1)
                            }
                        }
                    }
                    Store(Local1, SCF1)
                    Store(DMAM, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    And(PCR_, 0xfe, Local0)
                    Or(Local0, 0x4, Local0)
                    Store(Local0, PCR_)
                    Or(FER_, 0x1, Local0)
                    Store(Local0, FER_)
                    Store(One, \_SB_.PCI0.PM00.XPE_)
                }
            }
            Device(FIR_) {
                Name(_HID, 0x71004d24)
                Name(_CID, 0x1105d041)
                Name(_PR0, Package(0x1) {
                    PSIO,
                })
                Name(DRQD, 0x0)
                Method(_STA) {
                    If(And(FER_, 0x4, )) {
                        Return(0xf)
                    }
                    Else {
                        Return(0xd)
                    }
                }
                Method(_DIS) {
                    And(FER_, 0xfb, Local0)
                    Store(Local0, FER_)
                    Store(Zero, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    Store(Zero, \_SB_.PCI0.PM00.XU2E)
                }
                Method(_CRS) {
                    Name(BUFF, Buffer(0x10) {0x47, 0x1, 0xf8, 0x3, 0xf8, =
0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x8, 0x0, 0x79, 0x0 })
                    CreateWordField(BUFF, 0x2, IRMN)
                    CreateWordField(BUFF, 0x4, IRMX)
                    CreateWordField(BUFF, 0x9, IRIQ)
                    CreateByteField(BUFF, 0xc, IRDR)
                    ShiftLeft(And(U2AL, 0xfe, ), 0x2, Local0)
                    Store(Local0, IRMN)
                    Store(Local0, IRMX)
                    If(LEqual(And(PNP1, 0xf0, ), 0x70)) {
                        Store(0x80, IRIQ)
                    }
                    Else {
                        If(LEqual(And(PNP1, 0xf0, ), 0x50)) {
                            Store(0x20, IRIQ)
                        }
                        Else {
                            If(LEqual(And(PNP1, 0xf0, ), 0x40)) {
                                Store(0x10, IRIQ)
                            }
                            Else {
                                If(LEqual(And(PNP1, 0xf0, ), 0x30)) {
                                    Store(0x8, IRIQ)
                                }
                                Else {
                                    Store(0x0, IRIQ)
                                }
                            }
                        }
                    }
                    And(PNP3, 0x7, Local1)
                    If(LEqual(Local1, 0x0)) {
                        Store(0x0, IRDR)
                    }
                    Else {
                        If(LEqual(Local1, 0x1)) {
                            Store(0x1, IRDR)
                        }
                        Else {
                            If(LEqual(Local1, 0x2)) {
                                Store(0x2, IRDR)
                            }
                            Else {
                                If(LEqual(Local1, 0x4)) {
                                    Store(0x8, IRDR)
                                }
                                Else {
                                    Store(Zero, IRDR)
                                }
                            }
                        }
                    }
                    Store(IRDR, DRQD)
                    Return(BUFF)
                }
                Name(_PRS, Buffer(0x0103) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x=
3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x31, 0x1, 0x47,=
 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x3=
1, 0x2, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a,=
 0xb, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x=
8, 0x0, 0x2a, 0xb, 0x0, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, =
0x8, 0x22, 0xa8, 0x0, 0x2a, 0xb, 0x0, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x2, 0x=
f8, 0x2, 0x1, 0x8, 0x22, 0xb0, 0x0, 0x2a, 0xb, 0x0, 0x31, 0x2, 0x47, 0x1,=
 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xa8, 0x0, 0x2a, 0xb, 0x0, 0x31, 0=
x2, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb0, 0x0, 0x2a, 0xb=
, 0x0, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, =
0x0, 0x2a, 0x0, 0x0, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8=
, 0x22, 0x8, 0x0, 0x2a, 0x0, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x3, 0xe8, =
0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x0, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe=
8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x0, 0x0, 0x31, 0x2, 0=
x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xa8, 0x0, 0x2a, 0x0, 0x0=
, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb0, 0x0, =
0x2a, 0x0, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x2=
2, 0xa8, 0x0, 0x2a, 0x0, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2,=
 0x1, 0x8, 0x22, 0xb0, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, IRIO)
                    CreateWordField(Arg0, 0x9, IRIQ)
                    CreateByteField(Arg0, 0xc, IRDR)
                    If(LEqual(IRIO, 0x03f8)) {
                        Store(0xfe, Local0)
                        Store(0x0, Local1)
                    }
                    Else {
                        If(LEqual(IRIO, 0x02f8)) {
                            Store(0xbe, Local0)
                            Store(0x1, Local1)
                        }
                        Else {
                            If(LEqual(IRIO, 0x03e8)) {
                                Store(0xfa, Local0)
                                Store(0x7, Local1)
                            }
                            Else {
                                If(LEqual(IRIO, 0x02e8)) {
                                    Store(0xba, Local0)
                                    Store(0x5, Local1)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    And(U2AH, 0x3, Local2)
                    Store(Local2, U2AH)
                    And(U2AL, 0x1, Local2)
                    Or(Local0, Local2, Local0)
                    Store(Local0, U2AL)
                    Store(Local1, \_SB_.PCI0.PM00.XU2A)
                    And(PNP1, 0xf, Local0)
                    If(LEqual(IRIQ, 0x80)) {
                        Or(Local0, 0x70, Local0)
                    }
                    Else {
                        If(LEqual(IRIQ, 0x20)) {
                            Or(Local0, 0x50, Local0)
                        }
                        Else {
                            If(LEqual(IRIQ, 0x10)) {
                                Or(Local0, 0x40, Local0)
                            }
                            Else {
                                If(LEqual(IRIQ, 0x8)) {
                                    Or(Local0, 0x30, Local0)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    Store(Local0, PNP1)
                    If(LEqual(IRDR, 0x0)) {
                        Store(0x0, Local0)
                    }
                    Else {
                        If(LEqual(IRDR, 0x1)) {
                            Store(0x1, Local0)
                        }
                        Else {
                            If(LEqual(IRDR, 0x2)) {
                                Store(0x2, Local0)
                            }
                            Else {
                                If(LEqual(IRDR, 0x8)) {
                                    Store(0x4, Local0)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    And(PNP3, 0xc0, Local1)
                    Or(Local1, Local0, Local1)
                    Store(Local1, PNP3)
                    Store(IRDR, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    Or(FER_, 0x4, Local0)
                    Store(Local0, FER_)
                    Store(One, \_SB_.PCI0.PM00.XU2E)
                }
            }
            Device(CS10) {
                Name(_HID, 0x1000630e)
                Method(_STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a00, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(S_BX, 0x0103)) {
                        If(LEqual(S_CL, 0x1)) {
                            Store(0xf, Local7)
                        }
                        Else {
                            Store(0xd, Local7)
                        }
                    }
                    Else {
                        Store(0x0, Local7)
                    }
                    Release(MSMI)
                    Return(Local7)
                }
                Method(_DIS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a01, S_BX)
                    Store(0x0100, S_CX)
                    Store(0x0, S_DX)
                    Store(0xffff, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Zero, \_SB_.PCI0.PM00.XA0E)
                }
                Method(_CRS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a00, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(EDI1, Local0)
                    Release(MSMI)
                    If(LEqual(Local0, 0x3)) {
                        Return(Buffer(0xa) {0x47, 0x1, 0xf0, 0xf, 0xf0, 0=
xf, 0x1, 0x8, 0x79, 0x0 })
                    }
                    Else {
                        If(LEqual(Local0, 0x2)) {
                            Return(Buffer(0xa) {0x47, 0x1, 0x88, 0xe, 0x8=
8, 0xe, 0x1, 0x8, 0x79, 0x0 })
                        }
                        Else {
                            If(LEqual(Local0, 0x1)) {
                                Return(Buffer(0xa) {0x47, 0x1, 0x38, 0xd,=
 0x38, 0xd, 0x1, 0x8, 0x79, 0x0 })
                            }
                            Else {
                                Return(Buffer(0xa) {0x47, 0x1, 0x38, 0x5,=
 0x38, 0x5, 0x1, 0x8, 0x79, 0x0 })
                            }
                        }
                    }
                }
                Name(_PRS, Buffer(0x27) {0x30, 0x47, 0x1, 0x38, 0x5, 0x38=
, 0x5, 0x1, 0x8, 0x30, 0x47, 0x1, 0x38, 0xd, 0x38, 0xd, 0x1, 0x8, 0x30, 0=
x47, 0x1, 0x88, 0xe, 0x88, 0xe, 0x1, 0x8, 0x30, 0x47, 0x1, 0xf0, 0xf, 0xf=
0, 0xf, 0x1, 0x8, 0x38, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, IOAR)
                    If(LEqual(IOAR, 0x0538)) {
                        Store(0x0, Local0)
                    }
                    Else {
                        If(LEqual(IOAR, 0x0d38)) {
                            Store(0x1, Local0)
                        }
                        Else {
                            If(LEqual(IOAR, 0x0e88)) {
                                Store(0x2, Local0)
                            }
                            Else {
                                If(LEqual(IOAR, 0x0ff0)) {
                                    Store(0x3, Local0)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a01, S_BX)
                    Store(0x0101, S_CX)
                    Store(0x0, S_DX)
                    Store(0xffff, SESI)
                    Store(0x0, SEDI)
                    Store(Local0, EDI1)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(One, \_SB_.PCI0.PM00.XA0E)
                }
            }
            Device(CS00) {
                Name(_HID, 0x630e)
                Name(DRQD, 0x0)
                Method(_STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a00, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(S_BX, 0x0103)) {
                        Store(0x5381, S_AX)
                        Store(0x1a02, S_BX)
                        Store(0x0, S_CX)
                        Store(0x0, S_DX)
                        Store(0x0, SESI)
                        Store(0x0, SEDI)
                        SMPI
                        0x81
                        If(LEqual(S_CL, 0x1)) {
                            Store(0xf, Local7)
                        }
                        Else {
                            Store(0xd, Local7)
                        }
                    }
                    Else {
                        Store(0x0, Local7)
                    }
                    Release(MSMI)
                    Return(Local7)
                }
                Method(_DIS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a02, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1a03, S_BX)
                    Store(0x0100, S_CX)
                    Store(0x0, S_DX)
                    SMPI
                    0x81
                    Store(Zero, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    Release(MSMI)
                    Store(Zero, \_SB_.PCI0.PM00.XA3E)
                    Store(Zero, \_SB_.PCI0.PM00.XA3D)
                }
                Method(_CRS) {
                    Name(CCRS, Buffer(0x23) {0x47, 0x1, 0x30, 0x5, 0x30, =
0x5, 0x1, 0x8, 0x47, 0x1, 0x88, 0x3, 0x88, 0x3, 0x1, 0x4, 0x47, 0x1, 0x20=
, 0x2, 0x20, 0x2, 0x1, 0x14, 0x22, 0x20, 0x0, 0x2a, 0x1, 0x0, 0x2a, 0x2, =
0x0, 0x79, 0x0 })
                    CreateWordField(CCRS, 0x2, WSMN)
                    CreateWordField(CCRS, 0x4, WSMX)
                    CreateWordField(CCRS, 0x12, SBMN)
                    CreateWordField(CCRS, 0x14, SBMX)
                    CreateWordField(CCRS, 0x19, CSIQ)
                    CreateByteField(CCRS, 0x1c, CSDP)
                    CreateByteField(CCRS, 0x1f, CSDC)
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a02, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(ESI1, Local0)
                    Store(ESI2, Local1)
                    And(Local1, 0xf, Local1)
                    ShiftRight(ESI2, 0x4, Local2)
                    Store(EDI1, Local3)
                    ShiftRight(Local3, 0x4, Local4)
                    And(Local3, 0xf, Local3)
                    And(Local4, 0xf, Local4)
                    If(LEqual(Local3, 0x3)) {
                        Store(0x0f40, WSMN)
                        Store(0x0f40, WSMX)
                    }
                    Else {
                        If(LEqual(Local3, 0x2)) {
                            Store(0x0e80, WSMN)
                            Store(0x0e80, WSMX)
                        }
                        Else {
                            If(LEqual(Local3, 0x1)) {
                                Store(0x0604, WSMN)
                                Store(0x0604, WSMX)
                            }
                            Else {
                                If(LEqual(Local3, 0x0)) {
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    If(LEqual(Local4, 0x0)) {
                        Store(0x0220, SBMN)
                        Store(0x0220, SBMX)
                    }
                    Else {
                        If(LEqual(Local4, 0x2)) {
                            Store(0x0240, SBMN)
                            Store(0x0240, SBMX)
                        }
                        Else {
                            If(LEqual(Local4, 0x4)) {
                                Store(0x0260, SBMN)
                                Store(0x0260, SBMX)
                            }
                            Else {
                                If(LEqual(Local4, 0x6)) {
                                    Store(0x0280, SBMN)
                                    Store(0x0280, SBMX)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    If(LEqual(Local0, 0xff)) {
                        Store(Zero, CSIQ)
                    }
                    Else {
                        Store(0x1, CSIQ)
                        ShiftLeft(CSIQ, Local0, CSIQ)
                    }
                    If(LEqual(Local1, 0xff)) {
                        Store(Zero, CSDP)
                    }
                    Else {
                        Store(0x1, Local6)
                        ShiftLeft(Local6, Local1, CSDP)
                    }
                    If(LEqual(Local2, 0xff)) {
                        Store(Zero, CSDC)
                    }
                    Else {
                        Store(0x1, Local7)
                        ShiftLeft(Local7, Local2, CSDC)
                    }
                    Store(CSDP, DRQD)
                    Or(DRQD, CSDC, DRQD)
                    Release(MSMI)
                    Return(CCRS)
                }
                Name(_PRS, Buffer(0x40) {0x30, 0x47, 0x1, 0x30, 0x5, 0x30=
, 0x5, 0x1, 0x8, 0x30, 0x47, 0x1, 0x4, 0x6, 0x4, 0x6, 0x1, 0x8, 0x30, 0x4=
7, 0x1, 0x80, 0xe, 0x80, 0xe, 0x1, 0x8, 0x30, 0x47, 0x1, 0x40, 0xf, 0x40,=
 0xf, 0x1, 0x8, 0x38, 0x47, 0x1, 0x88, 0x3, 0x88, 0x3, 0x1, 0x4, 0x47, 0x=
1, 0x20, 0x2, 0x80, 0x2, 0x20, 0x14, 0x22, 0xa0, 0x9a, 0x2a, 0xb, 0x0, 0x=
2a, 0xb, 0x0, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, SSIO)
                    CreateWordField(Arg0, 0x12, SBIO)
                    CreateWordField(Arg0, 0x19, CSIQ)
                    CreateByteField(Arg0, 0x1c, CSDP)
                    CreateByteField(Arg0, 0x1f, CSDC)
                    If(LEqual(SSIO, 0x0530)) {
                        Store(0x0, Local0)
                    }
                    Else {
                        If(LEqual(SSIO, 0x0604)) {
                            Store(0x1, Local0)
                        }
                        Else {
                            If(LEqual(SSIO, 0x0e80)) {
                                Store(0x2, Local0)
                            }
                            Else {
                                If(LEqual(SSIO, 0x0f40)) {
                                    Store(0x3, Local0)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    Store(Local0, Local2)
                    If(LEqual(SBIO, 0x0220)) {
                        Store(0x0, Local7)
                    }
                    Else {
                        If(LEqual(SBIO, 0x0240)) {
                            Or(Local0, 0x20, Local0)
                            Store(0x1, Local7)
                        }
                        Else {
                            If(LEqual(SBIO, 0x0260)) {
                                Or(Local0, 0x40, Local0)
                                Store(0x2, Local7)
                            }
                            Else {
                                If(LEqual(SBIO, 0x0280)) {
                                    Or(Local0, 0x60, Local0)
                                    Store(0x3, Local7)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    FindSetRightBit(CSIQ, Local1)
                    Decrement(Local1)
                    FindSetRightBit(CSDP, Local4)
                    Decrement(Local4)
                    FindSetRightBit(CSDC, Local6)
                    Decrement(Local6)
                    Store(CSDP, DRQD)
                    Or(DRQD, CSDC, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    ShiftLeft(Local6, 0x4, Local6)
                    And(Local6, 0xf0, Local6)
                    Or(Local4, Local6, Local4)
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a02, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1a03, S_BX)
                    And(S_CX, 0x2, S_CX)
                    Or(S_CX, 0x0101, S_CX)
                    Store(0x0, S_DX)
                    Store(Local1, ESI1)
                    Store(Local4, ESI2)
                    Store(Local0, EDI1)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Local2, \_SB_.PCI0.PM00.XA3A)
                    Store(One, \_SB_.PCI0.PM00.XA3D)
                    Store(One, \_SB_.PCI0.PM00.XA3E)
                    Store(Local7, \_SB_.PCI0.PM00.XA2A)
                    Store(One, \_SB_.PCI0.PM00.XA2D)
                    Store(One, \_SB_.PCI0.PM00.XA2E)
                }
            }
            Device(CS01) {
                Name(_HID, 0x0100630e)
                Name(_CID, 0x2fb0d041)
                Method(_STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1104, S_BX)
                    Store(0x8000, S_CX)
                    SMPI
                    0x81
                    If(And(S_BH, 0x1, )) {
                        If(And(S_CL, 0x1, )) {
                            Store(0xf, Local7)
                        }
                        Else {
                            Store(0xd, Local7)
                        }
                    }
                    Else {
                        Store(0x0, Local7)
                    }
                    Release(MSMI)
                    Return(Local7)
                }
                Method(_DIS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1105, S_BX)
                    Store(0x8100, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Zero, \_SB_.PCI0.PM00.XA4E)
                    Store(Zero, \_SB_.PCI0.PM00.XA4D)
                }
                Name(_PRS, Buffer(0xa) {0x47, 0x1, 0x0, 0x2, 0x0, 0x2, 0x=
1, 0x8, 0x79, 0x0 })
                Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x0, 0x2, 0x0, 0x2, 0x=
1, 0x8, 0x79, 0x0 })
                Method(_SRS, 1) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1105, S_BX)
                    Store(0x8101, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(One, \_SB_.PCI0.PM00.XA4D)
                    Store(One, \_SB_.PCI0.PM00.XA4E)
                }
            }
            Device(CS03) {
                Name(_HID, 0x0300630e)
                Method(_STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a00, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(S_BX, 0x0103)) {
                        Store(0x5381, S_AX)
                        Store(0x1a04, S_BX)
                        Store(0x0, S_CX)
                        Store(0x0, S_DX)
                        Store(0xff00, SESI)
                        Store(0x0, SEDI)
                        SMPI
                        0x81
                        If(LEqual(S_CL, 0x1)) {
                            Store(0xf, Local7)
                        }
                        Else {
                            Store(0xd, Local7)
                        }
                    }
                    Else {
                        Store(0x0, Local7)
                    }
                    Release(MSMI)
                    Return(Local7)
                }
                Method(_DIS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a04, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1a05, S_BX)
                    Store(0x0100, S_CX)
                    Store(0x0, S_DX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Zero, \_SB_.PCI0.PM00.XA1E)
                    Store(Zero, \_SB_.PCI0.PM00.XA1D)
                }
                Name(_PRS, Buffer(0x1d) {0x31, 0x0, 0x47, 0x1, 0x0, 0x3, =
0x30, 0x3, 0x10, 0x4, 0x22, 0x0, 0x0, 0x31, 0x1, 0x47, 0x1, 0x0, 0x3, 0x3=
0, 0x3, 0x10, 0x4, 0x22, 0xa0, 0x8e, 0x38, 0x79, 0x0 })
                Method(_CRS) {
                    Name(TBUF, Buffer(0xd) {0x47, 0x1, 0x30, 0x3, 0x30, 0=
x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x79, 0x0 })
                    CreateWordField(TBUF, 0x2, MDMN)
                    CreateWordField(TBUF, 0x4, MDMX)
                    CreateWordField(TBUF, 0x9, MDIQ)
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a04, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0xff00, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(ESI2, 0x3)) {
                        Store(0x0330, MDMN)
                        Store(0x0330, MDMX)
                    }
                    Else {
                        If(LEqual(ESI2, 0x2)) {
                            Store(0x0320, MDMN)
                            Store(0x0320, MDMX)
                        }
                        Else {
                            If(LEqual(ESI2, 0x1)) {
                                Store(0x0310, MDMN)
                                Store(0x0310, MDMX)
                            }
                            Else {
                                If(LEqual(ESI2, 0x0)) {
                                    Store(0x0300, MDMN)
                                    Store(0x0300, MDMX)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    If(LGreater(ESI1, 0xf)) {
                        Store(Zero, MDIQ)
                    }
                    Else {
                        Store(0x1, MDIQ)
                        ShiftLeft(MDIQ, ESI1, MDIQ)
                    }
                    Release(MSMI)
                    Return(TBUF)
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, MDIO)
                    CreateWordField(Arg0, 0x9, MDIQ)
                    If(LEqual(MDIO, 0x0330)) {
                        Store(0x3, Local1)
                    }
                    Else {
                        If(LEqual(MDIO, 0x0320)) {
                            Store(0x2, Local1)
                        }
                        Else {
                            If(LEqual(MDIO, 0x0310)) {
                                Store(0x1, Local1)
                            }
                            Else {
                                If(LEqual(MDIO, 0x0300)) {
                                    Store(0x0, Local1)
                                }
                                Else {
                                    Fatal(0x2, 0x90000002, 0x0)
                                }
                            }
                        }
                    }
                    FindSetRightBit(MDIQ, Local0)
                    Decrement(Local0)
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1a04, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1a05, S_BX)
                    Store(0x0101, S_CX)
                    Store(0x0, S_DX)
                    Store(Local0, ESI1)
                    Store(Local1, ESI2)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Local1, \_SB_.PCI0.PM00.XA1A)
                    Store(One, \_SB_.PCI0.PM00.XA1D)
                    Store(One, \_SB_.PCI0.PM00.XA1E)
                }
            }
            Device(MWV0) {
                Name(_HID, 0x60374d24)
                Name(DRQD, 0x0)
                Method(_STA) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1802, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(S_BH, 0x1)) {
                        If(LEqual(S_CL, 0x1)) {
                            Store(0xf, Local7)
                        }
                        Else {
                            Store(0xd, Local7)
                        }
                    }
                    Else {
                        Store(0x0, Local7)
                    }
                    Release(MSMI)
                    Return(Local7)
                }
                Method(_DIS) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1802, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1803, S_BX)
                    Store(0x0100, S_CX)
                    SMPI
                    0x81
                    Store(Zero, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    Store(0x5381, S_AX)
                    Store(0x1804, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1805, S_BX)
                    Store(0x0100, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Zero, \_SB_.PCI0.PM00.XM0E)
                    Store(Zero, \_SB_.PCI0.PM00.XM1E)
                }
                Method(_CRS) {
                    Name(MVUB, Buffer(0x1b) {0x47, 0x1, 0xb0, 0xd, 0xb0, =
0xd, 0x1, 0x10, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x=
0, 0x22, 0x0, 0x4, 0x2a, 0x1, 0x1, 0x79, 0x0 })
                    CreateWordField(MVUB, 0x2, MVDN)
                    CreateWordField(MVUB, 0x4, MVDX)
                    CreateWordField(MVUB, 0x14, MVDI)
                    CreateByteField(MVUB, 0x17, MVDD)
                    CreateWordField(MVUB, 0xa, MVUN)
                    CreateWordField(MVUB, 0xc, MVUX)
                    CreateByteField(MVUB, 0xe, MVUG)
                    CreateByteField(MVUB, 0xf, MVUL)
                    CreateWordField(MVUB, 0x11, MVUI)
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1802, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(EDI1, 0x4)) {
                        Store(0x0130, MVDN)
                        Store(0x0130, MVDX)
                    }
                    Else {
                        If(LEqual(EDI1, 0x5)) {
                            Store(0x0350, MVDN)
                            Store(0x0350, MVDX)
                        }
                        Else {
                            If(LEqual(EDI1, 0x6)) {
                                Store(0x0770, MVDN)
                                Store(0x0770, MVDX)
                            }
                            Else {
                                If(LEqual(EDI1, 0x7)) {
                                    Store(0x0db0, MVDN)
                                    Store(0x0db0, MVDX)
                                }
                                Else {
                                    Store(0x0, MVDN)
                                    Store(0x0, MVDX)
                                }
                            }
                        }
                    }
                    If(LGreater(ESI1, 0xf)) {
                        Store(Zero, MVDI)
                    }
                    Else {
                        Store(0x1, Local0)
                        ShiftLeft(Local0, ESI1, MVDI)
                    }
                    If(LGreater(ESI2, 0x7)) {
                        Store(Zero, MVDD)
                    }
                    Else {
                        Store(0x1, Local0)
                        ShiftLeft(Local0, ESI2, MVDD)
                    }
                    Store(MVDD, DRQD)
                    Store(0x5381, S_AX)
                    Store(0x1804, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    If(LEqual(S_CL, 0x1)) {
                        If(LEqual(ESI2, 0x0)) {
                            Store(0x03f8, MVUN)
                            Store(0x03f8, MVUX)
                        }
                        Else {
                            If(LEqual(ESI2, 0x1)) {
                                Store(0x02f8, MVUN)
                                Store(0x02f8, MVUX)
                            }
                            Else {
                                If(LEqual(ESI2, 0x2)) {
                                    Store(0x03e8, MVUN)
                                    Store(0x03e8, MVUX)
                                }
                                Else {
                                    If(LEqual(ESI2, 0x3)) {
                                        Store(0x02e8, MVUN)
                                        Store(0x02e8, MVUX)
                                    }
                                    Else {
                                        Store(0x0, MVUN)
                                        Store(0x0, MVUX)
                                    }
                                }
                            }
                        }
                        If(LGreater(ESI1, 0xf)) {
                            Store(Zero, MVUI)
                        }
                        Else {
                            Store(0x1, Local0)
                            ShiftLeft(Local0, ESI1, MVUI)
                        }
                    }
                    Else {
                        Store(0x0, MVUN)
                        Store(0x0, MVUX)
                        Store(0x0, MVUG)
                        Store(0x0, MVUL)
                        Store(0x0, MVUI)
                    }
                    Release(MSMI)
                    Return(MVUB)
                }
                Name(PRS0, Buffer(0x6f) {0x31, 0x0, 0x47, 0x1, 0x30, 0x1,=
 0x30, 0x1, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0=
, 0x0, 0x22, 0x0, 0xc, 0x2a, 0xc0, 0x1, 0x31, 0x5, 0x47, 0x1, 0x50, 0x3, =
0x50, 0x3, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0,=
 0x0, 0x22, 0xa0, 0xc, 0x2a, 0xc3, 0x1, 0x31, 0x5, 0x47, 0x1, 0x70, 0x7, =
0x70, 0x7, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0,=
 0x0, 0x22, 0xa0, 0xc, 0x2a, 0xc3, 0x1, 0x31, 0x5, 0x47, 0x1, 0xb0, 0xd, =
0xb0, 0xd, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x0,=
 0x0, 0x22, 0xa0, 0xc, 0x2a, 0xc3, 0x1, 0x38, 0x79, 0x0 })
                Name(PRS1, Buffer(0x020b) {0x30, 0x47, 0x1, 0x30, 0x1, 0x=
30, 0x1, 0x1, 0x10, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8=
, 0x0, 0x22, 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x30, 0x1, 0x30,=
 0x1, 0x1, 0x10, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0=
x0, 0x22, 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x30, 0x1, 0x30, 0x=
1, 0x1, 0x10, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0,=
 0x22, 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x30, 0x1, 0x30, 0x1, =
0x1, 0x10, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x=
22, 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x50, 0x3, 0x50, 0x3, 0x1=
, 0x10, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22,=
 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x50, 0x3, 0x50, 0x3, 0x1, 0=
x10, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x=
0, 0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x50, 0x3, 0x50, 0x3, 0x1, 0x10=
, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, =
0x0, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x50, 0x3, 0x50, 0x3, 0x1, 0x10, 0=
x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0=
, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x70, 0x7, 0x70, 0x7, 0x1, 0x10, 0x47=
, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0=
x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x70, 0x7, 0x70, 0x7, 0x1, 0x10, 0x47, 0=
x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a=
, 0xc3, 0x1, 0x30, 0x47, 0x1, 0x70, 0x7, 0x70, 0x7, 0x1, 0x10, 0x47, 0x1,=
 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a, 0=
xc3, 0x1, 0x30, 0x47, 0x1, 0x70, 0x7, 0x70, 0x7, 0x1, 0x10, 0x47, 0x1, 0x=
e8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a, 0xc3=
, 0x1, 0x30, 0x47, 0x1, 0xb0, 0xd, 0xb0, 0xd, 0x1, 0x10, 0x47, 0x1, 0xf8,=
 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a, 0xc3, 0=
x1, 0x30, 0x47, 0x1, 0xb0, 0xd, 0xb0, 0xd, 0x1, 0x10, 0x47, 0x1, 0xf8, 0x=
2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a, 0xc3, 0x1,=
 0x30, 0x47, 0x1, 0xb0, 0xd, 0xb0, 0xd, 0x1, 0x10, 0x47, 0x1, 0xe8, 0x3, =
0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x=
30, 0x47, 0x1, 0xb0, 0xd, 0xb0, 0xd, 0x1, 0x10, 0x47, 0x1, 0xe8, 0x2, 0xe=
8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x22, 0x0, 0x0, 0x2a, 0xc3, 0x1, 0x30,=
 0x47, 0x1, 0x30, 0x1, 0x30, 0x1, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x1, 0x30, 0x4=
7, 0x1, 0x50, 0x3, 0x50, 0x3, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x22, 0x0, 0x0, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0=
x1, 0x70, 0x7, 0x70, 0x7, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x22, 0x0, 0x0, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x1, 0x30, 0x47, 0x1, =
0xb0, 0xd, 0xb0, 0xd, 0x1, 0x10, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x22, 0x0, 0x0, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x1, 0x38, 0x79, 0x0 })
                Method(_PRS) {
                    If(W98F) {
                        Return(PRS1)
                    }
                    Else {
                        Return(PRS0)
                    }
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x2, MVDA)
                    CreateWordField(Arg0, 0xa, MVUA)
                    CreateWordField(Arg0, 0x11, MVUI)
                    CreateWordField(Arg0, 0x14, MVDI)
                    CreateByteField(Arg0, 0x17, MVDD)
                    If(LEqual(MVDA, 0x0130)) {
                        Store(0x4, Local1)
                    }
                    Else {
                        If(LEqual(MVDA, 0x0350)) {
                            Store(0x5, Local1)
                        }
                        Else {
                            If(LEqual(MVDA, 0x0770)) {
                                Store(0x6, Local1)
                            }
                            Else {
                                If(LEqual(MVDA, 0x0db0)) {
                                    Store(0x7, Local1)
                                }
                                Else {
                                    Fatal(0x3, 0x90000001, 0x0)
                                }
                            }
                        }
                    }
                    If(MVDI) {
                        FindSetRightBit(MVDI, Local2)
                    }
                    Else {
                        FindSetRightBit(MVUI, Local2)
                    }
                    Decrement(Local2)
                    FindSetRightBit(MVDD, Local3)
                    Decrement(Local3)
                    Store(MVDD, DRQD)
                    \_SB_.PCI0.DOCK.SDCM
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1802, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(Local1, EDI1)
                    Store(Local2, ESI1)
                    Store(Local3, ESI2)
                    Store(0x5381, S_AX)
                    Store(0x1803, S_BX)
                    Store(0x0101, S_CX)
                    Store(0x0, S_DX)
                    SMPI
                    0x81
                    Store(0x0, Local1)
                    If(MVUA) {
                        If(MVUI) {
                            If(LEqual(MVUA, 0x03f8)) {
                                Store(0x0, Local2)
                            }
                            Else {
                                If(LEqual(MVUA, 0x02f8)) {
                                    Store(0x1, Local2)
                                }
                                Else {
                                    If(LEqual(MVUA, 0x03e8)) {
                                        Store(0x2, Local2)
                                    }
                                    Else {
                                        If(LEqual(MVUA, 0x02e8)) {
                                            Store(0x3, Local2)
                                        }
                                        Else {
                                            Fatal(0x3, 0x90000001, 0x0)
                                        }
                                    }
                                }
                            }
                            FindSetRightBit(MVUI, Local3)
                            Decrement(Local3)
                            Store(0x1, Local1)
                        }
                    }
                    Store(0x5381, S_AX)
                    Store(0x1804, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(Local1, S_CL)
                    If(Local1) {
                        Store(Local2, ESI2)
                        Store(Local3, ESI1)
                    }
                    Store(0x5381, S_AX)
                    Store(0x1805, S_BX)
                    Store(0x1, S_CH)
                    Store(0x0, S_DX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(One, \_SB_.PCI0.PM00.XM0E)
                    If(Local1) {
                        Store(MVUA, \_SB_.PCI0.PM00.XM1A)
                        Store(0x7, \_SB_.PCI0.PM00.XM1M)
                        Store(0x7, \_SB_.PCI0.PM00.XM1E)
                    }
                    Else {
                        Store(Zero, \_SB_.PCI0.PM00.XM1E)
                    }
                }
                Name(_PRW, Package(0x2) {
                    0xa,
                    0x3,
                })
                Name(MWVW, 0x0)
                Method(_PSW, 1) {
                    Store(Arg0, MWVW)
                }
                Method(MWDU) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x1804, S_BX)
                    Store(0x0, S_CX)
                    Store(0x0, S_DX)
                    Store(0x0, SESI)
                    Store(0x0, SEDI)
                    SMPI
                    0x81
                    Store(0x5381, S_AX)
                    Store(0x1805, S_BX)
                    Store(0x0100, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(Zero, \_SB_.PCI0.PM00.XM1E)
                }
            }
            Device(GAME) {
                Name(_HID, 0x2fb0d041)
                Name(_EJD, "_SB.PCI0.DOCK")
                Method(_STA) {
                    Store(\_SB_.PCI0.DOCK.GDID, Local0)
                    If(LEqual(Local0, 0x8f)) {
                        Store(0xf, Local1)
                    }
                    Else {
                        If(LOr(LEqual(Local0, 0x9f), LEqual(Local0, 0x7f)=
)) {
                            If(H8DR) {
                                Store(\_SB_.PCI0.ISA0.EC0_.I2CR, 0x0)
                                0x40
                                0x2
                                Local2
                                If(LLess(Local2, 0x8000)) {
                                    If(And(Local2, 0x4, )) {
                                        Store(0xf, Local1)
                                    }
                                    Else {
                                        Store(0xd, Local1)
                                    }
                                }
                                Else {
                                    Store(0x0, Local1)
                                }
                            }
                            Else {
                                Acquire(MSMI, 0xffff)
                                Store(0x5381, S_AX)
                                Store(0x1104, S_BX)
                                Store(0x0, S_CX)
                                SMPI
                                0x81
                                If(And(S_BH, 0x1, )) {
                                    If(And(S_CL, 0x1, )) {
                                        Store(0xf, Local1)
                                    }
                                    Else {
                                        Store(0xd, Local1)
                                    }
                                }
                                Else {
                                    Store(0x0, Local1)
                                }
                                Release(MSMI)
                            }
                        }
                        Else {
                            Store(0x0, Local1)
                        }
                    }
                    Return(Local1)
                }
                Method(_DIS) {
                    If(LEqual(\_SB_.PCI0.DOCK.GDID, 0x7f)) {
                        If(H8DR) {
                            \_SB_.PCI0.ISA0.EC0_.I2CW
                            0x0
                            0x40
                            0x5
                            0x41
                        }
                        Else {
                            Acquire(MSMI, 0xffff)
                            Store(0x5381, S_AX)
                            Store(0x1105, S_BX)
                            Store(0x0100, S_CX)
                            SMPI
                            0x81
                            Release(MSMI)
                        }
                    }
                }
                Name(_PRS, Buffer(0xa) {0x47, 0x1, 0x1, 0x2, 0x1, 0x2, 0x=
1, 0x1, 0x79, 0x0 })
                Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x1, 0x2, 0x1, 0x2, 0x=
1, 0x1, 0x79, 0x0 })
                Method(_SRS, 1) {
                    If(LEqual(\_SB_.PCI0.DOCK.GDID, 0x7f)) {
                        \_SB_.PCI0.ISA0.EC0_.I2CW
                        0x0
                        0x40
                        0x5
                        0x40
                    }
                }
            }
            Device(PIC_) {
                Name(_HID, 0xd041)
                Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0,=
 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x=
4, 0xd0, 0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
            }
            Device(TIMR) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, =
0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
            }
            Device(DMAC) {
                Name(_HID, 0x0002d041)
                Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0=
x1, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x10, 0x47, 0x1, 0xc0, 0x=
0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x4, 0x79, 0x0 })
            }
            Device(SPKR) {
                Name(_HID, 0x0008d041)
                Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, =
0x1, 0x1, 0x79, 0x0 })
                Method(_PS0) {
                    Store(\_SB_.PCI0.DOCK.GDID, Local0)
                    If(LAnd(LNot(LEqual(Local0, 0x9f)), LNot(LEqual(Local=
0, 0x7f)))) {
                        If(H8DR) {
                            Store(Zero, \_SB_.PCI0.ISA0.EC0_.HCMU)
                        }
                        Else {
                            WBEC
                            0x3a
                            And(RBEC, 0x3a, 0xfe)
                            Zero
                        }
                    }
                }
                Method(_PS3) {
                    If(H8DR) {
                        Store(One, \_SB_.PCI0.ISA0.EC0_.HCMU)
                    }
                    Else {
                        WBEC
                        0x3a
                        Or(RBEC, 0x3a, 0x1)
                        Zero
                    }
                }
            }
            Device(MBRD) {
                Name(_HID, 0x020cd041)
                Name(_CRS, Buffer(0x3a) {0x47, 0x1, 0x22, 0x0, 0x22, 0x0,=
 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb2, 0x=
0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 0x2, 0x47, =
0x1, 0xe0, 0x15, 0xe0, 0x15, 0x1, 0x10, 0x47, 0x1, 0x0, 0xef, 0x0, 0xef, =
0x1, 0x40, 0x47, 0x1, 0xa0, 0xef, 0xa0, 0xef, 0x1, 0x10, 0x79, 0x0 })
            }
            Device(MPRC) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, =
0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(KBD0) {
                Name(_HID, 0x0303d041)
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0,=
 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x7=
9, 0x0 })
            }
            Device(MOU0) {
                Name(_HID, 0x80374d24)
                Name(_CID, 0x130fd041)
                Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
            }
            Device(RTC0) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, =
0x1, 0x4, 0x22, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(EC0_) {
                Name(_HID, 0x090cd041)
                Method(_REG, 2) {
                    If(LEqual(Arg0, 0x3)) {
                        Store(Arg1, H8DR)
                    }
                }
                Method(_INI) {
                    Store(SNS0, TMP0)
                    Store(SNS1, TMP1)
                    Store(SNS2, TMP2)
                    Store(SNS3, TMP3)
                    Store(SNS4, TMP4)
                    Store(SNS5, TMP5)
                    Store(SNS6, TMP6)
                    Store(SNS7, TMP7)
                    If(H8DR) {
                        Store(Zero, HWFN)
                        Store(Zero, HWEK)
                        Store(One, HCAC)
                    }
                    Else {
                        WBEC
                        0x32
                        And(RBEC, 0x32, 0xcf)
                        Zero
                        WBEC
                        0x0
                        Or(RBEC, 0x0, 0x40)
                        Zero
                    }
                    \_SB_.PCI0.ISA0.EC0_.BAT0._PSW
                    0x1
                    \_SB_.PCI0.ISA0.EC0_.BAT1._PSW
                    0x1
                    Store(GUID, BDEV)
                    If(W98F) {
                        \_TZ_.PFN0._OFF
                        \_TZ_.PFN1._OFF
                        Store(0x2, IGNR)
                    }
                }
                Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0,=
 0x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
                Name(_GPE, 0x9)
                Name(_GLK, 0x1)
                OperationRegion(ECOR, EmbeddedControl, 0x0, 0x0100)
                Field(ECOR, ByteAcc, Lock, Preserve) {
                    ,	1,
                    HCGA,	1,
                    HCHK,	1,
                    HCSK,	1,
                    HCNP,	1,
                    HCHB,	1,
                    HCAC,	1,
                    HCTM,	1,
                    HCDX,	1,
                    HCKX,	1,
                    HCSM,	1,
                    HCID,	1,
                    HCWP,	1,
                    HCAD,	1,
                    HCDW,	1,
                    Offset(0x2),
                    Offset(0x3),
                    Offset(0x4),
                    ,	1,
                    HSCL,	1,
                    HSLB,	1,
                    HSSP,	1,
                    HSPS,	1,
                    HSRM,	1,
                    HSDC,	1,
                    HSPO,	1,
                    HSPA,	1,
                    HSHA,	1,
                    ,	1,
                    HS88,	1,
                    HS31,	1,
                    HS32,	1,
                    HS33,	1,
                    Offset(0x6),
                    HSUN,	8,
                    HSRP,	8,
                    HACC,	8,
                    H8ID,	8,
                    HSHW,	8,
                    HSID,	8,
                    HLCL,	8,
                    HLBL,	8,
                    HLMS,	8,
                    HICA,	8,
                    HAM0,	8,
                    HAM1,	8,
                    HAM2,	8,
                    HAM3,	8,
                    HAM4,	8,
                    HAM5,	8,
                    HAM6,	8,
                    HAM7,	8,
                    HAM8,	8,
                    HAM9,	8,
                    HAMA,	8,
                    HAMB,	8,
                    HAMC,	8,
                    HAMD,	8,
                    HAME,	8,
                    HAMF,	8,
                    HT00,	1,
                    HT01,	1,
                    HT02,	1,
                    ,	4,
                    HT0E,	1,
                    HT10,	1,
                    HT11,	1,
                    HT12,	1,
                    ,	4,
                    HT1E,	1,
                    HT20,	1,
                    HT21,	1,
                    HT22,	1,
                    ,	4,
                    HT2E,	1,
                    HT30,	1,
                    HT31,	1,
                    HT32,	1,
                    ,	4,
                    HT3E,	1,
                    HT40,	1,
                    HT41,	1,
                    HT42,	1,
                    ,	4,
                    HT4E,	1,
                    HT50,	1,
                    HT51,	1,
                    HT52,	1,
                    ,	4,
                    HT5E,	1,
                    HT60,	1,
                    HT61,	1,
                    HT62,	1,
                    ,	4,
                    HT6E,	1,
                    HT70,	1,
                    HT71,	1,
                    HT72,	1,
                    ,	4,
                    HT7E,	1,
                    HDID,	8,
                    Offset(0x2a),
                    HATR,	8,
                    HT0H,	8,
                    HT0L,	8,
                    HT1H,	8,
                    HT1L,	8,
                    HFSP,	3,
                    Offset(0x30),
                    Offset(0x32),
                    HWPM,	1,
                    HWLB,	1,
                    HWLO,	1,
                    HWDK,	1,
                    HWFN,	1,
                    HWEK,	1,
                    HWRI,	1,
                    Offset(0x33),
                    Offset(0x34),
                    HPEK,	1,
                    HPBP,	1,
                    HPIB,	1,
                    ,	1,
                    HP0F,	1,
                    HP1F,	1,
                    HP2F,	1,
                    HP3F,	1,
                    Offset(0x36),
                    HPFN,	1,
                    HPH1,	1,
                    HPLD,	1,
                    HPPO,	1,
                    HPAC,	1,
                    HPH0,	1,
                    Offset(0x37),
                    HPBU,	1,
                    HPDE,	1,
                    HPM0,	1,
                    HPM1,	1,
                    HPM2,	1,
                    HPM3,	1,
                    Offset(0x38),
                    HB0L,	4,
                    ,	1,
                    HB0C,	1,
                    HB0D,	1,
                    HB0A,	1,
                    HB1L,	4,
                    ,	1,
                    HB1C,	1,
                    HB1D,	1,
                    HB1A,	1,
                    HCMU,	1,
                    HCKL,	1,
                    HCF0,	1,
                    HCF1,	1,
                    HCSL,	2,
                    HCTH,	1,
                    Offset(0x3b),
                    ,	2,
                    Offset(0x3c),
                    HRSN,	8,
                    HPCT,	8,
                    HPDT,	64,
                    HLCM,	8,
                    HLDO,	4,
                    HLPA,	1,
                    HLDT,	1,
                    HLHR,	1,
                    HLCO,	1,
                    HLD2,	4,
                    HLD1,	4,
                    HEAD,	8,
                    HDTM,	16,
                    HRTM,	16,
                    HWAK,	8,
                    Offset(0x50),
                    HMPR,	8,
                    HMST,	5,
                    ,	1,
                    HMAR,	1,
                    HMDN,	1,
                    HMAD,	8,
                    HMCM,	8,
                    HMDT,	8,
                    Offset(0x74),
                    HMBC,	8,
                    Offset(0x80),
                    Offset(0xc0),
                    HAKB,	16,
                    HAMO,	16,
                    Offset(0xd0),
                    Offset(0xe0),
                    HBLD,	64,
                    HBLV,	16,
                    HMID,	8,
                    Offset(0xec),
                    HCI1,	1,
                    HCI2,	1,
                    ,	2,
                    HCDM,	1,
                    HCTW,	1,
                    HCRF,	1,
                    Offset(0xed),
                    HCNF,	1,
                    Offset(0xee),
                    HB0H,	4,
                    HB1H,	4,
                    Offset(0xf0),
                    HBID,	64,
                    HBTM,	64
                }
                Name(HXFN, 0x1)
                Name(WBAT, 0x0)
                Method(SWAK) {
                    If(HXFN) {
                        Store(One, HWFN)
                    }
                    Else {
                        Store(Zero, HWFN)
                    }
                }
                Field(ECOR, ByteAcc, Lock, Preserve) {
                    Offset(0x54),
                    HBPU,	8,
                    Offset(0x56),
                    HBST,	16,
                    HBRC,	32,
                    HBFC,	32,
                    HBCC,	32,
                    HBVL,	16,
                    HBEC,	16,
                    HBBT,	16,
                    HBNF,	16,
                    HBTC,	16,
                    HBCT,	16,
                    Offset(0x74),
                    Offset(0x100)
                }
                Field(ECOR, ByteAcc, Lock, Preserve) {
                    Offset(0x54),
                    HBS0,	16,
                    HBS1,	16,
                    HBS2,	16,
                    HBS3,	16,
                    HBS4,	16,
                    HBS5,	16,
                    HBS6,	16,
                    HBS7,	16
                }
                Field(ECOR, ByteAcc, Lock, Preserve) {
                    Offset(0x54),
                    HBTS,	8,
                    Offset(0x56),
                    HBSD,	16,
                    HBDT,	16,
                    HBH0,	16,
                    HBL0,	16,
                    HBH1,	16,
                    HBL1,	16,
                    HBH2,	16,
                    HBL2,	16,
                    HBH3,	16,
                    HBL3,	16
                }
                Field(ECOR, ByteAcc, Lock, Preserve) {
                    Offset(0x54),
                    HF_Z,	8,
                    HF_D,	8,
                    HZIP,	8,
                    HDVD,	8,
                    HHFD,	8,
                    HF_H,	8,
                    HHDD,	8,
                    HADP,	8,
                    HLS_,	8,
                    HF_C,	8,
                    HCRW,	8,
                    HCD_,	8,
                    HR01,	8,
                    HFDD,	8,
                    HIMP,	8,
                    HNON,	8
                }
                Name(BF_Z, 0x83)
                Name(BF_D, 0x83)
                Name(BZIP, 0x83)
                Name(BDVD, 0x83)
                Name(BHFD, 0x83)
                Name(BF_H, 0x83)
                Name(BHDD, 0x83)
                Name(BADP, 0x0)
                Name(BLS_, 0x83)
                Name(BF_C, 0x83)
                Name(BCRW, 0x83)
                Name(BCD_, 0x83)
                Name(BR01, 0x0)
                Name(BFDD, 0x83)
                Name(BIMP, 0x0)
                Name(BNON, 0x0)
                Method(LBAY, 1) {
                    Acquire(I2CM, 0xffff)
                    If(Arg0) {
                        Store(BF_Z, HF_Z)
                        Store(BF_D, HF_D)
                        Store(BZIP, HZIP)
                        Store(BDVD, HDVD)
                        Store(BHFD, HHFD)
                        Store(BF_H, HF_H)
                        Store(BHDD, HHDD)
                        Store(BADP, HADP)
                        Store(BLS_, HLS_)
                        Store(BF_C, HF_C)
                        Store(BCRW, HCRW)
                        Store(BCD_, HCD_)
                        Store(BR01, HR01)
                        Store(BFDD, HFDD)
                        Store(BIMP, HIMP)
                        Store(BNON, HNON)
                    }
                    Else {
                        Store(0x81, HF_Z)
                        Store(0x81, HF_D)
                        Store(0x81, HZIP)
                        Store(0x81, HDVD)
                        Store(0x81, HHFD)
                        Store(0x81, HF_H)
                        Store(0x81, HHDD)
                        Store(0x0, HADP)
                        Store(0x81, HLS_)
                        Store(0x81, HF_C)
                        Store(0x81, HCRW)
                        Store(0x81, HCD_)
                        Store(0x0, HR01)
                        Store(0x81, HFDD)
                        Store(0x0, HIMP)
                        Store(0x0, HNON)
                    }
                    Store(I2WB, Zero)
                    0x1
                    0x9
                    0x10
                    Local7
                    Release(I2CM)
                    If(Local7) {
                        Fatal(0x1, 0x80000003, Local7)
                    }
                }
                Name(TMP0, 0x0bb8)
                Name(TMP1, 0x0bb8)
                Name(TMP2, 0x0bb8)
                Name(TMP3, 0x0bb8)
                Name(TMP4, 0x0bb8)
                Name(TMP5, 0x0bb8)
                Name(TMP6, 0x0bb8)
                Name(TMP7, 0x0bb8)
                Name(IGNR, 0x0)
                Method(UPDT) {
                    If(IGNR) {
                        Decrement(IGNR)
                    }
                    Else {
                        If(H8DR) {
                            If(Acquire(I2CM, 0x64)) {
                            }
                            Else {
                                Store(I2RB, Zero)
                                0x1
                                0x4
                                Local7
                                If(Local7) {
                                    Fatal(0x1, 0x80000003, Local7)
                                }
                                Else {
                                    Store(HBS0, TMP0)
                                    Store(HBS1, TMP1)
                                    Store(HBS2, TMP2)
                                    Store(HBS4, TMP4)
                                    Store(HBS5, TMP5)
                                    Store(HBS6, TMP6)
                                    Store(HBS7, TMP7)
                                }
                                Release(I2CM)
                            }
                        }
                    }
                }
                Name(F0ON, 0x0)
                Name(F1ON, 0x0)
                Method(SFNP, 2) {
                    Store(0xffff, Local0)
                    If(Arg0) {
                        Store(Arg1, F1ON)
                        If(F0ON) {
                        }
                        Else {
                            If(Arg1) {
                                Store(0x3, Local0)
                            }
                            Else {
                                Store(0x0, Local0)
                            }
                        }
                    }
                    Else {
                        Store(Arg1, F0ON)
                        If(Arg1) {
                            Store(0x7, Local0)
                        }
                        Else {
                            If(F1ON) {
                                Store(0x3, Local0)
                            }
                            Else {
                                Store(0x0, Local0)
                            }
                        }
                    }
                    If(LNot(LEqual(Local0, 0xffff))) {
                        Store(Local0, FSPD)
                        If(H8DR) {
                            Store(Local0, HFSP)
                        }
                        Else {
                            And(\_SB_.RBEC, 0x2f, 0xf8)
                            Local1
                            \_SB_.WBEC
                            0x2f
                            Or(Local0, Local1, )
                        }
                    }
                }
                Mutex(I2CM, 7)
                Method(I2CR, 3) {
                    Acquire(I2CM, 0xffff)
                    Store(Arg0, HCSL)
                    Store(Or(ShiftLeft(Arg1, 0x1, ), 0x1, ), HMAD)
                    Store(Arg2, HMCM)
                    Store(0x7, HMPR)
                    Store(CHKS, Local7)
                    If(Local7) {
                        Store(Local7, Local0)
                    }
                    Else {
                        Store(HMDT, Local0)
                    }
                    Release(I2CM)
                    Return(Local0)
                }
                Method(I2CW, 4) {
                    Acquire(I2CM, 0xffff)
                    Store(Arg0, HCSL)
                    Store(Or(ShiftLeft(Arg1, 0x1, ), 0x1, ), HMAD)
                    Store(Arg2, HMCM)
                    Store(Arg3, HMDT)
                    Store(0x6, HMPR)
                    Store(CHKS, Local0)
                    Release(I2CM)
                    Return(Local0)
                }
                Method(I2RB, 3) {
                    Store(Arg0, HCSL)
                    Store(ShiftLeft(Arg1, 0x1, ), HMAD)
                    Store(Arg2, HMCM)
                    Store(0xb, HMPR)
                    Return(CHKS)
                }
                Method(I2WB, 4) {
                    Store(Arg0, HCSL)
                    Store(ShiftLeft(Arg1, 0x1, ), HMAD)
                    Store(Arg2, HMCM)
                    Store(Arg3, HMBC)
                    Store(0xa, HMPR)
                    Return(CHKS)
                }
                Method(CHKS) {
                    Store(0x03e8, Local0)
                    While(HMPR) {
                        Sleep(0x1)
                        Decrement(Local0)
                        If(LNot(Local0)) {
                            Return(0x8080)
                        }
                    }
                    If(HMDN) {
                        If(HMST) {
                            Return(Or(0x8000, HMST, ))
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Else {
                        Return(0x8081)
                    }
                }
                Method(GUID) {
                    Store(0x0, EID_)
                    If(H8DR) {
                        Or(HDID, 0x80, HDID)
                        Store(0x14, Local0)
                        While(LAnd(Local0, And(HDID, 0x80, ))) {
                            Sleep(0x1)
                            Decrement(Local0)
                        }
                        Store(HDID, Local0)
                        If(And(Local0, 0x80, )) {
                            Store(0xff, Local7)
                        }
                        Else {
                            If(LEqual(HDID, 0xf)) {
                                If(HB1A) {
                                    Store(0x10, Local0)
                                }
                            }
                            Store(Local0, Local7)
                        }
                    }
                    Else {
                        WBEC
                        0x28
                        Or(RBEC, 0x28, 0x80)
                        Zero
                        Store(0x14, Local0)
                        While(LAnd(Local0, And(RBEC, 0x28, 0x80))) {
                            Zero
                            Sleep(0x1)
                            Decrement(Local0)
                        }
                        Store(RBEC, 0x28)
                        Local0
                        If(And(Local0, 0x80, )) {
                            Store(0xff, Local7)
                        }
                        Else {
                            If(LEqual(Local0, 0xf)) {
                                If(And(RBEC, 0x39, 0x80)) {
                                    Zero
                                    Store(0x10, Local0)
                                }
                            }
                            Store(Local0, Local7)
                        }
                    }
                    Store(Local7, IDID)
                    Return(Local7)
                }
                Mutex(LEDM, 7)
                Method(BLED, 2) {
                    If(H8DR) {
                        Acquire(LEDM, 0xffff)
                        Store(0x18, HLMS)
                        Stall(0xfa)
                        Stall(0xfa)
                        If(Arg1) {
                            Store(0x18, HLBL)
                        }
                        Else {
                            Store(0x0, HLBL)
                        }
                        Stall(0xfa)
                        Stall(0xfa)
                        If(LEqual(Arg0, 0x0)) {
                            Store(0x0, HLCL)
                        }
                        Else {
                            If(LEqual(Arg0, 0x1)) {
                                Store(0x8, HLCL)
                            }
                            Else {
                                If(LEqual(Arg0, 0x2)) {
                                    Store(0x10, HLCL)
                                }
                                Else {
                                }
                            }
                        }
                        Sleep(0xa)
                        Release(LEDM)
                    }
                }
                Method(SYSL, 2) {
                    If(LEqual(Arg0, 0x0)) {
                        Store(0x1, Local0)
                    }
                    Else {
                        If(LEqual(Arg0, 0x1)) {
                            Store(0x80, Local0)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                    Acquire(LEDM, 0xffff)
                    Store(Local0, HLMS)
                    Stall(0xfa)
                    Stall(0xfa)
                    If(LEqual(Arg1, 0x0)) {
                        Store(0x0, HLBL)
                        Stall(0xfa)
                        Stall(0xfa)
                        Store(0x0, HLCL)
                    }
                    Else {
                        If(LEqual(Arg1, 0x1)) {
                            Store(0x0, HLBL)
                            Stall(0xfa)
                            Stall(0xfa)
                            Store(Local0, HLCL)
                        }
                        Else {
                            If(LEqual(Arg1, 0x2)) {
                                Store(Local0, HLBL)
                                Stall(0xfa)
                                Stall(0xfa)
                                Store(Local0, HLCL)
                            }
                            Else {
                            }
                        }
                    }
                    Sleep(0xa)
                    Release(LEDM)
                }
                Name(BAON, 0x0)
                Method(BEEP, 1) {
                    If(LGreater(Arg0, 0xf)) {
                        Return(0x1)
                    }
                    Else {
                        If(LEqual(Arg0, 0x0)) {
                            If(BAON) {
                                Store(0x0, HSRP)
                                Stall(0xfa)
                                Stall(0xfa)
                                Store(Arg0, HSUN)
                                Stall(0xfa)
                                Stall(0xfa)
                                Store(0x0, BAON)
                            }
                        }
                        Else {
                            If(LEqual(Arg0, 0xf)) {
                                Store(0x8, HSRP)
                                Stall(0xfa)
                                Stall(0xfa)
                                Store(0x1, BAON)
                                Store(Arg0, HSUN)
                                Stall(0xfa)
                                Stall(0xfa)
                            }
                            Else {
                                If(BAON) {
                                }
                                Else {
                                    Store(Arg0, HSUN)
                                    If(LEqual(Arg0, 0x3)) {
                                        Sleep(0xc8)
                                    }
                                    Else {
                                        If(LEqual(Arg0, 0x5)) {
                                            Sleep(0xc8)
                                        }
                                        Else {
                                            If(LEqual(Arg0, 0x7)) {
                                                Sleep(0x01f4)
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Method(MUTE, 1) {
                    Store(Arg0, HCMU)
                }
                Name(WBT0, 0x0)
                Name(WBT1, 0x0)
                Name(BT0I, Package(0xd) {
                    0x0,
                    0x0,
                    0x0,
                    0x1,
                    0x2a30,
                    0x0,
                    0x0,
                    0x1,
                    0x1,
                    "ThinkPad Battery",
                    "",
                    "LION",
                    "IBM Corporation ",
                })
                Name(BT0P, Package(0x4) {
                })
                Name(BT0J, 0x0)
                Device(BAT0) {
                    Name(_HID, 0x0a0cd041)
                    Name(_UID, 0x0)
                    Name(_PCL, Package(0x1) {
                        \_SB_,
                    })
                    Name(_PRW, Package(0x2) {
                        0xb,
                        0x3,
                    })
                    Method(_PSW, 1) {
                        If(H8DR) {
                            If(Arg0) {
                                Store(One, HWLB)
                                Store(One, WBT0)
                            }
                            Else {
                                If(WBT1) {
                                }
                                Else {
                                    Store(Zero, HWLB)
                                }
                                Store(Zero, WBT0)
                            }
                        }
                        Else {
                            If(Arg0) {
                                WBEC
                                0x32
                                Or(RBEC, 0x32, 0x2)
                                Zero
                                Store(One, WBT0)
                            }
                            Else {
                                If(WBT1) {
                                }
                                Else {
                                    WBEC
                                    0x32
                                    And(RBEC, 0x32, 0xfd)
                                    Zero
                                }
                                Store(Zero, WBT0)
                            }
                        }
                    }
                    Name(B0ST, 0x0)
                    Method(_STA) {
                        If(H8DR) {
                            Store(HB0A, B0ST)
                        }
                        Else {
                            If(And(\_SB_.RBEC, 0x38, 0x80)) {
                                Zero
                                Store(0x1, B0ST)
                            }
                            Else {
                                Store(0x0, B0ST)
                            }
                        }
                        If(B0ST) {
                            Return(0x1f)
                        }
                        Else {
                            Return(0xf)
                        }
                    }
                    Method(_BIF) {
                        Acquire(I2CM, 0xffff)
                        Store(0xa, Local6)
                        Store(0x1, Local5)
                        While(LAnd(Local5, Local6)) {
                            If(HB0A) {
                                Store(I2RB, Zero)
                                0x1
                                0x10
                                Local7
                                If(LOr(LEqual(HMBC, 0x1c), Local7)) {
                                    Store(0x0, Local5)
                                }
                                Else {
                                    Sleep(0x03e8)
                                    Decrement(Local6)
                                    Store(0x8080, Local7)
                                }
                            }
                            Else {
                                Store(0x0, Local6)
                                Store(0x0, Local7)
                            }
                        }
                        If(LOr(Local7, Local5)) {
                            Store(0x0, Index(BT0I, 0x0, ))
                            Store(0xffffffff, Index(BT0I, 0x1, ))
                            Store(0x0, Index(BT0I, 0x5, ))
                            Store(0x0, Index(BT0I, 0x6, ))
                            Store(0xffffffff, Index(BT0I, 0x2, ))
                        }
                        Else {
                            Store(HBPU, Index(BT0I, 0x0, ))
                            Store(HBRC, Local0)
                            Store(Local0, Index(BT0I, 0x1, ))
                            Store(Divide(Local0, 0x14, , ), Index(BT0I, 0=
x5, ))
                            Store(Divide(Local0, 0x64, , ), Index(BT0I, 0=
x6, ))
                            Store(HBFC, Index(BT0I, 0x2, ))
                            Store(Divide(HBFC, 0x64, , ), BT0J)
                        }
                        Release(I2CM)
                        If(Local7) {
                        }
                        Return(BT0I)
                    }
                    Method(_BST) {
                        Acquire(I2CM, 0xffff)
                        Store(I2RB, Zero)
                        0x1
                        0x10
                        Local7
                        If(LOr(LNot(LEqual(HMBC, 0x1c)), Local7)) {
                            Store(0x0, Index(BT0P, 0x3, ))
                            Store(0x0, Index(BT0P, 0x2, ))
                            Store(0x0, Index(BT0P, 0x1, ))
                            Store(0x4, Index(BT0P, 0x0, ))
                        }
                        Else {
                            Store(HBVL, Local0)
                            Store(Local0, Index(BT0P, 0x3, ))
                            Store(Add(HBCC, BT0J, ), Local1)
                            If(LNot(LLess(Local1, HBFC))) {
                                Store(HBFC, Index(BT0P, 0x2, ))
                            }
                            Else {
                                Store(Local1, Index(BT0P, 0x2, ))
                            }
                            Store(HBEC, Local1)
                            If(LNot(LLess(Local1, 0x8000))) {
                                Store(Subtract(0x00010000, Local1, ), Loc=
al2)
                            }
                            Else {
                                Store(Local1, Local2)
                            }
                            If(HBPU) {
                                Store(Local2, Index(BT0P, 0x1, ))
                            }
                            Else {
                                Multiply(Local0, Local2, Local1)
                                Store(Divide(Local1, 0x03e8, , ), Index(B=
T0P, 0x1, ))
                            }
                            If(HB0C) {
                                Store(0x2, Index(BT0P, 0x0, ))
                            }
                            Else {
                                If(HB0D) {
                                    Store(0x1, Index(BT0P, 0x0, ))
                                }
                                Else {
                                    Store(0x0, Index(BT0P, 0x0, ))
                                }
                            }
                            If(HB0L) {
                            }
                            Else {
                                Or(DerefOf(Index(BT0P, 0x0, )), 0x4, Inde=
x(BT0P, 0x0, ))
                            }
                        }
                        Release(I2CM)
                        Return(BT0P)
                    }
                    Method(_BTP, 1) {
                        And(HAM4, 0xef, HAM4)
                        If(Arg0) {
                            Subtract(Arg0, BT0J, Local1)
                            If(LNot(DerefOf(Index(BT0I, 0x0, )))) {
                                Divide(Local1, 0xa, Local0, Local1)
                            }
                            And(Local1, 0xff, HT0L)
                            And(ShiftRight(Local1, 0x8, ), 0xff, HT0H)
                            Or(HAM4, 0x10, HAM4)
                        }
                    }
                }
                Name(BT1I, Package(0xd) {
                    0x0,
                    0x0,
                    0x0,
                    0x1,
                    0x2a30,
                    0x0,
                    0x0,
                    0x1,
                    0x1,
                    "ThinkPad Battery",
                    "",
                    "LION",
                    "IBM Corporation ",
                })
                Name(BT1P, Package(0x4) {
                })
                Name(BT1J, 0x0)
                Device(BAT1) {
                    Name(_HID, 0x0a0cd041)
                    Name(_UID, 0x1)
                    Name(_PCL, Package(0x1) {
                        \_SB_,
                    })
                    Method(_EJ0, 1) {
                        If(LEqual(\_SB_.PCI0.ISA0.EC0_.BDEV, 0x10)) {
                            Store(0x0, B1ST)
                            Store(0x0, XB1S)
                            \_SB_.PCI0.ISA0.EC0_.BEJ0
                            Arg0
                        }
                    }
                    Name(_PRW, Package(0x2) {
                        0xb,
                        0x3,
                    })
                    Method(_PSW, 1) {
                        If(H8DR) {
                            If(Arg0) {
                                Store(One, HWLB)
                                Store(One, WBT1)
                            }
                            Else {
                                Store(Zero, HWLB)
                                Store(Zero, WBT1)
                            }
                        }
                        Else {
                            If(Arg0) {
                                WBEC
                                0x32
                                Or(RBEC, 0x32, 0x2)
                                Zero
                                Store(One, WBT1)
                            }
                            Else {
                                WBEC
                                0x32
                                And(RBEC, 0x32, 0xfd)
                                Zero
                                Store(Zero, WBT1)
                            }
                        }
                    }
                    Name(B1ST, 0x0)
                    Name(XB1S, 0x1)
                    Method(_STA) {
                        If(H8DR) {
                            Store(HB1A, B1ST)
                        }
                        Else {
                            If(And(\_SB_.RBEC, 0x39, 0x80)) {
                                Zero
                                Store(0x1, B1ST)
                            }
                            Else {
                                Store(0x0, B1ST)
                            }
                        }
                        If(B1ST) {
                            If(XB1S) {
                                Return(0x1f)
                            }
                            Else {
                                If(WNTF) {
                                    Return(0x0)
                                }
                                Else {
                                    Return(0x1f)
                                }
                            }
                        }
                        Else {
                            If(WNTF) {
                                Return(0x0)
                            }
                            Else {
                                Return(0xf)
                            }
                        }
                    }
                    Method(_BIF) {
                        Acquire(I2CM, 0xffff)
                        Store(0xa, Local6)
                        Store(0x1, Local5)
                        While(LAnd(Local5, Local6)) {
                            If(HB1A) {
                                Store(I2RB, Zero)
                                0x1
                                0x11
                                Local7
                                If(LOr(LEqual(HMBC, 0x1c), Local7)) {
                                    Store(0x0, Local5)
                                }
                                Else {
                                    Sleep(0x03e8)
                                    Decrement(Local6)
                                    Store(0x8080, Local7)
                                }
                            }
                            Else {
                                Store(0x0, Local6)
                                Store(0x0, Local7)
                            }
                        }
                        If(LOr(Local7, Local5)) {
                            Store(0x0, Index(BT1I, 0x0, ))
                            Store(0xffffffff, Index(BT1I, 0x1, ))
                            Store(0x0, Index(BT1I, 0x5, ))
                            Store(0x0, Index(BT1I, 0x6, ))
                            Store(0xffffffff, Index(BT1I, 0x2, ))
                        }
                        Else {
                            Store(HBPU, Index(BT1I, 0x0, ))
                            Store(HBRC, Local0)
                            Store(Local0, Index(BT1I, 0x1, ))
                            Store(Divide(Local0, 0x14, , ), Index(BT1I, 0=
x5, ))
                            Store(Divide(Local0, 0x64, , ), Index(BT1I, 0=
x6, ))
                            Store(HBFC, Index(BT1I, 0x2, ))
                            Store(Divide(HBFC, 0x64, , ), BT1J)
                        }
                        Release(I2CM)
                        If(Local7) {
                        }
                        Return(BT1I)
                    }
                    Method(_BST) {
                        Acquire(I2CM, 0xffff)
                        Store(I2RB, Zero)
                        0x1
                        0x11
                        Local7
                        If(LOr(LNot(LEqual(HMBC, 0x1c)), Local7)) {
                            Store(0x0, Index(BT1P, 0x3, ))
                            Store(0x0, Index(BT1P, 0x2, ))
                            Store(0x0, Index(BT1P, 0x1, ))
                            Store(0x4, Index(BT1P, 0x0, ))
                        }
                        Else {
                            Store(HBVL, Local0)
                            Store(Local0, Index(BT1P, 0x3, ))
                            Store(Add(HBCC, BT1J, ), Local1)
                            If(LNot(LLess(Local1, HBFC))) {
                                Store(HBFC, Index(BT1P, 0x2, ))
                            }
                            Else {
                                Store(Local1, Index(BT1P, 0x2, ))
                            }
                            Store(HBEC, Local1)
                            If(LNot(LLess(Local1, 0x8000))) {
                                Store(Subtract(0x00010000, Local1, ), Loc=
al2)
                            }
                            Else {
                                Store(Local1, Local2)
                            }
                            If(HBPU) {
                                Store(Local2, Index(BT1P, 0x1, ))
                            }
                            Else {
                                Multiply(Local0, Local2, Local1)
                                Store(Divide(Local1, 0x03e8, , ), Index(B=
T1P, 0x1, ))
                            }
                            If(HB1C) {
                                Store(0x2, Index(BT1P, 0x0, ))
                            }
                            Else {
                                If(HB1D) {
                                    Store(0x1, Index(BT1P, 0x0, ))
                                }
                                Else {
                                    Store(0x0, Index(BT1P, 0x0, ))
                                }
                            }
                            If(HB1L) {
                            }
                            Else {
                                Or(DerefOf(Index(BT1P, 0x0, )), 0x4, Inde=
x(BT1P, 0x0, ))
                            }
                        }
                        Release(I2CM)
                        Return(BT1P)
                    }
                    Method(_BTP, 1) {
                        And(HAM4, 0xdf, HAM4)
                        If(Arg0) {
                            Subtract(Arg0, BT1J, Local1)
                            If(LNot(DerefOf(Index(BT1I, 0x0, )))) {
                                Divide(Local1, 0xa, Local0, Local1)
                            }
                            And(Local1, 0xff, HT1L)
                            And(ShiftRight(Local1, 0x8, ), 0xff, HT1H)
                            Or(HAM4, 0x20, HAM4)
                        }
                    }
                }
                Device(AC__) {
                    Name(_HID, "ACPI0003")
                    Name(_UID, 0x0)
                    Name(_PCL, Package(0x1) {
                        \_SB_,
                    })
                    Method(_PSR) {
                        Return(HPAC)
                    }
                    Method(_STA) {
                        Return(0xf)
                    }
                }
                Method(_Q11) {
                    If(DBG_) {
                        BreakPoint
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x7111, S_BX)
                        SMPI
                        0x81
                        Release(MSMI)
                    }
                }
                Method(_Q12) {
                    \_SB_.HKEY.MHKQ
                    0x1003
                }
                Method(_Q13) {
                    If(VDHK) {
                        \_SB_.HKEY.MHKQ
                        0x1004
                    }
                    Else {
                        Notify(\_SB_.SLPB, 0x80)
                    }
                }
                Method(_Q16) {
                    Return(\_SB_.PCI0.VID0.VSWT)
                }
                Method(_Q17) {
                    Return(\_SB_.PCI0.VID0.VEXP)
                }
                Method(_Q1B) {
                    \_SB_.HKEY.MHKQ
                    0x100c
                }
                Method(_Q20) {
                    Notify(BAT0, 0x80)
                    Notify(BAT1, 0x80)
                }
                Method(_Q21) {
                    Notify(BAT0, 0x80)
                    Notify(BAT1, 0x80)
                }
                Method(_Q22) {
                    Notify(BAT0, 0x80)
                    Notify(BAT1, 0x80)
                }
                Method(_Q23) {
                    Store(HB0A, Local0)
                    If(XOr(^BAT0.B0ST, Local0, )) {
                        Store(Local0, ^BAT0.B0ST)
                        Notify(BAT0, 0x81)
                    }
                    Else {
                        Notify(BAT0, 0x80)
                    }
                    Store(HB1A, Local0)
                    If(XOr(^BAT1.B1ST, Local0, )) {
                        Store(Local0, ^BAT1.B1ST)
                        _Q38
                    }
                    Else {
                        If(LAnd(^BAT1.XB1S, Local0)) {
                            Notify(BAT1, 0x80)
                        }
                    }
                }
                Method(_Q24) {
                    Notify(BAT0, 0x80)
                }
                Method(_Q25) {
                    Notify(BAT1, 0x80)
                }
                Method(_Q26) {
                    HBDS
                    Sleep(0x01f4)
                    Notify(AC__, 0x0)
                }
                Method(_Q27) {
                    HBEN
                    Sleep(0x01f4)
                    Notify(AC__, 0x0)
                }
                Name(FNSP, 0x0)
                Method(TPTS, 1) {
                    If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x5)))) {
                    }
                    Else {
                        If(W98F) {
                            Store(HFSP, FNSP)
                            Store(0x0, HFSP)
                        }
                    }
                }
                Method(TWAK, 1) {
                    If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x5)))) {
                    }
                    Else {
                        If(W98F) {
                            Store(FNSP, HFSP)
                        }
                        UPDT
                        Notify(\_TZ_.THM0, 0x81)
                        Notify(\_TZ_.THM1, 0x81)
                        Notify(\_TZ_.THM2, 0x81)
                        Notify(\_TZ_.THM4, 0x81)
                        Notify(\_TZ_.THM5, 0x81)
                        Notify(\_TZ_.THM6, 0x81)
                        Notify(\_TZ_.THM7, 0x81)
                    }
                }
                Method(_Q40) {
                    If(LOr(XOr(HT01, \_TZ_.THM0.AC0M, ), XOr(HT00, \_TZ_.=
THM0.AC1M, ))) {
                        Notify(\_TZ_.THM0, 0x81)
                    }
                    Notify(\_TZ_.THM0, 0x80)
                }
                Method(_Q41) {
                    UPDT
                    Notify(\_TZ_.THM1, 0x81)
                    Notify(\_TZ_.THM1, 0x80)
                }
                Method(_Q42) {
                    UPDT
                    Notify(\_TZ_.THM2, 0x81)
                    Notify(\_TZ_.THM2, 0x80)
                }
                Method(_Q44) {
                    UPDT
                    Notify(\_TZ_.THM4, 0x81)
                    Notify(\_TZ_.THM4, 0x80)
                }
                Method(_Q45) {
                    UPDT
                    Notify(\_TZ_.THM5, 0x81)
                    Notify(\_TZ_.THM5, 0x80)
                }
                Method(_Q46) {
                    UPDT
                    Notify(\_TZ_.THM6, 0x81)
                    Notify(\_TZ_.THM6, 0x80)
                }
                Method(_Q47) {
                    UPDT
                    Notify(\_TZ_.THM7, 0x81)
                    Notify(\_TZ_.THM7, 0x80)
                }
                Method(_Q2A) {
                    Notify(\_SB_.LID0, 0x80)
                    \_SB_.PCI0.VID0.VLOE
                }
                Method(_Q2B) {
                    \_SB_.HKEY.MHKQ
                    0x5001
                    Notify(\_SB_.LID0, 0x80)
                }
                Method(_Q37) {
                    If(H8DR) {
                        Store(I2CR, Zero)
                        0x40
                        0x4
                        Local0
                        If(LEqual(And(Local0, 0x8000, ), 0x8000)) {
                            Store(0x0, Local0)
                        }
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x4, S_CX)
                        SMPI
                        0x81
                        If(S_AH) {
                            Store(0x0, Local0)
                        }
                        Else {
                            And(S_CH, 0xf0, Local0)
                        }
                        Release(MSMI)
                    }
                    If(LEqual(Local0, 0x10)) {
                        If(LNot(W98F)) {
                            Store(0xff, \_SB_.PCI0.DOCK.DOID)
                        }
                        Notify(\_SB_.PCI0.DOCK, 0x0)
                    }
                    If(LEqual(Local0, 0x40)) {
                        Signal(\_SB_.PCI0.DOCK.CNCT)
                    }
                    If(LEqual(Local0, 0x20)) {
                        If(W98F) {
                            Notify(\_SB_.PCI0.DOCK, 0x1)
                        }
                        Else {
                            Notify(\_SB_.PCI0.DOCK, 0x3)
                        }
                    }
                    If(LEqual(Local0, 0x50)) {
                        Signal(\_SB_.PCI0.DOCK.EJT0)
                    }
                }
                Method(_Q3B) {
                    Store(SMSC, Local0)
                    Store(0xf, SMSC)
                    If(LAnd(Local0, 0x4)) {
                        Return(\_SB_.PCI0.VID0.VECC)
                    }
                    Else {
                    }
                }
                Method(_Q3D) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x90c0, S_BX)
                    Store(0x0, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                }
                Method(_Q7F) {
                    Or(ACI_, 0x1, ACI_)
                    And(ACI_, 0xfe, ACI_)
                }
                Name(BDEV, 0x0)
                Name(BSTS, 0x0)
                Method(_Q2C) {
                    If(LEqual(BSTS, 0x0)) {
                        Store(GUID, BDEV)
                        NBRE
                        BDEV
                    }
                    Else {
                    }
                    Store(0x2c, IDBE)
                }
                Method(_Q2D) {
                    Store(GUID, Local0)
                    If(LAnd(LLess(Local0, 0xc), \_SB_.PCI0.ISA0.GCR4)) {
                        If(ULTO) {
                            BLED
                            0x2
                            0x1
                            BEEP
                            0xf
                            Store(0x2, BSTS)
                        }
                        Else {
                            BLED
                            0x0
                            0x0
                            Store(0x0, BSTS)
                        }
                    }
                    Else {
                        Store(Local0, BDEV)
                        NBIN
                        Local0
                    }
                    Store(0x2d, IDBE)
                }
                Method(_Q38) {
                    Sleep(0x64)
                    Store(GUID, Local0)
                    If(LEqual(Local0, 0xf)) {
                        BDIS
                        NBEJ
                        BDEV
                        Store(Local0, BDEV)
                    }
                    Else {
                        If(HPBU) {
                        }
                        Else {
                            If(LAnd(LLess(Local0, 0xc), \_SB_.PCI0.ISA0.G=
CR4)) {
                                BLED
                                0x2
                                0x1
                                BEEP
                                0xf
                                Store(0x2, BSTS)
                            }
                            Else {
                                Store(Local0, BDEV)
                                NBIN
                                Local0
                            }
                        }
                    }
                    Store(0x38, IDBE)
                }
                Method(NBRE, 1) {
                    If(LEqual(Arg0, 0xf)) {
                        BLED
                        0x0
                        0x0
                        Store(0x0, BSTS)
                    }
                    If(LEqual(Arg0, 0xd)) {
                        BLED
                        0x1
                        0x1
                        Notify(\_SB_.PCI0.ISA0.FDC0.FDD0, 0x3)
                    }
                    If(LLess(Arg0, 0xc)) {
                        BLED
                        0x1
                        0x1
                        If(\_SB_.PCI0.ISA0.GCR4) {
                            Notify(\_SB_.PCI0.IDE0.IDEP.IDPS, 0x3)
                        }
                        Else {
                            Notify(\_SB_.PCI0.IDE0.IDES.IDSM, 0x3)
                        }
                    }
                    If(LEqual(Arg0, 0x10)) {
                        If(LOr(HPAC, HB0A)) {
                            If(WNTF) {
                                BLED
                                0x1
                                0x1
                                Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x3)
                            }
                            Else {
                                BLED
                                0x1
                                0x0
                                Store(0x1, BSTS)
                            }
                        }
                        Else {
                            BLED
                            0x2
                            0x1
                            BEEP
                            0xf
                            Store(0x2, BSTS)
                        }
                    }
                    If(LEqual(Arg0, 0xff)) {
                        BLED
                        0x0
                        0x0
                    }
                }
                Method(NBEJ, 1) {
                    If(LEqual(BSTS, 0x0)) {
                        If(LEqual(Arg0, 0xd)) {
                            Notify(\_SB_.PCI0.ISA0.FDC0.FDD0, 0x1)
                        }
                        If(LLess(Arg0, 0xc)) {
                            If(\_SB_.PCI0.ISA0.GCR4) {
                                Notify(\_SB_.PCI0.IDE0.IDEP.IDPS, 0x1)
                            }
                            Else {
                                Notify(\_SB_.PCI0.IDE0.IDES.IDSM, 0x1)
                            }
                        }
                        If(LEqual(Arg0, 0x10)) {
                            If(WNTF) {
                                Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x1)
                            }
                            Else {
                                Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x81)
                            }
                        }
                    }
                    BLED
                    0x0
                    0x0
                    BEEP
                    0x0
                    Store(0x0, BSTS)
                }
                Method(NBIN, 1) {
                    If(LEqual(Arg0, 0xd)) {
                        BLED
                        0x1
                        0x1
                        BEN_
                        0x0
                        Notify(\_SB_.PCI0.ISA0.FDC0.FDD0, 0x1)
                    }
                    If(LLess(Arg0, 0xc)) {
                        BLED
                        0x1
                        0x1
                        If(\_SB_.PCI0.ISA0.GCR4) {
                            BEN_
                            0x1
                            Notify(\_SB_.PCI0.IDE0.IDEP.IDPS, 0x1)
                        }
                        Else {
                            BEN_
                            0x2
                            Notify(\_SB_.PCI0.IDE0.IDES.IDSM, 0x1)
                        }
                    }
                    If(LEqual(Arg0, 0x10)) {
                        If(WNTF) {
                            Store(0x1, \_SB_.PCI0.ISA0.EC0_.BAT1.XB1S)
                            Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x1)
                        }
                        Else {
                            Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x81)
                        }
                    }
                    Store(0x0, BSTS)
                    BLED
                    0x0
                    0x0
                    BEEP
                    0x0
                }
                Method(BEJ0, 1) {
                    If(Arg0) {
                        BDIS
                        BLED
                        0x1
                        0x0
                        Store(0x1, BSTS)
                    }
                }
                Method(BEJ3, 1) {
                    If(Arg0) {
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BF_Z)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BF_D)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BZIP)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BDVD)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BHFD)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BF_H)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BHDD)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BLS_)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BF_C)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BCRW)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BCD_)
                        Store(0x83, \_SB_.PCI0.ISA0.EC0_.BFDD)
                        BDIS
                        Store(0x1, BSTS)
                    }
                    Else {
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BF_Z)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BF_D)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BZIP)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BDVD)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BHFD)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BF_H)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BHDD)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BLS_)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BF_C)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BCRW)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BCD_)
                        Store(0x81, \_SB_.PCI0.ISA0.EC0_.BFDD)
                        Store(0x0, BSTS)
                    }
                }
                Method(BPTS, 1) {
                    If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x5)))) {
                    }
                    Else {
                        And(HAM7, 0xfe, HAM7)
                        BEEP
                        0x0
                        BLED
                        0x0
                        0x0
                        If(LEqual(BSTS, 0x1)) {
                            Store(0xf, BDEV)
                            Store(0x0, BSTS)
                        }
                        If(LNot(LGreater(Arg0, 0x2))) {
                            LBAY
                            0x1
                        }
                        Else {
                            LBAY
                            0x1
                            If(LEqual(BSTS, 0x2)) {
                                Store(0xf, BDEV)
                                Store(0x0, BSTS)
                            }
                        }
                    }
                }
                Method(BWAK, 1) {
                    If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x5)))) {
                    }
                    Else {
                        Store(GUID, Local0)
                        If(LGreater(Local0, 0xe)) {
                            BDIS
                        }
                        If(LEqual(BSTS, 0x0)) {
                            If(LNot(LEqual(Local0, BDEV))) {
                                NBEJ
                                BDEV
                                Store(Local0, BDEV)
                                NBIN
                                Local0
                            }
                        }
                        Or(HAM7, 0x1, HAM7)
                    }
                }
                Method(BDIS) {
                    Store(0x0, \_SB_.PCI0.IDE0.XPSE)
                    Store(0x0, \_SB_.PCI0.IDE0.XPI1)
                    Store(0x0, \_SB_.PCI0.IDE0.XSI0)
                    Store(0x1, \_SB_.PCI0.ISA0.GCRC)
                    Store(0x1, ULTO)
                }
                Method(BEN_, 1) {
                    If(LEqual(Arg0, 0x2)) {
                        Store(0x0, \_SB_.PCI0.IDE0.XSE_)
                        Stall(0x5)
                    }
                    Store(0x0, ULTO)
                    Sleep(0x14)
                    If(LEqual(Arg0, 0x1)) {
                        Store(0x0, \_SB_.PCI0.ISA0.GCRC)
                        Store(0x1, \_SB_.PCI0.IDE0.XPSE)
                        Sleep(0x0190)
                    }
                    If(LEqual(Arg0, 0x2)) {
                        Store(0x0, \_SB_.PCI0.ISA0.GCRC)
                        Store(0x1, \_SB_.PCI0.IDE0.XSE_)
                        Sleep(0x0190)
                    }
                }
                Method(XWEJ, 1) {
                    If(Arg0) {
                        Store(0x83, Local0)
                    }
                    Else {
                        Store(0x81, Local0)
                    }
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BF_Z)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BF_D)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BZIP)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BDVD)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BHFD)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BF_H)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BHDD)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BLS_)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BF_C)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BCRW)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BCD_)
                    Store(Local0, \_SB_.PCI0.ISA0.EC0_.BFDD)
                }
                Method(XDID) {
                    Return(BDEV)
                }
            }
        }
        Method(UDMA, 2) {
            If(And(Arg0, 0x4, )) {
                If(And(Arg1, 0x4, )) {
                    Return(0x3)
                }
                Else {
                    If(And(Arg1, 0x2, )) {
                        Return(0x2)
                    }
                    Else {
                        If(And(Arg1, 0x1, )) {
                            Return(0x1)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
            }
            Else {
                Return(0x0)
            }
        }
        Method(UDMB, 2) {
            If(Arg0) {
                If(LGreater(Arg1, 0x3c)) {
                    If(LGreater(Arg1, 0x50)) {
                        Return(0x1)
                    }
                    Else {
                        Return(0x2)
                    }
                }
                Else {
                    Return(0x3)
                }
            }
            Else {
                Return(0x0)
            }
        }
        Method(MDMA, 4) {
            If(And(Arg0, 0x2, )) {
                If(And(Arg1, 0x4, )) {
                    If(LNot(LGreater(Arg3, 0x78))) {
                        Return(0x3)
                    }
                    Else {
                        If(LNot(LGreater(Arg3, 0xb4))) {
                            Return(0x2)
                        }
                        Else {
                            If(LNot(LGreater(Arg3, 0xf0))) {
                                Return(0x1)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                    }
                }
                Else {
                    If(And(Arg1, 0x2, )) {
                        If(LNot(LGreater(Arg3, 0xb4))) {
                            Return(0x2)
                        }
                        Else {
                            If(LNot(LGreater(Arg3, 0xf0))) {
                                Return(0x1)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                    }
                    Else {
                        If(And(Arg2, 0x4, )) {
                            If(LNot(LGreater(Arg3, 0xf0))) {
                                Return(0x1)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
            }
            Else {
                Return(0x0)
            }
        }
        Method(MPIO, 4) {
            If(And(Arg0, 0x2, )) {
                If(And(Arg1, 0x2, )) {
                    If(LNot(LGreater(Arg3, 0x78))) {
                        Return(0x4)
                    }
                    Else {
                        If(LNot(LGreater(Arg3, 0xb4))) {
                            Return(0x3)
                        }
                        Else {
                            If(LNot(LGreater(Arg3, 0xf0))) {
                                Return(0x2)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                    }
                }
                Else {
                    If(And(Arg1, 0x1, )) {
                        If(LNot(LGreater(Arg3, 0xb4))) {
                            Return(0x3)
                        }
                        Else {
                            If(LNot(LGreater(Arg3, 0xf0))) {
                                Return(0x2)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                    }
                    Else {
                        If(LEqual(Arg2, 0x2)) {
                            Return(0x1)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
            }
            Else {
                If(LEqual(Arg2, 0x2)) {
                    Return(0x1)
                }
                Else {
                    Return(0x0)
                }
            }
        }
        Method(MPIB, 2) {
            If(LGreater(Arg1, 0x78)) {
                If(LGreater(Arg1, 0xb4)) {
                    If(LGreater(Arg1, 0xf0)) {
                        Return(0x0)
                    }
                    Else {
                        If(Arg0) {
                            Return(0x2)
                        }
                        Else {
                            Return(0x1)
                        }
                    }
                }
                Else {
                    Return(0x3)
                }
            }
            Else {
                Return(0x4)
            }
        }
        Method(MPI4, 2) {
            If(Arg0) {
                If(LEqual(Arg0, 0x1)) {
                    Return(0x1)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Return(0x2)
                    }
                    Else {
                        If(LEqual(Arg1, 0x3)) {
                            Return(0x2)
                        }
                        Else {
                            Return(0x3)
                        }
                    }
                }
            }
            Else {
                If(LLess(Arg1, 0x2)) {
                    Return(Arg1)
                }
                Else {
                    Return(Decrement(Arg1))
                }
            }
        }
        Method(MP4B, 1) {
            If(LNot(LGreater(Arg0, 0x1))) {
                Return(Arg0)
            }
            Else {
                Return(Decrement(Arg0))
            }
        }
        Method(MPIX, 2) {
            If(LEqual(Arg0, Arg1)) {
                If(Arg0) {
                    Return(Arg0)
                }
                Else {
                    Return(0x1)
                }
            }
            Else {
                If(LOr(LEqual(Arg0, 0x3), LEqual(Arg1, 0x3))) {
                    Return(0x3)
                }
                If(LLess(Arg0, Arg1)) {
                    Return(Arg1)
                }
                Else {
                    Return(Arg0)
                }
            }
        }
        Method(MTIM, 3) {
            If(LEqual(Arg0, 0x0)) {
                Store(0x0, Local5)
            }
            Else {
                If(LEqual(Arg0, 0x1)) {
                    If(LLess(Arg1, 0x2)) {
                        Store(0x1, Local5)
                    }
                    Else {
                        Store(0x3, Local5)
                    }
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Store(0x3, Local5)
                    }
                    Else {
                        Store(0x3, Local5)
                    }
                }
                If(LEqual(Arg1, 0x0)) {
                    Or(Local5, 0x8, Local5)
                }
            }
            If(Arg2) {
                And(Local5, 0xfb, Local5)
            }
            Else {
                Or(Local5, 0x4, Local5)
            }
            Return(Local5)
        }
        Method(MISP, 1) {
            If(LEqual(Arg0, 0x0)) {
                Return(0x0)
            }
            Else {
                If(LEqual(Arg0, 0x1)) {
                    Return(0x1)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Return(0x2)
                    }
                    Else {
                        Return(0x2)
                    }
                }
            }
        }
        Method(MRTC, 1) {
            If(LEqual(Arg0, 0x0)) {
                Return(0x0)
            }
            Else {
                If(LEqual(Arg0, 0x1)) {
                    Return(0x0)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Return(0x1)
                    }
                    Else {
                        Return(0x3)
                    }
                }
            }
        }
        Method(MUCT, 1) {
            If(LEqual(Arg0, 0x0)) {
                Return(0x0)
            }
            Else {
                If(LEqual(Arg0, 0x1)) {
                    Return(0x0)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Return(0x1)
                    }
                    Else {
                        Return(0x2)
                    }
                }
            }
        }
        Method(MHDM, 2) {
            If(LEqual(Arg0, 0x0)) {
                If(LEqual(Arg1, 0x0)) {
                    Return(0x0)
                }
                Else {
                    If(LEqual(Arg1, 0x1)) {
                        Return(0x12)
                    }
                    Else {
                        If(LEqual(Arg1, 0x2)) {
                            Return(0x21)
                        }
                        Else {
                            Return(0x22)
                        }
                    }
                }
            }
            Else {
                If(LEqual(Arg0, 0x1)) {
                    Return(0x40)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Return(0x41)
                    }
                    Else {
                        Return(0x42)
                    }
                }
            }
        }
        Method(MHPI, 1) {
            If(LEqual(Arg0, 0x0)) {
                Return(0x0)
            }
            Else {
                If(LEqual(Arg0, 0x1)) {
                    Return(0x1)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Return(0x0)
                    }
                    Else {
                        If(LEqual(Arg0, 0x3)) {
                            Return(0xb)
                        }
                        Else {
                            Return(0xc)
                        }
                    }
                }
            }
        }
        Device(IDE0) {
            Name(_ADR, 0x00010001)
            OperationRegion(X140, PCI_Config, 0x40, 0x10)
            Field(X140, DWordAcc, NoLock, Preserve) {
                XPT0,	1,
                XPI0,	1,
                XPP0,	1,
                XPD0,	1,
                XPT1,	1,
                XPI1,	1,
                XPP1,	1,
                XPD1,	1,
                XPRT,	2,
                ,	2,
                XPIS,	2,
                XPSE,	1,
                XPE_,	1,
                XST0,	1,
                XSI0,	1,
                XSP0,	1,
                XSD0,	1,
                XST1,	1,
                XSI1,	1,
                XSP1,	1,
                XSD1,	1,
                XSRT,	2,
                ,	2,
                XSIS,	2,
                XSSE,	1,
                XSE_,	1,
                XVRT,	2,
                XVIS,	2,
                Offset(0x5),
                Offset(0x8),
                XEP0,	1,
                XEP1,	1,
                XES0,	1,
                XES1,	1,
                Offset(0x9),
                Offset(0xa),
                XUP0,	2,
                ,	2,
                XUP1,	2,
                Offset(0xb),
                XUS0,	2,
                ,	2,
                XUS1,	2,
                Offset(0xc)
            }
            Method(CHKB) {
                Store(\_SB_.PCI0.ISA0.EC0_.GUID, Local0)
                If(LLess(Local0, 0xd)) {
                    Return(0x1)
                }
                Else {
                    Return(0x0)
                }
            }
            Device(IDEP) {
                Name(_ADR, 0x0)
                Method(_GTM) {
                    Subtract(0x5, XPIS, Local0)
                    Subtract(0x4, XPRT, Local1)
                    Add(Local0, Local1, Local0)
                    Multiply(0x1e, Local0, Local0)
                    If(LGreater(Local0, 0xf0)) {
                        Store(0x0384, Local0)
                    }
                    If(XEP0) {
                        Store(0x11, Local4)
                        If(LEqual(XUP0, 0x0)) {
                            Store(0x78, Local1)
                        }
                        Else {
                            If(LEqual(XUP0, 0x1)) {
                                Store(0x50, Local1)
                            }
                            Else {
                                Store(0x3c, Local1)
                            }
                        }
                    }
                    Else {
                        Store(0x10, Local4)
                        Store(Local0, Local1)
                    }
                    If(XPI0) {
                        Or(Local4, 0x2, Local4)
                    }
                    If(XPSE) {
                        Subtract(0x5, XVIS, Local2)
                        Subtract(0x4, XVRT, Local3)
                        Add(Local2, Local3, Local2)
                        Multiply(0x1e, Local2, Local2)
                        If(LGreater(Local2, 0xf0)) {
                            Store(0x0384, Local2)
                        }
                        If(XEP1) {
                            Or(Local4, 0x4, Local4)
                            If(LEqual(XUP1, 0x0)) {
                                Store(0x78, Local3)
                            }
                            Else {
                                If(LEqual(XUP1, 0x1)) {
                                    Store(0x50, Local3)
                                }
                                Else {
                                    Store(0x3c, Local3)
                                }
                            }
                        }
                        Else {
                            Store(Local2, Local3)
                        }
                    }
                    Else {
                        Store(0x0, Local2)
                        Store(0x0, Local3)
                    }
                    If(XPI1) {
                        Or(Local4, 0x8, Local4)
                    }
                    Store(Local0, GTP0)
                    Store(Local1, GTD0)
                    Store(Local2, GTP1)
                    Store(Local3, GTD1)
                    Store(Local4, GTMF)
                    Return(BGTM)
                }
                Method(_STM, 3) {
                    CreateDWordField(Arg0, 0x0, STP0)
                    CreateDWordField(Arg0, 0x4, STD0)
                    CreateDWordField(Arg0, 0x8, STP1)
                    CreateDWordField(Arg0, 0xc, STD1)
                    CreateDWordField(Arg0, 0x10, STMF)
                    If(Sizeof(Arg1)) {
                        CreateWordField(Arg1, 0x1, PMZR)
                        If(PMZR) {
                            Store(One, Local5)
                        }
                        Else {
                            Store(Zero, Local5)
                        }
                    }
                    Else {
                        Store(Zero, Local5)
                    }
                    If(Local5) {
                        If(W98F) {
                            CreateWordField(Arg1, 0x66, PM51)
                            CreateWordField(Arg1, 0x6a, PM53)
                            CreateWordField(Arg1, 0x7c, PM62)
                            CreateWordField(Arg1, 0x7e, PM63)
                            CreateWordField(Arg1, 0x80, PM64)
                            CreateWordField(Arg1, 0x82, PM65)
                            CreateWordField(Arg1, 0x88, PM68)
                            CreateWordField(Arg1, 0xb0, PM88)
                            Store(UDMA, PM53)
                            PM88
                            Local0
                            Store(MDMA, PM53)
                            PM63
                            PM62
                            PM65
                            Local1
                            Store(MPIO, PM53)
                            PM64
                            PM51
                            PM68
                            Local2
                            Store(MPI4, Local1)
                            Local2
                            Local3
                        }
                        Else {
                            Store(MPIB, And(STMF, 0x2, ))
                            STP0
                            Local2
                            Store(UDMB, And(STMF, 0x1, ))
                            STD0
                            Local0
                            Store(MP4B, Local2)
                            Local3
                            Store(Local3, Local1)
                        }
                        Store(MTIM, Local3)
                        Local2
                        And(PMZR, 0x80, )
                        Local4
                        If(And(Local4, 0x1, )) {
                            Store(One, XPT0)
                        }
                        If(And(Local4, 0x2, )) {
                            Store(One, XPI0)
                        }
                        If(And(Local4, 0x4, )) {
                            Store(One, XPP0)
                        }
                        If(And(Local4, 0x8, )) {
                            Store(One, XPD0)
                        }
                        Store(MISP, Local3)
                        XPIS
                        Store(MRTC, Local3)
                        XPRT
                        If(Local0) {
                            Store(One, XEP0)
                            Store(MUCT, Local0)
                            XUP0
                        }
                        Else {
                            Store(Zero, XEP0)
                            Store(Zero, XUP0)
                        }
                        Store(MHDM, Local0)
                        Local1
                        HDM0
                        Store(MHPI, Local2)
                        HPI0
                    }
                    If(Sizeof(Arg2)) {
                        CreateWordField(Arg2, 0x1, PS00)
                        If(PS00) {
                            Store(One, Local5)
                        }
                        Else {
                            Store(Zero, Local5)
                        }
                    }
                    Else {
                        Store(Zero, Local5)
                    }
                    If(Local5) {
                        If(W98F) {
                            CreateWordField(Arg2, 0x66, PS51)
                            CreateWordField(Arg2, 0x6a, PS53)
                            CreateWordField(Arg2, 0x7c, PS62)
                            CreateWordField(Arg2, 0x7e, PS63)
                            CreateWordField(Arg2, 0x80, PS64)
                            CreateWordField(Arg2, 0x82, PS65)
                            CreateWordField(Arg2, 0x88, PS68)
                            CreateWordField(Arg2, 0xb0, PS88)
                            Store(UDMA, PS53)
                            PS88
                            Local0
                            Store(MDMA, PS53)
                            PS63
                            PS62
                            PS65
                            Local1
                            Store(MPIO, PS53)
                            PS64
                            PS51
                            PS68
                            Local2
                            Store(MPI4, Local1)
                            Local2
                            Local3
                        }
                        Else {
                            Store(MPIB, And(STMF, 0x8, ))
                            STP1
                            Local2
                            Store(UDMB, And(STMF, 0x4, ))
                            STD1
                            Local0
                            Store(MP4B, Local2)
                            Local3
                            Store(Local3, Local1)
                        }
                        Store(One, XPSE)
                        Store(MTIM, Local3)
                        Local2
                        And(PS00, 0x80, )
                        Local4
                        If(And(Local4, 0x1, )) {
                            Store(One, XPT1)
                        }
                        If(And(Local4, 0x2, )) {
                            Store(One, XPI1)
                        }
                        If(And(Local4, 0x4, )) {
                            Store(One, XPP1)
                        }
                        If(And(Local4, 0x8, )) {
                            Store(One, XPD1)
                        }
                        Store(MISP, Local3)
                        XVIS
                        Store(MRTC, Local3)
                        XVRT
                        If(Local0) {
                            Store(One, XEP1)
                            Store(MUCT, Local0)
                            XUP1
                        }
                        Else {
                            Store(Zero, XEP1)
                            Store(Zero, XUP1)
                        }
                        Store(MHDM, Local0)
                        Local1
                        HDM1
                        Store(MHDM, Local0)
                        Local1
                        CDM1
                        Store(MHPI, Local2)
                        HPI1
                        Store(MHPI, Local2)
                        CPI1
                    }
                }
                Method(_STA) {
                    If(XPE_) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x1)
                    }
                }
                Device(IDPM) {
                    Name(_ADR, 0x0)
                    Name(_PR0, Package(0x1) {
                        PHBY,
                    })
                    Name(_PR1, Package(0x1) {
                        PHBY,
                    })
                    Method(_GTF) {
                        Store(HDSE, LOGI)
                        Store(HDHD, MAXH)
                        Return(ICM0)
                    }
                }
                Device(IDPS) {
                    Name(_ADR, 0x1)
                    Method(_EJ3, 1) {
                        \_SB_.PCI0.ISA0.EC0_.BEJ3
                        Arg0
                    }
                    Method(_STA) {
                        If(\_SB_.PCI0.ISA0.GCR4) {
                            If(ULTO) {
                                Return(0x0)
                            }
                            If(CHKB) {
                                Return(0xf)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                    Method(_GTF) {
                        If(LEqual(\_SB_.PCI0.ISA0.EC0_.GUID, 0x6)) {
                            Return(ICM1)
                        }
                        Else {
                            Return(ICC1)
                        }
                    }
                }
            }
            Device(IDES) {
                Name(_ADR, 0x1)
                Method(_GTM) {
                    Subtract(0x5, XSIS, Local0)
                    Subtract(0x4, XSRT, Local1)
                    Add(Local0, Local1, Local0)
                    Multiply(0x1e, Local0, Local0)
                    If(LGreater(Local0, 0xf0)) {
                        Store(0x0384, Local0)
                    }
                    If(XES0) {
                        Store(0x11, Local2)
                        If(LEqual(XUS0, 0x0)) {
                            Store(0x78, Local1)
                        }
                        Else {
                            If(LEqual(XUS0, 0x1)) {
                                Store(0x50, Local1)
                            }
                            Else {
                                Store(0x3c, Local1)
                            }
                        }
                    }
                    Else {
                        Store(0x10, Local2)
                        Store(Local0, Local1)
                    }
                    If(XSI0) {
                        Or(Local2, 0x2, Local2)
                    }
                    Store(Local0, GTP0)
                    Store(Local1, GTD0)
                    Store(Zero, GTP1)
                    Store(Zero, GTD1)
                    Store(Local2, GTMF)
                    Return(BGTM)
                }
                Method(_STM, 3) {
                    CreateDWordField(Arg0, 0x0, STP0)
                    CreateDWordField(Arg0, 0x4, STD0)
                    CreateDWordField(Arg0, 0x8, STP1)
                    CreateDWordField(Arg0, 0xc, STD1)
                    CreateDWordField(Arg0, 0x10, STMF)
                    If(Sizeof(Arg1)) {
                        CreateWordField(Arg1, 0x1, SM00)
                        If(SM00) {
                            Store(One, Local5)
                        }
                        Else {
                            Store(Zero, Local5)
                        }
                    }
                    Else {
                        Store(Zero, Local5)
                    }
                    If(Local5) {
                        If(W98F) {
                            CreateWordField(Arg1, 0x66, SM51)
                            CreateWordField(Arg1, 0x6a, SM53)
                            CreateWordField(Arg1, 0x7c, SM62)
                            CreateWordField(Arg1, 0x7e, SM63)
                            CreateWordField(Arg1, 0x80, SM64)
                            CreateWordField(Arg1, 0x82, SM65)
                            CreateWordField(Arg1, 0x88, SM68)
                            CreateWordField(Arg1, 0xb0, SM88)
                            Store(UDMA, SM53)
                            SM88
                            Local0
                            Store(MDMA, SM53)
                            SM63
                            SM62
                            SM65
                            Local1
                            Store(MPIO, SM53)
                            SM64
                            SM51
                            SM68
                            Local2
                            Store(MPI4, Local1)
                            Local2
                            Local3
                        }
                        Else {
                            Store(MPIB, And(STMF, 0x2, ))
                            STP0
                            Local2
                            Store(UDMB, And(STMF, 0x1, ))
                            STD0
                            Local0
                            Store(MP4B, Local2)
                            Local3
                            Store(Local3, Local1)
                        }
                        Store(MTIM, Local3)
                        Local2
                        And(SM00, 0x80, )
                        Local4
                        If(And(Local4, 0x1, )) {
                            Store(One, XST0)
                        }
                        If(And(Local4, 0x2, )) {
                            Store(One, XSI0)
                        }
                        If(And(Local4, 0x4, )) {
                            Store(One, XSP0)
                        }
                        If(And(Local4, 0x8, )) {
                            Store(One, XSD0)
                        }
                        Store(MISP, Local3)
                        XSIS
                        Store(MRTC, Local3)
                        XSRT
                        If(Local0) {
                            Store(One, XES0)
                            Store(MUCT, Local0)
                            XUS0
                        }
                        Else {
                            Store(Zero, XES0)
                            Store(Zero, XUS0)
                        }
                        Store(MHDM, Local0)
                        Local1
                        HDM2
                        Store(MHDM, Local0)
                        Local1
                        CDM2
                        Store(MHPI, Local2)
                        HPI2
                        Store(MHPI, Local2)
                        CPI2
                    }
                }
                Method(_STA) {
                    If(\_SB_.PCI0.ISA0.GCR4) {
                        Return(0x0)
                    }
                    Else {
                        If(XSE_) {
                            Return(0xf)
                        }
                        Else {
                            Return(0x1)
                        }
                    }
                }
                Device(IDSM) {
                    Name(_ADR, 0x0)
                    Method(_EJ0, 1) {
                        \_SB_.PCI0.ISA0.EC0_.BEJ0
                        Arg0
                    }
                    Method(_STA) {
                        If(\_SB_.PCI0.ISA0.GCR4) {
                            Return(0x0)
                        }
                        Else {
                            If(ULTO) {
                                Return(0x0)
                            }
                            If(CHKB) {
                                Return(0xf)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                    }
                    Method(_GTF) {
                        If(LEqual(\_SB_.PCI0.ISA0.EC0_.GUID, 0x6)) {
                            Return(ICM2)
                        }
                        Else {
                            Return(ICC2)
                        }
                    }
                }
            }
        }
        Device(PM00) {
            Name(_ADR, 0x00010003)
            OperationRegion(X3DA, PCI_Config, 0x5c, 0x4)
            Field(X3DA, DWordAcc, NoLock, Preserve) {
                XA1D,	1,
                XA1A,	2,
                XA2D,	1,
                XA4D,	1,
                XA2A,	2,
                XA3D,	1,
                XA3A,	2,
                ,	15,
                XA2E,	1,
                ,	3,
                XA0E,	1,
                XM0E,	1,
                XPE_,	1
            }
            OperationRegion(X3DB, PCI_Config, 0x60, 0x4)
            Field(X3DB, DWordAcc, NoLock, Preserve) {
                XM1A,	16,
                XM1M,	4,
                XA1E,	1,
                XM1E,	3,
                XA3E,	1,
                XPA_,	2,
                ,	1,
                XFA_,	1,
                XFE_,	1,
                ,	1,
                XA4E,	1
            }
            OperationRegion(X3DC, PCI_Config, 0x64, 0x4)
            Field(X3DC, DWordAcc, NoLock, Preserve) {
                XGAD,	16,
                Offset(0x3),
                XU1A,	3,
                XU1E,	1,
                XU2A,	3,
                XU2E,	1
            }
            OperationRegion(SMBC, PCI_Config, 0xd2, 0x1)
            Field(SMBC, ByteAcc, NoLock, Preserve) {
                SBHE,	1,
                SBIS,	3
            }
            OperationRegion(SMBR, SystemIO, 0xefa0, 0x10)
            Field(SMBR, ByteAcc, NoLock, Preserve) {
                SBHS,	8,
                SBSS,	8,
                SBHC,	8,
                SBCM,	8,
                SBAD,	8,
                SBDT,	8,
                SBD1,	8,
                Offset(0x10)
            }
            Mutex(MSMB, 7)
            Method(RSMB, 2) {
                Acquire(MSMB, 0xffff)
                Store(SBHE, Local0)
                Store(SBIS, Local1)
                Store(0x0, SBIS)
                Store(0x1, SBHE)
                Store(0xff, Local2)
                While(LAnd(And(SBHS, 0x1, ), Local2)) {
                    Stall(0x15)
                    Decrement(Local2)
                }
                Store(0xff, Local2)
                While(LAnd(And(SBSS, 0x1, ), Local2)) {
                    Stall(0x15)
                    Decrement(Local2)
                }
                Store(0x1e, SBHS)
                Store(0x3c, SBSS)
                Store(SBHC, Local2)
                Store(Or(ShiftLeft(Arg0, 0x1, ), 0x1, ), SBAD)
                Store(Arg1, SBCM)
                Store(0x8, SBHC)
                Store(0x48, SBHC)
                Store(0xff, Local2)
                While(LAnd(And(SBHS, 0x1, ), Local2)) {
                    Stall(0x15)
                    Decrement(Local2)
                }
                Store(0xff, Local2)
                While(LAnd(LNot(And(SBHS, 0x2, )), Local2)) {
                    Stall(0x15)
                    Decrement(Local2)
                }
                Store(Or(SBHS, 0x2, ), SBHS)
                Store(SBDT, Local3)
                Store(SBHC, Local2)
                Store(Local1, SBIS)
                Store(Local0, SBHE)
                Release(MSMB)
                Return(Local3)
            }
        }
        Device(USB0) {
            Name(_ADR, 0x00010002)
            Method(_PSW, 1) {
                Noop
            }
            Name(_PRW, Package(0x2) {
                0x8,
                0x1,
            })
        }
        Device(DOCK) {
            Name(_ADR, 0x00040000)
            Name(_PRW, Package(0x2) {
                0xb,
                0x1,
            })
            Method(_PSW, 1) {
                EPSW
                0x2
                Arg0
            }
            OperationRegion(X400, PCI_Config, 0x0, 0x0100)
            Field(X400, DWordAcc, NoLock, Preserve) {
                Offset(0xd0),
                KNX0,	16,
                KNX1,	16,
                KNY0,	16,
                KNY1,	16,
                Offset(0xdc),
                KNPC,	8,
                Offset(0xe0),
                KND0,	8,
                KNB0,	8,
                KNB1,	8,
                KNWC,	8,
                KNT0,	8,
                KNT1,	8,
                KNRC,	8,
                KNRS,	8,
                KNAC,	8,
                KNDM,	8,
                KNMC,	16,
                KNNB,	16,
                KNNL,	16,
                KNR0,	32,
                KNR1,	32,
                KNR2,	32,
                KNR3,	32
            }
            Method(_PRT) {
                Store(GDID, Local0)
                If(LEqual(Local0, 0x9f)) {
                    If(WNTF) {
                        Return(PRON)
                    }
                    Else {
                        Return(PRO1)
                    }
                }
                Else {
                    If(LEqual(Local0, 0x8f)) {
                        If(WNTF) {
                            Return(PRIN)
                        }
                        Else {
                            Return(PRIL)
                        }
                    }
                    Else {
                        If(LEqual(Local0, 0x7f)) {
                            Return(PRO2)
                        }
                        Else {
                            If(LEqual(Local0, 0x6f)) {
                                Return(PRP1)
                            }
                            Else {
                                If(LEqual(Local0, 0x5f)) {
                                    Return(PRP2)
                                }
                                Else {
                                    Return(PRO2)
                                }
                            }
                        }
                    }
                }
            }
            Name(PRO1, Package(0xd) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x0,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x1,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x2,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x3,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x2,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x3,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x1,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x2,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x3,
                    \_SB_.LNKB,
                    0x0,
                },
            })
            Name(PRON, Package(0xf) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0002ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0002ffff,
                    0x1,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x0,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x1,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x2,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x3,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x2,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x3,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x1,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x2,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x3,
                    \_SB_.LNKB,
                    0x0,
                },
            })
            Name(PRIL, Package(0x5) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x0,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x1,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x2,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x3,
                    \_SB_.LNKD,
                    0x0,
                },
            })
            Name(PRIN, Package(0x7) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0002ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0002ffff,
                    0x1,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x0,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x1,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x2,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0003ffff,
                    0x3,
                    \_SB_.LNKD,
                    0x0,
                },
            })
            Name(PRO2, Package(0xf) {
                Package(0x4) {
                    0xffff,
                    0x3,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0002ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x0,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x1,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x2,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0004ffff,
                    0x3,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x1,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x2,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0005ffff,
                    0x3,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x1,
                    \_SB_.LNKD,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x2,
                    \_SB_.LNKA,
                    0x0,
                },
                Package(0x4) {
                    0x0006ffff,
                    0x3,
                    \_SB_.LNKB,
                    0x0,
                },
            })
            Name(PRP1, Package(0x1) {
                Package(0x4) {
                    0x0002ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
            })
            Name(PRP2, Package(0x2) {
                Package(0x4) {
                    0x0001ffff,
                    0x0,
                    \_SB_.LNKB,
                    0x0,
                },
                Package(0x4) {
                    0x0002ffff,
                    0x0,
                    \_SB_.LNKC,
                    0x0,
                },
            })
            Name(SPCI, 0x7)
            Name(DFLG, 0x0)
            Method(_INI) {
                If(GDID) {
                    PPEN
                }
                If(H8DR) {
                    Or(\_SB_.PCI0.ISA0.EC0_.HAM6, 0x80, \_SB_.PCI0.ISA0.E=
C0_.HAM6)
                }
                Else {
                    WBEC
                    0x16
                    Or(RBEC, 0x16, 0x80)
                    Zero
                }
                If(H8DR) {
                    Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWDK)
                }
                Else {
                    WBEC
                    0x32
                    And(RBEC, 0x32, 0xf7)
                    Zero
                }
                If(W98F) {
                    _REG
                    0x2
                    0x1
                }
            }
            Method(_REG, 2) {
                If(LEqual(Arg0, 0x2)) {
                    If(LEqual(Arg1, 0x1)) {
                        Sleep(0x012c)
                    }
                    DREG
                    0x2
                    Arg1
                    If(LEqual(Arg1, 0x1)) {
                        LTCY
                    }
                }
            }
            Method(DREG, 2) {
                \_SB_.PCI0.DOCK.ISA1.DREG
                Arg0
                Arg1
                \_SB_.PCI0.DOCK.IDE1.DREG
                Arg0
                Arg1
                \_SB_.PCI0.DOCK.CBS2.DREG
                Arg0
                Arg1
                \_SB_.PCI0.DOCK.CBS3.DREG
                Arg0
                Arg1
            }
            Method(_STA) {
                Store(GDID, Local0)
                If(LEqual(Local0, 0x9f)) {
                    Store(0xf, Local1)
                }
                Else {
                    If(LEqual(Local0, 0x8f)) {
                        Store(0xf, Local1)
                    }
                    Else {
                        If(LEqual(Local0, 0x7f)) {
                            Store(0xf, Local1)
                        }
                        Else {
                            If(LEqual(Local0, 0x6f)) {
                                Store(0xf, Local1)
                            }
                            Else {
                                If(LEqual(Local0, 0x5f)) {
                                    Store(0xf, Local1)
                                }
                                Else {
                                    If(W98F) {
                                        Store(0xc, Local1)
                                    }
                                    Else {
                                        Store(0x0, Local1)
                                    }
                                }
                            }
                        }
                    }
                }
                Return(Local1)
            }
            Method(_BDN) {
                Return(GDID)
            }
            Method(_UID) {
                If(W98F) {
                    Return(0x0)
                }
                Else {
                    Return(RDSR)
                }
            }
            Name(_PR0, Package(0x1) {
                PDCK,
            })
            Name(_PR1, Package(0x1) {
                PDCK,
            })
            Name(_PR2, Package(0x1) {
                PDCK,
            })
            Method(_EJ0, 1) {
                If(Arg0) {
                    If(And(DFLG, 0x4, )) {
                        And(DFLG, 0xfffffffb, DFLG)
                        \_SB_.HKEY.MHKQ
                        0x4003
                    }
                    Sleep(0x01f4)
                    If(H8DR) {
                        \_SB_.PCI0.ISA0.EC0_.I2CW
                        0x0
                        0x40
                        0x5
                        0xc
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x0c05, S_CX)
                        SMPI
                        0x81
                        Release(MSMI)
                    }
                    Store(0xff, DOID)
                }
            }
            Method(_EJ4, 1) {
                Noop
            }
            Event(CNCT)
            Event(EJT0)
            Method(_DCK, 1) {
                If(Arg0) {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x8231, S_BX)
                    Store(0xf012, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                    Store(0x0, PCIE)
                    Sleep(0x012c)
                    Store(0xff, DOID)
                    MPCI
                    0x8000203e
                    0xff
                    0x40
                    Sleep(0x64)
                    MPCI
                    0x8000203e
                    0xbf
                    0x0
                    Sleep(0x012c)
                    PPEN
                    If(W98F) {
                        MPCI
                        0x80002004
                        0xff
                        0x7
                    }
                    Store(Zero, \_SB_.PCI0.XPLD)
                    Store(0x6, \_SB_.PCI0.ISA0.P21E)
                    If(W98F) {
                        _REG
                        0x2
                        0x1
                    }
                    Reset(CNCT)
                    If(H8DR) {
                        Store(\_SB_.PCI0.ISA0.EC0_.I2CW, 0x0)
                        0x40
                        0x5
                        0x84
                        Local0
                        If(LEqual(And(Local0, 0x8000, ), 0x8000)) {
                            Return(0x0)
                        }
                        Stall(0xfa)
                        Stall(0xfa)
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x8405, S_CX)
                        SMPI
                        0x81
                        Store(S_AH, Local0)
                        Release(MSMI)
                        If(Local0) {
                            Return(0x0)
                        }
                    }
                    Wait(CNCT, 0xffff)
                    If(LOr(LEqual(GDID, 0x9f), LEqual(GDID, 0x7f))) {
                        \_SB_.PCI0.ISA0.EC0_.MUTE
                        One
                    }
                    Return(0x1)
                }
                Else {
                    If(W98F) {
                        _REG
                        0x2
                        0x0
                    }
                    Reset(EJT0)
                    If(H8DR) {
                        Store(\_SB_.PCI0.ISA0.EC0_.I2CW, 0x0)
                        0x40
                        0x5
                        0x85
                        Local0
                        If(LEqual(And(Local0, 0x8000, ), 0x8000)) {
                            Return(0x0)
                        }
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x8505, S_CX)
                        SMPI
                        0x81
                        Store(S_AH, Local0)
                        Release(MSMI)
                        If(Local0) {
                            Return(0x0)
                        }
                    }
                    Wait(EJT0, 0xffff)
                    Store(One, \_SB_.PCI0.XPLD)
                    Store(0x7, \_SB_.PCI0.ISA0.P21E)
                    Store(0x1, PCIE)
                    Store(0xff, DOID)
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x8231, S_BX)
                    Store(0xf000, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                    \_SB_.PCI0.ISA0.EC0_.MUTE
                    Zero
                    Return(0x1)
                }
            }
            Name(DOID, 0xff)
            Method(GDID) {
                If(LEqual(DOID, 0xff)) {
                    If(LAnd(W98F, PCIE)) {
                        Store(0x0, DOID)
                    }
                    Else {
                        Store(RDID, DOID)
                    }
                }
                Return(DOID)
            }
            Method(RDID) {
                If(H8DR) {
                    Store(0x0, Local0)
                    Store(0x1, Local2)
                    While(LAnd(LLess(Local0, 0x10), Local2)) {
                        Store(\_SB_.PCI0.ISA0.EC0_.I2CR, Zero)
                        0x40
                        0x0
                        Local1
                        If(LAnd(LNot(LEqual(Local1, 0x8080)), LNot(LEqual=
(Local1, 0x8018)))) {
                            If(LEqual(And(Local1, 0x8000, ), 0x8000)) {
                                Store(0x0, Local1)
                                Store(0x0, Local2)
                            }
                            Else {
                                If(LAnd(LNot(LGreater(Local1, 0x9f)), LNo=
t(LLess(Local1, 0x5f)))) {
                                    Store(0x0, Local2)
                                }
                                Else {
                                    Store(0x0, Local1)
                                    Store(0x0, Local2)
                                }
                            }
                        }
                        Increment(Local0)
                    }
                    If(Local2) {
                        Store(0x0, Local1)
                    }
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x9012, S_BX)
                    Store(0x0, S_CX)
                    SMPI
                    0x81
                    Store(S_AH, Local0)
                    Store(S_CH, Local1)
                    Release(MSMI)
                    If(Local0) {
                        Store(0x0, Local1)
                    }
                    Else {
                        If(LOr(LGreater(Local1, 0x9f), LLess(Local1, 0x5f=
))) {
                            Store(0x0, Local1)
                        }
                    }
                }
                If(LNot(Local1)) {
                    Store(0x1, PCIE)
                }
                Return(Local1)
            }
            Method(RDSR) {
                If(LOr(LGreater(GDID, 0x9f), LLess(GDID, 0x7f))) {
                    Return(0x0)
                }
                If(H8DR) {
                    Store(0x10, Local0)
                    Store(0x0, Local1)
                    Store(0x0, Local2)
                    Store(0x0, Local3)
                    Store(0x0, Local4)
                    While(Local0) {
                        Store(\_SB_.PCI0.ISA0.EC0_.I2CR, Zero)
                        0x51
                        Local2
                        Local1
                        If(LAnd(LNot(LEqual(Local1, 0x8080)), LNot(LEqual=
(Local1, 0x8018)))) {
                            If(LEqual(And(Local1, 0x8000, ), 0x8000)) {
                                Return(0x0)
                            }
                            Else {
                                If(LNot(LGreater(Local2, 0x3))) {
                                    Or(Local3, ShiftLeft(Local1, Multiply=
(Local2, 0x8, ), ), Local3)
                                    Add(Local4, Local1, Local4)
                                    Store(0x10, Local0)
                                    Increment(Local2)
                                }
                                Else {
                                    If(LEqual(Local2, 0x4)) {
                                        If(LNot(And(Add(Local4, Local1, )=
, 0xff, ))) {
                                            Return(Local3)
                                        }
                                        Else {
                                            Return(0x0)
                                        }
                                    }
                                }
                            }
                        }
                        Decrement(Local0)
                    }
                    Return(0x0)
                }
                Else {
                    Store(0x10, Local0)
                    Store(0x0, Local1)
                    Store(0x0, Local2)
                    Store(0x0, Local3)
                    Store(0x0, Local4)
                    Store(0x0, Local5)
                    While(Local0) {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9001, S_BX)
                        Store(0x4, S_CX)
                        SMPI
                        0x81
                        Store(S_AH, Local1)
                        Store(SEDI, Local2)
                        Release(MSMI)
                        If(LEqual(Local1, 0x0)) {
                            Acquire(MSMI, 0xffff)
                            Store(0x5381, S_AX)
                            Store(0x9001, S_BX)
                            Store(0x0401, S_CX)
                            SMPI
                            0x81
                            Store(S_AH, Local1)
                            Store(EDI1, Local3)
                            Release(MSMI)
                            If(LEqual(Local1, 0x0)) {
                                Store(0x4, Local0)
                                Store(Local2, Local5)
                                While(Local0) {
                                    Add(Local4, And(Local5, 0xff, ), Loca=
l4)
                                    ShiftRight(Local5, 0x8, Local5)
                                    Decrement(Local0)
                                }
                                If(LNot(And(Add(Local3, Local4, ), 0xff, =
))) {
                                    Return(Local2)
                                }
                                Else {
                                    Return(0x0)
                                }
                            }
                        }
                        Decrement(Local0)
                    }
                    Return(0x0)
                }
            }
            Method(GMGP) {
                Store(GDID, Local0)
                If(LEqual(Local0, 0x9f)) {
                    Store(0x1, Local1)
                }
                Else {
                    If(LEqual(Local0, 0x8f)) {
                        Store(0x1, Local1)
                    }
                    Else {
                        If(LEqual(Local0, 0x7f)) {
                            Store(0x1, Local1)
                        }
                        Else {
                            Store(0x0, Local1)
                        }
                    }
                }
                Return(Local1)
            }
            Method(SDCM) {
                If(LEqual(PCIE, 0x1)) {
                    Return(0x0)
                }
                Store(0x0, Local0)
                Or(Local0, \_SB_.PCI0.ISA0.FIR_.DRQD, Local0)
                Or(Local0, \_SB_.PCI0.ISA0.ECP_.DRQD, Local0)
                Or(Local0, \_SB_.PCI0.ISA0.FDC0.DRQD, Local0)
                Or(Local0, \_SB_.PCI0.ISA0.CS00.DRQD, Local0)
                Or(Local0, \_SB_.PCI0.ISA0.MWV0.DRQD, Local0)
                XOr(Local0, 0xff, KNDM)
            }
            Method(DPTS, 1) {
                If(LAnd(LNot(LGreater(Arg0, 0x4)), LNot(LLess(Arg0, 0x1))=
)) {
                    If(PCIE) {
                        Store(0x0, DOID)
                    }
                    If(GDID) {
                        If(H8DR) {
                            Store(One, \_SB_.PCI0.ISA0.EC0_.HWDK)
                        }
                        Else {
                            WBEC
                            0x32
                            Or(RBEC, 0x32, 0x8)
                            Zero
                        }
                    }
                    If(H8DR) {
                        And(\_SB_.PCI0.ISA0.EC0_.HAM6, 0x7f, \_SB_.PCI0.I=
SA0.EC0_.HAM6)
                    }
                    Else {
                        WBEC
                        0x16
                        And(RBEC, 0x16, 0x7f)
                        Zero
                    }
                    If(W98F) {
                        If(LAnd(LNot(LLess(GDID, 0x7f)), LNot(LGreater(GD=
ID, 0x9f)))) {
                            \_SB_.PCI0.DOCK.IDE1.SAVE
                        }
                    }
                    If(LEqual(Arg0, 0x3)) {
                        DOFF
                    }
                    If(LEqual(Arg0, 0x4)) {
                        If(WNTF) {
                            \_SB_.PCI0.DOCK.IDE1.EDEC
                        }
                    }
                }
            }
            Method(DWAK, 1) {
                If(LAnd(LNot(LGreater(Arg0, 0x4)), LNot(LLess(Arg0, 0x1))=
)) {
                    If(LOr(LEqual(Arg0, 0x4), LEqual(Arg0, 0x3))) {
                        Store(Zero, Local0)
                        If(PCIE) {
                            Store(One, Local0)
                            Store(Zero, PCIE)
                            Sleep(0x012c)
                        }
                        Store(0x31, KNPC)
                        If(Local0) {
                            Store(One, PCIE)
                        }
                    }
                    If(H8DR) {
                        Or(\_SB_.PCI0.ISA0.EC0_.HAM6, 0x80, \_SB_.PCI0.IS=
A0.EC0_.HAM6)
                    }
                    Else {
                        WBEC
                        0x16
                        Or(RBEC, 0x16, 0x80)
                        Zero
                    }
                    If(GDID) {
                        If(RDID) {
                            Store(\_SB_.PCI0.ISA0.EC0_.I2CR, 0x0)
                            0x40
                            0x4
                            Local1
                            If(LEqual(Arg0, 0x3)) {
                                DON_
                            }
                            If(W98F) {
                                Store(0x13, KND0)
                                MPCI
                                0x80002004
                                0xff
                                0x7
                                If(LAnd(LNot(LLess(GDID, 0x7f)), LNot(LGr=
eater(GDID, 0x9f)))) {
                                    \_SB_.PCI0.DOCK.IDE1.RSTR
                                }
                            }
                            If(And(DFLG, 0x1, )) {
                                If(LEqual(And(Local1, 0xf0, ), 0x20)) {
                                    Or(DFLG, 0x4, DFLG)
                                    \_SB_.HKEY.MHKQ
                                    0x2304
                                    If(W98F) {
                                        Notify(\_SB_.PCI0.DOCK, 0x1)
                                    }
                                    Else {
                                        Notify(\_SB_.PCI0.DOCK, 0x3)
                                    }
                                }
                                And(DFLG, 0xfffffffe, DFLG)
                            }
                        }
                        Else {
                            Store(0xff, DOID)
                            Notify(\_SB_.PCI0.DOCK, 0x0)
                        }
                    }
                    Else {
                        If(RDID) {
                            Store(0xff, DOID)
                            Notify(\_SB_.PCI0.DOCK, 0x0)
                        }
                    }
                    If(H8DR) {
                        Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWDK)
                    }
                    Else {
                        WBEC
                        0x32
                        And(RBEC, 0x32, 0xf7)
                        Zero
                    }
                }
            }
            Method(DON_) {
                If(LNot(GDID)) {
                    Return(0x0)
                }
                If(H8DR) {
                    Store(\_SB_.PCI0.ISA0.EC0_.I2CR, 0x0)
                    0x40
                    0x2
                    Local0
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x9012, S_BX)
                    Store(0x2, S_CX)
                    SMPI
                    0x81
                    Store(S_CH, Local0)
                    Release(MSMI)
                }
                If(And(Local0, 0x80, )) {
                    Return(0x0)
                }
                MPCI
                0x8000203e
                0xff
                0x40
                Sleep(0x64)
                MPCI
                0x8000203e
                0xbf
                0x0
                Sleep(0x012c)
                PPEN
                If(W98F) {
                    MPCI
                    0x80002004
                    0xff
                    0x7
                }
                If(W98F) {
                    _REG
                    0x2
                    0x1
                }
                If(H8DR) {
                    \_SB_.PCI0.ISA0.EC0_.I2CW
                    0x0
                    0x40
                    0x5
                    0x4
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x9012, S_BX)
                    Store(0x0405, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                }
                Store(0x0, Local0)
                Store(0x10, Local1)
                While(LAnd(LNot(And(Local0, 0x80, )), Local1)) {
                    Sleep(0x1)
                    If(H8DR) {
                        Store(\_SB_.PCI0.ISA0.EC0_.I2CR, 0x0)
                        0x40
                        0x2
                        Local0
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x2, S_CX)
                        SMPI
                        0x81
                        Store(S_CH, Local0)
                        Release(MSMI)
                    }
                    Decrement(Local1)
                }
            }
            Method(DOFF) {
                If(LNot(GDID)) {
                    Return(0x0)
                }
                If(H8DR) {
                    Store(\_SB_.PCI0.ISA0.EC0_.I2CR, 0x0)
                    0x40
                    0x2
                    Local0
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x9012, S_BX)
                    Store(0x2, S_CX)
                    SMPI
                    0x81
                    Store(S_CH, Local0)
                    Release(MSMI)
                }
                If(LNot(And(Local0, 0x80, ))) {
                    Return(0x0)
                }
                If(LOr(LEqual(GDID, 0x6f), LEqual(GDID, 0x5f))) {
                    If(H8DR) {
                        \_SB_.PCI0.ISA0.EC0_.I2CW
                        0x0
                        0x40
                        0x5
                        0x56
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x5605, S_CX)
                        SMPI
                        0x81
                        Release(MSMI)
                    }
                }
                If(H8DR) {
                    \_SB_.PCI0.ISA0.EC0_.I2CW
                    0x0
                    0x40
                    0x5
                    0x5
                }
                Else {
                    Acquire(MSMI, 0xffff)
                    Store(0x5381, S_AX)
                    Store(0x9012, S_BX)
                    Store(0x0505, S_CX)
                    SMPI
                    0x81
                    Release(MSMI)
                }
                Store(0x80, Local0)
                Store(0x10, Local1)
                While(LAnd(And(Local0, 0x80, ), Local1)) {
                    Sleep(0x1)
                    If(H8DR) {
                        Store(\_SB_.PCI0.ISA0.EC0_.I2CR, 0x0)
                        0x40
                        0x2
                        Local0
                    }
                    Else {
                        Acquire(MSMI, 0xffff)
                        Store(0x5381, S_AX)
                        Store(0x9012, S_BX)
                        Store(0x2, S_CX)
                        SMPI
                        0x81
                        Store(S_CH, Local0)
                        Release(MSMI)
                    }
                    Decrement(Local1)
                }
            }
            Method(PPEN) {
                If(W98F) {
                    WPCI
                    0x80002019
                    SPCI
                    WPCI
                    0x8000201a
                    0xd
                    WPCI
                    0x8000201c
                    0xf0
                    WPCI
                    0x8000201d
                    0x0
                    WPCI
                    0x80002020
                    0xf0
                    WPCI
                    0x80002021
                    0xff
                    WPCI
                    0x80002022
                    0x0
                    WPCI
                    0x80002023
                    0x0
                    WPCI
                    0x80002024
                    0xf0
                    WPCI
                    0x80002025
                    0xff
                    WPCI
                    0x80002026
                    0x0
                    WPCI
                    0x80002027
                    0x0
                }
                WPCI
                0x8000200c
                0x8
                WPCI
                0x8000200d
                0xa8
                WPCI
                0x8000201b
                0xb0
                Store(0x31, KNPC)
                Store(0x13, KND0)
                Store(0x1f, KNB0)
                Store(0x0, KNWC)
                Store(0x0, KNT0)
                Store(0x0, KNT1)
                Store(0x0, KNRC)
                Store(0x21, KNAC)
                Store(0xfff0, KNNB)
                Store(0x0, KNNL)
                If(LNot(LLess(RPCI, 0x80002008))) {
                    0x9
                    Store(0x17, KNB1)
                }
                Else {
                    Store(0x1f, KNB1)
                }
                Store(0x91, KNMC)
                If(LNot(LLess(RPCI, 0x80002008))) {
                    0x7
                    Or(KNMC, 0x4000, KNMC)
                }
                SDCM
            }
            Method(LTCY) {
                Store(GDID, Local0)
                Or(0x80000000, ShiftLeft(RPCI, 0x80002019, 0x10), )
                Local1
                If(LEqual(Local0, 0x7f)) {
                    WPCI
                    Or(Local1, 0x010d, )
                    0x30
                    WPCI
                    Or(Local1, 0x020d, )
                    0x30
                    LDEV
                    0x1
                    LCBS
                    0x2
                    LDEV
                    0x4
                    LDEV
                    0x5
                    LDEV
                    0x6
                }
                If(LEqual(Local0, 0x9f)) {
                    WPCI
                    Or(Local1, 0x010d, )
                    0x20
                    LDEV
                    0x1
                    LCBS
                    0x2
                    LDEV
                    0x4
                    LDEV
                    0x5
                    LDEV
                    0x6
                }
                If(LEqual(Local0, 0x8f)) {
                    WPCI
                    Or(Local1, 0x010d, )
                    0x20
                    LDEV
                    0x1
                    LCBS
                    0x2
                    LDEV
                    0x3
                }
                If(LEqual(Local0, 0x5f)) {
                    LDEV
                    0x1
                    LCBS
                    0x2
                }
                If(LEqual(Local0, 0x6f)) {
                    LCBS
                    0x2
                }
            }
            Method(LDEV, 1) {
                Or(0x80000000, ShiftLeft(RPCI, 0x80002019, 0x10), )
                Local0
                Or(Local0, ShiftLeft(Arg0, 0xb, ), Local0)
                Store(0x0, Local1)
                While(LLess(Local1, 0x8)) {
                    Or(Local0, ShiftLeft(Local1, 0x8, ), Local2)
                    Store(RPCI, Or(Local2, 0x2, ))
                    Local3
                    Store(RPCI, Or(Local2, 0x3, ))
                    Local4
                    If(LOr(LNot(LEqual(Local3, 0xff)), LNot(LEqual(Local4=
, 0xff)))) {
                        Store(RPCI, Or(Local2, 0xe, ))
                        Local5
                        If(LNot(Local5)) {
                            Store(RPCI, Or(Local2, 0x3e, ))
                            Local6
                            If(LNot(LGreater(Local6, 0x8))) {
                                Store(0x40, Local7)
                            }
                            Else {
                                If(LNot(LGreater(Local6, 0x1f))) {
                                    Store(Multiply(Local6, 0x8, ), Local7=
)
                                }
                                Else {
                                    Store(0xd0, Local7)
                                }
                            }
                            WPCI
                            Or(Local2, 0xd, )
                            Local7
                            WPCI
                            Or(Local2, 0xc, )
                            0x8
                        }
                    }
                    Increment(Local1)
                }
            }
            Method(LCBS, 1) {
                Or(0x80000000, ShiftLeft(RPCI, 0x80002019, 0x10), )
                Local0
                Or(Local0, ShiftLeft(Arg0, 0xb, ), Local0)
                Store(0x0, Local1)
                While(LLess(Local1, 0x2)) {
                    Or(Local0, ShiftLeft(Local1, 0x8, ), Local2)
                    WPCI
                    Or(Local2, 0xd, )
                    0xa8
                    WPCI
                    Or(Local2, 0xc, )
                    0x8
                    WPCI
                    Or(Local2, 0x1b, )
                    0xb0
                    Increment(Local1)
                }
            }
            Device(ISA1) {
                Name(_ADR, 0x0)
                OperationRegion(X000, PCI_Config, 0x0, 0x0100)
                Field(X000, DWordAcc, NoLock, Preserve) {
                    Offset(0x4c),
                    IORT,	8,
                    Offset(0x4e),
                    XBCS,	16,
                    Offset(0x60),
                    PRQA,	8,
                    PRQB,	8,
                    PRQC,	8,
                    PRQD,	8,
                    SIRQ,	8,
                    Offset(0x69),
                    TOM_,	8,
                    MSTA,	16,
                    Offset(0x70),
                    MBQ0,	8,
                    MBQ1,	8,
                    MBQ2,	8,
                    MBQ3,	8,
                    MBQ4,	8,
                    MBQ5,	8,
                    DMA0,	8,
                    DMA1,	8,
                    Offset(0x80),
                    APIC,	8,
                    Offset(0x82),
                    DLC_,	8,
                    Offset(0x90),
                    DMAC,	16,
                    Offset(0xa0),
                    SMIC,	8,
                    Offset(0xa2),
                    SMIE,	16,
                    SEE_,	32,
                    FOT_,	8,
                    Offset(0xaa),
                    SREQ,	16,
                    SCKL,	8,
                    Offset(0xae),
                    SCKH,	8,
                    Offset(0xb0),
                    GENC,	32,
                    Offset(0xcb),
                    RTCC,	8
                }
                Method(_STA) {
                    Store(\_SB_.PCI0.DOCK.GDID, Local0)
                    If(LAnd(LNot(LGreater(Local0, 0x9f)), LNot(LLess(Loca=
l0, 0x7f)))) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Method(DREG, 2) {
                    Store(GDID, Local0)
                    If(Local0) {
                        If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1))) {
                            If(LEqual(Local0, 0x7f)) {
                                Or(And(IORT, 0x0, ), 0x5, IORT)
                                Or(And(XBCS, 0xf800, ), 0x0400, XBCS)
                                Or(And(PRQA, 0x70, ), 0x80, PRQA)
                                Or(And(PRQB, 0x70, ), 0x80, PRQB)
                                Or(And(PRQC, 0x70, ), 0x80, PRQC)
                                Or(And(PRQD, 0x70, ), 0x80, PRQD)
                                Or(And(SIRQ, 0x0, ), 0x90, SIRQ)
                                Or(And(TOM_, 0x1, ), 0xfa, TOM_)
                                Or(And(MSTA, 0x7f7f, ), 0x8080, MSTA)
                                Or(And(DMA0, 0x78, ), 0x4, DMA0)
                                Or(And(DMA1, 0x78, ), 0x4, DMA1)
                                Or(And(APIC, 0x80, ), 0x0, APIC)
                                Or(And(DLC_, 0xf0, ), 0x0, DLC_)
                                Or(And(DMAC, 0x0300, ), 0x0, DMAC)
                                Or(And(GENC, 0x04002080, ), 0x1001c90d, G=
ENC)
                                Or(And(RTCC, 0xc2, ), 0x25, RTCC)
                            }
                            Else {
                                If(LOr(LEqual(Local0, 0x8f), LEqual(Local=
0, 0x9f))) {
                                    Store(0x80, IORT)
                                    Store(0x0, XBCS)
                                    Store(0x80, PRQA)
                                    Store(0x80, PRQB)
                                    Store(0x80, PRQC)
                                    Store(0x80, PRQD)
                                    Store(0xfa, TOM_)
                                    Store(0x80, MBQ1)
                                    Store(0x80, MBQ2)
                                    Store(0x80, MBQ3)
                                    Store(0x80, MBQ4)
                                    Store(0x80, MBQ5)
                                    Store(0x4, DMA0)
                                    Store(0x4, DMA1)
                                    Store(0x88, SMIC)
                                    Store(0x0, SMIE)
                                    Store(0x0, SEE_)
                                    Store(0x0, FOT_)
                                    Store(0x0, SREQ)
                                    Store(0x0, SCKL)
                                    Store(0x0, SCKH)
                                }
                            }
                        }
                    }
                }
            }
            Device(IDE1) {
                Name(_ADR, 0x1)
                OperationRegion(X140, PCI_Config, 0x40, 0x10)
                Field(X140, DWordAcc, NoLock, Preserve) {
                    Offset(0x2),
                    XTT0,	1,
                    XTI0,	1,
                    XTP0,	1,
                    XTD0,	1,
                    XTT1,	1,
                    XTI1,	1,
                    XTP1,	1,
                    XTD1,	1,
                    XTRT,	2,
                    ,	2,
                    XTIS,	2,
                    XTSE,	1,
                    XTE_,	1,
                    ,	4,
                    XWRT,	2,
                    XWIS,	2,
                    Offset(0x8),
                    XFP0,	1,
                    XFP1,	1,
                    XFS0,	1,
                    XFS1,	1,
                    Offset(0x9),
                    Offset(0xa),
                    XVP0,	2,
                    ,	2,
                    XVP1,	2,
                    Offset(0xb),
                    XVS0,	2,
                    ,	2,
                    XVS1,	2,
                    Offset(0xc)
                }
                Method(DREG, 2) {
                    If(LEqual(Arg0, 0x2)) {
                        Store(GDID, Local0)
                        If(LAnd(LAnd(DIDE, \_SB_.PCI0.ISA0.GCR4), Arg1)) =
{
                            If(LAnd(LNot(LLess(Local0, 0x7f)), LNot(LGrea=
ter(Local0, 0x9f)))) {
                                Store(0x7, IRQS)
                                Store(0x1, IRQE)
                                Store(0x1, DASD)
                                If(LOr(LEqual(Local0, 0x8f), LEqual(Local=
0, 0x9f))) {
                                    Store(0xf, \_SB_.PCI0.DOCK.ISA1.MBQ0)=

                                    Or(\_SB_.PCI0.DOCK.ISA1.MSTA, 0x4, \_=
SB_.PCI0.DOCK.ISA1.MSTA)
                                }
                                Store(0x1, XTE_)
                                If(W98F) {
                                    Or(ShiftLeft(RPCI, 0x80002019, 0x10),=
 Zero, 0x80000100)
                                    Local1
                                    WPCI
                                    Or(Local1, 0xd, )
                                    0x20
                                    WPCI
                                    Or(Local1, 0x20, )
                                    0xe1
                                    WPCI
                                    Or(Local1, 0x21, )
                                    0xfc
                                    MPCI
                                    Or(Local1, 0x4, )
                                    0xff
                                    0x5
                                }
                            }
                        }
                        Else {
                            If(LAnd(LNot(LLess(Local0, 0x7f)), LNot(LGrea=
ter(Local0, 0x9f)))) {
                                Store(0x0, XTE_)
                                If(W98F) {
                                    Or(ShiftLeft(RPCI, 0x80002019, 0x10),=
 Zero, 0x80000100)
                                    Local1
                                    MPCI
                                    Or(Local1, 0x4, )
                                    0xfa
                                    0x0
                                }
                                Store(0x0, IRQE)
                                Store(0x0, DASD)
                                If(LOr(LEqual(Local0, 0x8f), LEqual(Local=
0, 0x9f))) {
                                    Store(0x80, \_SB_.PCI0.DOCK.ISA1.MBQ0=
)
                                    And(\_SB_.PCI0.DOCK.ISA1.MSTA, 0xfffb=
, \_SB_.PCI0.DOCK.ISA1.MSTA)
                                }
                            }
                        }
                    }
                }
                Method(EDEC) {
                    If(LAnd(DIDE, \_SB_.PCI0.ISA0.GCR4)) {
                        Store(GDID, Local0)
                        If(LAnd(LNot(LLess(Local0, 0x7f)), LNot(LGreater(=
Local0, 0x9f)))) {
                            If(LOr(LEqual(Local0, 0x8f), LEqual(Local0, 0=
x9f))) {
                                Or(\_SB_.PCI0.DOCK.ISA1.MSTA, 0x4, \_SB_.=
PCI0.DOCK.ISA1.MSTA)
                            }
                            Store(0x1, XTE_)
                            Store(0x1, DASD)
                        }
                    }
                }
                Method(_STA) {
                    If(\_SB_.PCI0.ISA0.GCR4) {
                        Store(\_SB_.PCI0.DOCK.GDID, Local0)
                        If(LEqual(Local0, 0x9f)) {
                            Store(0xf, Local1)
                        }
                        Else {
                            If(LEqual(Local0, 0x8f)) {
                                Store(0xf, Local1)
                            }
                            Else {
                                If(LEqual(Local0, 0x7f)) {
                                    Store(0xf, Local1)
                                }
                                Else {
                                    Store(0x0, Local1)
                                }
                            }
                        }
                    }
                    Else {
                        Store(0x0, Local1)
                    }
                    Return(Local1)
                }
                Name(CMND, 0x0)
                Name(BMA0, 0x0)
                Name(BMA1, 0x0)
                Method(SAVE) {
                    Or(ShiftLeft(RPCI, 0x80002019, 0x10), Zero, 0x8000010=
0)
                    Local1
                    Store(RPCI, Or(Local1, 0x4, ))
                    CMND
                    Store(RPCI, Or(Local1, 0x20, ))
                    BMA0
                    Store(RPCI, Or(Local1, 0x21, ))
                    BMA1
                }
                Method(RSTR) {
                    Or(ShiftLeft(RPCI, 0x80002019, 0x10), Zero, 0x8000010=
0)
                    Local1
                    WPCI
                    Or(Local1, 0x20, )
                    BMA0
                    WPCI
                    Or(Local1, 0x21, )
                    BMA1
                    WPCI
                    Or(Local1, 0x4, )
                    CMND
                }
                Device(IDED) {
                    Name(_ADR, 0x1)
                    Method(_GTM) {
                        Subtract(0x5, XTIS, Local0)
                        Subtract(0x4, XTRT, Local1)
                        Add(Local0, Local1, Local0)
                        Multiply(0x1e, Local0, Local0)
                        If(LGreater(Local0, 0xf0)) {
                            Store(0x0384, Local0)
                        }
                        If(XFS0) {
                            Store(0x11, Local4)
                            If(LEqual(XVS0, 0x0)) {
                                Store(0x78, Local1)
                            }
                            Else {
                                If(LEqual(XVS0, 0x1)) {
                                    Store(0x50, Local1)
                                }
                                Else {
                                    Store(0x3c, Local1)
                                }
                            }
                        }
                        Else {
                            Store(0x10, Local4)
                            Store(Local0, Local1)
                        }
                        If(XTI0) {
                            Or(Local4, 0x2, Local4)
                        }
                        If(XTSE) {
                            Subtract(0x5, XWIS, Local2)
                            Subtract(0x4, XWRT, Local3)
                            Add(Local2, Local3, Local2)
                            Multiply(0x1e, Local2, Local2)
                            If(LGreater(Local2, 0xf0)) {
                                Store(0x0384, Local2)
                            }
                            If(XVS1) {
                                Or(Local4, 0x4, Local4)
                                If(LEqual(XVS1, 0x0)) {
                                    Store(0x78, Local3)
                                }
                                Else {
                                    If(LEqual(XVS1, 0x1)) {
                                        Store(0x50, Local3)
                                    }
                                    Else {
                                        Store(0x3c, Local3)
                                    }
                                }
                            }
                            Else {
                                Store(Local2, Local3)
                            }
                            If(XTI1) {
                                Or(Local4, 0x8, Local4)
                            }
                        }
                        Else {
                            Store(0x0, Local2)
                            Store(0x0, Local3)
                        }
                        Store(Local0, GTP0)
                        Store(Local1, GTD0)
                        Store(Local2, GTP1)
                        Store(Local3, GTD1)
                        Store(Local4, GTMF)
                        Return(BGTM)
                    }
                    Method(_STM, 3) {
                        CreateDWordField(Arg0, 0x0, STP0)
                        CreateDWordField(Arg0, 0x4, STD0)
                        CreateDWordField(Arg0, 0x8, STP1)
                        CreateDWordField(Arg0, 0xc, STD1)
                        CreateDWordField(Arg0, 0x10, STMF)
                        If(LEqual(GDID, 0x7f)) {
                            If(Sizeof(Arg1)) {
                                CreateWordField(Arg1, 0x1, DM00)
                                If(DM00) {
                                    Store(One, Local5)
                                }
                                Else {
                                    Store(Zero, Local5)
                                }
                            }
                            Else {
                                Store(Zero, Local5)
                            }
                            If(Local5) {
                                If(W98F) {
                                    CreateWordField(Arg1, 0x66, DM51)
                                    CreateWordField(Arg1, 0x6a, DM53)
                                    CreateWordField(Arg1, 0x7c, DM62)
                                    CreateWordField(Arg1, 0x7e, DM63)
                                    CreateWordField(Arg1, 0x80, DM64)
                                    CreateWordField(Arg1, 0x82, DM65)
                                    CreateWordField(Arg1, 0x88, DM68)
                                    CreateWordField(Arg1, 0xb0, DM88)
                                    Store(UDMA, DM53)
                                    DM88
                                    Local0
                                    Store(MDMA, DM53)
                                    DM63
                                    DM62
                                    DM65
                                    Local1
                                    Store(MPIO, DM53)
                                    DM64
                                    DM51
                                    DM68
                                    Local2
                                    Store(MPI4, Local1)
                                    Local2
                                    Local3
                                }
                                Else {
                                    Store(MPIB, And(STMF, 0x2, ))
                                    STP0
                                    Local2
                                    Store(UDMB, And(STMF, 0x1, ))
                                    STD0
                                    Local0
                                    Store(MP4B, Local2)
                                    Local3
                                    Store(Local3, Local1)
                                }
                                Store(And(DM00, 0x80, ), IDKM)
                                Store(MTIM, Local3)
                                Local2
                                And(DM00, 0x80, )
                                Local4
                                If(And(Local4, 0x1, )) {
                                    Store(One, XTT0)
                                }
                                If(And(Local4, 0x2, )) {
                                    Store(One, XTI0)
                                }
                                If(And(Local4, 0x4, )) {
                                    Store(One, XTP0)
                                }
                                If(And(Local4, 0x8, )) {
                                    Store(One, XTD0)
                                }
                                Store(MISP, Local3)
                                XTIS
                                Store(MRTC, Local3)
                                XTRT
                                If(Local0) {
                                    Store(One, XFS0)
                                    Store(MUCT, Local0)
                                    XVS0
                                }
                                Else {
                                    Store(Zero, XFS0)
                                    Store(Zero, XVS0)
                                }
                                Store(MHDM, Local0)
                                Local1
                                HDM2
                                Store(MHDM, Local0)
                                Local1
                                CDM2
                                Store(MHPI, Local2)
                                HPI2
                                Store(MHPI, Local2)
                                CPI2
                            }
                            If(Sizeof(Arg2)) {
                                CreateWordField(Arg2, 0x1, DS00)
                                If(DS00) {
                                    Store(One, Local5)
                                }
                                Else {
                                    Store(Zero, Local5)
                                }
                            }
                            Else {
                                Store(Zero, Local5)
                            }
                            If(Local5) {
                                If(W98F) {
                                    CreateWordField(Arg2, 0x66, DS51)
                                    CreateWordField(Arg2, 0x6a, DS53)
                                    CreateWordField(Arg2, 0x7c, DS62)
                                    CreateWordField(Arg2, 0x7e, DS63)
                                    CreateWordField(Arg2, 0x80, DS64)
                                    CreateWordField(Arg2, 0x82, DS65)
                                    CreateWordField(Arg2, 0x88, DS68)
                                    CreateWordField(Arg2, 0xb0, DS88)
                                    Store(UDMA, DS53)
                                    DS88
                                    Local0
                                    Store(MDMA, DS53)
                                    DS63
                                    DS62
                                    DS65
                                    Local1
                                    Store(MPIO, DS53)
                                    DS64
                                    DS51
                                    DS68
                                    Local2
                                    Store(MPI4, Local1)
                                    Local2
                                    Local3
                                }
                                Else {
                                    Store(MPIB, And(STMF, 0x8, ))
                                    STP1
                                    Local2
                                    Store(UDMB, And(STMF, 0x4, ))
                                    STD1
                                    Local0
                                    Store(MP4B, Local2)
                                    Local3
                                    Store(Local3, Local1)
                                }
                                Store(And(DS00, 0x80, ), IDKS)
                                Store(One, XTSE)
                                Store(MTIM, Local3)
                                Local2
                                And(DS00, 0x80, )
                                Local4
                                If(And(Local4, 0x1, )) {
                                    Store(One, XTT1)
                                }
                                If(And(Local4, 0x2, )) {
                                    Store(One, XTI1)
                                }
                                If(And(Local4, 0x4, )) {
                                    Store(One, XTP1)
                                }
                                If(And(Local4, 0x8, )) {
                                    Store(One, XTD1)
                                }
                                Store(MISP, Local3)
                                XWIS
                                Store(MRTC, Local3)
                                XWRT
                                If(Local0) {
                                    Store(One, XFS1)
                                    Store(MUCT, Local0)
                                    XVS1
                                }
                                Else {
                                    Store(Zero, XFS1)
                                    Store(Zero, XVS1)
                                }
                                Store(MHDM, Local0)
                                Local1
                                HDM3
                                Store(MHDM, Local0)
                                Local1
                                CDM3
                                Store(MHPI, Local2)
                                HPI3
                                Store(MHPI, Local2)
                                CPI3
                            }
                        }
                        Else {
                            Store(GDID, Local0)
                            If(LOr(LEqual(Local0, 0x8f), LEqual(Local0, 0=
x9f))) {
                                If(Sizeof(Arg1)) {
                                    CreateWordField(Arg1, 0x1, OM00)
                                    If(OM00) {
                                        Store(And(OM00, 0x80, ), IDKM)
                                        Store(0x1, Local4)
                                        If(W98F) {
                                            CreateWordField(Arg1, 0x66, O=
M51)
                                            CreateWordField(Arg1, 0x6a, O=
M53)
                                            CreateWordField(Arg1, 0x7c, O=
M62)
                                            CreateWordField(Arg1, 0x7e, O=
M63)
                                            CreateWordField(Arg1, 0x80, O=
M64)
                                            CreateWordField(Arg1, 0x82, O=
M65)
                                            CreateWordField(Arg1, 0x88, O=
M68)
                                            CreateWordField(Arg1, 0xb0, O=
M88)
                                            Store(MPIO, OM53)
                                            OM64
                                            OM51
                                            OM68
                                            Local1
                                        }
                                        Else {
                                            Store(MPIB, And(STMF, 0x2, ))=

                                            STP0
                                            Local1
                                        }
                                    }
                                    Store(0x0, Local1)
                                    Store(0x0, Local4)
                                }
                                Else {
                                    Store(0x0, Local1)
                                    Store(0x0, Local4)
                                }
                                If(Sizeof(Arg2)) {
                                    CreateWordField(Arg2, 0x1, OS00)
                                    If(OS00) {
                                        Store(And(OS00, 0x80, ), IDKS)
                                        Store(0x1, Local5)
                                        If(W98F) {
                                            CreateWordField(Arg2, 0x66, O=
S51)
                                            CreateWordField(Arg2, 0x6a, O=
S53)
                                            CreateWordField(Arg2, 0x7c, O=
S62)
                                            CreateWordField(Arg2, 0x7e, O=
S63)
                                            CreateWordField(Arg2, 0x80, O=
S64)
                                            CreateWordField(Arg2, 0x82, O=
S65)
                                            CreateWordField(Arg2, 0x88, O=
S68)
                                            CreateWordField(Arg2, 0xb0, O=
S88)
                                            Store(MPIO, OS53)
                                            OS64
                                            OS51
                                            OS68
                                            Local2
                                        }
                                        Else {
                                            Store(MPIB, And(STMF, 0x8, ))=

                                            STP0
                                            Local2
                                        }
                                    }
                                    Store(0x0, Local2)
                                    Store(0x0, Local5)
                                }
                                Else {
                                    Store(0x0, Local2)
                                    Store(0x0, Local5)
                                }
                                Store(MPIX, Local1)
                                Local2
                                Local3
                                If(Local4) {
                                    Store(MTIM, Local3)
                                    Local1
                                    And(OM00, 0x80, )
                                    Local4
                                }
                                If(Local5) {
                                    Store(MTIM, Local3)
                                    Local2
                                    And(OS00, 0x80, )
                                    Local5
                                }
                                If(And(Local4, 0x1, )) {
                                    Store(One, XTT0)
                                }
                                If(And(Local4, 0x2, )) {
                                    Store(One, XTI0)
                                }
                                If(And(Local4, 0x4, )) {
                                    Store(One, XTP0)
                                }
                                If(And(Local4, 0x8, )) {
                                    Store(One, XTD0)
                                }
                                If(And(Local5, 0x1, )) {
                                    Store(One, XTT1)
                                }
                                If(And(Local5, 0x2, )) {
                                    Store(One, XTI1)
                                }
                                If(And(Local5, 0x4, )) {
                                    Store(One, XTP1)
                                }
                                If(And(Local5, 0x8, )) {
                                    Store(One, XTD1)
                                }
                                Store(MISP, Local3)
                                XTIS
                                Store(MRTC, Local3)
                                XTRT
                                If(Local4) {
                                    Store(MDMA, OM53)
                                    OM63
                                    OM62
                                    OM65
                                    Local4
                                }
                                If(Local5) {
                                    Store(MDMA, OS53)
                                    OS63
                                    OS62
                                    OS65
                                    Local5
                                }
                                Store(MHDM, 0x0)
                                Local4
                                HDM2
                                Store(MHDM, 0x0)
                                Local4
                                CDM2
                                Store(MHPI, Local1)
                                HPI2
                                Store(MHPI, Local1)
                                CPI2
                                Store(MHDM, 0x0)
                                Local5
                                HDM3
                                Store(MHDM, 0x0)
                                Local5
                                CDM3
                                Store(MHPI, Local2)
                                HPI3
                                Store(MHPI, Local2)
                                CPI3
                            }
                        }
                    }
                    Method(_STA) {
                        If(XTE_) {
                            Return(0xf)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                    Device(IDTM) {
                        Name(_ADR, 0x0)
                        Method(_STA) {
                            If(XTE_) {
                                Return(0xf)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                        Method(_GTF) {
                            If(IDKM) {
                                Return(ICC2)
                            }
                            Else {
                                Return(ICM2)
                            }
                        }
                    }
                    Device(IDTS) {
                        Name(_ADR, 0x1)
                        Method(_STA) {
                            If(XTSE) {
                                Return(0xf)
                            }
                            Else {
                                Return(0x0)
                            }
                        }
                        Method(_GTF) {
                            If(IDKS) {
                                Return(ICC3)
                            }
                            Else {
                                Return(ICM3)
                            }
                        }
                    }
                }
            }
            Device(CBS2) {
                Name(_ADR, 0x00020000)
                OperationRegion(CBUS, PCI_Config, 0x0, 0x0100)
                Field(CBUS, DWordAcc, NoLock, Preserve) {
                    Offset(0x40),
                    SVID,	16,
                    SSID,	16,
                    LGDC,	32,
                    Offset(0x80),
                    SYSC,	32,
                    Offset(0x8b),
                    GPI3,	8,
                    IRQM,	32,
                    Offset(0x91),
                    CCTL,	8,
                    DCTL,	8,
                    DIAG,	8
                }
                Method(_STA) {
                    Store(\_SB_.PCI0.DOCK.GDID, Local0)
                    If(LAnd(LNot(LGreater(Local0, 0x9f)), LNot(LLess(Loca=
l0, 0x5f)))) {
                        Return(0xf)
                    }
                    Else {
                        If(LEqual(Local0, 0x20)) {
                            Return(0xf)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
                Method(DREG, 2) {
                    If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1))) {
                        If(GDID) {
                            ICFG
                        }
                    }
                }
                Method(ICFG) {
                    Store(GDID, Local0)
                    Store(GVER, Local0)
                    Local1
                    If(LNot(LLess(Local1, 0x2))) {
                        Store(0x0, LGDC)
                        Store(0x0, GPI3)
                        Store(0xfba97543, IRQM)
                        Store(0x2, CCTL)
                        Store(0x62, DCTL)
                        Store(0x60, DIAG)
                        If(LEqual(Local0, 0x20)) {
                            Store(0x0044c073, SYSC)
                        }
                        Else {
                            If(LOr(LEqual(Local0, 0x5f), LEqual(Local0, 0=
x6f))) {
                                Store(0x20449061, SYSC)
                            }
                            Else {
                                Store(0x28449061, SYSC)
                            }
                        }
                        And(SYSC, 0xffffffdf, SYSC)
                        Store(0x1014, SVID)
                        Store(0xbb, SSID)
                        Or(SYSC, 0x20, SYSC)
                    }
                    Else {
                        If(LEqual(Local1, 0x1)) {
                            Store(0x0, LGDC)
                            Store(0x2, CCTL)
                            Store(0x72, DCTL)
                            Store(0x0, DIAG)
                        }
                    }
                }
                Method(GVER, 1) {
                    If(LEqual(Arg0, 0x9f)) {
                        Store(0x1, Local0)
                    }
                    Else {
                        If(LEqual(Arg0, 0x8f)) {
                            Store(0x1, Local0)
                        }
                        Else {
                            If(LEqual(Arg0, 0x7f)) {
                                Store(0x2, Local0)
                            }
                            Else {
                                If(LEqual(Arg0, 0x6f)) {
                                    Store(0x2, Local0)
                                }
                                Else {
                                    If(LEqual(Arg0, 0x5f)) {
                                        Store(0x3, Local0)
                                    }
                                    Else {
                                        If(LEqual(Arg0, 0x20)) {
                                            Store(0x3, Local0)
                                        }
                                        Else {
                                            Store(0x0, Local0)
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Return(Local0)
                }
            }
            Device(CBS3) {
                Name(_ADR, 0x00020001)
                OperationRegion(CBUS, PCI_Config, 0x0, 0x0100)
                Field(CBUS, DWordAcc, NoLock, Preserve) {
                    Offset(0x40),
                    SVID,	16,
                    SSID,	16,
                    LGDC,	32,
                    Offset(0x80),
                    SYSC,	32,
                    Offset(0x8b),
                    GPI3,	8,
                    IRQM,	32,
                    Offset(0x91),
                    CCTL,	8,
                    DCTL,	8,
                    DIAG,	8
                }
                Method(_STA) {
                    Store(\_SB_.PCI0.DOCK.GDID, Local0)
                    If(LAnd(LNot(LGreater(Local0, 0x9f)), LNot(LLess(Loca=
l0, 0x5f)))) {
                        Return(0xf)
                    }
                    Else {
                        If(LEqual(Local0, 0x20)) {
                            Return(0xf)
                        }
                        Else {
                            Return(0x0)
                        }
                    }
                }
                Method(DREG, 2) {
                    If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1))) {
                        If(GDID) {
                            ICFG
                        }
                    }
                }
                Method(ICFG) {
                    Store(GDID, Local0)
                    Store(GVER, Local0)
                    Local1
                    If(LNot(LLess(Local1, 0x2))) {
                        Store(0x0, LGDC)
                        Store(0x0, GPI3)
                        Store(0xfba97543, IRQM)
                        Store(0x2, CCTL)
                        Store(0x62, DCTL)
                        Store(0x60, DIAG)
                        If(LEqual(Local0, 0x20)) {
                            Store(0x0044c073, SYSC)
                        }
                        Else {
                            If(LOr(LEqual(Local0, 0x5f), LEqual(Local0, 0=
x6f))) {
                                Store(0x20449061, SYSC)
                            }
                            Else {
                                Store(0x28449061, SYSC)
                            }
                        }
                        And(SYSC, 0xffffffdf, SYSC)
                        Store(0x1014, SVID)
                        Store(0xbb, SSID)
                        Or(SYSC, 0x20, SYSC)
                    }
                    Else {
                        If(LEqual(Local1, 0x1)) {
                            Store(0x0, LGDC)
                            Store(0x2, CCTL)
                            Store(0x72, DCTL)
                            Store(0x0, DIAG)
                        }
                    }
                }
                Method(GVER, 1) {
                    If(LEqual(Arg0, 0x9f)) {
                        Store(0x1, Local0)
                    }
                    Else {
                        If(LEqual(Arg0, 0x8f)) {
                            Store(0x1, Local0)
                        }
                        Else {
                            If(LEqual(Arg0, 0x7f)) {
                                Store(0x2, Local0)
                            }
                            Else {
                                If(LEqual(Arg0, 0x6f)) {
                                    Store(0x2, Local0)
                                }
                                Else {
                                    If(LEqual(Arg0, 0x5f)) {
                                        Store(0x3, Local0)
                                    }
                                    Else {
                                        If(LEqual(Arg0, 0x20)) {
                                            Store(0x3, Local0)
                                        }
                                        Else {
                                            Store(0x0, Local0)
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Return(Local0)
                }
            }
        }
    }
    Method(RBEC, 1) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x9180, S_BX)
        Store(0x0101, S_CX)
        Store(Arg0, ESI1)
        SMPI
        0x81
        Store(S_BL, Local7)
        Release(MSMI)
        Return(Local7)
    }
    Method(WBEC, 2) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x9181, S_BX)
        Store(0x2, S_CX)
        Store(Arg0, ESI1)
        Store(Arg1, ESI2)
        SMPI
        0x81
        Release(MSMI)
    }
    Method(RPCI, 1) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x90c1, S_BX)
        Store(0x0, S_CX)
        Store(Arg0, SESI)
        SMPI
        0x81
        Store(S_CL, Local7)
        Release(MSMI)
        Return(Local7)
    }
    Method(WPCI, 2) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x90c1, S_BX)
        Store(0x1, S_CH)
        Store(Arg0, SESI)
        Store(Arg1, S_CL)
        SMPI
        0x81
        If(S_AH) {
            Store(0x0, Local7)
        }
        Else {
            Store(0x1, Local7)
        }
        Release(MSMI)
        Return(Local7)
    }
    Method(MPCI, 3) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x90c1, S_BX)
        Store(0x2, S_CH)
        Store(Arg0, SESI)
        Store(Arg1, S_CL)
        Store(Arg2, S_DL)
        SMPI
        0x81
        Store(S_CL, Local7)
        Release(MSMI)
        Return(Local7)
    }
}
Method(\_PTS, 1) {
    If(LEqual(Arg0, \SPS_)) {
        Store(0x0, Local0)
    }
    Else {
        If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x6)))) {
            Store(0x0, Local0)
        }
        Else {
            Store(0x1, Local0)
        }
    }
    If(Local0) {
        Store(Arg0, \SPS_)
        SAVF
        \_SB_.HKEY.MHKE
        Zero
        If(LEqual(Arg0, 0x1)) {
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x9091, S_BX)
            SMPI
            0x81
            Release(MSMI)
            Store(One, BLEN)
        }
        If(LEqual(Arg0, 0x2)) {
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x9092, S_BX)
            SMPI
            0x81
            Release(MSMI)
            Store(One, BLEN)
            Store(One, \_SB_.PCI0.CREN)
        }
        If(LEqual(Arg0, 0x3)) {
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x9093, S_BX)
            SMPI
            0x81
            Release(MSMI)
            If(LEqual(\PVID.STAT, 0x0)) {
                \PVID._OFF
            }
            Store(One, BLEN)
            Store(Zero, \_SB_.PCI0.ISA0.EC0_.HCAC)
        }
        If(LEqual(Arg0, 0x4)) {
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x9094, S_BX)
            SMPI
            0x81
            Release(MSMI)
        }
        If(LEqual(Arg0, 0x5)) {
            If(W98F) {
                Acquire(MSMI, 0xffff)
                Store(0x5381, S_AX)
                Store(0x90c2, S_BX)
                Store(0x1, S_CX)
                SMPI
                0x81
                Release(MSMI)
            }
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x9095, S_BX)
            SMPI
            0x81
            Release(MSMI)
        }
        If(LNot(LEqual(Arg0, 0x5))) {
            Store(Zero, \_SB_.PCI0.ISA0.EC0_.HSPA)
            \_SB_.PCI0.DOCK.DPTS
            Arg0
            \_SB_.PCI0.ISA0.EC0_.BPTS
            Arg0
            \_SB_.PCI0.ISA0.EC0_.TPTS
            Arg0
            \_SB_.PCI0.ISA0.EC0_.SWAK
            Store(Zero, \_SB_.PCI0.ISA0.EC0_.WBAT)
        }
    }
}
Name(WAKI, Package(0x2) {
    0x0,
    0x0,
})
Method(\_WAK, 1) {
    If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x5)))) {
        Return(WAKI)
    }
    RSTF
    \_SB_.HKEY.MHKE
    One
    If(\_SB_.PCI0.ISA0.EC0_.WBAT) {
        Store(0x1, Index(WAKI, 0x0, ))
    }
    Else {
        Store(0x0, Index(WAKI, 0x0, ))
    }
    RSTR
    If(LEqual(Arg0, 0x1)) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x9099, S_BX)
        SMPI
        0x81
        Release(MSMI)
        \PVID._ON_
    }
    If(LEqual(Arg0, 0x2)) {
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x909a, S_BX)
        SMPI
        0x81
        Release(MSMI)
        \PVID._ON_
    }
    If(LEqual(Arg0, 0x3)) {
        If(W98F) {
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x90c2, S_BX)
            Store(0x0, S_CX)
            SMPI
            0x81
            Release(MSMI)
        }
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x909b, S_BX)
        SMPI
        0x81
        Release(MSMI)
        \PVID._ON_
        If(WNTF) {
            If(FDNS) {
                \_SB_.PCI0.ISA0.FDC0.SELD
                Zero
            }
            Else {
                \_SB_.PCI0.ISA0.FDC0.SELD
                One
            }
        }
        If(LNot(HDP2)) {
            If(\_SB_.PCI0.ISA0.GCR4) {
                Notify(\_SB_.PCI0.IDE0.IDEP.IDPS, 0x1)
            }
            Else {
                Notify(\_SB_.PCI0.IDE0.IDES.IDSM, 0x1)
            }
        }
    }
    If(LEqual(Arg0, 0x4)) {
        \_SB_.PCI0.ISA0.FDC0.SELD
        \_SB_.PCI0.ISA0.FDC0.FDD0._ADR
        If(W98F) {
            Acquire(MSMI, 0xffff)
            Store(0x5381, S_AX)
            Store(0x90c2, S_BX)
            Store(0x0, S_CX)
            SMPI
            0x81
            Release(MSMI)
        }
        Acquire(MSMI, 0xffff)
        Store(0x5381, S_AX)
        Store(0x909c, S_BX)
        SMPI
        0x81
        Release(MSMI)
        If(W98F) {
            Notify(\_SB_.SLPB, 0x2)
        }
    }
    If(W98F) {
        Notify(\_SB_.PCI0.ISA0.ECP_, 0x0)
        Notify(\_SB_.PCI0.ISA0.LPT_, 0x0)
    }
    \_SB_.PCI0.DOCK.DWAK
    Arg0
    \_SB_.PCI0.ISA0.EC0_.BWAK
    Arg0
    \_SB_.PCI0.ISA0.EC0_.TWAK
    Arg0
    Return(WAKI)
}
Method(RSTR) {
    Store(Zero, \SPS_)
    Store(Zero, BLEN)
    Store(One, \_SB_.PCI0.ISA0.EC0_.HCAC)
    Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWDK)
    Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWFN)
    Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWEK)
}
Method(FAIL) {
    Acquire(MSMI, 0xffff)
    Store(0x5381, S_AX)
    Store(0x9096, S_BX)
    SMPI
    0x81
    Release(MSMI)
    \RSTR
    \PVID._ON_
}
Name(\_S0_, Package(0x4) {
    0x5,
    0x5,
    0x0,
    0x0,
})
Name(\_S1_, Package(0x4) {
    0x4,
    0x4,
    0x0,
    0x0,
})
Method(_S3_) {
    If(BXPT) {
        Return(Package(0x4) {
            0x6,
            0x6,
            0x0,
            0x0,
        })
    }
    Else {
        Return(Package(0x4) {
            0x1,
            0x1,
            0x0,
            0x0,
        })
    }
}
Name(\_S4_, Package(0x4) {
    0x0,
    0x0,
    0x0,
    0x0,
})
Name(\_S5_, Package(0x4) {
    0x0,
    0x0,
    0x0,
    0x0,
})
Scope(\_SI_) {
    Method(_SST, 1) {
        If(H8DR) {
            If(LEqual(Arg0, 0x1)) {
                If(LOr(SPS_, WNTF)) {
                    If(WNTF) {
                        \_SB_.PCI0.ISA0.SPKR._PS0
                    }
                    \_SB_.PCI0.ISA0.EC0_.BEEP
                    0x5
                }
                \_SB_.PCI0.ISA0.EC0_.SYSL
                0x0
                0x1
                \_SB_.PCI0.ISA0.EC0_.SYSL
                0x1
                0x0
            }
            Else {
                If(LEqual(Arg0, 0x2)) {
                    \_SB_.PCI0.ISA0.EC0_.SYSL
                    0x0
                    0x1
                    \_SB_.PCI0.ISA0.EC0_.SYSL
                    0x1
                    0x2
                }
                Else {
                    If(LEqual(Arg0, 0x3)) {
                        If(LGreater(SPS_, 0x3)) {
                            \_SB_.PCI0.ISA0.EC0_.BEEP
                            0x7
                        }
                        Else {
                            If(LEqual(SPS_, 0x3)) {
                                \_SB_.PCI0.ISA0.EC0_.BEEP
                                0x3
                            }
                            Else {
                                \_SB_.PCI0.ISA0.EC0_.BEEP
                                0x4
                            }
                            If(WNTF) {
                                \_SB_.PCI0.ISA0.SPKR._PS3
                            }
                        }
                        If(LEqual(SPS_, 0x3)) {
                            \_SB_.PCI0.ISA0.EC0_.SYSL
                            0x0
                            0x0
                        }
                        Else {
                            \_SB_.PCI0.ISA0.EC0_.SYSL
                            0x0
                            0x1
                        }
                        \_SB_.PCI0.ISA0.EC0_.SYSL
                        0x1
                        0x1
                    }
                    Else {
                        If(LEqual(Arg0, 0x4)) {
                            \_SB_.PCI0.ISA0.EC0_.BEEP
                            0x3
                            \_SB_.PCI0.ISA0.EC0_.SYSL
                            0x1
                            0x2
                        }
                        Else {
                            \_SB_.PCI0.ISA0.EC0_.SYSL
                            0x0
                            0x0
                            \_SB_.PCI0.ISA0.EC0_.SYSL
                            0x1
                            0x0
                        }
                    }
                }
            }
        }
        Else {
        }
    }
}
Scope(\_GPE) {
    Method(_L0A) {
        If(\_SB_.PCI0.ISA0.MWV0.MWVW) {
            Notify(\_SB_.PCI0.ISA0.MWV0, 0x2)
        }
        If(\_SB_.PCI0.ISA0.UAR1.UA1W) {
            Notify(\_SB_.PCI0.ISA0.UAR1, 0x2)
        }
    }
    Method(_L0B) {
        Store(\_SB_.PCI0.ISA0.EC0_.HWAK, Local0)
        Sleep(0xa)
        If(And(Local0, 0x1, )) {
            If(And(\_SB_.PCI0.PMEE, 0x1, )) {
                Notify(\_SB_.PCI0, 0x2)
            }
            If(And(\_SB_.PCI0.PMEE, 0x2, )) {
                Notify(\_SB_.PCI0.DOCK, 0x2)
            }
        }
        Else {
            If(And(Local0, 0x2, )) {
                Notify(\_SB_.PCI0.ISA0.EC0_.BAT0, 0x80)
                Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x80)
            }
            Else {
                If(And(Local0, 0x4, )) {
                    If(W98F) {
                        Notify(\_SB_.LID0, 0x80)
                    }
                    Notify(\_SB_.LID0, 0x2)
                }
                Else {
                    If(And(Local0, 0x8, )) {
                        Or(\_SB_.PCI0.DOCK.DFLG, 0x1, \_SB_.PCI0.DOCK.DFL=
G)
                        Notify(\_SB_.SLPB, 0x2)
                    }
                    Else {
                        If(And(Local0, 0x10, )) {
                            Notify(\_SB_.SLPB, 0x2)
                        }
                        Else {
                            If(And(Local0, 0x20, )) {
                                Notify(\_SB_.SLPB, 0x2)
                            }
                        }
                    }
                }
            }
        }
    }
}
Scope(\_TZ_) {
    Device(FN00) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x0)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
    }
    Device(FN01) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x1)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN10) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x2)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN11) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x3)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN20) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x4)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN21) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x5)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN40) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x8)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN41) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0x9)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN50) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0xa)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN51) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0xb)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN60) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0xc)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN61) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0xd)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN70) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0xe)
        Name(_PR0, Package(0x1) {
            PFN0,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(FN71) {
        Name(_HID, 0x0b0cd041)
        Name(_UID, 0xf)
        Name(_PR0, Package(0x1) {
            PFN1,
        })
        Method(_STA) {
            Return(0xb)
        }
    }
    PowerResource(PFN0, 0, 0) {
        Method(_STA) {
            Return(\_SB_.PCI0.ISA0.EC0_.F0ON)
        }
        Method(_ON_) {
            \_SB_.PCI0.ISA0.EC0_.SFNP
            0x0
            0x1
        }
        Method(_OFF) {
            \_SB_.PCI0.ISA0.EC0_.SFNP
            0x0
            0x0
        }
    }
    PowerResource(PFN1, 0, 0) {
        Method(_STA) {
            Return(\_SB_.PCI0.ISA0.EC0_.F1ON)
        }
        Method(_ON_) {
            \_SB_.PCI0.ISA0.EC0_.SFNP
            0x1
            0x1
        }
        Method(_OFF) {
            \_SB_.PCI0.ISA0.EC0_.SFNP
            0x1
            0x0
        }
    }
    ThermalZone(THM0) {
        Name(MODE, 0x0)
        Name(AC0M, 0x0)
        Name(AC1M, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0e62,
                    0x0e49,
                },
                Package(0x2) {
                    0x0e4e,
                    0x0e35,
                },
                Package(0x2) {
                    0x0e3a,
                    0x0e21,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0e3a,
                    0x0e21,
                },
                Package(0x2) {
                    0x0e62,
                    0x0e49,
                },
                Package(0x2) {
                    0x0e4e,
                    0x0e35,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            \_SB_.PCI0.ISA0.EC0_.UPDT
            Store(\_SB_.PCI0.ISA0.EC0_.TMP0, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT01, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x20, 0x1), Zero, 0x1)
                Local1
            }
            Store(Local1, \_TZ_.THM0.AC0M)
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT00, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x20, 0x1)
                Local1
            }
            Store(Local1, \_TZ_.THM0.AC1M)
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0e80)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM0, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN00,
        })
        Name(_AL1, Package(0x1) {
            FN01,
        })
        Method(_PSV) {
            Store(DerefOf(Index(DerefOf(MODP), 0x0, 0x1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_PSL, Package(0x1) {
            \_PR_.CPU0,
        })
        Method(_TC1) {
            Return(TTC1)
        }
        Method(_TC2) {
            Return(TTC2)
        }
        Method(_TSP) {
            Return(TTSP)
        }
    }
    ThermalZone(THM1) {
        Name(MODE, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0da4,
                    0x0d6d,
                },
                Package(0x2) {
                    0x0d9a,
                    0x0d63,
                },
                Package(0x2) {
                    0x0d90,
                    0x0d59,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0d90,
                    0x0d59,
                },
                Package(0x2) {
                    0x0da4,
                    0x0d6d,
                },
                Package(0x2) {
                    0x0d9a,
                    0x0d63,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            Store(\_SB_.PCI0.ISA0.EC0_.TMP1, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT11, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x21, 0x1), Zero, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT10, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x21, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0dcc)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM1, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN10,
        })
        Name(_AL1, Package(0x1) {
            FN11,
        })
    }
    ThermalZone(THM2) {
        Name(MODE, 0x0)
        Name(AC0M, 0x0)
        Name(AC1M, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0d04,
                    0x0ccd,
                },
                Package(0x2) {
                    0x0cfa,
                    0x0cc3,
                },
                Package(0x2) {
                    0x0cd2,
                    0x0c9b,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0cd2,
                    0x0c9b,
                },
                Package(0x2) {
                    0x0d04,
                    0x0ccd,
                },
                Package(0x2) {
                    0x0cfa,
                    0x0cc3,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            Store(\_SB_.PCI0.ISA0.EC0_.TMP2, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT21, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x22, 0x1), Zero, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT20, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x22, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0d5e)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM2, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN20,
        })
        Name(_AL1, Package(0x1) {
            FN21,
        })
    }
    ThermalZone(THM4) {
        Name(MODE, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0d04,
                    0x0ccd,
                },
                Package(0x2) {
                    0x0cfa,
                    0x0cc3,
                },
                Package(0x2) {
                    0x0cf0,
                    0x0cb9,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0cf0,
                    0x0cb9,
                },
                Package(0x2) {
                    0x0d04,
                    0x0ccd,
                },
                Package(0x2) {
                    0x0cfa,
                    0x0cc3,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            Store(\_SB_.PCI0.ISA0.EC0_.TMP4, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT41, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x24, 0x1), Zero, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT40, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x24, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0d22)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM4, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN40,
        })
        Name(_AL1, Package(0x1) {
            FN41,
        })
    }
    ThermalZone(THM5) {
        Name(MODE, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0d18,
                    0x0ce1,
                },
                Package(0x2) {
                    0x0d0e,
                    0x0cd7,
                },
                Package(0x2) {
                    0x0d04,
                    0x0ccd,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0d04,
                    0x0ccd,
                },
                Package(0x2) {
                    0x0d18,
                    0x0ce1,
                },
                Package(0x2) {
                    0x0d0e,
                    0x0cd7,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            Store(\_SB_.PCI0.ISA0.EC0_.TMP5, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT51, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x25, 0x1), Zero, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT50, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x25, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0d2c)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM5, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN50,
        })
        Name(_AL1, Package(0x1) {
            FN51,
        })
    }
    ThermalZone(THM6) {
        Name(MODE, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0d54,
                    0x0d1d,
                },
                Package(0x2) {
                    0x0d4a,
                    0x0d13,
                },
                Package(0x2) {
                    0x0d40,
                    0x0d09,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0d40,
                    0x0d09,
                },
                Package(0x2) {
                    0x0d54,
                    0x0d1d,
                },
                Package(0x2) {
                    0x0d4a,
                    0x0d13,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            Store(\_SB_.PCI0.ISA0.EC0_.TMP6, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT61, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x26, 0x1), Zero, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT60, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x26, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0d68)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM6, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN60,
        })
        Name(_AL1, Package(0x1) {
            FN61,
        })
    }
    ThermalZone(THM7) {
        Name(MODE, 0x0)
        Name(TBL0, Package(0x2) {
            Package(0x3) {
                Package(0x2) {
                    0x0d54,
                    0x0d1d,
                },
                Package(0x2) {
                    0x0d4a,
                    0x0d13,
                },
                Package(0x2) {
                    0x0d40,
                    0x0d09,
                },
            },
            Package(0x3) {
                Package(0x2) {
                    0x0d40,
                    0x0d09,
                },
                Package(0x2) {
                    0x0d54,
                    0x0d1d,
                },
                Package(0x2) {
                    0x0d4a,
                    0x0d13,
                },
            },
        })
        Method(MODP, 1) {
            Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
        }
        Method(_TMP) {
            Store(\_SB_.PCI0.ISA0.EC0_.TMP7, Local0)
            If(LGreater(Local0, 0x0aac)) {
                Return(Local0)
            }
            Else {
                Return(0x0bb8)
            }
        }
        Method(_AC0) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT71, Local1)
            }
            Else {
                And(ShiftRight(\_SB_.RBEC, 0x27, 0x1), Zero, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x1, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Method(_AC1) {
            If(H8DR) {
                Store(\_SB_.PCI0.ISA0.EC0_.HT70, Local1)
            }
            Else {
                And(\_SB_.RBEC, 0x27, 0x1)
                Local1
            }
            Store(DerefOf(Index(DerefOf(MODP), 0x2, Local1)), Zero)
            Local0
            Return(Local0)
        }
        Name(_CRT, 0x0d68)
        Method(_SCP, 1) {
            Notify(\_TZ_.THM7, 0x81)
        }
        Name(_AL0, Package(0x1) {
            FN70,
        })
        Name(_AL1, Package(0x1) {
            FN71,
        })
    }
}
Mutex(MSMI, 7)
OperationRegion(MNVS, SystemMemory, 0x07fdf000, 0x1000)
Field(MNVS, DWordAcc, NoLock, Preserve) {
    Offset(0xfc0),
    S_AL,	8,
    S_AH,	8,
    Offset(0xfc4),
    S_BL,	8,
    S_BH,	8,
    Offset(0xfc8),
    S_CL,	8,
    S_CH,	8,
    Offset(0xfcc),
    S_DL,	8,
    S_DH,	8,
    Offset(0xfd0),
    EDI1,	8,
    EDI2,	8,
    EDI3,	8,
    EDI4,	8,
    ESI1,	8,
    ESI2,	8,
    ESI3,	8,
    ESI4,	8,
    SXAL,	8,
    SXAH,	8
}
Field(MNVS, DWordAcc, NoLock, Preserve) {
    Offset(0xfc0),
    S_AX,	16,
    Offset(0xfc4),
    S_BX,	16,
    Offset(0xfc8),
    S_CX,	16,
    Offset(0xfcc),
    S_DX,	16,
    Offset(0xfd0),
    SEDI,	32,
    SESI,	32,
    SXAX,	16
}
Field(MNVS, DWordAcc, NoLock, Preserve) {
    Offset(0xf00),
    PXDN,	32,
    VCDL,	1,
    VCDC,	1,
    VCDT,	1,
    VCDI,	1,
    VCDS,	1,
    VCDE,	1,
    VCDB,	1,
    VCDH,	1,
    ,	3,
    Offset(0xf06),
    VLID,	4,
    Offset(0xf08),
    WPME,	1,
    WBAT,	1,
    WLID,	1,
    WDCK,	1,
    WFN_,	1,
    WKBD,	1,
    WRI_,	1,
    WRES,	1,
    WKRS,	24,
    MPGP,	1,
    CPUT,	2,
    VCHR,	1,
    Offset(0xf10),
    TOMP,	32,
    FRAS,	32,
    SNS0,	32,
    SNS1,	32,
    SNS2,	32,
    SNS3,	32,
    SNS4,	32,
    SNS5,	32,
    SNS6,	32,
    SNS7,	32,
    HDHD,	8,
    HDSE,	8,
    TTC1,	8,
    TTC2,	8,
    TTSP,	16,
    FSPD,	8,
    Offset(0xf40),
    W98F,	1,
    WNTF,	1,
    ,	5,
    DBG_,	1,
    H8DR,	1,
    ,	3,
    BXPT,	1,
    HDP0,	1,
    HDP1,	1,
    HDP2,	1,
    PPMD,	2,
    PPDR,	1,
    PPDM,	1,
    DIDE,	1,
    FDNS,	1,
    VDHK,	1,
    VDSB,	1,
    Offset(0xf44),
    GAPA,	32,
    GAPL,	32,
    IDBE,	8,
    IDID,	8,
    Offset(0xf50)
}
Field(MNVS, ByteAcc, NoLock, Preserve) {
    Offset(0xe00),
    DDC1,	1024,
    Offset(0xf00)
}
Field(MNVS, ByteAcc, NoLock, Preserve) {
    Offset(0xe00),
    DDC2,	2048
}
Name(S98F, 0x0)
Name(SNTF, 0x0)
Name(SH8D, 0x0)
Method(SAVF) {
    Store(W98F, S98F)
    Store(WNTF, SNTF)
    Store(H8DR, SH8D)
}
Method(RSTF) {
    Store(S98F, W98F)
    Store(SNTF, WNTF)
    Store(SH8D, H8DR)
}
OperationRegion(APMC, SystemIO, 0xb2, 0x1)
Field(APMC, ByteAcc, NoLock, Preserve) {
    APMD,	8
}
Method(SMPI, 1) {
    Store(S_AX, Local0)
    Store(0x81, APMD)
    While(LEqual(S_AH, 0xa6)) {
        Sleep(0x64)
        Store(Local0, S_AX)
        Store(0x81, APMD)
    }
}
Method(MIN_, 2) {
    If(LLess(Arg0, Arg1)) {
        Return(Arg0)
    }
    Else {
        Return(Arg1)
    }
}
Method(SLEN, 1) {
    Return(Sizeof(Arg0))
}
Method(S2BF, 1, Serialized) {
    Add(SLEN, Arg0, One)
    Local0
    Name(BUFF, Buffer(Local0) { })
    Store(Arg0, BUFF)
    Return(BUFF)
}
Method(SCMP, 2) {
    Store(S2BF, Arg0)
    Local0
    Store(S2BF, Arg1)
    Local1
    Store(Zero, Local4)
    Store(SLEN, Arg0)
    Local5
    Store(SLEN, Arg1)
    Local6
    Store(MIN_, Local5)
    Local6
    Local7
    While(LLess(Local4, Local7)) {
        Store(DerefOf(Index(Local0, Local4, )), Local2)
        Store(DerefOf(Index(Local1, Local4, )), Local3)
        If(LGreater(Local2, Local3)) {
            Return(One)
        }
        Else {
            If(LLess(Local2, Local3)) {
                Return(Ones)
            }
        }
        Increment(Local4)
    }
    If(LLess(Local4, Local5)) {
        Return(One)
    }
    Else {
        If(LLess(Local4, Local6)) {
            Return(Ones)
        }
        Else {
            Return(Zero)
        }
    }
}
BOOT: Lenth=3D40, Revision=3D1, Checksum=3D112,
	OEMID=3DIBM, OEM Table ID=3DTP770E, OEM Revision=3D0x1,
	Creator ID=3D, Creator Revision=3D0x0

--------------040209090002060901000908
Content-Type: application/octet-stream;
 name="tp770ed.dsdt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="tp770ed.dsdt"

EBNcX1BSX1uDC0NQVTABEO8AAAYIU1BTXwoAW4BHTEVOAQsg7woCW4ENR0xFTgIAD0JMRU4B
W4BHTENSAQso7woEW4E0R0xDUgNQU01JAVBCUkwBUFRQTAEABVBHU0IBUEdTSQdQRU9TAQAH
UFNNRgFQTFBMAQAGW4BHUElSAQsw7woEW4FHBUdQSVIBAAFIOFNDAQABUkFNMAFSQU0xAQAB
SVJROAFTSVJRAVRIUk0BQkFUTAFMSURfAQABUklfXwFNSUQwAU1JRDEBTUlEMgFNSUQzAVNZ
U0EBAARbgEdQT1IBCzTvCgRbgUIFR1BPUgEACEVYVEEBAAFVTFRPAUhERE8BRUlEXwNTVVNT
AVNVU0MBQ1BVUwFQQ0lTAVpaX18BU1NTMQEABlBDSUUBAAFTTUIwAVNNQjEBAAFbhEoFUEhC
WQMAAAhTVEFUCgEUC19TVEEApFNUQVQUEl9PTl8AcAFTVEFUcABIRERPFCpfT0ZGAHAAU1RB
VKAdklc5OEagFpKUU1BTXwoDoAySSERQMHABSERET1uAU0NJTwEL7hUKAluBEFNDSU8BU0lO
WAhTREFUCFuGTghTSU5YU0RBVAEABFZEUFcBQ0JQVwEAAgAQAAJTR0NSAQABU0dDTAEAAwAC
U0dEUgEAAVNHREwBAAMASApJUlFFAUlSUVMDAAQAAVVCU0wBREFTRAEAFVNNU0MEAAQACEkz
TUUBSTNNUwFJNE1FAUk0TVMBTTNNRQFNM01TAU00TUUBTTRNUwFNSVFTCFuASTJDQgEL7BUK
AluBEEkyQ0IBSU5EMAhEQVQwCFuGEklORDBEQVQwAQBIP0FDSV8IW4RKEFBWSUQBAAAIU1RB
VAEUC19TVEEApFNUQVQUTQZfT05fAHABU1RBVKBPBZJWRFBXWyIKCnABVkRQV1siCshbI01T
TUn//3ALgVNTX0FYcAsCoFNfQlhwCwABU19DWFNNUEkKgXALgVNTX0FYcAvCkFNfQlhwCwUB
U19DWFNNUEkKgVsnTVNNSRRACF9PRkYAcABTVEFUoEIHkJVcU1BTXwoElFxTUFNfCgCgTgVW
RFBXWyNNU01J//9wC4FTU19BWHALwpBTX0JYcAsEAVNfQ1hTTVBJCoFwC4FTU19BWHALAqBT
X0JYcAsAAlNfQ1hTTVBJCoFbIgoKcABWRFBXWyIKyFsnTVNNSVuESQRQUlNEAAAAFA5fU1RB
AKR/U0dEUgEAFBRfT05fAHAKAVNHQ1JwCgBTR0RSFBtfT0ZGAKAUkkRCR19wCgFTR0NScAoB
U0dEUhQhSEJFTgCgGlZDREJwCgBTR0NMcAoAU0dETHAKAVNHQ0wUIUhCRFMAoBpWQ0RCcAoA
U0dDTHAKAFNHRExwCgBTR0NMW4Q3UERDSwEAAAhTVEFUCgEUC19TVEEApFNUQVQUDV9PTl8A
cAoBU1RBVBQNX09GRgBwCgBTVEFUEIuzClxfU0JfW4JFE0xOS0EIX0hJRAxB0AwPCF9VSUQK
ARQgX0lOSQCgGVc5OEZ7g4hfUFJTCgIACn+IX1BSUwoCABQoX1NUQQCgHJJWUElSXC8EX1NC
X1BDSTBJU0EwUElSQaQKCaEEpAoLCF9QUlMRCQoGI/jeGHkAFC9fRElTAH1cLwRfU0JfUENJ
MElTQTBQSVJBCoBcLwRfU0JfUENJMElTQTBQSVJBFE0EX0NSUwAIQlVGQREJCgYjAAAYeQCL
QlVGQQoBSVJBMXtcLwRfU0JfUENJMElTQTBQSVJBCo9goA9WUElSYHB5AWAASVJBMaRCVUZB
FEYEX1NSUwGLaAoBSVJBMoJJUkEyYHtcLwRfU0JfUENJMElTQTBQSVJBCnBhfWF2YGFwYVwv
BF9TQl9QQ0kwSVNBMFBJUkFbgkUTTE5LQghfSElEDEHQDA8IX1VJRAoCFCBfSU5JAKAZVzk4
RnuDiF9QUlMKAgAKf4hfUFJTCgIAFChfU1RBAKAcklZQSVJcLwRfU0JfUENJMElTQTBQSVJC
pAoJoQSkCgsIX1BSUxEJCgYj+N4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwSVNBMFBJUkIKgFwv
BF9TQl9QQ0kwSVNBMFBJUkIUTQRfQ1JTAAhCVUZCEQkKBiMAABh5AItCVUZCCgFJUkIxe1wv
BF9TQl9QQ0kwSVNBMFBJUkIKj2CgD1ZQSVJgcHkBYABJUkIxpEJVRkIURgRfU1JTAYtoCgFJ
UkIygklSQjJge1wvBF9TQl9QQ0kwSVNBMFBJUkIKcGF9YXZgYXBhXC8EX1NCX1BDSTBJU0Ew
UElSQluCRRNMTktDCF9ISUQMQdAMDwhfVUlECgMUIF9JTkkAoBlXOThGe4OIX1BSUwoCAAp/
iF9QUlMKAgAUKF9TVEEAoBySVlBJUlwvBF9TQl9QQ0kwSVNBMFBJUkOkCgmhBKQKCwhfUFJT
EQkKBiP43hh5ABQvX0RJUwB9XC8EX1NCX1BDSTBJU0EwUElSQwqAXC8EX1NCX1BDSTBJU0Ew
UElSQxRNBF9DUlMACEJVRkMRCQoGIwAAGHkAi0JVRkMKAUlSQzF7XC8EX1NCX1BDSTBJU0Ew
UElSQwqPYKAPVlBJUmBweQFgAElSQzGkQlVGQxRGBF9TUlMBi2gKAUlSQzKCSVJDMmB7XC8E
X1NCX1BDSTBJU0EwUElSQwpwYX1hdmBhcGFcLwRfU0JfUENJMElTQTBQSVJDW4JFE0xOS0QI
X0hJRAxB0AwPCF9VSUQKBBQgX0lOSQCgGVc5OEZ7g4hfUFJTCgIACn+IX1BSUwoCABQoX1NU
QQCgHJJWUElSXC8EX1NCX1BDSTBJU0EwUElSRKQKCaEEpAoLCF9QUlMRCQoGI/jeGHkAFC9f
RElTAH1cLwRfU0JfUENJMElTQTBQSVJECoBcLwRfU0JfUENJMElTQTBQSVJEFE0EX0NSUwAI
QlVGRBEJCgYjAAAYeQCLQlVGRAoBSVJEMXtcLwRfU0JfUENJMElTQTBQSVJECo9goA9WUElS
YHB5AWAASVJEMaRCVUZEFEYEX1NSUwGLaAoBSVJEMoJJUkQyYHtcLwRfU0JfUENJMElTQTBQ
SVJECnBhfWF2YGFwYVwvBF9TQl9QQ0kwSVNBMFBJUkQUNVZQSVIBcAFgoAl7aAqAAHAAYKEf
e2gKD2GgCJVhCgNwAGChD6ANkZNhCgiTYQoNcABgpGBbgkMMTElEMAhfSElEDEHQDA0UOl9M
SUQAoB1IOERSpFwvBV9TQl9QQ0kwSVNBMEVDMF9IUExEoRWgDntSQkVDCjYKBACkCgGhBKQK
AAhfUFJXEgYCCgsKAxRLBl9QU1cBoDxIOERSoBtocAFcLwVfU0JfUENJMElTQTBFQzBfSFdM
T6EacABcLwVfU0JfUENJMElTQTBFQzBfSFdMT6EmoBJoV0JFQwoyfVJCRUMKMgoEAKERV0JF
Qwoye1JCRUMKMgr7AFuCRQ9TTFBCCF9ISUQMQdAMDghfUFJXEgYCCgsKAxRIC19QU1cBoEcH
kJVcU1BTXwoFlFxTUFNfCgCgPEg4RFKgG2hwAVwvBV9TQl9QQ0kwSVNBMEVDMF9IV0ZOoRpw
AFwvBV9TQl9QQ0kwSVNBMEVDMF9IV0ZOoSagEmhXQkVDCjJ9UkJFQwoyChAAoRFXQkVDCjJ7
UkJFQwoyCu8AoTigG2hwAVwvBV9TQl9QQ0kwSVNBMEVDMF9IWEZOoRpwAFwvBV9TQl9QQ0kw
SVNBMEVDMF9IWEZOFBdfUFMwAKAQVzk4RqAKU1BTX1xGQUlMFAdfUFMzAKNbgkwbSEtFWQhf
SElEDCRNAGgUFF9TVEEAoAhWREhLpAoPoQSkCgAIREhLQwoACERIS0IKAVsBWERISwcIREhL
SAoACERIS1cKAAhESEtTCgAIREhLRAoAFBNNSEtTAIZcLl9TQl9TTFBCCoAUDE1IS0MBcGhE
SEtDFE8FTUhLUABbI1hESEv//6ARREhLV3BESEtXYXAAREhLV6E1oBFESEtEcERIS0RhcABE
SEtEoSGgEURIS1NwREhLU2FwAERIS1OhDXBESEtIYXAAREhLSFsnWERIS6RhFDJNSEtFAXBo
REhLQlsjWERIS///cABESEtIcABESEtXcABESEtTcABESEtEWydYREhLFBtNSEtEAFwvBF9T
Ql9QQ0kwVklEMFZMSUQKABRFCU1IS1EBoE0IREhLQqBAB0RIS0NbI1hESEv//6AGlWgLABCh
TQSgDJVoCwAgcGhESEtIoT2gDJVoCwAwcGhESEtXoS6gDJVoCwBAcGhESEtToR+gDJVoCwBQ
cGhESEtEoRCgDJVoCwBgcGhESEtIoQFbJ1hESEuGSEtFWQqAoRWgE5NoCwQQhlwuX1NCX1NM
UEIKgAhJQ00wESYKIwIAAAAAoO8AAAAAAKD1AAAAAACgkQMAAAAAoO8DAAAAAKDvjElDTTAK
D0xPR0mMSUNNMAoTTUFYSIxJQ00wChZIRE0wjElDTTAKHUhQSTAISUNNMREfChwCAAAAALDv
AAAAAACw9QMAAAAAsO8DAAAAALDvjElDTTEKD0hETTGMSUNNMQoWSFBJMQhJQ0MxEREKDgMA
AAAAsO8DAAAAALDvjElDQzEKAUNETTGMSUNDMQoIQ1BJMQhJREtNCgAISUNNMhEfChwCAAAA
AKDvAAAAAACg9QMAAAAAoO8DAAAAAKDvjElDTTIKD0hETTKMSUNNMgoWSFBJMghJQ0MyEREK
DgMAAAAAoO8DAAAAAKDvjElDQzIKAUNETTKMSUNDMgoIQ1BJMghJREtTCgAISUNNMxEfChwC
AAAAALDvAAAAAACw9QMAAAAAsO8DAAAAALDvjElDTTMKD0hETTOMSUNNMwoWSFBJMwhJQ0Mz
EREKDgMAAAAAsO8DAAAAALDvjElDQzMKAUNETTOMSUNDMwoIQ1BJMwhCR1RNEQMKFIpCR1RN
CgBHVFAwikJHVE0KBEdURDCKQkdUTQoIR1RQMYpCR1RNCgxHVEQxikJHVE0KEEdUTUZbgkMU
TUJSTQhfSElEDEHQDAEITUJSMBFCBAo+hgkAAQAAAAAAAAoAhgkAAAAADAAAwAAAhgkAAAAA
DwAAAAEAhgkAAQAAEAAAAO4BhgkAAAAA/v8AAAIAeQAITUJSMRE1CjKGCQABAAAAAAAACgCG
CQAAAAAPAAAAAQCGCQABAAAQAAAA7gGGCQAAAAD+/wAAAgB5AIpNQlIwChBNQlZCik1CUjAK
FE1CVkyKTUJSMAooTUJCMIpNQlIwCixNQkwwik1CUjEKHE1CQjGKTUJSMQogTUJMMRRNBl9D
UlMAoEQEVzk4RqApR0FQTHBHQVBBTUJWQnBHQVBMTUJWTHRUT01QTUJCME1CTDCkTUJSMKET
dFRPTVBNQkIxTUJMMaRNQlIxoSB0RlJBU01CVkJNQlZMdFRPTVBNQkIwTUJMMKRNQlIwW4KE
4glQQ0kwCF9ISUQMQdAKAwhfQURSCgBbgFgwMDACCgALAAFbgRBYMDAwAwBIJwAHWFBMRAFb
gRBYMDAwAwBAPUNSRU4BAAcIX1MxRAoBCF9TM0QKAQhfUFJXEgYCCgsKAxQNX1BTVwFFUFNX
CgFoCFBNRUUKABRICEVQU1cCoAlpfVBNRUVoYKEKe1BNRUWAaABgcGBQTUVFoD5IOERSoBxg
cAoBXC8FX1NCX1BDSTBJU0EwRUMwX0hXUE2hG3AKAFwvBV9TQl9QQ0kwSVNBMEVDMF9IV1BN
oSagEmBXQkVDCjJ9UkJFQwoyCgEAoRFXQkVDCjJ7UkJFQwoyCv4ACF9DUlMRTAgKiIgNAAIM
AAAAAAD/AAAAAAFHAfgM+AwBCIgNAAEMAwAAAAD3DAAA+AyIDQABDAMAAAAN//8AAADzhxcA
AAwDAAAAAAAACgD//wsAAAAAAAAAAgCHFwAADAMAAAAAAIAMAP//DgAAAAAAAIACAIcXAAAM
AwAAAAAAABAA///f/wAAAAAAAND/eQCKX0NSUwpcTVcxTopfQ1JTCmBNVzFYil9DUlMKaE1X
MUyKX0NSUwp2TVcyTopfQ1JTCnpNVzJYil9DUlMKgk1XMkwIX1BSVBJHCAYSFQQM//8BAAoD
XC5fU0JfTE5LRAoAEhUEDP//AgAKAFwuX1NCX0xOS0EKABIVBAz//wIACgFcLl9TQl9MTktC
CgASFQQM//8DAAoAXC5fU0JfTE5LQQoAEhUEDP//BQAKAFwuX1NCX0xOS0IKABIVBAz//wYA
CgBcLl9TQl9MTktBCgAUThZfSU5JAKAlk1NDTVBcX09TXw1NaWNyb3NvZnQgV2luZG93cwAA
cAFXOThGoUAFcABXOThGoD+TU0NNUFxfT1NfDU1pY3Jvc29mdCBXaW5kb3dzIE5UAABwAVdO
VEZcLwVfU0JfUENJMElTQTBNV1YwTVdEVaEHcABXTlRGcEZSQVNNVzFOcnRNVzFYTVcxTgAK
AU1XMUxwVE9NUE1XMk5ydE1XMlhNVzJOAAoBTVcyTKBPB1BYRE57UFhETgwAAP//YHJgC///
iIOIX1BSVAoAAAoAAHJgCgBcLwRfU0JfUENJMElTQTBfQURScmAKAVwvBF9TQl9QQ0kwSURF
MF9BRFJyYAoCXC8EX1NCX1BDSTBVU0IwX0FEUnJgCgNcLwRfU0JfUENJMFBNMDBfQURSoQpb
MgICAACQCgCgMFc5OEZbI01TTUn//3ALgVNTX0FYcAvCkFNfQlhwCgBTX0NYU01QSQqBWydN
U01JCEVEWDERRAgKgAD///////8AJE1VCgEBAQEjCQECgCEYAOoN+6BXR5gnEk1RoQgAAAAA
AAAAAAAAAAAAAAAAAGQZAEBBACYwGIg2AA7LEAAAGgAAAPwAVGhpbmtQYWQgTENEIAAAAPwA
MTAyNHg3NjggICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAzCEVEWDIRRRALAAEA////////ACRN
VQoBAQEBIwkBAoAhGADqDfugV0eYJxJNUaEIAAAAAAAAAAAAAAAAAAAAAABkGQBAQQAmMBiI
NgAOyxAAABoAAAD8AFRoaW5rUGFkIExDRCAAAAD8ADEwMjR4NzY4ICAgICAAAAAAAAAAAAAA
AAAAAAAAAAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEVEVDERRAgKgAD///////8AwdD+CQEB
AQEjCQECAAAAAOoAAAAAAAAAAAAAoQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAxWBwgKIABAPa4
AAAAGgAAAPwAVGhpbmtQYWQgVFYgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABZCEVEVDIRRRALAAEA////////AMHQ/gkBAQEBIwkBAgAAAADqAAAAAAAAAAAAAKEI
AAAAAAAAAAAAAAAAAAAAAAAAAAAAMVgcICiAAQD2uAAAABoAAAD8AFRoaW5rUGFkIFRWICAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAWwFNREdTBwhWREVFCgEIVkREQREDCgKNVkREQQoAVlVQQ41WRERBCgFWUURMjVZEREEK
AlZRREONVkREQQoDVlFEVI1WRERBCgRWQURMjVZEREEKBVZBREONVkREQQoGVkFEVI1WRERB
CgdWU0RMjVZEREEKCFZTREONVkREQQoJVlNEVI1WRERBCgpNU1dUjVZEREEKC1ZXU1QITENU
MAoAW4JIjlZJRDAIX0FEUgwAAAMAFE8IX0lOSQBwVkNETFZBRExwVkNEQ1ZBRENwVkNEVFZB
RFRwVkNETFZRRExwVkNEQ1ZRRENwVkNEVFZRRFRwVkNETFZTRExwVkNEQ1ZTRENwVkNEVFZT
RFRbI01TTUn//3ALgVNTX0FYcAsAEFNfQlhwCgBTX0NYU01QSQqBe1NfQ1gLAAdMQ1QwWydN
U01JCF9QUjASBgFQVklECF9QUjESBgFQVklECF9QUjISBgFQVklEFEgJVlNXVACgQAlcLlBW
SURfU1RBWyNNU01J//9wC4FTU19BWHALABBTX0JYcAoAU19DWFNNUEkKgXtTX0NMCgFge0VT
STEKAWF7U19DSAoHYlsnTVNNSXtgYWOgFGOgCpMKBGJwCwABZKEGcAsABGShIKAKkwoCYnAL
AANkoROgCpMKA2JwCwABZKEGcAsAAmRBU1dUZAoBFE4EVkVYUACgRgRcLlBWSURfU1RBoAlW
Q0RFcAp5YaEFcAoBYVsjTVNNSf//cAuBU1NfQVhwCwMQU19CWHBhU19DSFNNUEkKgVsnTVNN
SRRACVZFQ0MAoEgIXC5QVklEX1NUQaBLB1ZDREhbI01TTUn//3ALgVNTX0FYcAoCU19CWHAL
AAJTX0NYU01QSQqBe1NfQ0gKMGBwC4FTU19BWHALABBTX0JYcAoAU19DWFNNUEkKgXtTX0NI
CgdhoBFgoA6TYQoBQVNXVAsAAgoCoRCgDpNhCgJBU1dUCwABCgIUQgpWTElEAaBKBGhbI01T
TUn//3ALgVNTX0FYcAsAEFNfQlhwCgBTX0NYU01QSQqBe1NfQ1gLAAdgWydNU01JoBKSk2BM
Q1QwQVNXVExDVDAKAKFPBFsjTVNNSf//cAuBU1NfQVhwCwAQU19CWHAKAFNfQ1hTTVBJCoF7
U19DWAsAB0xDVDBwTENUMGBbJ01TTUmgD5BgCwABQVNXVAsAAgoAFEYMVkxPRQCgTgtcLlBW
SURfU1RBWyNNU01J//9wC4FTU19BWHALABBTX0JYcAoAU19DWFNNUEkKgXtTX0NICgdgcAuB
U1NfQVhwCwAQU19CWHAKAVNfQ1hTTVBJCoF7U19DSAoDYXALgVNTX0FYcAoCU19CWHALAAJT
X0NYU01QSQqBcFNfQ0hiWydNU01JoDaTCgJgoA6TCgBiQVNXVAsAAQoAoSGgDpMKA2FBU1dU
CwADCgChEKAOkwoBYUFTV1QLAAEKABRFB19ET1MBoDiTaAoCcAoBYKIuYFsjTURHU///oBmT
CgBNU1dUcAoBTVNXVHAKAGBwaFZERUVbJ01ER1NbIgoBoTRbI01ER1P//6APk1ZERUUKAnAK
AE1TV1SgDJRoCgJwCgFWREVFoQdwaFZERUVbJ01ER1MUMl9ET0QAoBtNUEdQpBIUBAwQAQEA
DAABAQALAAIMABECAKEPpBIMAgwQAQEADAABAQAURhRBU1dUAqAykwoBVkRFRVsjTVNNSf//
cAuBU1NfQVhwCwEQU19CWHBoU19DWFNNUEkKgVsnTVNNSaFLEFsjTVNNSf//cAuBU1NfQVhw
CwAQU19CWFNNUEkKgXBTX0FYYFsnTVNNSaBODZMKgFNfQVhwCgFgokMKYFsjTURHU///oE0I
kwoATVNXVHAKAGCgDXsKAWkAcAoBVlVQQ6EIcAoAVlVQQ6AbkwsABGhwCgBWUURMcAoAVlFE
Q3AKAVZRRFShTARwCgBWUURUoBSTCwADaHAKAVZRRExwCgFWUURDoS2gFJMLAAJocAoAVlFE
THAKAVZRREOhFqAUkwsAAWhwCgFWUURMcAoAVlFEQ1snTURHU1siCgGgGHsKAmkAhlwvA19T
Ql9QQ0kwVklEMAqBoROGXC8DX1NCX1BDSTBWSUQwCoBbgkMLTENEMAhfQURSCxABFBRfRENT
AKAIVkFETKQKH6EEpAodFEYFX0REQwFbI01TTUn//3ALgVNTX0FYcAoCU19CWHALAAFTX0NY
U01QSQqBcFNfQkxgWydNU01JoB2TYAoCoAqTaAoBpEVEWDGhDKAKk2gKAqRFRFgyFAtfREdT
AKRWUURMFCxfRFNTAXtoCgFWU0RMoB17aAwAAACAAKANe2gMAAAAQABDU1dUoQVEU1dUW4JC
D0NSVDAIX0FEUgsAARRBBl9EQ1MAWyNNU01J//9wC4FTU19BWHAKAlNfQlhwCwACU19DWFNN
UEkKgXBTX0NIYFsnTVNNSaAYkZNgChCTYAogoAhWQURDpAofoQSkCh2hD6AIVkFEQ6QKD6EE
pAoNFEgEX0REQwFbI01TTUn//3ALgVNTX0FYcAsDoFNfQlhTTVBJCoFbJ01TTUmgCpNoCgGk
RERDMaERoAqTaAoCpEREQzKhBKQKABQLX0RHUwCkVlFEQxQsX0RTUwF7aAoBVlNEQ6Ade2gM
AAAAgACgDXtoDAAAAEAAQ1NXVKEFRFNXVFuCSwhUVjBfCF9BRFILAAIUH19EQ1MAoBNNUEdQ
oAhWQURUpAoPoQSkCg2hBKQKABQjX0REQwGgCpNoCgGkRURUMaERoAqTaAoCpEVEVDKhBKQK
ABQLX0RHUwCkVlFEVBQsX0RTUwF7aAoBVlNEVKAde2gMAAAAgACgDXtoDAAAAEAAQ1NXVKEF
RFNXVFuCDUNBUDAIX0FEUgsAERROCERTV1QAoApWU0RMcAsAAWChBXAKAGCgC1ZTREN9CwAC
YGCgC1ZTRFR9CwAEYGCgSgVgWyNNU01J//9wC4FTU19BWHALAaBTX0JYoA1WVVBDfWAKA1Nf
Q1ihCX1gCgJTX0NYU01QSQqBWydNU01JcFZTRExWQURMcFZTRENWQURDcFZTRFRWQURUoQKj
FEwHQ1NXVACgClZTRExwCwABYKEFcAoAYKALVlNEQ30LAAJgYKALVlNEVH0LAARgYFsjTVNN
Sf//cAuBU1NfQVhwC8CQU19CWHBgU19DWHAKAlNfQ0xTTVBJCoFbJ01TTUlwVlNETFZBRExw
VlNEQ1ZBRENwVlNEVFZBRFRbgkUHQ0JTMAhfQURSDAAAAgBbgENCVVMCCgALAAFbgTRDQlVT
AwBAIFNWSUQQU1NJRBBMR0RDIABAHFNZU0MgTUNUTAgAQAZDQ1RMCAAIRElBRwgUIl9JTkkA
cABMR0RDe0NDVEwKf0NDVEx9U1lTQwoBU1lTQ1uCRQdDQlMxCF9BRFIMAQACAFuAQ0JVUwIK
AAsAAVuBNENCVVMDAEAgU1ZJRBBTU0lEEExHREMgAEAcU1lTQyBNQ1RMCABABkNDVEwIAAhE
SUFHCBQiX0lOSQBwAExHREN7Q0NUTAp/Q0NUTH1TWVNDCgFTWVNDW4KIPwVJU0EwCF9BRFIM
AAABAFuAUElSUQIKYApgW4FCCFBJUlEAUElSQQhQSVJCCFBJUkMIUElSRAhTSVJRCABICENI
MDADAARGRTAwAUNIMDEDAARGRTAxAQBABVAyMUUDAAUASBZHQ1IwAUdDUjEBAAEAAUdDUjQB
R0NSNQFHQ1I2AQABAAEAAQABR0NSQgFHQ1JDAQABAAEAAQAQAEAGW4BTSU9fAQouCgJbgRBT
SU9fAUlORFgIREFUQQhbhk8MSU5EWERBVEEBRkVSXwhGQVJfCFBUUl8IRkNSXwhQQ1JfCAAI
UE1DXwhUVVBfCFNJRF8IQVNDXwhTMExBCFMwQ0YIUzFMQQhTMUNGCAAQUzBIQQhTMUhBCFND
RjAIAChTQ0YxCAAQUE5QMAhQTlAxCABIEVNDRjIIUE5QMghQQkFMCFBCQUgIVTFBTAhVMUFI
CFUyQUwIVTJBSAhGQkFMCEZCQUgIU0JBTAhTQkFICElSUTEISVJRMghJUlEzCFBOUDMIU0NG
MwhDTEtfCFuERgRQU0lPAAAACFBTVFMKARQLX1NUQQCkUFNUUxQbX09OXwB7UFRSXwr+YHBg
UFRSX3AKAVBTVFMUDV9PRkYAcAoAUFNUU1uCQj1GREMwCF9ISUQMQdAHAAhfUFIwEgYBUFNJ
TwhEUlFECgAUJl9TVEEAcFwvBF9TQl9QQ0kwUE0wMFhGRV9goAVgpAoPoQSkCg0UQwRfRElT
AHtQTlAyCoBgcGBQTlAycABcLwRfU0JfUENJMFBNMDBYRkVfcABEUlFEXC8EX1NCX1BDSTBE
T0NLU0RDTRQzX0NSUwAIRkNSUxEbChhHAfAD8AMBBkcB9wP3AwEBIkAAKgQAeQBwCgREUlFE
pEZDUlMIX1BSUxEbChhHAfAD8AMBBkcB9wP3AwEBIkAAKgQAeQAUSQlfU1JTAXtGQkFMCgFg
fWAK/GBwYEZCQUx7RkJBSAoDYHBgRkJBSHtQTlAyCoBgfWAKNmBwYFBOUDKgCXtGRVJfCghh
oQ99RkVSXwoIYXBhRkVSX3AAXC8EX1NCX1BDSTBQTTAwWEZBX3ABXC8EX1NCX1BDSTBQTTAw
WEZFX3AKBERSUURcLwRfU0JfUENJMERPQ0tTRENNCEZERUIRFwoUAAAAAAAAAAAAAAAAAAAA
AAIAAACMRkRFQgoARkQwU4xGREVCCgRGRDFTFEINX0lOSQCgRQVXTlRGoApGRE5TU0VMRACh
QwRTRUxEAXAKAV4uRkREMF9BRFJwCgBeLkZERDFfQURScAoBiF4uRkREMF9GREkKAABwCgCI
Xi5GREQxX0ZESQoAAKFEB1sjTVNNSf//cAuBU1NfQVhwCwAbU19CWHAKAFNfQ1hTTVBJCoGg
RgR7U19DWAoCAHAKAV4uRkREMF9BRFJwCgBeLkZERDFfQURScAoBiF4uRkREMF9GREkKAABw
CgCIXi5GREQxX0ZESQoAAFsnTVNNSRRGBl9GREUAoCuTXC8FX1NCX1BDSTBJU0EwRUMwX0dV
SUQKDaAJVUxUT3AKAGChBXAKAWChBXAKAGCgGF4uRkREMF9BRFJwCgFGRDBTcGBGRDFToQ5w
YEZEMFNwCgFGRDFTpEZERUIUP1NFTEQBWyNNU01J//+gCmhwCwMBU19DWKEJcAsBAVNfQ1hw
C4FTU19BWHALARtTX0JYU01QSQqBWydNU01JW4JAB0ZERDAIX0FEUgoACF9GREkSIhAKAAoE
Ck8KEgoBCtEKAgolCgIKEgobCv8KZQr2Cg8KBBQ6X0VKMAGgM5NcLwVfU0JfUENJMElTQTBF
QzBfQkRFVgoNXC8FX1NCX1BDSTBJU0EwRUMwX0JFSjBoW4I0RkREMQhfQURSCgEIX0ZESRIi
EAoBCgQKTwoSCgEK0QoCCiUKAgoSChsK/wplCvYKDwoEW4JMJFVBUjEIX0hJRAxB0AUBCF9F
SkQNX1NCLlBDSTAuRE9DSwAIX1BSMBIKAlBTSU9QUlNECF9QUlcSBgIKCgoDCFVBMVcKABQM
X1BTVwFwaFVBMVcUGF9TVEEAoAx7RkVSXwoCAKQKD6EEpAoNFDBfRElTAKApkkRCR197RkVS
Xwr9YHBgRkVSX3AAXC8EX1NCX1BDSTBQTTAwWFUxRRRMBl9DUlMACEJVRkYREAoNRwH4A/gD
AQgiEAB5AItCVUZGCgJVMU1Oi0JVRkYKBFUxTViLQlVGRgoJVTFJUXl7VTFBTAr+AAoCYHBg
VTFNTnBgVTFNWKAQe1BOUDEKAQBwCghVMUlRpEJVRkYIX1BSUxE6CjcxAEcB+AP4AwEIIhAA
MQFHAfgC+AIBCCIIADECRwHoA+gDAQgiEAAxAkcB6ALoAgEIIggAOHkAFEAQX1NSUwGLaAoC
SU9BUotoCglJUlFNoBGTSU9BUgv4A3AK/mBwCgBhoUcEoBGTSU9BUgv4AnAKvmBwCgFhoTKg
EZNJT0FSC+gDcAr6YHAKB2GhHqARk0lPQVIL6AJwCrpgcAoFYaEKWzICAgAAkAoAe1UxQUgK
A2JwYlUxQUh7VTFBTAoBYn1gYmBwYFUxQUxwYVwvBF9TQl9QQ0kwUE0wMFhVMUF7UE5QMQrw
YKANk0lSUU0KEH1gCgRgoRqgDZNJUlFNCgh9YAoDYKEKWzICAgAAkAoAcGBQTlAxfUZFUl8K
AmBwYEZFUl9wAVwvBF9TQl9QQ0kwUE0wMFhVMUVbgkA1TFBUXwhfSElEDEHQBAAIX0VKRA1f
U0IuUENJMC5ET0NLAAhfUFIwEgYBUFNJTxQlX1NUQQCgCpNQUE1ECgOkAKEToAx7RkVSXwoB
AKQKD6EEpAoNFClfRElTAHtGRVJfCv5gcGBGRVJfcABcLwRfU0JfUENJMFBNMDBYUEVfFEoP
X0NSUwAIQlVGRhEQCg1HAbwDvAMBBCKAAHkAi0JVRkYKAkwxTU6LQlVGRgoETDFNWIxCVUZG
CgZMMUFMjEJVRkYKB0wxTE6LQlVGRgoJTDFJUaAwk1BQTUQKA3AKAEwxTU5wCgBMMU1YcAoA
TDFBTHAKAEwxTE5wCgBMMUlRpEJVRkZ7UEJBTAr/YKAFk2AK76E9oByTYArecAt4A0wxTU5w
C3gDTDFNWHAKCEwxTE6hHqAck2AKnnALeAJMMU1OcAt4AkwxTVhwCghMMUxOe1BOUDAK8GGg
DJNhCgBwCgBMMUlRoQ6gDJNhClBwCiBMMUlRpEJVRkYUGF9QUlMAoApQUE1EpFBFUFChBqRQ
TFBUCFBMUFQRTwQKSzBHAbwDvAMBBCKAADBHAXgDeAMBCCKAADBHAXgCeAIBCCIgADBHAbwD
vAMBBCIAADBHAXgDeAMBCCIAADBHAXgCeAIBCCIAADh5AAhQRVBQER4KGzBHAXgDeAMBCCKg
ADBHAXgCeAIBCCKgADh5ABRCFF9TUlMBi2gKAklPQVKLaAoJSVJRTaARk0lPQVILvANwCu9g
cAoAYaEyoBGTSU9BUgt4A3AK3mBwCgFhoR6gEZNJT0FSC3gCcAqeYHAKAmGhClsyAgIAAJAK
AHtQQkFICgNicGJQQkFIcGBQQkFMcGFcLwRfU0JfUENJMFBNMDBYUEFfe1BOUDAKD2CgDZNJ
UlFNCiB9YApQYKEZoA2TSVJRTQqAfWAKcGChCaAHk0lSUU0AcGBQTlAwoCiTUFBNRAoAe1BD
Ul8K+mCgDVBQRFJ9UFRSXwqAYaEJe1BUUl8Kf2GhLqAVk1BQTUQKAXtQQ1JfCvlgfWAKAWCh
DntQQ1JfCvtgfWAKA2B7UFRSXwp/YXBgUENSX3BhUFRSX31GRVJfCgFgcGBGRVJfcAFcLwRf
U0JfUENJMFBNMDBYUEVfW4JFRkVDUF8IX0hJRAxB0AQBCF9FSkQNX1NCLlBDSTAuRE9DSwAI
X1BSMBIGAVBTSU8IRFJRRAoAFCVfU1RBAKAak1BQTUQKA6AMe0ZFUl8KAQCkCg+hBKQKDaED
pAAUQwRfRElTAHtGRVJfCv5gcGBGRVJfcABEUlFEXC8EX1NCX1BDSTBET0NLU0RDTXAAXC8E
X1NCX1BDSTBQTTAwWFBFXxRNG19DUlMACEJVRkYRGwoYRwG8A7wDAQRHAbwHvAcBAyKAACoI
AHkAi0JVRkYKAkVDTjCLQlVGRgoERUNYMIxCVUZGCgZFQ0EwjEJVRkYKB0VDTDCLQlVGRgoK
RUNOMYtCVUZGCgxFQ1gxjEJVRkYKDkVDQTGMQlVGRgoPRUNMMYtCVUZGChFFQ0lRi0JVRkYK
FEVDRFGgRQWSk1BQTUQKA3AKAEVDTjBwCgBFQ1gwcAoARUNBMHAKAEVDTDBwCgBFQ04xcAoA
RUNYMXAKAEVDQTFwCgBFQ0wxcAoARUNJUXAKAEVDRFGkQlVGRntQQkFMCv9goAqTYArvcAu8
A2GhJ6ARk2AK3nALeANhcAoIRUNMMKEToBGTYAqecAt4AmFwCghFQ0wwcGFFQ04wcGFFQ1gw
cmELAARFQ04xcmELAARFQ1gxe1BOUDAK8GGgDJNhClBwCiBFQ0lRoRCgBZNhCnChCHAKAEVD
SVF7U0NGMQo4YqAMk2IKAHAKAEVDRFGhLqAMk2IKCHAKAUVDRFGhH6AMk2IKEHAKAkVDRFGh
EKAFk2IKIKEIcAoARUNEUXBFQ0RRRFJRRKRCVUZGFBlfUFJTAKALklBQRE2kUEVDMKEGpFBF
QzEIUEVDMBFMBApIMEcBvAO8AwEERwG8B7wHAQMigAAqAAAwRwF4A3gDAQhHAXgHeAcBAyKA
ACoAADBHAXgCeAIBCEcBeAZ4BgEDIiAAKgAAOHkACFBFQzERTAQKSDBHAbwDvAMBBEcBvAe8
BwEDIoAAKgsAMEcBeAN4AwEIRwF4B3gHAQMigAAqCwAwRwF4AngCAQhHAXgGeAYBAyIgACoL
ADh5ABRHFF9TUlMBi2gKAklPQVKLaAoRSVJRTYxoChRETUFNoBGTSU9BUgu8A3AK72BwCgBh
oTKgEZNJT0FSC3gDcAreYHAKAWGhHqARk0lPQVILeAJwCp5gcAoCYaEKWzICAgAAkAoAe1BC
QUgKA2JwYlBCQUhwYFBCQUxwYVwvBF9TQl9QQ0kwUE0wMFhQQV97UE5QMAoPYKANk0lSUU0K
IH1gClBgoQ+gDZNJUlFNCoB9YApwYHBgUE5QMHtTQ0YxCsdhoA2TRE1BTQoBfWEKCGGhH6AN
k0RNQU0KAn1hChBhoQ+gDZNETUFNCgh9YQogYXBhU0NGMXBETUFNRFJRRFwvBF9TQl9QQ0kw
RE9DS1NEQ017UENSXwr+YH1gCgRgcGBQQ1JffUZFUl8KAWBwYEZFUl9wAVwvBF9TQl9QQ0kw
UE0wMFhQRV9bgkFFRklSXwhfSElEDCRNAHEIX0NJRAxB0AURCF9QUjASBgFQU0lPCERSUUQK
ABQYX1NUQQCgDHtGRVJfCgQApAoPoQSkCg0UQwRfRElTAHtGRVJfCvtgcGBGRVJfcABEUlFE
XC8EX1NCX1BDSTBET0NLU0RDTXAAXC8EX1NCX1BDSTBQTTAwWFUyRRRMEV9DUlMACEJVRkYR
EwoQRwH4A/gDAQgiEAAqCAB5AItCVUZGCgJJUk1Oi0JVRkYKBElSTViLQlVGRgoJSVJJUYxC
VUZGCgxJUkRSeXtVMkFMCv4ACgJgcGBJUk1OcGBJUk1YoBOTe1BOUDEK8AAKcHAKgElSSVGh
SwSgE5N7UE5QMQrwAApQcAogSVJJUaE0oBOTe1BOUDEK8AAKQHAKEElSSVGhHqATk3tQTlAx
CvAACjBwCghJUklRoQhwCgBJUklRe1BOUDMKB2GgDJNhCgBwCgBJUkRSoTSgDJNhCgFwCgFJ
UkRSoSWgDJNhCgJwCgJJUkRSoRagDJNhCgRwCghJUkRSoQdwAElSRFJwSVJEUkRSUUSkQlVG
RghfUFJTEUgQCwMBMQBHAfgD+AMBCCIQACoLADEBRwH4AvgCAQgiCAAqCwAxAkcB6APoAwEI
IhAAKgsAMQJHAegC6AIBCCIIACoLADECRwH4A/gDAQgiqAAqCwAxAkcB+AL4AgEIIrAAKgsA
MQJHAegD6AMBCCKoACoLADECRwHoAugCAQgisAAqCwAxAkcB+AP4AwEIIhAAKgAAMQJHAfgC
+AIBCCIIACoAADECRwHoA+gDAQgiEAAqAAAxAkcB6ALoAgEIIggAKgAAMQJHAfgD+AMBCCKo
ACoAADECRwH4AvgCAQgisAAqAAAxAkcB6APoAwEIIqgAKgAAMQJHAegC6AIBCCKwACoAADh5
ABRLGV9TUlMBi2gKAklSSU+LaAoJSVJJUYxoCgxJUkRSoBGTSVJJTwv4A3AK/mBwCgBhoUcE
oBGTSVJJTwv4AnAKvmBwCgFhoTKgEZNJUklPC+gDcAr6YHAKB2GhHqARk0lSSU8L6AJwCrpg
cAoFYaEKWzICAgAAkAoAe1UyQUgKA2JwYlUyQUh7VTJBTAoBYn1gYmBwYFUyQUxwYVwvBF9T
Ql9QQ0kwUE0wMFhVMkF7UE5QMQoPYKANk0lSSVEKgH1gCnBgoTqgDZNJUklRCiB9YApQYKEq
oA2TSVJJUQoQfWAKQGChGqANk0lSSVEKCH1gCjBgoQpbMgICAACQCgBwYFBOUDGgDJNJUkRS
CgBwCgBgoTegDJNJUkRSCgFwCgFgoSigDJNJUkRSCgJwCgJgoRmgDJNJUkRSCghwCgRgoQpb
MgICAACQCgB7UE5QMwrAYX1hYGFwYVBOUDNwSVJEUkRSUURcLwRfU0JfUENJMERPQ0tTRENN
fUZFUl8KBGBwYEZFUl9wAVwvBF9TQl9QQ0kwUE0wMFhVMkVbgkQmQ1MxMAhfSElEDA5jABAU
TAZfU1RBAFsjTVNNSf//cAuBU1NfQVhwCwAaU19CWHAKAFNfQ1hwCgBTX0RYcAoAU0VTSXAK
AFNFRElTTVBJCoGgHJNTX0JYCwMBoAyTU19DTAoBcAoPZ6EFcAoNZ6EFcAoAZ1snTVNNSaRn
FE4FX0RJUwBbI01TTUn//3ALgVNTX0FYcAsBGlNfQlhwCwABU19DWHAKAFNfRFhwC///U0VT
SXAKAFNFRElTTVBJCoFbJ01TTUlwAFwvBF9TQl9QQ0kwUE0wMFhBMEUUQQpfQ1JTAFsjTVNN
Sf//cAuBU1NfQVhwCwAaU19CWHAKAFNfQ1hwCgBTX0RYcAoAU0VTSXAKAFNFRElTTVBJCoFw
RURJMWBbJ01TTUmgFJNgCgOkEQ0KCkcB8A/wDwEIeQChPqAUk2AKAqQRDQoKRwGIDogOAQh5
AKEnoBSTYAoBpBENCgpHATgNOA0BCHkAoRCkEQ0KCkcBOAU4BQEIeQAIX1BSUxEqCicwRwE4
BTgFAQgwRwE4DTgNAQgwRwGIDogOAQgwRwHwD/APAQg4eQAURQtfU1JTAYtoCgJJT0FSoA2T
SU9BUgs4BXAKAGChOqANk0lPQVILOA1wCgFgoSqgDZNJT0FSC4gOcAoCYKEaoA2TSU9BUgvw
D3AKA2ChClsyAgIAAJAKAFsjTVNNSf//cAuBU1NfQVhwCwEaU19CWHALAQFTX0NYcAoAU19E
WHAL//9TRVNJcAoAU0VESXBgRURJMVNNUEkKgVsnTVNNSXABXC8EX1NCX1BDSTBQTTAwWEEw
RVuCRl9DUzAwCF9ISUQLDmMIRFJRRAoAFE8JX1NUQQBbI01TTUn//3ALgVNTX0FYcAsAGlNf
QlhwCgBTX0NYcAoAU19EWHAKAFNFU0lwCgBTRURJU01QSQqBoE8Ek1NfQlgLAwFwC4FTU19B
WHALAhpTX0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgaAMk1NfQ0wKAXAK
D2ehBXAKDWehBXAKAGdbJ01TTUmkZxRPCl9ESVMAWyNNU01J//9wC4FTU19BWHALAhpTX0JY
cAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgXALgVNTX0FYcAsDGlNfQlhwCwAB
U19DWHAKAFNfRFhTTVBJCoFwAERSUURcLwRfU0JfUENJMERPQ0tTRENNWydNU01JcABcLwRf
U0JfUENJMFBNMDBYQTNFcABcLwRfU0JfUENJMFBNMDBYQTNEFE4hX0NSUwAIQ0NSUxEmCiNH
ATAFMAUBCEcBiAOIAwEERwEgAiACARQiIAAqAQAqAgB5AItDQ1JTCgJXU01Oi0NDUlMKBFdT
TViLQ0NSUwoSU0JNTotDQ1JTChRTQk1Yi0NDUlMKGUNTSVGMQ0NSUwocQ1NEUIxDQ1JTCh9D
U0RDWyNNU01J//9wC4FTU19BWHALAhpTX0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VE
SVNNUEkKgXBFU0kxYHBFU0kyYXthCg9hekVTSTIKBGJwRURJMWN6YwoEZHtjCg9je2QKD2Sg
FZNjCgNwC0APV1NNTnALQA9XU01YoUMEoBWTYwoCcAuADldTTU5wC4AOV1NNWKEqoBWTYwoB
cAsEBldTTU5wCwQGV1NNWKESoAWTYwoAoQpbMgICAACQCgCgFZNkCgBwCyACU0JNTnALIAJT
Qk1YoUMFoBWTZAoCcAtAAlNCTU5wC0ACU0JNWKE6oBWTZAoEcAtgAlNCTU5wC2ACU0JNWKEi
oBWTZAoGcAuAAlNCTU5wC4ACU0JNWKEKWzICAgAAkAoAoAuTYAr/cABDU0lRoRJwCgFDU0lR
eUNTSVFgQ1NJUaALk2EK/3AAQ1NEUKEMcAoBZnlmYUNTRFCgC5NiCv9wAENTREOhDHAKAWd5
Z2JDU0RDcENTRFBEUlFEfURSUURDU0RDRFJRRFsnTVNNSaRDQ1JTCF9QUlMRRAQKQDBHATAF
MAUBCDBHAQQGBAYBCDBHAYAOgA4BCDBHAUAPQA8BCDhHAYgDiAMBBEcBIAKAAiAUIqCaKgsA
KgsAeQAURyJfU1JTAYtoCgJTU0lPi2gKElNCSU+LaAoZQ1NJUYxoChxDU0RQjGgKH0NTREOg
DZNTU0lPCzAFcAoAYKE6oA2TU1NJTwsEBnAKAWChKqANk1NTSU8LgA5wCgJgoRqgDZNTU0lP
C0APcAoDYKEKWzICAgAAkAoAcGBioA2TU0JJTwsgAnAKAGehSgSgEpNTQklPC0ACfWAKIGBw
CgFnoTSgEpNTQklPC2ACfWAKQGBwCgJnoR+gEpNTQklPC4ACfWAKYGBwCgNnoQpbMgICAACQ
CgCCQ1NJUWF2YYJDU0RQZHZkgkNTRENmdmZwQ1NEUERSUUR9RFJRRENTRENEUlFEXC8EX1NC
X1BDSTBET0NLU0RDTXlmCgRme2YK8GZ9ZGZkWyNNU01J//9wC4FTU19BWHALAhpTX0JYcAoA
U19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgXALgVNTX0FYcAsDGlNfQlh7U19DWAoC
U19DWH1TX0NYCwEBU19DWHAKAFNfRFhwYUVTSTFwZEVTSTJwYEVESTFTTVBJCoFbJ01TTUlw
YlwvBF9TQl9QQ0kwUE0wMFhBM0FwAVwvBF9TQl9QQ0kwUE0wMFhBM0RwAVwvBF9TQl9QQ0kw
UE0wMFhBM0VwZ1wvBF9TQl9QQ0kwUE0wMFhBMkFwAVwvBF9TQl9QQ0kwUE0wMFhBMkRwAVwv
BF9TQl9QQ0kwUE0wMFhBMkVbgkYVQ1MwMQhfSElEDA5jAAEIX0NJRAxB0LAvFEkFX1NUQQBb
I01TTUn//3ALgVNTX0FYcAsEEVNfQlhwCwCAU19DWFNNUEkKgaAde1NfQkgKAQCgDXtTX0NM
CgEAcAoPZ6EFcAoNZ6EFcAoAZ1snTVNNSaRnFE0FX0RJUwBbI01TTUn//3ALgVNTX0FYcAsF
EVNfQlhwCwCBU19DWFNNUEkKgVsnTVNNSXAAXC8EX1NCX1BDSTBQTTAwWEE0RXAAXC8EX1NC
X1BDSTBQTTAwWEE0RAhfUFJTEQ0KCkcBAAIAAgEIeQAIX0NSUxENCgpHAQACAAIBCHkAFE0F
X1NSUwFbI01TTUn//3ALgVNTX0FYcAsFEVNfQlhwCwGBU19DWFNNUEkKgVsnTVNNSXABXC8E
X1NCX1BDSTBQTTAwWEE0RHABXC8EX1NCX1BDSTBQTTAwWEE0RVuCSDpDUzAzCF9ISUQMDmMA
AxRACl9TVEEAWyNNU01J//9wC4FTU19BWHALABpTX0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJ
cAoAU0VESVNNUEkKgaBABZNTX0JYCwMBcAuBU1NfQVhwCwQaU19CWHAKAFNfQ1hwCgBTX0RY
cAsA/1NFU0lwCgBTRURJU01QSQqBoAyTU19DTAoBcAoPZ6EFcAoNZ6EFcAoAZ1snTVNNSaRn
FEYJX0RJUwBbI01TTUn//3ALgVNTX0FYcAsEGlNfQlhwCgBTX0NYcAoAU19EWHAKAFNFU0lw
CgBTRURJU01QSQqBcAuBU1NfQVhwCwUaU19CWHALAAFTX0NYcAoAU19EWFNNUEkKgVsnTVNN
SXAAXC8EX1NCX1BDSTBQTTAwWEExRXAAXC8EX1NCX1BDSTBQTTAwWEExRAhfUFJTESAKHTEA
RwEAAzADEAQiAAAxAUcBAAMwAxAEIqCOOHkAFEASX0NSUwAIVEJVRhEQCg1HATADMAMBBCIg
AHkAi1RCVUYKAk1ETU6LVEJVRgoETURNWItUQlVGCglNRElRWyNNU01J//9wC4FTU19BWHAL
BBpTX0JYcAoAU19DWHAKAFNfRFhwCwD/U0VTSXAKAFNFRElTTVBJCoGgGJNFU0kyCgNwCzAD
TURNTnALMANNRE1YoU0FoBiTRVNJMgoCcAsgA01ETU5wCyADTURNWKFBBKAYk0VTSTIKAXAL
EANNRE1OcAsQA01ETVihJaAYk0VTSTIKAHALAANNRE1OcAsAA01ETVihClsyAgIAAJAKAKAO
lEVTSTEKD3AATURJUaEVcAoBTURJUXlNRElRRVNJMU1ESVFbJ01TTUmkVEJVRhRIEV9TUlMB
i2gKAk1ESU+LaAoJTURJUaANk01ESU8LMANwCgNhoTqgDZNNRElPCyADcAoCYaEqoA2TTURJ
TwsQA3AKAWGhGqANk01ESU8LAANwCgBhoQpbMgICAACQCgCCTURJUWB2YFsjTVNNSf//cAuB
U1NfQVhwCwQaU19CWHAKAFNfQ1hwCgBTX0RYcAoAU0VTSXAKAFNFRElTTVBJCoFwC4FTU19B
WHALBRpTX0JYcAsBAVNfQ1hwCgBTX0RYcGBFU0kxcGFFU0kyU01QSQqBWydNU01JcGFcLwRf
U0JfUENJMFBNMDBYQTFBcAFcLwRfU0JfUENJMFBNMDBYQTFEcAFcLwRfU0JfUENJMFBNMDBY
QTFFW4JCnE1XVjAIX0hJRAwkTTdgCERSUUQKABRLBl9TVEEAWyNNU01J//9wC4FTU19BWHAL
AhhTX0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgaAbk1NfQkgKAaAMk1Nf
Q0wKAXAKD2ehBXAKDWehBXAKAGdbJ01TTUmkZxRID19ESVMAWyNNU01J//9wC4FTU19BWHAL
AhhTX0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgXALgVNTX0FYcAsDGFNf
QlhwCwABU19DWFNNUEkKgXAARFJRRFwvBF9TQl9QQ0kwRE9DS1NEQ01wC4FTU19BWHALBBhT
X0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgXALgVNTX0FYcAsFGFNfQlhw
CwABU19DWFNNUEkKgVsnTVNNSXAAXC8EX1NCX1BDSTBQTTAwWE0wRXAAXC8EX1NCX1BDSTBQ
TTAwWE0xRRRCKV9DUlMACE1WVUIRHgobRwGwDbANARBHAfgD+AMBCCIQACIABCoBAXkAi01W
VUIKAk1WRE6LTVZVQgoETVZEWItNVlVCChRNVkRJjE1WVUIKF01WRESLTVZVQgoKTVZVTotN
VlVCCgxNVlVYjE1WVUIKDk1WVUeMTVZVQgoPTVZVTItNVlVCChFNVlVJWyNNU01J//9wC4FT
U19BWHALAhhTX0JYcAoAU19DWHAKAFNfRFhwCgBTRVNJcAoAU0VESVNNUEkKgaAYk0VESTEK
BHALMAFNVkROcAswAU1WRFihQgagGJNFREkxCgVwC1ADTVZETnALUANNVkRYoUYEoBiTRURJ
MQoGcAtwB01WRE5wC3AHTVZEWKEqoBiTRURJMQoHcAuwDU1WRE5wC7ANTVZEWKEPcAoATVZE
TnAKAE1WRFigDpRFU0kxCg9wAE1WREmhD3AKAWB5YEVTSTFNVkRJoA6URVNJMgoHcABNVkRE
oQ9wCgFgeWBFU0kyTVZERHBNVkRERFJRRHALgVNTX0FYcAsEGFNfQlhwCgBTX0NYcAoAU19E
WHAKAFNFU0lwCgBTRURJU01QSQqBoEQKk1NfQ0wKAaAYk0VTSTIKAHAL+ANNVlVOcAv4A01W
VVihQgagGJNFU0kyCgFwC/gCTVZVTnAL+AJNVlVYoUYEoBiTRVNJMgoCcAvoA01WVU5wC+gD
TVZVWKEqoBiTRVNJMgoDcAvoAk1WVU5wC+gCTVZVWKEPcAoATVZVTnAKAE1WVVigDpRFU0kx
Cg9wAE1WVUmhD3AKAWB5YEVTSTFNVlVJoSRwCgBNVlVOcAoATVZVWHAKAE1WVUdwCgBNVlVM
cAoATVZVSVsnTVNNSaRNVlVCCFBSUzARQwcKbzEARwEwATABARBHAQAAAAAAACIAACIADCrA
ATEFRwFQA1ADARBHAQAAAAAAACIAACKgDCrDATEFRwFwB3AHARBHAQAAAAAAACIAACKgDCrD
ATEFRwGwDbANARBHAQAAAAAAACIAACKgDCrDATh5AAhQUlMxEUAhCwsCMEcBMAEwAQEQRwH4
A/gDAQgiuAAiAAAqwwEwRwEwATABARBHAfgC+AIBCCK4ACIAACrDATBHATABMAEBEEcB6APo
AwEIIrgAIgAAKsMBMEcBMAEwAQEQRwHoAugCAQgiuAAiAAAqwwEwRwFQA1ADARBHAfgD+AMB
CCK4ACIAACrDATBHAVADUAMBEEcB+AL4AgEIIrgAIgAAKsMBMEcBUANQAwEQRwHoA+gDAQgi
uAAiAAAqwwEwRwFQA1ADARBHAegC6AIBCCK4ACIAACrDATBHAXAHcAcBEEcB+AP4AwEIIrgA
IgAAKsMBMEcBcAdwBwEQRwH4AvgCAQgiuAAiAAAqwwEwRwFwB3AHARBHAegD6AMBCCK4ACIA
ACrDATBHAXAHcAcBEEcB6ALoAgEIIrgAIgAAKsMBMEcBsA2wDQEQRwH4A/gDAQgiuAAiAAAq
wwEwRwGwDbANARBHAfgC+AIBCCK4ACIAACrDATBHAbANsA0BEEcB6APoAwEIIrgAIgAAKsMB
MEcBsA2wDQEQRwHoAugCAQgiuAAiAAAqwwEwRwEwATABARBHAQAAAAAAACIAACK4jCrDATBH
AVADUAMBEEcBAAAAAAAAIgAAIriMKsMBMEcBcAdwBwEQRwEAAAAAAAAiAAAiuIwqwwEwRwGw
DbANARBHAQAAAAAAACIAACK4jCrDATh5ABQYX1BSUwCgClc5OEakUFJTMaEGpFBSUzAUTyZf
U1JTAYtoCgJNVkRBi2gKCk1WVUGLaAoRTVZVSYtoChRNVkRJjGgKF01WRESgDZNNVkRBCzAB
cAoEYaE6oA2TTVZEQQtQA3AKBWGhKqANk01WREELcAdwCgZhoRqgDZNNVkRBC7ANcAoHYaEK
WzIDAQAAkAoAoAtNVkRJgk1WRElioQeCTVZVSWJ2YoJNVkREY3ZjcE1WREREUlFEXC8EX1NC
X1BDSTBET0NLU0RDTVsjTVNNSf//cAuBU1NfQVhwCwIYU19CWHAKAFNfQ1hwCgBTX0RYcAoA
U0VTSXAKAFNFRElTTVBJCoFwYUVESTFwYkVTSTFwY0VTSTJwC4FTU19BWHALAxhTX0JYcAsB
AVNfQ1hwCgBTX0RYU01QSQqBcAoAYaBCBk1WVUGgSwVNVlVJoA2TTVZVQQv4A3AKAGKhOqAN
k01WVUEL+AJwCgFioSqgDZNNVlVBC+gDcAoCYqEaoA2TTVZVQQvoAnAKA2KhClsyAwEAAJAK
AIJNVlVJY3ZjcAoBYXALgVNTX0FYcAsEGFNfQlhwCgBTX0NYcAoAU19EWHAKAFNFU0lwCgBT
RURJU01QSQqBcGFTX0NMoA5hcGJFU0kycGNFU0kxcAuBU1NfQVhwCwUYU19CWHAKAVNfQ0hw
CgBTX0RYU01QSQqBWydNU01JcAFcLwRfU0JfUENJMFBNMDBYTTBFoEcEYXBNVlVBXC8EX1NC
X1BDSTBQTTAwWE0xQXAKB1wvBF9TQl9QQ0kwUE0wMFhNMU1wCgdcLwRfU0JfUENJMFBNMDBY
TTFFoRZwAFwvBF9TQl9QQ0kwUE0wMFhNMUUIX1BSVxIGAgoKCgMITVdWVwoAFAxfUFNXAXBo
TVdWVxRKB01XRFUAWyNNU01J//9wC4FTU19BWHALBBhTX0JYcAoAU19DWHAKAFNfRFhwCgBT
RVNJcAoAU0VESVNNUEkKgXALgVNTX0FYcAsFGFNfQlhwCwABU19DWFNNUEkKgVsnTVNNSXAA
XC8EX1NCX1BDSTBQTTAwWE0xRVuCQB1HQU1FCF9ISUQMQdCwLwhfRUpEDV9TQi5QQ0kwLkRP
Q0sAFEMNX1NUQQBwXC8EX1NCX1BDSTBET0NLR0RJRGCgCZNgCo9wCg9hoUoKoEEKkZNgCp+T
YAp/oEMESDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSTJDUgoACkAKAmKgF5ViCwCAoAp7YgoE
AHAKD2GhBXAKDWGhBXAKAGGhQQVbI01TTUn//3ALgVNTX0FYcAsEEVNfQlhwCgBTX0NYU01Q
SQqBoB17U19CSAoBAKANe1NfQ0wKAQBwCg9hoQVwCg1hoQVwCgBhWydNU01JoQVwCgBhpGEU
QwdfRElTAKBLBpNcLwRfU0JfUENJMERPQ0tHRElECn+gJEg4RFJcLwVfU0JfUENJMElTQTBF
QzBfSTJDVwoACkAKBQpBoS1bI01TTUn//3ALgVNTX0FYcAsFEVNfQlhwCwABU19DWFNNUEkK
gVsnTVNNSQhfUFJTEQ0KCkcBAQIBAgEBeQAIX0NSUxENCgpHAQECAQIBAXkAFD1fU1JTAaA2
k1wvBF9TQl9QQ0kwRE9DS0dESUQKf1wvBV9TQl9QQ0kwSVNBMEVDMF9JMkNXCgAKQAoFCkBb
gjNQSUNfCF9ISUQLQdAIX0NSUxEgCh1HASAAIAABAkcBoACgAAECRwHQBNAEAQIiBAB5AFuC
JVRJTVIIX0hJRAxB0AEACF9DUlMREAoNRwFAAEAAAQQiAQB5AFuCNURNQUMIX0hJRAxB0AIA
CF9DUlMRIAodRwEAAAAAARBHAYAAgAABEEcBwADAAAEgKhAEeQBbgkYLU1BLUghfSElEDEHQ
CAAIX0NSUxENCgpHAWEAYQABAXkAFEoFX1BTMABwXC8EX1NCX1BDSTBET0NLR0RJRGCgPZCS
k2AKn5KTYAp/oB5IOERScABcLwVfU0JfUENJMElTQTBFQzBfSENNVaERV0JFQwo6e1JCRUMK
Ogr+ABQ3X1BTMwCgHkg4RFJwAVwvBV9TQl9QQ0kwSVNBMEVDMF9IQ01VoRFXQkVDCjp9UkJF
Qwo6CgEAW4JDBU1CUkQIX0hJRAxB0AwCCF9DUlMRPQo6RwEiACIAAQFHAZIAkgABAUcBsgCy
AAECRwEuAC4AAQJHAeAV4BUBEEcBAO8A7wFARwGg76DvARB5AFuCJU1QUkMIX0hJRAxB0AwE
CF9DUlMREAoNRwHwAPAAARAiACB5AFuCLUtCRDAIX0hJRAxB0AMDCF9DUlMRGAoVRwFgAGAA
AQFHAWQAZAABASICAHkAW4InTU9VMAhfSElEDCRNN4AIX0NJRAxB0A8TCF9DUlMRCAoFIgAQ
eQBbgiVSVEMwCF9ISUQMQdALAAhfQ1JTERAKDUcBcABwAAEEIgABeQBbgoZLAkVDMF8IX0hJ
RAxB0AwJFBJfUkVHAqALk2gKA3BpSDhEUhRHD19JTkkAcFNOUzBUTVAwcFNOUzFUTVAxcFNO
UzJUTVAycFNOUzNUTVAzcFNOUzRUTVA0cFNOUzVUTVA1cFNOUzZUTVA2cFNOUzdUTVA3oBdI
OERScABIV0ZOcABIV0VLcAFIQ0FDoSFXQkVDCjJ7UkJFQwoyCs8AV0JFQwoAfVJCRUMKAApA
AFwvBl9TQl9QQ0kwSVNBMEVDMF9CQVQwX1BTVwoBXC8GX1NCX1BDSTBJU0EwRUMwX0JBVDFf
UFNXCgFwR1VJREJERVagKlc5OEZcLwNfVFpfUEZOMF9PRkZcLwNfVFpfUEZOMV9PRkZwCgJJ
R05SCF9DUlMRFQoSRwFiAGIAAQFHAWYAZgABAXkACF9HUEUKCQhfR0xLCgFbgEVDT1IDCgAL
AAFbgUQ7RUNPUhEAAUhDR0EBSENISwFIQ1NLAUhDTlABSENIQgFIQ0FDAUhDVE0BSENEWAFI
Q0tYAUhDU00BSENJRAFIQ1dQAUhDQUQBSENEVwEAAQAIAAgAAUhTQ0wBSFNMQgFIU1NQAUhT
UFMBSFNSTQFIU0RDAUhTUE8BSFNQQQFIU0hBAQABSFM4OAFIUzMxAUhTMzIBSFMzMwEAAUhT
VU4ISFNSUAhIQUNDCEg4SUQISFNIVwhIU0lECEhMQ0wISExCTAhITE1TCEhJQ0EISEFNMAhI
QU0xCEhBTTIISEFNMwhIQU00CEhBTTUISEFNNghIQU03CEhBTTgISEFNOQhIQU1BCEhBTUII
SEFNQwhIQU1ECEhBTUUISEFNRghIVDAwAUhUMDEBSFQwMgEABEhUMEUBSFQxMAFIVDExAUhU
MTIBAARIVDFFAUhUMjABSFQyMQFIVDIyAQAESFQyRQFIVDMwAUhUMzEBSFQzMgEABEhUM0UB
SFQ0MAFIVDQxAUhUNDIBAARIVDRFAUhUNTABSFQ1MQFIVDUyAQAESFQ1RQFIVDYwAUhUNjEB
SFQ2MgEABEhUNkUBSFQ3MAFIVDcxAUhUNzIBAARIVDdFAUhESUQIAAhIQVRSCEhUMEgISFQw
TAhIVDFICEhUMUwISEZTUAMABQAQSFdQTQFIV0xCAUhXTE8BSFdESwFIV0ZOAUhXRUsBSFdS
SQEAAQAISFBFSwFIUEJQAUhQSUIBAAFIUDBGAUhQMUYBSFAyRgFIUDNGAQAISFBGTgFIUEgx
AUhQTEQBSFBQTwFIUEFDAUhQSDABAAJIUEJVAUhQREUBSFBNMAFIUE0xAUhQTTIBSFBNMwEA
AkhCMEwEAAFIQjBDAUhCMEQBSEIwQQFIQjFMBAABSEIxQwFIQjFEAUhCMUEBSENNVQFIQ0tM
AUhDRjABSENGMQFIQ1NMAkhDVEgBAAEAAgAGSFJTTghIUENUCEhQRFRABEhMQ00ISExETwRI
TFBBAUhMRFQBSExIUgFITENPAUhMRDIESExEMQRIRUFECEhEVE0QSFJUTRBIV0FLCAAISE1Q
UghITVNUBQABSE1BUgFITUROAUhNQUQISE1DTQhITURUCABID0hNQkMIAEgFAEAgSEFLQhBI
QU1PEABABgBACEhCTERABEhCTFYQSE1JRAgACEhDSTEBSENJMgEAAkhDRE0BSENUVwFIQ1JG
AQABSENORgEAB0hCMEgESEIxSAQACEhCSURABEhCVE1ABAhIWEZOCgEIV0JBVAoAFBpTV0FL
AKALSFhGTnABSFdGTqEHcABIV0ZOW4FIBEVDT1IRAEAqSEJQVQgACEhCU1QQSEJSQyBIQkZD
IEhCQ0MgSEJWTBBIQkVDEEhCQlQQSEJORhBIQlRDEEhCQ1QQACAAQEZbgTFFQ09SEQBAKkhC
UzAQSEJTMRBIQlMyEEhCUzMQSEJTNBBIQlM1EEhCUzYQSEJTNxBbgUMERUNPUhEAQCpIQlRT
CAAISEJTRBBIQkRUEEhCSDAQSEJMMBBIQkgxEEhCTDEQSEJIMhBIQkwyEEhCSDMQSEJMMxBb
gUoFRUNPUhEAQCpIRl9aCEhGX0QISFpJUAhIRFZECEhIRkQISEZfSAhISERECEhBRFAISExT
XwhIRl9DCEhDUlcISENEXwhIUjAxCEhGREQISElNUAhITk9OCAhCRl9aCoMIQkZfRAqDCEJa
SVAKgwhCRFZECoMIQkhGRAqDCEJGX0gKgwhCSERECoMIQkFEUAoACEJMU18KgwhCRl9DCoMI
QkNSVwqDCEJDRF8KgwhCUjAxCgAIQkZERAqDCEJJTVAKAAhCTk9OCgAURBNMQkFZAVsjSTJD
Tf//oEMJaHBCRl9aSEZfWnBCRl9ESEZfRHBCWklQSFpJUHBCRFZESERWRHBCSEZESEhGRHBC
Rl9ISEZfSHBCSERESEhERHBCQURQSEFEUHBCTFNfSExTX3BCRl9DSEZfQ3BCQ1JXSENSV3BC
Q0RfSENEX3BCUjAxSFIwMXBCRkRESEZERHBCSU1QSElNUHBCTk9OSE5PTqFCB3AKgUhGX1pw
CoFIRl9EcAqBSFpJUHAKgUhEVkRwCoFISEZEcAqBSEZfSHAKgUhIRERwCgBIQURQcAqBSExT
X3AKgUhGX0NwCoFIQ1JXcAqBSENEX3AKAEhSMDFwCoFIRkREcAoASElNUHAKAEhOT05wSTJX
QgAKAQoJChBnWydJMkNNoApnWzIBAwAAgGcIVE1QMAu4CwhUTVAxC7gLCFRNUDILuAsIVE1Q
Mwu4CwhUTVA0C7gLCFRNUDULuAsIVE1QNgu4CwhUTVA3C7gLCElHTlIKABRHCFVQRFQAoApJ
R05SdklHTlKhRAegQQdIOERSoAlbI0kyQ01kAKFABnBJMlJCAAoBCgRnoApnWzIBAwAAgGeh
QQRwSEJTMFRNUDBwSEJTMVRNUDFwSEJTMlRNUDJwSEJTNFRNUDRwSEJTNVRNUDVwSEJTNlRN
UDZwSEJTN1RNUDdbJ0kyQ00IRjBPTgoACEYxT04KABRHCFNGTlACcAv//2CgHWhwaUYxT06g
BUYwT06hDqAGaXAKA2ChBXAKAGChIHBpRjBPTqAGaXAKB2ChEaAJRjFPTnAKA2ChBXAKAGCg
O5KTYAv//3BgRlNQRKALSDhEUnBgSEZTUKEhe1wuX1NCX1JCRUMKLwr4YVwuX1NCX1dCRUMK
L31gYQBbAUkyQ00HFEwESTJDUgNbI0kyQ03//3BoSENTTHB9eWkKAQAKAQBITUFEcGpITUNN
cAoHSE1QUnBDSEtTZ6AFZ3BnYKEHcEhNRFRgWydJMkNNpGAURARJMkNXBFsjSTJDTf//cGhI
Q1NMcH15aQoBAAoBAEhNQURwakhNQ01wa0hNRFRwCgZITVBScENIS1NgWydJMkNNpGAUKEky
UkIDcGhIQ1NMcHlpCgEASE1BRHBqSE1DTXAKC0hNUFKkQ0hLUxQuSTJXQgRwaEhDU0xweWkK
AQBITUFEcGpITUNNcGtITUJDcAoKSE1QUqRDSEtTFD9DSEtTAHAL6ANgohNITVBSWyIKAXZg
oAeSYKQLgICgGUhNRE6gD0hNU1SkfQsAgEhNU1QAoQOkAKEFpAuBgBRADEdVSUQAcAoARUlE
X6BABUg4RFJ9SERJRAqASERJRHAKFGCiEZBge0hESUQKgABbIgoBdmBwSERJRGCgCntgCoAA
cAr/Z6EXoBKTSERJRAoPoAlIQjFBcAoQYHBgZ6FIBVdCRUMKKH1SQkVDCigKgABwChRgohOQ
YHtSQkVDCigKgABbIgoBdmBwUkJFQwooYKAKe2AKgABwCv9noRqgFZNgCg+gD3tSQkVDCjkK
gABwChBgcGBncGdJRElEpGdbAUxFRE0HFEcHQkxFRAKgTwZIOERSWyNMRURN//9wChhITE1T
WyEK+lshCvqgCWlwChhITEJMoQhwCgBITEJMWyEK+lshCvqgDJNoCgBwCgBITENMoR+gDJNo
CgFwCghITENMoRCgDJNoCgJwChBITENMoQFbIgoKWydMRURNFEkJU1lTTAKgCZNoCgBwCgFg
oRCgCZNoCgFwCoBgoQSkCgBbI0xFRE3//3BgSExNU1shCvpbIQr6oBuTaQoAcAoASExCTFsh
CvpbIQr6cAoASExDTKE6oBqTaQoBcAoASExCTFshCvpbIQr6cGBITENMoR2gGZNpCgJwYEhM
QkxbIQr6WyEK+nBgSExDTKEBWyIKClsnTEVETQhCQU9OCgAUQwpCRUVQAaAIlGgKD6QKAaFC
CaAvk2gKAKApQkFPTnAKAEhTUlBbIQr6WyEK+nBoSFNVTlshCvpbIQr6cAoAQkFPTqFPBaAp
k2gKD3AKCEhTUlBbIQr6WyEK+nAKAUJBT05waEhTVU5bIQr6WyEK+qEyoAVCQU9OoSpwaEhT
VU6gCZNoCgNbIgrIoRigCZNoCgVbIgrIoQygCpNoCgdbIgv0ARQMTVVURQFwaEhDTVUIV0JU
MAoACFdCVDEKAAhCVDBJEkIEDQoACgAKAAoBCzAqCgAKAAoBCgENVGhpbmtQYWQgQmF0dGVy
eQANAA1MSU9OAA1JQk0gQ29ycG9yYXRpb24gAAhCVDBQEgIECEJUMEoKAFuCSjZCQVQwCF9I
SUQMQdAMCghfVUlECgAIX1BDTBIHAVxfU0JfCF9QUlcSBgIKCwoDFE0GX1BTVwGgKkg4RFKg
DmhwAUhXTEJwAVdCVDChFaAFV0JUMaEHcABIV0xCcABXQlQwoTqgGGhXQkVDCjJ9UkJFQwoy
CgIAcAFXQlQwoR+gBVdCVDGhEVdCRUMKMntSQkVDCjIK/QBwAFdCVDAIQjBTVAoAFEgEX1NU
QQCgDkg4RFJwSEIwQUIwU1ShI6AYe1wuX1NCX1JCRUMKOAqAAHAKAUIwU1ShCHAKAEIwU1Sg
CEIwU1SkCh+hBKQKDxROD19CSUYAWyNJMkNN//9wCgpmcAoBZaI8kGVmoC1IQjBBcEkyUkIA
CgEKEGegDpGTSE1CQwocZ3AKAGWhDVsiC+gDdmZwC4CAZ6EJcAoAZnAKAGegQgSRZ2VwCgCI
QlQwSQoAAHAM/////4hCVDBJCgEAcAoAiEJUMEkKBQBwCgCIQlQwSQoGAHAM/////4hCVDBJ
CgIAoUgFcEhCUFWIQlQwSQoAAHBIQlJDYHBgiEJUMEkKAQBweGAKFAAAiEJUMEkKBQBweGAK
ZAAAiEJUMEkKBgBwSEJGQ4hCVDBJCgIAcHhIQkZDCmQAAEJUMEpbJ0kyQ02gAmekQlQwSRRO
El9CU1QAWyNJMkNN//9wSTJSQgAKAQoQZ6A3kZKTSE1CQwocZ3AKAIhCVDBQCgMAcAoAiEJU
MFAKAgBwCgCIQlQwUAoBAHAKBIhCVDBQCgAAoUANcEhCVkxgcGCIQlQwUAoDAHBySEJDQ0JU
MEoAYaAVkpVhSEJGQ3BIQkZDiEJUMFAKAgChC3BhiEJUMFAKAgBwSEJFQ2GgEZKVYQsAgHB0
DAAAAQBhAGKhBHBhYqAPSEJQVXBiiEJUMFAKAQChFXdgYmFweGEL6AMAAIhCVDBQCgEAoBBI
QjBDcAoCiEJUMFAKAAChH6AQSEIwRHAKAYhCVDBQCgAAoQxwCgCIQlQwUAoAAKAFSEIwTKEV
fYOIQlQwUAoAAAoEiEJUMFAKAABbJ0kyQ02kQlQwUBRNBF9CVFABe0hBTTQK70hBTTSgOmh0
aEJUMEphoBGSg4hCVDBJCgAAeGEKCmBhe2EK/0hUMEx7emEKCAAK/0hUMEh9SEFNNAoQSEFN
NAhCVDFJEkIEDQoACgAKAAoBCzAqCgAKAAoBCgENVGhpbmtQYWQgQmF0dGVyeQANAA1MSU9O
AA1JQk0gQ29ycG9yYXRpb24gAAhCVDFQEgIECEJUMUoKAFuCTTxCQVQxCF9ISUQMQdAMCghf
VUlECgEIX1BDTBIHAVxfU0JfFEoEX0VKMAGgQgSTXC8FX1NCX1BDSTBJU0EwRUMwX0JERVYK
EHAKAEIxU1RwCgBYQjFTXC8FX1NCX1BDSTBJU0EwRUMwX0JFSjBoCF9QUlcSBgIKCwoDFE0F
X1BTVwGgIkg4RFKgDmhwAUhXTEJwAVdCVDGhDXAASFdMQnAAV0JUMaEyoBhoV0JFQwoyfVJC
RUMKMgoCAHABV0JUMaEXV0JFQwoye1JCRUMKMgr9AHAAV0JUMQhCMVNUCgAIWEIxUwoBFEkG
X1NUQQCgDkg4RFJwSEIxQUIxU1ShI6AYe1wuX1NCX1JCRUMKOQqAAHAKAUIxU1ShCHAKAEIx
U1SgHkIxU1SgCFhCMVOkCh+hD6AIV05URqQKAKEEpAofoQ+gCFdOVEakCgChBKQKDxROD19C
SUYAWyNJMkNN//9wCgpmcAoBZaI8kGVmoC1IQjFBcEkyUkIACgEKEWegDpGTSE1CQwocZ3AK
AGWhDVsiC+gDdmZwC4CAZ6EJcAoAZnAKAGegQgSRZ2VwCgCIQlQxSQoAAHAM/////4hCVDFJ
CgEAcAoAiEJUMUkKBQBwCgCIQlQxSQoGAHAM/////4hCVDFJCgIAoUgFcEhCUFWIQlQxSQoA
AHBIQlJDYHBgiEJUMUkKAQBweGAKFAAAiEJUMUkKBQBweGAKZAAAiEJUMUkKBgBwSEJGQ4hC
VDFJCgIAcHhIQkZDCmQAAEJUMUpbJ0kyQ02gAmekQlQxSRROEl9CU1QAWyNJMkNN//9wSTJS
QgAKAQoRZ6A3kZKTSE1CQwocZ3AKAIhCVDFQCgMAcAoAiEJUMVAKAgBwCgCIQlQxUAoBAHAK
BIhCVDFQCgAAoUANcEhCVkxgcGCIQlQxUAoDAHBySEJDQ0JUMUoAYaAVkpVhSEJGQ3BIQkZD
iEJUMVAKAgChC3BhiEJUMVAKAgBwSEJFQ2GgEZKVYQsAgHB0DAAAAQBhAGKhBHBhYqAPSEJQ
VXBiiEJUMVAKAQChFXdgYmFweGEL6AMAAIhCVDFQCgEAoBBIQjFDcAoCiEJUMVAKAAChH6AQ
SEIxRHAKAYhCVDFQCgAAoQxwCgCIQlQxUAoAAKAFSEIxTKEVfYOIQlQxUAoAAAoEiEJUMVAK
AABbJ0kyQ02kQlQxUBRNBF9CVFABe0hBTTQK30hBTTSgOmh0aEJUMUphoBGSg4hCVDFJCgAA
eGEKCmBhe2EK/0hUMUx7emEKCAAK/0hUMUh9SEFNNAogSEFNNFuCPkFDX18IX0hJRA1BQ1BJ
MDAwMwAIX1VJRAoACF9QQ0wSBwFcX1NCXxQLX1BTUgCkSFBBQxQJX1NUQQCkCg8UM19RMTEA
oAZEQkdfzKElWyNNU01J//9wC4FTU19BWHALEXFTX0JYU01QSQqBWydNU01JFBhfUTEyAFwv
A19TQl9IS0VZTUhLUQsDEBQtX1ExMwCgF1ZESEtcLwNfU0JfSEtFWU1IS1ELBBChDoZcLl9T
Ql9TTFBCCoAUGl9RMTYApFwvBF9TQl9QQ0kwVklEMFZTV1QUGl9RMTcApFwvBF9TQl9QQ0kw
VklEMFZFWFAUGF9RMUIAXC8DX1NCX0hLRVlNSEtRCwwQFBRfUTIwAIZCQVQwCoCGQkFUMQqA
FBRfUTIxAIZCQVQwCoCGQkFUMQqAFBRfUTIyAIZCQVQwCoCGQkFUMQqAFEQHX1EyMwBwSEIw
QWCgIX9eLkJBVDBCMFNUYABwYF4uQkFUMEIwU1SGQkFUMAqBoQiGQkFUMAqAcEhCMUFgoB5/
Xi5CQVQxQjFTVGAAcGBeLkJBVDFCMVNUX1EzOKEWoBSQXi5CQVQxWEIxU2CGQkFUMQqAFA1f
UTI0AIZCQVQwCoAUDV9RMjUAhkJBVDEKgBQWX1EyNgBIQkRTWyIL9AGGQUNfXwoAFBZfUTI3
AEhCRU5bIgv0AYZBQ19fCgAIRk5TUAoAFCpUUFRTAaALkZNoCgCSlWgKBaEXoBVXOThGcEhG
U1BGTlNQcAoASEZTUBRECFRXQUsBoAuRk2gKAJKVaAoFoUAHoA5XOThGcEZOU1BIRlNQVVBE
VIZcLl9UWl9USE0wCoGGXC5fVFpfVEhNMQqBhlwuX1RaX1RITTIKgYZcLl9UWl9USE00CoGG
XC5fVFpfVEhNNQqBhlwuX1RaX1RITTYKgYZcLl9UWl9USE03CoEUTgRfUTQwAKA5kX9IVDAx
XC8DX1RaX1RITTBBQzBNAH9IVDAwXC8DX1RaX1RITTBBQzFNAIZcLl9UWl9USE0wCoGGXC5f
VFpfVEhNMAqAFCRfUTQxAFVQRFSGXC5fVFpfVEhNMQqBhlwuX1RaX1RITTEKgBQkX1E0MgBV
UERUhlwuX1RaX1RITTIKgYZcLl9UWl9USE0yCoAUJF9RNDQAVVBEVIZcLl9UWl9USE00CoGG
XC5fVFpfVEhNNAqAFCRfUTQ1AFVQRFSGXC5fVFpfVEhNNQqBhlwuX1RaX1RITTUKgBQkX1E0
NgBVUERUhlwuX1RaX1RITTYKgYZcLl9UWl9USE02CoAUJF9RNDcAVVBEVIZcLl9UWl9USE03
CoGGXC5fVFpfVEhNNwqAFCZfUTJBAIZcLl9TQl9MSUQwCoBcLwRfU0JfUENJMFZJRDBWTE9F
FCVfUTJCAFwvA19TQl9IS0VZTUhLUQsBUIZcLl9TQl9MSUQwCoAURxBfUTM3AKAgSDhEUnBJ
MkNSAApACgRgoA+Te2ALAIAACwCAcAoAYKFBBFsjTVNNSf//cAuBU1NfQVhwCxKQU19CWHAK
BFNfQ1hTTVBJCoGgCVNfQUhwCgBgoQl7U19DSArwYFsnTVNNSaA0k2AKEKAcklc5OEZwCv9c
LwRfU0JfUENJMERPQ0tET0lEhlwvA19TQl9QQ0kwRE9DSwoAoBqTYApAWyRcLwRfU0JfUENJ
MERPQ0tDTkNUoDGTYAogoBdXOThGhlwvA19TQl9QQ0kwRE9DSwoBoROGXC8DX1NCX1BDSTBE
T0NLCgOgGpNgClBbJFwvBF9TQl9QQ0kwRE9DS0VKVDAUL19RM0IAcFNNU0NgcAoPU01TQ6AZ
kGAKBKRcLwRfU0JfUENJMFZJRDBWRUNDoQEUMV9RM0QAWyNNU01J//9wC4FTU19BWHALwJBT
X0JYcAoAU19DWFNNUEkKgVsnTVNNSRQcX1E3RgB9QUNJXwoBQUNJX3tBQ0lfCv5BQ0lfCEJE
RVYKAAhCU1RTCgAUKV9RMkMAoBmTQlNUUwoAcEdVSURCREVWTkJSRUJERVahAXAKLElEQkUU
SAZfUTJEAHBHVUlEYKBGBJCVYAoMXC8EX1NCX1BDSTBJU0EwR0NSNKAaVUxUT0JMRUQKAgoB
QkVFUAoPcAoCQlNUU6EQQkxFRAoACgBwCgBCU1RToQxwYEJERVZOQklOYHAKLUlEQkUURwdf
UTM4AFsiCmRwR1VJRGCgF5NgCg9CRElTTkJFSkJERVZwYEJERVahRgSgBUhQQlWhPaAukJVg
CgxcLwRfU0JfUENJMElTQTBHQ1I0QkxFRAoCCgFCRUVQCg9wCgJCU1RToQxwYEJERVZOQklO
YHAKOElEQkUUTxBOQlJFAaAUk2gKD0JMRUQKAAoAcAoAQlNUU6Ank2gKDUJMRUQKAQoBhlwv
BV9TQl9QQ0kwSVNBMEZEQzBGREQwCgOgSQWVaAoMQkxFRAoBCgGgLlwvBF9TQl9QQ0kwSVNB
MEdDUjSGXC8FX1NCX1BDSTBJREUwSURFUElEUFMKA6EbhlwvBV9TQl9QQ0kwSURFMElERVNJ
RFNNCgOgQgaTaAoQoEQEkUhQQUNIQjBBoCdXTlRGQkxFRAoBCgGGXC8FX1NCX1BDSTBJU0Ew
RUMwX0JBVDEKA6EQQkxFRAoBCgBwCgFCU1RToRZCTEVECgIKAUJFRVAKD3AKAkJTVFOgDZNo
Cv9CTEVECgAKABRLDU5CRUoBoE4Lk0JTVFMKAKAfk2gKDYZcLwVfU0JfUENJMElTQTBGREMw
RkREMAoBoEEFlWgKDKAuXC8EX1NCX1BDSTBJU0EwR0NSNIZcLwVfU0JfUENJMElERTBJREVQ
SURQUwoBoRuGXC8FX1NCX1BDSTBJREUwSURFU0lEU00KAaBCBJNoChCgH1dOVEaGXC8FX1NC
X1BDSTBJU0EwRUMwX0JBVDEKAaEbhlwvBV9TQl9QQ0kwSVNBMEVDMF9CQVQxCoFCTEVECgAK
AEJFRVAKAHAKAEJTVFMUQRFOQklOAaAtk2gKDUJMRUQKAQoBQkVOXwoAhlwvBV9TQl9QQ0kw
SVNBMEZEQzBGREQwCgGgRQaVaAoMQkxFRAoBCgGgNFwvBF9TQl9QQ0kwSVNBMEdDUjRCRU5f
CgGGXC8FX1NCX1BDSTBJREUwSURFUElEUFMKAaEhQkVOXwoChlwvBV9TQl9QQ0kwSURFMElE
RVNJRFNNCgGgQAaTaAoQoD1XTlRGcAoBXC8GX1NCX1BDSTBJU0EwRUMwX0JBVDFYQjFThlwv
BV9TQl9QQ0kwSVNBMEVDMF9CQVQxCgGhG4ZcLwVfU0JfUENJMElTQTBFQzBfQkFUMQqBcAoA
QlNUU0JMRUQKAAoAQkVFUAoAFBxCRUowAaAVaEJESVNCTEVECgEKAHAKAUJTVFMUQClCRUoz
AaBGFGhwCoNcLwVfU0JfUENJMElTQTBFQzBfQkZfWnAKg1wvBV9TQl9QQ0kwSVNBMEVDMF9C
Rl9EcAqDXC8FX1NCX1BDSTBJU0EwRUMwX0JaSVBwCoNcLwVfU0JfUENJMElTQTBFQzBfQkRW
RHAKg1wvBV9TQl9QQ0kwSVNBMEVDMF9CSEZEcAqDXC8FX1NCX1BDSTBJU0EwRUMwX0JGX0hw
CoNcLwVfU0JfUENJMElTQTBFQzBfQkhERHAKg1wvBV9TQl9QQ0kwSVNBMEVDMF9CTFNfcAqD
XC8FX1NCX1BDSTBJU0EwRUMwX0JGX0NwCoNcLwVfU0JfUENJMElTQTBFQzBfQkNSV3AKg1wv
BV9TQl9QQ0kwSVNBMEVDMF9CQ0RfcAqDXC8FX1NCX1BDSTBJU0EwRUMwX0JGRERCRElTcAoB
QlNUU6FBFHAKgVwvBV9TQl9QQ0kwSVNBMEVDMF9CRl9acAqBXC8FX1NCX1BDSTBJU0EwRUMw
X0JGX0RwCoFcLwVfU0JfUENJMElTQTBFQzBfQlpJUHAKgVwvBV9TQl9QQ0kwSVNBMEVDMF9C
RFZEcAqBXC8FX1NCX1BDSTBJU0EwRUMwX0JIRkRwCoFcLwVfU0JfUENJMElTQTBFQzBfQkZf
SHAKgVwvBV9TQl9QQ0kwSVNBMEVDMF9CSEREcAqBXC8FX1NCX1BDSTBJU0EwRUMwX0JMU19w
CoFcLwVfU0JfUENJMElTQTBFQzBfQkZfQ3AKgVwvBV9TQl9QQ0kwSVNBMEVDMF9CQ1JXcAqB
XC8FX1NCX1BDSTBJU0EwRUMwX0JDRF9wCoFcLwVfU0JfUENJMElTQTBFQzBfQkZERHAKAEJT
VFMUQgdCUFRTAaALkZNoCgCSlWgKBaFOBXtIQU03Cv5IQU03QkVFUAoAQkxFRAoACgCgFpNC
U1RTCgFwCg9CREVWcAoAQlNUU6AMkpRoCgJMQkFZCgGhHkxCQVkKAaAWk0JTVFMKAnAKD0JE
RVZwCgBCU1RTFEYFQldBSwGgC5GTaAoAkpVoCgWhQgRwR1VJRGCgCZRgCg5CRElToCSTQlNU
UwoAoBuSk2BCREVWTkJFSkJERVZwYEJERVZOQklOYH1IQU03CgFIQU03FEYGQkRJUwBwCgBc
LwRfU0JfUENJMElERTBYUFNFcAoAXC8EX1NCX1BDSTBJREUwWFBJMXAKAFwvBF9TQl9QQ0kw
SURFMFhTSTBwCgFcLwRfU0JfUENJMElTQTBHQ1JDcAoBVUxUTxRACkJFTl8BoB+TaAoCcAoA
XC8EX1NCX1BDSTBJREUwWFNFX1shCgVwCgBVTFRPWyIKFKA2k2gKAXAKAFwvBF9TQl9QQ0kw
SVNBMEdDUkNwCgFcLwRfU0JfUENJMElERTBYUFNFWyILkAGgNpNoCgJwCgBcLwRfU0JfUENJ
MElTQTBHQ1JDcAoBXC8EX1NCX1BDSTBJREUwWFNFX1siC5ABFEAUWFdFSgGgBmhwCoNgoQVw
CoFgcGBcLwVfU0JfUENJMElTQTBFQzBfQkZfWnBgXC8FX1NCX1BDSTBJU0EwRUMwX0JGX0Rw
YFwvBV9TQl9QQ0kwSVNBMEVDMF9CWklQcGBcLwVfU0JfUENJMElTQTBFQzBfQkRWRHBgXC8F
X1NCX1BDSTBJU0EwRUMwX0JIRkRwYFwvBV9TQl9QQ0kwSVNBMEVDMF9CRl9IcGBcLwVfU0Jf
UENJMElTQTBFQzBfQkhERHBgXC8FX1NCX1BDSTBJU0EwRUMwX0JMU19wYFwvBV9TQl9QQ0kw
SVNBMEVDMF9CRl9DcGBcLwVfU0JfUENJMElTQTBFQzBfQkNSV3BgXC8FX1NCX1BDSTBJU0Ew
RUMwX0JDRF9wYFwvBV9TQl9QQ0kwSVNBMEVDMF9CRkREFAtYRElEAKRCREVWFDlVRE1BAqAt
e2gKBACgCXtpCgQApAoDoRygCXtpCgIApAoCoRCgCXtpCgEApAoBoQSkCgChBKQKABQnVURN
QgKgG2igE5RpCjygCJRpClCkCgGhBKQKAqEEpAoDoQSkCgAURAhNRE1BBKBHB3toCgIAoC17
aQoEAKAJkpRrCnikCgOhHKAJkpRrCrSkCgKhEKAJkpRrCvCkCgGhBKQKAKFBBKAhe2kKAgCg
CZKUawq0pAoCoRCgCZKUawrwpAoBoQSkCgChHKAVe2oKBACgCZKUawrwpAoBoQSkCgChBKQK
AKEEpAoAFEEITVBJTwSgSQZ7aAoCAKAte2kKAgCgCZKUawp4pAoEoRygCZKUawq0pAoDoRCg
CZKUawrwpAoCoQSkCgChM6Ahe2kKAQCgCZKUawq0pAoDoRCgCZKUawrwpAoCoQSkCgChD6AI
k2oKAqQKAaEEpAoAoQ+gCJNqCgKkCgGhBKQKABQyTVBJQgKgJpRpCnigG5RpCrSgCJRpCvCk
CgChDKAFaKQKAqEEpAoBoQSkCgOhBKQKBBQ8TVBJNAKgJmigCJNoCgGkCgGhGqAIk2gKAqQK
AqEPoAiTaQoDpAoCoQSkCgOhDqAHlWkKAqRpoQSkdmkUFE1QNEIBoAiSlGgKAaRooQSkdmgU
ME1QSVgCoA6TaGmgBGikaKEEpAoBoRqgDZGTaAoDk2kKA6QKA6AGlWhppGmhA6RoFEcFTVRJ
TQOgCZNoCgBwCgBloTSgFZNoCgGgCZVpCgJwCgFloQVwCgNloRGgCZNoCgJwCgNloQVwCgNl
oAqTaQoAfWUKCGWgB2p7ZQr7ZaEGfWUKBGWkZRQqTUlTUAGgCJNoCgCkCgChGqAIk2gKAaQK
AaEPoAiTaAoCpAoCoQSkCgIUKk1SVEMBoAiTaAoApAoAoRqgCJNoCgGkCgChD6AIk2gKAqQK
AaEEpAoDFCpNVUNUAaAIk2gKAKQKAKEaoAiTaAoBpAoAoQ+gCJNoCgKkCgGhBKQKAhRMBE1I
RE0CoCmTaAoAoAiTaQoApAoAoRqgCJNpCgGkChKhD6AIk2kKAqQKIaEEpAoioRqgCJNoCgGk
CkChD6AIk2gKAqQKQaEEpApCFDVNSFBJAaAIk2gKAKQKAKEloAiTaAoBpAoBoRqgCJNoCgKk
CgChD6AIk2gKA6QKC6EEpAoMW4JPk0lERTAIX0FEUgwBAAEAW4BYMTQwAgpAChBbgUUMWDE0
MANYUFQwAVhQSTABWFBQMAFYUEQwAVhQVDEBWFBJMQFYUFAxAVhQRDEBWFBSVAIAAlhQSVMC
WFBTRQFYUEVfAVhTVDABWFNJMAFYU1AwAVhTRDABWFNUMQFYU0kxAVhTUDEBWFNEMQFYU1JU
AgACWFNJUwJYU1NFAVhTRV8BWFZSVAJYVklTAgAEABhYRVAwAVhFUDEBWEVTMAFYRVMxAQAE
AAhYVVAwAgACWFVQMQIAAlhVUzACAAJYVVMxAgACFC1DSEtCAHBcLwVfU0JfUENJMElTQTBF
QzBfR1VJRGCgCJVgCg2kCgGhBKQKAFuCTFFJREVQCF9BRFIKABRAEF9HVE0AdAoFWFBJU2B0
CgRYUFJUYXJgYWB3Ch5gYKAKlGAK8HALhANgoCtYRVAwcAoRZKAMk1hVUDAKAHAKeGGhFKAM
k1hVUDAKAXAKUGGhBXAKPGGhCHAKEGRwYGGgClhQSTB9ZAoCZKBMBVhQU0V0CgVYVklTYnQK
BFhWUlRjcmJjYncKHmJioAqUYgrwcAuEA2KgLFhFUDF9ZAoEZKAMk1hVUDEKAHAKeGOhFKAM
k1hVUDEKAXAKUGOhBXAKPGOhBHBiY6EJcAoAYnAKAGOgClhQSTF9ZAoIZHBgR1RQMHBhR1RE
MHBiR1RQMXBjR1REMXBkR1RNRqRCR1RNFE4xX1NUTQOKaAoAU1RQMIpoCgRTVEQwimgKCFNU
UDGKaAoMU1REMYpoChBTVE1GoBmHaYtpCgFQTVpSoAhQTVpScAFloQRwAGWhBHAAZaBKFGWg
SAhXOThGi2kKZlBNNTGLaQpqUE01M4tpCnxQTTYyi2kKflBNNjOLaQqAUE02NItpCoJQTTY1
i2kKiFBNNjiLaQqwUE04OHBVRE1BUE01M1BNODhgcE1ETUFQTTUzUE02M1BNNjJQTTY1YXBN
UElPUE01M1BNNjRQTTUxUE02OGJwTVBJNGFiY6EvcE1QSUJ7U1RNRgoCAFNUUDBicFVETUJ7
U1RNRgoBAFNURDBgcE1QNEJiY3BjYXBNVElNY2J7UE1aUgqAAGSgDHtkCgEAcAFYUFQwoAx7
ZAoCAHABWFBJMKAMe2QKBABwAVhQUDCgDHtkCggAcAFYUEQwcE1JU1BjWFBJU3BNUlRDY1hQ
UlSgEmBwAVhFUDBwTVVDVGBYVVAwoQ1wAFhFUDBwAFhVUDBwTUhETWBhSERNMHBNSFBJYkhQ
STCgGYdqi2oKAVBTMDCgCFBTMDBwAWWhBHAAZaEEcABloEUWZaBICFc5OEaLagpmUFM1MYtq
CmpQUzUzi2oKfFBTNjKLagp+UFM2M4tqCoBQUzY0i2oKglBTNjWLagqIUFM2OItqCrBQUzg4
cFVETUFQUzUzUFM4OGBwTURNQVBTNTNQUzYzUFM2MlBTNjVhcE1QSU9QUzUzUFM2NFBTNTFQ
UzY4YnBNUEk0YWJjoS9wTVBJQntTVE1GCggAU1RQMWJwVURNQntTVE1GCgQAU1REMWBwTVA0
QmJjcGNhcAFYUFNFcE1USU1jYntQUzAwCoAAZKAMe2QKAQBwAVhQVDGgDHtkCgIAcAFYUEkx
oAx7ZAoEAHABWFBQMaAMe2QKCABwAVhQRDFwTUlTUGNYVklTcE1SVENjWFZSVKASYHABWEVQ
MXBNVUNUYFhVUDGhDXAAWEVQMXAAWFVQMXBNSERNYGFIRE0xcE1IRE1gYUNETTFwTUhQSWJI
UEkxcE1IUEliQ1BJMRQUX1NUQQCgCFhQRV+kCg+hBKQKAVuCQwRJRFBNCF9BRFIKAAhfUFIw
EgYBUEhCWQhfUFIxEgYBUEhCWRQdX0dURgBwSERTRUxPR0lwSERIRE1BWEikSUNNMFuCQwlJ
RFBTCF9BRFIKARQeX0VKMwFcLwVfU0JfUENJMElTQTBFQzBfQkVKM2gUN19TVEEAoCtcLwRf
U0JfUENJMElTQTBHQ1I0oAhVTFRPpAoAoAhDSEtCpAoPoQSkCgChBKQKABQuX0dURgCgIJNc
LwVfU0JfUENJMElTQTBFQzBfR1VJRAoGpElDTTGhBqRJQ0MxW4JPMElERVMIX0FEUgoBFE4I
X0dUTQB0CgVYU0lTYHQKBFhTUlRhcmBhYHcKHmBgoAqUYArwcAuEA2CgK1hFUzBwChFioAyT
WFVTMAoAcAp4YaEUoAyTWFVTMAoBcApQYaEFcAo8YaEIcAoQYnBgYaAKWFNJMH1iCgJicGBH
VFAwcGFHVEQwcABHVFAxcABHVEQxcGJHVE1GpEJHVE0UThpfU1RNA4poCgBTVFAwimgKBFNU
RDCKaAoIU1RQMYpoCgxTVEQximgKEFNUTUagGYdpi2kKAVNNMDCgCFNNMDBwAWWhBHAAZaEE
cABloE8VZaBICFc5OEaLaQpmU001MYtpCmpTTTUzi2kKfFNNNjKLaQp+U002M4tpCoBTTTY0
i2kKglNNNjWLaQqIU002OItpCrBTTTg4cFVETUFTTTUzU004OGBwTURNQVNNNTNTTTYzU002
MlNNNjVhcE1QSU9TTTUzU002NFNNNTFTTTY4YnBNUEk0YWJjoS9wTVBJQntTVE1GCgIAU1RQ
MGJwVURNQntTVE1GCgEAU1REMGBwTVA0QmJjcGNhcE1USU1jYntTTTAwCoAAZKAMe2QKAQBw
AVhTVDCgDHtkCgIAcAFYU0kwoAx7ZAoEAHABWFNQMKAMe2QKCABwAVhTRDBwTUlTUGNYU0lT
cE1SVENjWFNSVKASYHABWEVTMHBNVUNUYFhVUzChDXAAWEVTMHAAWFVTMHBNSERNYGFIRE0y
cE1IRE1gYUNETTJwTUhQSWJIUEkycE1IUEliQ1BJMhQuX1NUQQCgF1wvBF9TQl9QQ0kwSVNB
MEdDUjSkCgChD6AIWFNFX6QKD6EEpAoBW4JDCUlEU00IX0FEUgoAFB5fRUowAVwvBV9TQl9Q
Q0kwSVNBMEVDMF9CRUowaBQ3X1NUQQCgF1wvBF9TQl9QQ0kwSVNBMEdDUjSkCgChGKAIVUxU
T6QKAKAIQ0hLQqQKD6EEpAoAFC5fR1RGAKAgk1wvBV9TQl9QQ0kwSVNBMEVDMF9HVUlECgak
SUNNMqEGpElDQzJbgkUhUE0wMAhfQURSDAMAAQBbgFgzREECClwKBFuBQgRYM0RBA1hBMUQB
WEExQQJYQTJEAVhBNEQBWEEyQQJYQTNEAVhBM0ECAA9YQTJFAQADWEEwRQFYTTBFAVhQRV8B
W4BYM0RCAgpgCgRbgTdYM0RCA1hNMUEQWE0xTQRYQTFFAVhNMUUDWEEzRQFYUEFfAgABWEZB
XwFYRkVfAQABWEE0RQFbgFgzREMCCmQKBFuBIVgzREMDWEdBRBAACFhVMUEDWFUxRQFYVTJB
A1hVMkUBW4BTTUJDAgrSCgFbgRBTTUJDAVNCSEUBU0JJUwNbgFNNQlIBC6DvChBbgSxTTUJS
AVNCSFMIU0JTUwhTQkhDCFNCQ00IU0JBRAhTQkRUCFNCRDEIAEgEWwFNU01CBxRFDlJTTUIC
WyNNU01C//9wU0JIRWBwU0JJU2FwCgBTQklTcAoBU0JIRXAK/2KiEZB7U0JIUwoBAGJbIQoV
dmJwCv9iohGQe1NCU1MKAQBiWyEKFXZicAoeU0JIU3AKPFNCU1NwU0JIQ2JwfXloCgEACgEA
U0JBRHBpU0JDTXAKCFNCSENwCkhTQkhDcAr/YqIRkHtTQkhTCgEAYlshChV2YnAK/2KiEpCS
e1NCSFMKAgBiWyEKFXZicH1TQkhTCgIAU0JIU3BTQkRUY3BTQkhDYnBhU0JJU3BgU0JIRVsn
TVNNQqRjW4IjVVNCMAhfQURSDAIAAQAUB19QU1cBowhfUFJXEgYCCggKAVuCjJsCRE9DSwhf
QURSDAAABAAIX1BSVxIGAgoLCgEUDV9QU1cBRVBTVwoCaFuAWDQwMAIKAAsAAVuBTAdYNDAw
AwBAaEtOWDAQS05YMRBLTlkwEEtOWTEQACBLTlBDCAAYS05EMAhLTkIwCEtOQjEIS05XQwhL
TlQwCEtOVDEIS05SQwhLTlJTCEtOQUMIS05ETQhLTk1DEEtOTkIQS05OTBBLTlIwIEtOUjEg
S05SMiBLTlIzIBROBl9QUlQAcEdESURgoBeTYAqfoApXTlRGpFBST06hBqRQUk8xoUgEoBeT
YAqPoApXTlRGpFBSSU6hBqRQUklMoS2gCpNgCn+kUFJPMqEgoAqTYApvpFBSUDGhE6AKk2AK
X6RQUlAyoQakUFJPMghQUk8xEkESDRIVBAz//wEACgBcLl9TQl9MTktCCgASFQQM//8EAAoA
XC5fU0JfTE5LQQoAEhUEDP//BAAKAVwuX1NCX0xOS0IKABIVBAz//wQACgJcLl9TQl9MTktD
CgASFQQM//8EAAoDXC5fU0JfTE5LRAoAEhUEDP//BQAKAFwuX1NCX0xOS0IKABIVBAz//wUA
CgFcLl9TQl9MTktDCgASFQQM//8FAAoCXC5fU0JfTE5LRAoAEhUEDP//BQAKA1wuX1NCX0xO
S0EKABIVBAz//wYACgBcLl9TQl9MTktDCgASFQQM//8GAAoBXC5fU0JfTE5LRAoAEhUEDP//
BgAKAlwuX1NCX0xOS0EKABIVBAz//wYACgNcLl9TQl9MTktCCgAIUFJPThJNFA8SFQQM//8B
AAoAXC5fU0JfTE5LQgoAEhUEDP//AgAKAFwuX1NCX0xOS0MKABIVBAz//wIACgFcLl9TQl9M
TktECgASFQQM//8EAAoAXC5fU0JfTE5LQQoAEhUEDP//BAAKAVwuX1NCX0xOS0IKABIVBAz/
/wQACgJcLl9TQl9MTktDCgASFQQM//8EAAoDXC5fU0JfTE5LRAoAEhUEDP//BQAKAFwuX1NC
X0xOS0IKABIVBAz//wUACgFcLl9TQl9MTktDCgASFQQM//8FAAoCXC5fU0JfTE5LRAoAEhUE
DP//BQAKA1wuX1NCX0xOS0EKABIVBAz//wYACgBcLl9TQl9MTktDCgASFQQM//8GAAoBXC5f
U0JfTE5LRAoAEhUEDP//BgAKAlwuX1NCX0xOS0EKABIVBAz//wYACgNcLl9TQl9MTktCCgAI
UFJJTBJBBwUSFQQM//8BAAoAXC5fU0JfTE5LQgoAEhUEDP//AwAKAFwuX1NCX0xOS0EKABIV
BAz//wMACgFcLl9TQl9MTktCCgASFQQM//8DAAoCXC5fU0JfTE5LQwoAEhUEDP//AwAKA1wu
X1NCX0xOS0QKAAhQUklOEk0JBxIVBAz//wEACgBcLl9TQl9MTktCCgASFQQM//8CAAoAXC5f
U0JfTE5LQwoAEhUEDP//AgAKAVwuX1NCX0xOS0QKABIVBAz//wMACgBcLl9TQl9MTktBCgAS
FQQM//8DAAoBXC5fU0JfTE5LQgoAEhUEDP//AwAKAlwuX1NCX0xOS0MKABIVBAz//wMACgNc
Ll9TQl9MTktECgAIUFJPMhJLFA8SEwQL//8KA1wuX1NCX0xOS0QKABIVBAz//wEACgBcLl9T
Ql9MTktCCgASFQQM//8CAAoAXC5fU0JfTE5LQwoAEhUEDP//BAAKAFwuX1NCX0xOS0EKABIV
BAz//wQACgFcLl9TQl9MTktCCgASFQQM//8EAAoCXC5fU0JfTE5LQwoAEhUEDP//BAAKA1wu
X1NCX0xOS0QKABIVBAz//wUACgBcLl9TQl9MTktCCgASFQQM//8FAAoBXC5fU0JfTE5LQwoA
EhUEDP//BQAKAlwuX1NCX0xOS0QKABIVBAz//wUACgNcLl9TQl9MTktBCgASFQQM//8GAAoA
XC5fU0JfTE5LQwoAEhUEDP//BgAKAVwuX1NCX0xOS0QKABIVBAz//wYACgJcLl9TQl9MTktB
CgASFQQM//8GAAoDXC5fU0JfTE5LQgoACFBSUDESGAESFQQM//8CAAoAXC5fU0JfTE5LQwoA
CFBSUDISLgISFQQM//8BAAoAXC5fU0JfTE5LQgoAEhUEDP//AgAKAFwuX1NCX0xOS0MKAAhT
UENJCgcIREZMRwoAFEkJX0lOSQCgCUdESURQUEVOoDZIOERSfVwvBV9TQl9QQ0kwSVNBMEVD
MF9IQU02CoBcLwVfU0JfUENJMElTQTBFQzBfSEFNNqERV0JFQwoWfVJCRUMKFgqAAKAeSDhE
UnAAXC8FX1NCX1BDSTBJU0EwRUMwX0hXREuhEVdCRUMKMntSQkVDCjIK9wCgDVc5OEZfUkVH
CgIKARQoX1JFRwKgIZNoCgKgCpNpCgFbIgssAURSRUcKAmmgCZNpCgFMVENZFEsGRFJFRwJc
LwVfU0JfUENJMERPQ0tJU0ExRFJFR2hpXC8FX1NCX1BDSTBET0NLSURFMURSRUdoaVwvBV9T
Ql9QQ0kwRE9DS0NCUzJEUkVHaGlcLwVfU0JfUENJMERPQ0tDQlMzRFJFR2hpFEwFX1NUQQBw
R0RJRGCgCZNgCp9wCg9hoUIEoAmTYAqPcAoPYaE1oAmTYAp/cAoPYaEpoAmTYApvcAoPYaEd
oAmTYApfcAoPYaERoAlXOThGcAoMYaEFcAoAYaRhFAtfQkROAKRHRElEFBZfVUlEAKAIVzk4
RqQKAKEGpFJEU1IIX1BSMBIGAVBEQ0sIX1BSMRIGAVBEQ0sIX1BSMhIGAVBEQ0sURAlfRUow
AaBMCGigKXtERkxHCgQAe0RGTEcM+////0RGTEdcLwNfU0JfSEtFWU1IS1ELA0BbIgv0AaAk
SDhEUlwvBV9TQl9QQ0kwSVNBMEVDMF9JMkNXCgAKQAoFCgyhLVsjTVNNSf//cAuBU1NfQVhw
CxKQU19CWHALBQxTX0NYU01QSQqBWydNU01JcAr/RE9JRBQHX0VKNAGjWwJDTkNUWwJFSlQw
FEgnX0RDSwGgRBZoWyNNU01J//9wC4FTU19BWHALMYJTX0JYcAsS8FNfQ1hTTVBJCoFbJ01T
TUlwCgBQQ0lFWyILLAFwCv9ET0lETVBDSQw+IACACv8KQFsiCmRNUENJDD4gAIAKvwoAWyIL
LAFQUEVOoBJXOThGTVBDSQwEIACACv8KB3AAXC8DX1NCX1BDSTBYUExEcAoGXC8EX1NCX1BD
STBJU0EwUDIxRaANVzk4Rl9SRUcKAgoBWyZDTkNUoD1IOERScFwvBV9TQl9QQ0kwSVNBMEVD
MF9JMkNXCgAKQAoFCoRgoA6Te2ALAIAACwCApAoAWyEK+lshCvqhOVsjTVNNSf//cAuBU1Nf
QVhwCxKQU19CWHALBYRTX0NYU01QSQqBcFNfQUhgWydNU01JoAVgpAoAWyVDTkNUC///oCiR
k0dESUQKn5NHRElECn9cLwVfU0JfUENJMElTQTBFQzBfTVVURQGkCgGhSxCgDVc5OEZfUkVH
CgIKAFsmRUpUMKA1SDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSTJDVwoACkAKBQqFYKAOk3tg
CwCAAAsAgKQKAKE5WyNNU01J//9wC4FTU19BWHALEpBTX0JYcAsFhVNfQ1hTTVBJCoFwU19B
SGBbJ01TTUmgBWCkCgBbJUVKVDAL//9wAVwvA19TQl9QQ0kwWFBMRHAKB1wvBF9TQl9QQ0kw
SVNBMFAyMUVwCgFQQ0lFcAr/RE9JRFsjTVNNSf//cAuBU1NfQVhwCzGCU19CWHALAPBTX0NY
U01QSQqBWydNU01JXC8FX1NCX1BDSTBJU0EwRUMwX01VVEUApAoBCERPSUQK/xQxR0RJRACg
JZNET0lECv+gEZBXOThGUENJRXAKAERPSUShCnBSRElERE9JRKRET0lEFEUOUkRJRACgTgdI
OERScAoAYHAKAWKiSAaQlWAKEGJwXC8FX1NCX1BDSTBJU0EwRUMwX0kyQ1IACkAKAGGgP5CS
k2ELgICSk2ELGICgE5N7YQsAgAALAIBwCgBhcAoAYqEcoBCQkpRhCp+SlWEKX3AKAGKhCXAK
AGFwCgBidWCgBmJwCgBhoUEFWyNNU01J//9wC4FTU19BWHALEpBTX0JYcAoAU19DWFNNUEkK
gXBTX0FIYHBTX0NIYVsnTVNNSaAGYHAKAGGhEKAOkZRhCp+VYQpfcAoAYaAKkmFwCgFQQ0lF
pGEUThdSRFNSAKATkZRHRElECp+VR0RJRAp/pAoAoEcJSDhEUnAKEGBwCgBhcAoAYnAKAGNw
CgBkokkHYHBcLwVfU0JfUENJMElTQTBFQzBfSTJDUgAKUWJhoEYFkJKTYQuAgJKTYQsYgKAO
k3thCwCAAAsAgKQKAKE3oBuSlGIKA31jeWF3YgoIAABjcmRhZHAKEGB1YqEZoBeTYgoEoAyS
e3JkYQAK/wCkY6EEpAoAdmCkCgChSgxwChBgcAoAYXAKAGJwCgBjcAoAZHAKAGWiTApgWyNN
U01J//9wC4FTU19BWHALAZBTX0JYcAoEU19DWFNNUEkKgXBTX0FIYXBTRURJYlsnTVNNSaBP
BpNhCgBbI01TTUn//3ALgVNTX0FYcAsBkFNfQlhwCwEEU19DWFNNUEkKgXBTX0FIYXBFREkx
Y1snTVNNSaAwk2EKAHAKBGBwYmWiEWByZHtlCv8AZHplCghldmCgDJJ7cmNkAAr/AKRioQSk
CgB2YKQKABQ2R01HUABwR0RJRGCgCZNgCp9wCgFhoR2gCZNgCo9wCgFhoRGgCZNgCn9wCgFh
oQVwCgBhpGEUQQpTRENNAKALk1BDSUUKAaQKAHAKAGB9YFwvBV9TQl9QQ0kwSVNBMEZJUl9E
UlFEYH1gXC8FX1NCX1BDSTBJU0EwRUNQX0RSUURgfWBcLwVfU0JfUENJMElTQTBGREMwRFJR
RGB9YFwvBV9TQl9QQ0kwSVNBMENTMDBEUlFEYH1gXC8FX1NCX1BDSTBJU0EwTVdWMERSUURg
f2AK/0tORE0UTw9EUFRTAaBHD5CSlGgKBJKVaAoBoAxQQ0lFcAoARE9JRKA2R0RJRKAeSDhE
UnABXC8FX1NCX1BDSTBJU0EwRUMwX0hXREuhEVdCRUMKMn1SQkVDCjIKCACgNkg4RFJ7XC8F
X1NCX1BDSTBJU0EwRUMwX0hBTTYKf1wvBV9TQl9QQ0kwSVNBMEVDMF9IQU02oRFXQkVDChZ7
UkJFQwoWCn8AoC9XOThGoCmQkpVHRElECn+SlEdESUQKn1wvBV9TQl9QQ0kwRE9DS0lERTFT
QVZFoAmTaAoDRE9GRqAik2gKBKAcV05URlwvBV9TQl9QQ0kwRE9DS0lERTFFREVDFEYeRFdB
SwGgTh2QkpRoCgSSlWgKAaAxkZNoCgSTaAoDcABgoBNQQ0lFcAFgcABQQ0lFWyILLAFwCjFL
TlBDoAhgcAFQQ0lFoDZIOERSfVwvBV9TQl9QQ0kwSVNBMEVDMF9IQU02CoBcLwVfU0JfUENJ
MElTQTBFQzBfSEFNNqERV0JFQwoWfVJCRUMKFgqAAKBDEEdESUSgQQ5SRElEcFwvBV9TQl9Q
Q0kwSVNBMEVDMF9JMkNSCgAKQAoEYaAJk2gKA0RPTl+gRARXOThGcAoTS05EME1QQ0kMBCAA
gAr/CgegKZCSlUdESUQKf5KUR0RJRAqfXC8FX1NCX1BDSTBET0NLSURFMVJTVFKgTAZ7REZM
RwoBAKBDBZN7YQrwAAogfURGTEcKBERGTEdcLwNfU0JfSEtFWU1IS1ELBCOgF1c5OEaGXC8D
X1NCX1BDSTBET0NLCgGhE4ZcLwNfU0JfUENJMERPQ0sKA3tERkxHDP7///9ERkxHoRpwCv9E
T0lEhlwvA19TQl9QQ0kwRE9DSwoAoSCgHlJESURwCv9ET0lEhlwvA19TQl9QQ0kwRE9DSwoA
oB5IOERScABcLwVfU0JfUENJMElTQTBFQzBfSFdES6ERV0JFQwoye1JCRUMKMgr3ABRPF0RP
Tl8AoAmSR0RJRKQKAKAkSDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSTJDUgoACkAKAmChMlsj
TVNNSf//cAuBU1NfQVhwCxKQU19CWHAKAlNfQ1hTTVBJCoFwU19DSGBbJ01TTUmgCXtgCoAA
pAoATVBDSQw+IACACv8KQFsiCmRNUENJDD4gAIAKvwoAWyILLAFQUEVOoBJXOThGTVBDSQwE
IACACv8KB6ANVzk4Rl9SRUcKAgoBoCRIOERSXC8FX1NCX1BDSTBJU0EwRUMwX0kyQ1cKAApA
CgUKBKEtWyNNU01J//9wC4FTU19BWHALEpBTX0JYcAsFBFNfQ1hTTVBJCoFbJ01TTUlwCgBg
cAoQYaJIBpCSe2AKgABhWyIKAaAkSDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSTJDUgoACkAK
AmChMlsjTVNNSf//cAuBU1NfQVhwCxKQU19CWHAKAlNfQ1hTTVBJCoFwU19DSGBbJ01TTUl2
YRRMGURPRkYAoAmSR0RJRKQKAKAkSDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSTJDUgoACkAK
AmChMlsjTVNNSf//cAuBU1NfQVhwCxKQU19CWHAKAlNfQ1hTTVBJCoFwU19DSGBbJ01TTUmg
CpJ7YAqAAKQKAKBEBpGTR0RJRApvk0dESUQKX6AkSDhEUlwvBV9TQl9QQ0kwSVNBMEVDMF9J
MkNXCgAKQAoFClahLVsjTVNNSf//cAuBU1NfQVhwCxKQU19CWHALBVZTX0NYU01QSQqBWydN
U01JoCRIOERSXC8FX1NCX1BDSTBJU0EwRUMwX0kyQ1cKAApACgUKBaEtWyNNU01J//9wC4FT
U19BWHALEpBTX0JYcAsFBVNfQ1hTTVBJCoFbJ01TTUlwCoBgcAoQYaJHBpB7YAqAAGFbIgoB
oCRIOERScFwvBV9TQl9QQ0kwSVNBMEVDMF9JMkNSCgAKQAoCYKEyWyNNU01J//9wC4FTU19B
WHALEpBTX0JYcAoCU19DWFNNUEkKgXBTX0NIYFsnTVNNSXZhFEEUUFBFTgCgTAhXOThGV1BD
SQwZIACAU1BDSVdQQ0kMGiAAgAoNV1BDSQwcIACACvBXUENJDB0gAIAKAFdQQ0kMICAAgArw
V1BDSQwhIACACv9XUENJDCIgAIAKAFdQQ0kMIyAAgAoAV1BDSQwkIACACvBXUENJDCUgAIAK
/1dQQ0kMJiAAgAoAV1BDSQwnIACACgBXUENJDAwgAIAKCFdQQ0kMDSAAgAqoV1BDSQwbIACA
CrBwCjFLTlBDcAoTS05EMHAKH0tOQjBwCgBLTldDcAoAS05UMHAKAEtOVDFwCgBLTlJDcAoh
S05BQ3AL8P9LTk5CcAoAS05OTKAVkpVSUENJDAggAIAKCXAKF0tOQjGhCHAKH0tOQjFwCpFL
Tk1DoBqSlVJQQ0kMCCAAgAoHfUtOTUMLAEBLTk1DU0RDTRRPDExUQ1kAcEdESURgfQwAAACA
eVJQQ0kMGSAAgAoQAGGgO5NgCn9XUENJfWELDQEACjBXUENJfWELDQIACjBMREVWCgFMQ0JT
CgJMREVWCgRMREVWCgVMREVWCgagL5NgCp9XUENJfWELDQEACiBMREVWCgFMQ0JTCgJMREVW
CgRMREVWCgVMREVWCgagI5NgCo9XUENJfWELDQEACiBMREVWCgFMQ0JTCgJMREVWCgOgEZNg
Cl9MREVWCgFMQ0JTCgKgC5NgCm9MQ0JTCgIUTQpMREVWAX0MAAAAgHlSUENJDBkgAIAKEABg
fWB5aAoLAGBwCgBhokUIlWEKCH1geWEKCABicFJQQ0l9YgoCAGNwUlBDSX1iCgMAZKBOBZGS
k2MK/5KTZAr/cFJQQ0l9YgoOAGWgRQSSZXBSUENJfWIKPgBmoAqSlGYKCHAKQGehFaANkpRm
Ch9wd2YKCABnoQVwCtBnV1BDSX1iCg0AZ1dQQ0l9YgoMAAoIdWEUSAVMQ0JTAX0MAAAAgHlS
UENJDBkgAIAKEABgfWB5aAoLAGBwCgBhojCVYQoCfWB5YQoIAGJXUENJfWIKDQAKqFdQQ0l9
YgoMAAoIV1BDSX1iChsACrB1YVuCSCxJU0ExCF9BRFIKAFuAWDAwMAIKAAsAAVuBSgtYMDAw
AwBAJklPUlQIAAhYQkNTEABACFBSUUEIUFJRQghQUlFDCFBSUUQIU0lSUQgAIFRPTV8ITVNU
QRAAIE1CUTAITUJRMQhNQlEyCE1CUTMITUJRNAhNQlE1CERNQTAIRE1BMQgAQARBUElDCAAI
RExDXwgASAZETUFDEABAB1NNSUMIAAhTTUlFEFNFRV8gRk9UXwgACFNSRVEQU0NLTAgACFND
S0gIAAhHRU5DIABIC1JUQ0MIFDBfU1RBAHBcLwRfU0JfUENJMERPQ0tHRElEYKAPkJKUYAqf
kpVgCn+kCg+hBKQKABRBHERSRUcCcEdESURgoEMbYKBPGpCTaAoCk2kKAaBBEJNgCn99e0lP
UlQKAAAKBUlPUlR9e1hCQ1MLAPgACwAEWEJDU317UFJRQQpwAAqAUFJRQX17UFJRQgpwAAqA
UFJRQn17UFJRQwpwAAqAUFJRQ317UFJRRApwAAqAUFJRRH17U0lSUQoAAAqQU0lSUX17VE9N
XwoBAAr6VE9NX317TVNUQQt/fwALgIBNU1RBfXtETUEwCngACgRETUEwfXtETUExCngACgRE
TUExfXtBUElDCoAACgBBUElDfXtETENfCvAACgBETENffXtETUFDCwADAAoARE1BQ317R0VO
QwyAIAAEAAwNyQEQR0VOQ317UlRDQwrCAAolUlRDQ6FBCqBOCZGTYAqPk2AKn3AKgElPUlRw
CgBYQkNTcAqAUFJRQXAKgFBSUUJwCoBQUlFDcAqAUFJRRHAK+lRPTV9wCoBNQlExcAqATUJR
MnAKgE1CUTNwCoBNQlE0cAqATUJRNXAKBERNQTBwCgRETUExcAqIU01JQ3AKAFNNSUVwCgBT
RUVfcAoARk9UX3AKAFNSRVFwCgBTQ0tMcAoAU0NLSFuCRLVJREUxCF9BRFIKAVuAWDE0MAIK
QAoQW4FJCFgxNDADABBYVFQwAVhUSTABWFRQMAFYVEQwAVhUVDEBWFRJMQFYVFAxAVhURDEB
WFRSVAIAAlhUSVMCWFRTRQFYVEVfAQAEWFdSVAJYV0lTAgAYWEZQMAFYRlAxAVhGUzABWEZT
MQEABAAIWFZQMAIAAlhWUDECAAJYVlMwAgACWFZTMQIAAhRAGkRSRUcCoEgZk2gKAnBHRElE
YKBGDpCQRElERVwvBF9TQl9QQ0kwSVNBMEdDUjRpoEkMkJKVYAp/kpRgCp9wCgdJUlFTcAoB
SVJRRXAKAURBU0SgRgWRk2AKj5NgCp9wCg9cLwVfU0JfUENJMERPQ0tJU0ExTUJRMH1cLwVf
U0JfUENJMERPQ0tJU0ExTVNUQQoEXC8FX1NCX1BDSTBET0NLSVNBMU1TVEFwCgFYVEVfoEgE
Vzk4Rn15UlBDSQwZIACAChAADAABAIBhV1BDSX1hCg0ACiBXUENJfWEKIAAK4VdQQ0l9YQoh
AAr8TVBDSX1hCgQACv8KBaFECqBBCpCSlWAKf5KUYAqfcAoAWFRFX6AmVzk4Rn15UlBDSQwZ
IACAChAADAABAIBhTVBDSX1hCgQACvoKAHAKAElSUUVwCgBEQVNEoEcFkZNgCo+TYAqfcAqA
XC8FX1NCX1BDSTBET0NLSVNBMU1CUTB7XC8FX1NCX1BDSTBET0NLSVNBMU1TVEEL+/9cLwVf
U0JfUENJMERPQ0tJU0ExTVNUQRRACEVERUMAoEgHkERJREVcLwRfU0JfUENJMElTQTBHQ1I0
cEdESURgoEcFkJKVYAp/kpRgCp+gO5GTYAqPk2AKn31cLwVfU0JfUENJMERPQ0tJU0ExTVNU
QQoEXC8FX1NCX1BDSTBET0NLSVNBMU1TVEFwCgFYVEVfcAoBREFTRBRCBl9TVEEAoEIFXC8E
X1NCX1BDSTBJU0EwR0NSNHBcLwRfU0JfUENJMERPQ0tHRElEYKAJk2AKn3AKD2GhHaAJk2AK
j3AKD2GhEaAJk2AKf3AKD2GhBXAKAGGhBXAKAGGkYQhDTU5ECgAIQk1BMAoACEJNQTEKABRF
BFNBVkUAfXlSUENJDBkgAIAKEAAMAAEAgGFwUlBDSX1hCgQAQ01ORHBSUENJfWEKIABCTUEw
cFJQQ0l9YQohAEJNQTEUQgRSU1RSAH15UlBDSQwZIACAChAADAABAIBhV1BDSX1hCiAAQk1B
MFdQQ0l9YQohAEJNQTFXUENJfWEKBABDTU5EW4JMeElERUQIX0FEUgoBFEAQX0dUTQB0CgVY
VElTYHQKBFhUUlRhcmBhYHcKHmBgoAqUYArwcAuEA2CgK1hGUzBwChFkoAyTWFZTMAoAcAp4
YaEUoAyTWFZTMAoBcApQYaEFcAo8YaEIcAoQZHBgYaAKWFRJMH1kCgJkoEcGWFRTRXQKBVhX
SVNidAoEWFdSVGNyYmNidwoeYmKgCpRiCvBwC4QDYqAsWFZTMX1kCgRkoAyTWFZTMQoAcAp4
Y6EUoAyTWFZTMQoBcApQY6EFcAo8Y6EEcGJjoApYVEkxfWQKCGShCXAKAGJwCgBjcGBHVFAw
cGFHVEQwcGJHVFAxcGNHVEQxcGRHVE1GpEJHVE0UQF9fU1RNA4poCgBTVFAwimgKBFNURDCK
aAoIU1RQMYpoCgxTVEQximgKEFNUTUagRzKTR0RJRAp/oBmHaYtpCgFETTAwoAhETTAwcAFl
oQRwAGWhBHAAZaBMFmWgSAhXOThGi2kKZkRNNTGLaQpqRE01M4tpCnxETTYyi2kKfkRNNjOL
aQqARE02NItpCoJETTY1i2kKiERNNjiLaQqwRE04OHBVRE1BRE01M0RNODhgcE1ETUFETTUz
RE02M0RNNjJETTY1YXBNUElPRE01M0RNNjRETTUxRE02OGJwTVBJNGFiY6EvcE1QSUJ7U1RN
RgoCAFNUUDBicFVETUJ7U1RNRgoBAFNURDBgcE1QNEJiY3BjYXB7RE0wMAqAAElES01wTVRJ
TWNie0RNMDAKgABkoAx7ZAoBAHABWFRUMKAMe2QKAgBwAVhUSTCgDHtkCgQAcAFYVFAwoAx7
ZAoIAHABWFREMHBNSVNQY1hUSVNwTVJUQ2NYVFJUoBJgcAFYRlMwcE1VQ1RgWFZTMKENcABY
RlMwcABYVlMwcE1IRE1gYUhETTJwTUhETWBhQ0RNMnBNSFBJYkhQSTJwTUhQSWJDUEkyoBmH
aotqCgFEUzAwoAhEUzAwcAFloQRwAGWhBHAAZaBCF2WgSAhXOThGi2oKZkRTNTGLagpqRFM1
M4tqCnxEUzYyi2oKfkRTNjOLagqARFM2NItqCoJEUzY1i2oKiERTNjiLagqwRFM4OHBVRE1B
RFM1M0RTODhgcE1ETUFEUzUzRFM2M0RTNjJEUzY1YXBNUElPRFM1M0RTNjREUzUxRFM2OGJw
TVBJNGFiY6EvcE1QSUJ7U1RNRgoIAFNUUDFicFVETUJ7U1RNRgoEAFNURDFgcE1QNEJiY3Bj
YXB7RFMwMAqAAElES1NwAVhUU0VwTVRJTWNie0RTMDAKgABkoAx7ZAoBAHABWFRUMaAMe2QK
AgBwAVhUSTGgDHtkCgQAcAFYVFAxoAx7ZAoIAHABWFREMXBNSVNQY1hXSVNwTVJUQ2NYV1JU
oBJgcAFYRlMxcE1VQ1RgWFZTMaENcABYRlMxcABYVlMxcE1IRE1gYUhETTNwTUhETWBhQ0RN
M3BNSFBJYkhQSTNwTUhQSWJDUEkzoUgpcEdESURgoE8okZNgCo+TYAqfoE0Jh2mLaQoBT00w
MKBICE9NMDBwe09NMDAKgABJREtNcAoBZKBMBVc5OEaLaQpmT001MYtpCmpPTTUzi2kKfE9N
NjKLaQp+T002M4tpCoBPTTY0i2kKgk9NNjWLaQqIT002OItpCrBPTTg4cE1QSU9PTTUzT002
NE9NNTFPTTY4YaETcE1QSUJ7U1RNRgoCAFNUUDBhcAoAYXAKAGShCXAKAGFwCgBkoE0Jh2qL
agoBT1MwMKBICE9TMDBwe09TMDAKgABJREtTcAoBZaBMBVc5OEaLagpmT1M1MYtqCmpPUzUz
i2oKfE9TNjKLagp+T1M2M4tqCoBPUzY0i2oKgk9TNjWLagqIT1M2OItqCrBPUzg4cE1QSU9P
UzUzT1M2NE9TNTFPUzY4YqETcE1QSUJ7U1RNRgoIAFNUUDBicAoAYnAKAGWhCXAKAGJwCgBl
cE1QSVhhYmOgEmRwTVRJTWNhe09NMDAKgABkoBJlcE1USU1jYntPUzAwCoAAZaAMe2QKAQBw
AVhUVDCgDHtkCgIAcAFYVEkwoAx7ZAoEAHABWFRQMKAMe2QKCABwAVhURDCgDHtlCgEAcAFY
VFQxoAx7ZQoCAHABWFRJMaAMe2UKBABwAVhUUDGgDHtlCggAcAFYVEQxcE1JU1BjWFRJU3BN
UlRDY1hUUlSgGGRwTURNQU9NNTNPTTYzT002Mk9NNjVkoBhlcE1ETUFPUzUzT1M2M09TNjJP
UzY1ZXBNSERNCgBkSERNMnBNSERNCgBkQ0RNMnBNSFBJYUhQSTJwTUhQSWFDUEkycE1IRE0K
AGVIRE0zcE1IRE0KAGVDRE0zcE1IUEliSFBJM3BNSFBJYkNQSTMUFF9TVEEAoAhYVEVfpAoP
oQSkCgBbgjpJRFRNCF9BRFIKABQUX1NUQQCgCFhURV+kCg+hBKQKABQYX0dURgCgCklES02k
SUNDMqEGpElDTTJbgjpJRFRTCF9BRFIKARQUX1NUQQCgCFhUU0WkCg+hBKQKABQYX0dURgCg
CklES1OkSUNDM6EGpElDTTNbgkMdQ0JTMghfQURSDAAAAgBbgENCVVMCCgALAAFbgT1DQlVT
AwBAIFNWSUQQU1NJRBBMR0RDIABAHFNZU0MgADhHUEkzCElSUU0gAAhDQ1RMCERDVEwIRElB
RwgUO19TVEEAcFwvBF9TQl9QQ0kwRE9DS0dESURgoA+QkpRgCp+SlWAKX6QKD6EPoAiTYAog
pAoPoQSkCgAUG0RSRUcCoBSQk2gKApNpCgGgCUdESURJQ0ZHFEgMSUNGRwBwR0RJRGBwR1ZF
UmBhoE8IkpVhCgJwCgBMR0RDcAoAR1BJM3AMQ3Wp+0lSUU1wCgJDQ1RMcApiRENUTHAKYERJ
QUegD5NgCiBwDHPARABTWVNDoSKgFJGTYApfk2AKb3AMYZBEIFNZU0OhC3AMYZBEKFNZU0N7
U1lTQwzf////U1lTQ3ALFBBTVklEcAq7U1NJRH1TWVNDCiBTWVNDoSOgIZNhCgFwCgBMR0RD
cAoCQ0NUTHAKckRDVExwCgBESUFHFEYFR1ZFUgGgCZNoCp9wCgFgoUIEoAmTaAqPcAoBYKE1
oAmTaAp/cAoCYKEpoAmTaApvcAoCYKEdoAmTaApfcAoDYKERoAmTaAogcAoDYKEFcAoAYKRg
W4JDHUNCUzMIX0FEUgwBAAIAW4BDQlVTAgoACwABW4E9Q0JVUwMAQCBTVklEEFNTSUQQTEdE
QyAAQBxTWVNDIAA4R1BJMwhJUlFNIAAIQ0NUTAhEQ1RMCERJQUcIFDtfU1RBAHBcLwRfU0Jf
UENJMERPQ0tHRElEYKAPkJKUYAqfkpVgCl+kCg+hD6AIk2AKIKQKD6EEpAoAFBtEUkVHAqAU
kJNoCgKTaQoBoAlHRElESUNGRxRIDElDRkcAcEdESURgcEdWRVJgYaBPCJKVYQoCcAoATEdE
Q3AKAEdQSTNwDEN1qftJUlFNcAoCQ0NUTHAKYkRDVExwCmBESUFHoA+TYAogcAxzwEQAU1lT
Q6EioBSRk2AKX5NgCm9wDGGQRCBTWVNDoQtwDGGQRChTWVNDe1NZU0MM3////1NZU0NwCxQQ
U1ZJRHAKu1NTSUR9U1lTQwogU1lTQ6EjoCGTYQoBcAoATEdEQ3AKAkNDVExwCnJEQ1RMcAoA
RElBRxRGBUdWRVIBoAmTaAqfcAoBYKFCBKAJk2gKj3AKAWChNaAJk2gKf3AKAmChKaAJk2gK
b3AKAmChHaAJk2gKX3AKA2ChEaAJk2gKIHAKA2ChBXAKAGCkYBRBBFJCRUMBWyNNU01J//9w
C4FTU19BWHALgJFTX0JYcAsBAVNfQ1hwaEVTSTFTTVBJCoFwU19CTGdbJ01TTUmkZxQ9V0JF
QwJbI01TTUn//3ALgVNTX0FYcAuBkVNfQlhwCgJTX0NYcGhFU0kxcGlFU0kyU01QSQqBWydN
U01JFD9SUENJAVsjTVNNSf//cAuBU1NfQVhwC8GQU19CWHAKAFNfQ1hwaFNFU0lTTVBJCoFw
U19DTGdbJ01TTUmkZxRABVdQQ0kCWyNNU01J//9wC4FTU19BWHALwZBTX0JYcAoBU19DSHBo
U0VTSXBpU19DTFNNUEkKgaAJU19BSHAKAGehBXAKAWdbJ01TTUmkZxRMBE1QQ0kDWyNNU01J
//9wC4FTU19BWHALwZBTX0JYcAoCU19DSHBoU0VTSXBpU19DTHBqU19ETFNNUEkKgXBTX0NM
Z1snTVNNSaRnFEwjXF9QVFMBoAyTaFxTUFNfcAoAYKEXoA+Rk2gKAJKVaAoGcAoAYKEFcAoB
YKBOIGBwaFxTUFNfU0FWRlwvA19TQl9IS0VZTUhLRQCgL5NoCgFbI01TTUn//3ALgVNTX0FY
cAuRkFNfQlhTTVBJCoFbJ01TTUlwAUJMRU6gQQSTaAoCWyNNU01J//9wC4FTU19BWHALkpBT
X0JYU01QSQqBWydNU01JcAFCTEVOcAFcLwNfU0JfUENJMENSRU6gQgaTaAoDWyNNU01J//9w
C4FTU19BWHALk5BTX0JYU01QSQqBWydNU01JoBiTXC5QVklEU1RBVAoAXC5QVklEX09GRnAB
QkxFTnAAXC8FX1NCX1BDSTBJU0EwRUMwX0hDQUOgKZNoCgRbI01TTUn//3ALgVNTX0FYcAuU
kFNfQlhTTVBJCoFbJ01TTUmgSwWTaAoFoDBXOThGWyNNU01J//9wC4FTU19BWHALwpBTX0JY
cAoBU19DWFNNUEkKgVsnTVNNSVsjTVNNSf//cAuBU1NfQVhwC5WQU19CWFNNUEkKgVsnTVNN
SaBECZKTaAoFcABcLwVfU0JfUENJMElTQTBFQzBfSFNQQVwvBF9TQl9QQ0kwRE9DS0RQVFNo
XC8FX1NCX1BDSTBJU0EwRUMwX0JQVFNoXC8FX1NCX1BDSTBJU0EwRUMwX1RQVFNoXC8FX1NC
X1BDSTBJU0EwRUMwX1NXQUtwAFwvBV9TQl9QQ0kwSVNBMEVDMF9XQkFUCFdBS0kSBgIKAAoA
FE0tXF9XQUsBoBCRk2gKAJKVaAoFpFdBS0lSU1RGXC8DX1NCX0hLRVlNSEtFAaAjXC8FX1NC
X1BDSTBJU0EwRUMwX1dCQVRwCgGIV0FLSQoAAKEMcAoAiFdBS0kKAABSU1RSoDOTaAoBWyNN
U01J//9wC4FTU19BWHALmZBTX0JYU01QSQqBWydNU01JXC5QVklEX09OX6Azk2gKAlsjTVNN
Sf//cAuBU1NfQVhwC5qQU19CWFNNUEkKgVsnTVNNSVwuUFZJRF9PTl+gRg+TaAoDoDBXOThG
WyNNU01J//9wC4FTU19BWHALwpBTX0JYcAoAU19DWFNNUEkKgVsnTVNNSVsjTVNNSf//cAuB
U1NfQVhwC5uQU19CWFNNUEkKgVsnTVNNSVwuUFZJRF9PTl+gPVdOVEagHUZETlNcLwVfU0Jf
UENJMElTQTBGREMwU0VMRAChGVwvBV9TQl9QQ0kwSVNBMEZEQzBTRUxEAaBCBZJIRFAyoC5c
LwRfU0JfUENJMElTQTBHQ1I0hlwvBV9TQl9QQ0kwSURFMElERVBJRFBTCgGhG4ZcLwVfU0Jf
UENJMElERTBJREVTSURTTQoBoEAKk2gKBFwvBV9TQl9QQ0kwSVNBMEZEQzBTRUxEXC8GX1NC
X1BDSTBJU0EwRkRDMEZERDBfQURSoDBXOThGWyNNU01J//9wC4FTU19BWHALwpBTX0JYcAoA
U19DWFNNUEkKgVsnTVNNSVsjTVNNSf//cAuBU1NfQVhwC5yQU19CWFNNUEkKgVsnTVNNSaAS
Vzk4RoZcLl9TQl9TTFBCCgKgMVc5OEaGXC8EX1NCX1BDSTBJU0EwRUNQXwoAhlwvBF9TQl9Q
Q0kwSVNBMExQVF8KAFwvBF9TQl9QQ0kwRE9DS0RXQUtoXC8FX1NCX1BDSTBJU0EwRUMwX0JX
QUtoXC8FX1NCX1BDSTBJU0EwRUMwX1RXQUtopFdBS0kUSAdSU1RSAHAAXFNQU19wAEJMRU5w
AVwvBV9TQl9QQ0kwSVNBMEVDMF9IQ0FDcABcLwVfU0JfUENJMElTQTBFQzBfSFdES3AAXC8F
X1NCX1BDSTBJU0EwRUMwX0hXRk5wAFwvBV9TQl9QQ0kwSVNBMEVDMF9IV0VLFDlGQUlMAFsj
TVNNSf//cAuBU1NfQVhwC5aQU19CWFNNUEkKgVsnTVNNSVxSU1RSXC5QVklEX09OXwhcX1Mw
XxIKBAoFCgUKAAoACFxfUzFfEgoECgQKBAoACgAUJl9TM18AoBFCWFBUpBIKBAoGCgYKAAoA
oQ2kEgoECgEKAQoACgAIXF9TNF8SCgQKAAoACgAKAAhcX1M1XxIKBAoACgAKAAoAEEAjXF9T
SV8USCJfU1NUAaBOIUg4RFKgTgeTaAoBoEEEkVNQU19XTlRGoBxXTlRGXC8FX1NCX1BDSTBJ
U0EwU1BLUl9QUzBcLwVfU0JfUENJMElTQTBFQzBfQkVFUAoFXC8FX1NCX1BDSTBJU0EwRUMw
X1NZU0wKAAoBXC8FX1NCX1BDSTBJU0EwRUMwX1NZU0wKAQoAoUgZoDuTaAoCXC8FX1NCX1BD
STBJU0EwRUMwX1NZU0wKAAoBXC8FX1NCX1BDSTBJU0EwRUMwX1NZU0wKAQoCoUkVoEEOk2gK
A6AhlFNQU18KA1wvBV9TQl9QQ0kwSVNBMEVDMF9CRUVQCgehTAWgIZNTUFNfCgNcLwVfU0Jf
UENJMElTQTBFQzBfQkVFUAoDoRpcLwVfU0JfUENJMElTQTBFQzBfQkVFUAoEoBxXTlRGXC8F
X1NCX1BDSTBJU0EwU1BLUl9QUzOgI5NTUFNfCgNcLwVfU0JfUENJMElTQTBFQzBfU1lTTAoA
CgChHFwvBV9TQl9QQ0kwSVNBMEVDMF9TWVNMCgAKAVwvBV9TQl9QQ0kwSVNBMEVDMF9TWVNM
CgEKAaFEB6A5k2gKBFwvBV9TQl9QQ0kwSVNBMEVDMF9CRUVQCgNcLwVfU0JfUENJMElTQTBF
QzBfU1lTTAoBCgKhN1wvBV9TQl9QQ0kwSVNBMEVDMF9TWVNMCgAKAFwvBV9TQl9QQ0kwSVNB
MEVDMF9TWVNMCgEKAKEBEEcbXF9HUEUURQZfTDBBAKAuXC8FX1NCX1BDSTBJU0EwTVdWME1X
VleGXC8EX1NCX1BDSTBJU0EwTVdWMAoCoC5cLwVfU0JfUENJMElTQTBVQVIxVUExV4ZcLwRf
U0JfUENJMElTQTBVQVIxCgIUSRRfTDBCAHBcLwVfU0JfUENJMElTQTBFQzBfSFdBS2BbIgoK
oEAFe2AKAQCgIXtcLwNfU0JfUENJMFBNRUUKAQCGXC5fU0JfUENJMAoCoCZ7XC8DX1NCX1BD
STBQTUVFCgIAhlwvA19TQl9QQ0kwRE9DSwoCoUMNoDp7YAoCAIZcLwVfU0JfUENJMElTQTBF
QzBfQkFUMAqAhlwvBV9TQl9QQ0kwSVNBMEVDMF9CQVQxCoChRQmgJntgCgQAoBJXOThGhlwu
X1NCX0xJRDAKgIZcLl9TQl9MSUQwCgKhSwagPHtgCggAfVwvBF9TQl9QQ0kwRE9DS0RGTEcK
AVwvBF9TQl9QQ0kwRE9DS0RGTEeGXC5fU0JfU0xQQgoCoSugE3tgChAAhlwuX1NCX1NMUEIK
AqEVoBN7YAogAIZcLl9TQl9TTFBCCgIQQNpcX1RaX1uCIkZOMDAIX0hJRAxB0AwLCF9VSUQK
AAhfUFIwEgYBUEZOMFuCLEZOMDEIX0hJRAxB0AwLCF9VSUQKAQhfUFIwEgYBUEZOMRQJX1NU
QQCkCgtbgixGTjEwCF9ISUQMQdAMCwhfVUlECgIIX1BSMBIGAVBGTjAUCV9TVEEApAoLW4Is
Rk4xMQhfSElEDEHQDAsIX1VJRAoDCF9QUjASBgFQRk4xFAlfU1RBAKQKC1uCLEZOMjAIX0hJ
RAxB0AwLCF9VSUQKBAhfUFIwEgYBUEZOMBQJX1NUQQCkCgtbgixGTjIxCF9ISUQMQdAMCwhf
VUlECgUIX1BSMBIGAVBGTjEUCV9TVEEApAoLW4IsRk40MAhfSElEDEHQDAsIX1VJRAoICF9Q
UjASBgFQRk4wFAlfU1RBAKQKC1uCLEZONDEIX0hJRAxB0AwLCF9VSUQKCQhfUFIwEgYBUEZO
MRQJX1NUQQCkCgtbgixGTjUwCF9ISUQMQdAMCwhfVUlECgoIX1BSMBIGAVBGTjAUCV9TVEEA
pAoLW4IsRk41MQhfSElEDEHQDAsIX1VJRAoLCF9QUjASBgFQRk4xFAlfU1RBAKQKC1uCLEZO
NjAIX0hJRAxB0AwLCF9VSUQKDAhfUFIwEgYBUEZOMBQJX1NUQQCkCgtbgixGTjYxCF9ISUQM
QdAMCwhfVUlECg0IX1BSMBIGAVBGTjEUCV9TVEEApAoLW4IsRk43MAhfSElEDEHQDAsIX1VJ
RAoOCF9QUjASBgFQRk4wFAlfU1RBAKQKC1uCLEZONzEIX0hJRAxB0AwLCF9VSUQKDwhfUFIw
EgYBUEZOMRQJX1NUQQCkCgtbhEwGUEZOMAAAABQeX1NUQQCkXC8FX1NCX1BDSTBJU0EwRUMw
X0YwT04UIV9PTl8AXC8FX1NCX1BDSTBJU0EwRUMwX1NGTlAKAAoBFCFfT0ZGAFwvBV9TQl9Q
Q0kwSVNBMEVDMF9TRk5QCgAKAFuETAZQRk4xAAAAFB5fU1RBAKRcLwVfU0JfUENJMElTQTBF
QzBfRjFPThQhX09OXwBcLwVfU0JfUENJMElTQTBFQzBfU0ZOUAoBCgEUIV9PRkYAXC8FX1NC
X1BDSTBJU0EwRUMwX1NGTlAKAQoAW4VDH1RITTAITU9ERQoACEFDME0KAAhBQzFNCgAIVEJM
MBI+AhIdAxIIAgtiDgtJDhIIAgtODgs1DhIIAgs6DgshDhIdAxIIAgs6DgshDhIIAgtiDgtJ
DhIIAgtODgs1DhQVTU9EUAGkiIOIVEJMME1PREUAaAAURgRfVE1QAFwvBV9TQl9QQ0kwSVNB
MEVDMF9VUERUcFwvBV9TQl9QQ0kwSVNBMEVDMF9UTVAwYKAIlGALrAqkYKEFpAu4CxRMBV9B
QzAAoB5IOERScFwvBV9TQl9QQ0kwSVNBMEVDMF9IVDAxYaEVe3pcLl9TQl9SQkVDCiAKAQAK
AWFwYVwvA19UWl9USE0wQUMwTXCDiINNT0RQCgFhAGCkYBRIBV9BQzEAoB5IOERScFwvBV9T
Ql9QQ0kwSVNBMEVDMF9IVDAwYaERe1wuX1NCX1JCRUMKIAoBYXBhXC8DX1RaX1RITTBBQzFN
cIOIg01PRFAKAmEAYKRgCF9DUlQLgA4UE19TQ1ABhlwuX1RaX1RITTAKgQhfQUwwEgYBRk4w
MAhfQUwxEgYBRk4wMRQWX1BTVgBwg4iDTU9EUAoACgEAYKRgCF9QU0wSDAFcLl9QUl9DUFUw
FAtfVEMxAKRUVEMxFAtfVEMyAKRUVEMyFAtfVFNQAKRUVFNQW4VOFVRITTEITU9ERQoACFRC
TDASPgISHQMSCAILpA0LbQ0SCAILmg0LYw0SCAILkA0LWQ0SHQMSCAILkA0LWQ0SCAILpA0L
bQ0SCAILmg0LYw0UFU1PRFABpIiDiFRCTDBNT0RFAGgAFC5fVE1QAHBcLwVfU0JfUENJMElT
QTBFQzBfVE1QMWCgCJRgC6wKpGChBaQLuAsUSwRfQUMwAKAeSDhEUnBcLwVfU0JfUENJMElT
QTBFQzBfSFQxMWGhFXt6XC5fU0JfUkJFQwohCgEACgFhcIOIg01PRFAKAWEAYKRgFEcEX0FD
MQCgHkg4RFJwXC8FX1NCX1BDSTBJU0EwRUMwX0hUMTBhoRF7XC5fU0JfUkJFQwohCgFhcIOI
g01PRFAKAmEAYKRgCF9DUlQLzA0UE19TQ1ABhlwuX1RaX1RITTEKgQhfQUwwEgYBRk4xMAhf
QUwxEgYBRk4xMVuFTBZUSE0yCE1PREUKAAhBQzBNCgAIQUMxTQoACFRCTDASPgISHQMSCAIL
BA0LzQwSCAIL+gwLwwwSCAIL0gwLmwwSHQMSCAIL0gwLmwwSCAILBA0LzQwSCAIL+gwLwwwU
FU1PRFABpIiDiFRCTDBNT0RFAGgAFC5fVE1QAHBcLwVfU0JfUENJMElTQTBFQzBfVE1QMmCg
CJRgC6wKpGChBaQLuAsUSwRfQUMwAKAeSDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSFQyMWGh
FXt6XC5fU0JfUkJFQwoiCgEACgFhcIOIg01PRFAKAWEAYKRgFEcEX0FDMQCgHkg4RFJwXC8F
X1NCX1BDSTBJU0EwRUMwX0hUMjBhoRF7XC5fU0JfUkJFQwoiCgFhcIOIg01PRFAKAmEAYKRg
CF9DUlQLXg0UE19TQ1ABhlwuX1RaX1RITTIKgQhfQUwwEgYBRk4yMAhfQUwxEgYBRk4yMVuF
ThVUSE00CE1PREUKAAhUQkwwEj4CEh0DEggCCwQNC80MEggCC/oMC8MMEggCC/AMC7kMEh0D
EggCC/AMC7kMEggCCwQNC80MEggCC/oMC8MMFBVNT0RQAaSIg4hUQkwwTU9ERQBoABQuX1RN
UABwXC8FX1NCX1BDSTBJU0EwRUMwX1RNUDRgoAiUYAusCqRgoQWkC7gLFEsEX0FDMACgHkg4
RFJwXC8FX1NCX1BDSTBJU0EwRUMwX0hUNDFhoRV7elwuX1NCX1JCRUMKJAoBAAoBYXCDiINN
T0RQCgFhAGCkYBRHBF9BQzEAoB5IOERScFwvBV9TQl9QQ0kwSVNBMEVDMF9IVDQwYaERe1wu
X1NCX1JCRUMKJAoBYXCDiINNT0RQCgJhAGCkYAhfQ1JUCyINFBNfU0NQAYZcLl9UWl9USE00
CoEIX0FMMBIGAUZONDAIX0FMMRIGAUZONDFbhU4VVEhNNQhNT0RFCgAIVEJMMBI+AhIdAxII
AgsYDQvhDBIIAgsODQvXDBIIAgsEDQvNDBIdAxIIAgsEDQvNDBIIAgsYDQvhDBIIAgsODQvX
DBQVTU9EUAGkiIOIVEJMME1PREUAaAAULl9UTVAAcFwvBV9TQl9QQ0kwSVNBMEVDMF9UTVA1
YKAIlGALrAqkYKEFpAu4CxRLBF9BQzAAoB5IOERScFwvBV9TQl9QQ0kwSVNBMEVDMF9IVDUx
YaEVe3pcLl9TQl9SQkVDCiUKAQAKAWFwg4iDTU9EUAoBYQBgpGAURwRfQUMxAKAeSDhEUnBc
LwVfU0JfUENJMElTQTBFQzBfSFQ1MGGhEXtcLl9TQl9SQkVDCiUKAWFwg4iDTU9EUAoCYQBg
pGAIX0NSVAssDRQTX1NDUAGGXC5fVFpfVEhNNQqBCF9BTDASBgFGTjUwCF9BTDESBgFGTjUx
W4VOFVRITTYITU9ERQoACFRCTDASPgISHQMSCAILVA0LHQ0SCAILSg0LEw0SCAILQA0LCQ0S
HQMSCAILQA0LCQ0SCAILVA0LHQ0SCAILSg0LEw0UFU1PRFABpIiDiFRCTDBNT0RFAGgAFC5f
VE1QAHBcLwVfU0JfUENJMElTQTBFQzBfVE1QNmCgCJRgC6wKpGChBaQLuAsUSwRfQUMwAKAe
SDhEUnBcLwVfU0JfUENJMElTQTBFQzBfSFQ2MWGhFXt6XC5fU0JfUkJFQwomCgEACgFhcIOI
g01PRFAKAWEAYKRgFEcEX0FDMQCgHkg4RFJwXC8FX1NCX1BDSTBJU0EwRUMwX0hUNjBhoRF7
XC5fU0JfUkJFQwomCgFhcIOIg01PRFAKAmEAYKRgCF9DUlQLaA0UE19TQ1ABhlwuX1RaX1RI
TTYKgQhfQUwwEgYBRk42MAhfQUwxEgYBRk42MVuFThVUSE03CE1PREUKAAhUQkwwEj4CEh0D
EggCC1QNCx0NEggCC0oNCxMNEggCC0ANCwkNEh0DEggCC0ANCwkNEggCC1QNCx0NEggCC0oN
CxMNFBVNT0RQAaSIg4hUQkwwTU9ERQBoABQuX1RNUABwXC8FX1NCX1BDSTBJU0EwRUMwX1RN
UDdgoAiUYAusCqRgoQWkC7gLFEsEX0FDMACgHkg4RFJwXC8FX1NCX1BDSTBJU0EwRUMwX0hU
NzFhoRV7elwuX1NCX1JCRUMKJwoBAAoBYXCDiINNT0RQCgFhAGCkYBRHBF9BQzEAoB5IOERS
cFwvBV9TQl9QQ0kwSVNBMEVDMF9IVDcwYaERe1wuX1NCX1JCRUMKJwoBYXCDiINNT0RQCgJh
AGCkYAhfQ1JUC2gNFBNfU0NQAYZcLl9UWl9USE03CoEIX0FMMBIGAUZONzAIX0FMMRIGAUZO
NzFbAU1TTUkHW4BNTlZTAAwA8P0HCwAQW4FNBk1OVlMDAIDgB1NfQUwIU19BSAgAEFNfQkwI
U19CSAgAEFNfQ0wIU19DSAgAEFNfREwIU19ESAgAEEVESTEIRURJMghFREkzCEVESTQIRVNJ
MQhFU0kyCEVTSTMIRVNJNAhTWEFMCFNYQUgIW4E1TU5WUwMAgOAHU19BWBAAEFNfQlgQABBT
X0NYEAAQU19EWBAAEFNFREkgU0VTSSBTWEFYEFuBShNNTlZTAwCAgAdQWEROIFZDREwBVkNE
QwFWQ0RUAVZDREkBVkNEUwFWQ0RFAVZDREIBVkNESAEAAwAFVkxJRAQADFdQTUUBV0JBVAFX
TElEAVdEQ0sBV0ZOXwFXS0JEAVdSSV8BV1JFUwFXS1JTGE1QR1ABQ1BVVAJWQ0hSAQAcVE9N
UCBGUkFTIFNOUzAgU05TMSBTTlMyIFNOUzMgU05TNCBTTlM1IFNOUzYgU05TNyBIREhECEhE
U0UIVFRDMQhUVEMyCFRUU1AQRlNQRAgACFc5OEYBV05URgEABURCR18BSDhEUgEAA0JYUFQB
SERQMAFIRFAxAUhEUDIBUFBNRAJQUERSAVBQRE0BRElERQFGRE5TAVZESEsBVkRTQgEACEdB
UEEgR0FQTCBJREJFCElESUQIABBbgRNNTlZTAQCAAAdEREMxQEAAQEBbgRBNTlZTAQCAAAdE
REMyQIAIUzk4RgoACFNOVEYKAAhTSDhECgAUIVNBVkYAcFc5OEZTOThGcFdOVEZTTlRGcEg4
RFJTSDhEFCFSU1RGAHBTOThGVzk4RnBTTlRGV05URnBTSDhESDhEUluAQVBNQwEKsgoBW4EL
QVBNQwFBUE1ECBQtU01QSQFwU19BWGBwCoFBUE1EohmTU19BSAqmWyIKZHBgU19BWHAKgUFQ
TUQUEU1JTl8CoAaVaGmkaKEDpGkUCVNMRU4BpIdoFCFTMkJGCXJTTEVOaAFgCEJVRkYRAmBw
aEJVRkakQlVGRhRHBlNDTVACcFMyQkZoYHBTMkJGaWFwAGRwU0xFTmhlcFNMRU5pZnBNSU5f
ZWZnoiSVZGdwg4hgZABicIOIYWQAY6AGlGJjpAGhCKAGlWJjpP91ZKAGlWRlpAGhDKAGlWRm
pP+hA6QA
--------------040209090002060901000908--

