Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Oct 2006 18:53:02 +0200
From:      "O. Hartmann" <ohartman@mail.zedat.fu-berlin.de>
To:        John Baldwin <john@baldwin.cx>
Cc:        freebsd-acpi@FreeBSD.org
Subject:   Re: kern/104625: ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show thermal zones or fan speed
Message-ID:  <453CF36E.6000201@mail.zedat.fu-berlin.de>
In-Reply-To: <200610231550.k9NFoRSq056665@freefall.freebsd.org>
References:  <200610231550.k9NFoRSq056665@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------020604070307000805050105
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

John Baldwin wrote:
> The following reply was made to PR kern/104625; it has been noted by GNATS.
>
> From: John Baldwin <john@baldwin.cx>
> To: bug-followup@freebsd.org, ohartman@zedat.fu-berlin.de
> Cc:  
> Subject: Re: kern/104625: ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show thermal zones or fan speed
> Date: Mon, 23 Oct 2006 11:25:09 -0400
>
>  You need to provide an acpidump.  ACPI thermal zones work fine on computers 
>  that list them in their BIOS.  Many older machines only provide access to the 
>  thermals via non-ACPI methods such as over SMBus, etc.
>  
>  -- 
>  John Baldwin
> _______________________________________________
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"
>   

Attached to this mail you'll find the acpidump of both boxes.
Please note: ASUS A8N32-SLI IS DEFINITELLY NOT OLD as it has been
introduces last year and since then the problem persists. And, even
worse, OpenBSD seems to show up thermal zones.
As I wrote the 'older' ASUS A8N-SLI Deluxe already showed up thermal
zones, but had a AWARD BIOS while the boxes in question use AMI BIOS. On
all boxes I have access to with AMI BIOS, I can not access thermal zones
in FreeBSD 6.X ...

Regards,
Oliver


--------------020604070307000805050105
Content-Type: application/octet-stream;
 name="acpi_a8n32sli.bin"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="acpi_a8n32sli.bin"

RFNEVAlqAAABK0EwMzcxAEEwMzcxMDAxAQAAAElOVEwmIAACCERQODALgBAIRFA5MAqQCFNQ
SU8KLghJT1BCCwAMCElPUEwKEAhJT0VCCwANCElPRUwKEAhJT0dCCyAKCElPR0wKEAhJT0RC
CzAKCElPREwKEAhJTzFCCyAKCElPMUwKCAhJTzNCCwANCElPM0wKgAhQTUJTCwAFCFBNTE4L
AAEIU0NCUwsACAhTQ0xOCwABCEFDQlMLAAkIQUNMTgsAAQhTQ0lPCwAICFNDVEwLkAUIRVhU
UwoACEFQSUMKAQhBQldWCqsIUENJQgwAAADgCFBDSUwMAAAAEAhTTUJTCwAHW4BCSU9TAAxk
4Pt/Cv9bgUUGQklPUwFTUzFfAVNTMl8BU1MzXwFTUzRfAQAESU9TVBBUT1BNIFJPTVMgTUcx
QiBNRzFMIE1HMkIgTUcyTCAACENQQjAgQ1BCMSBDUEIyIENQQjMgQVNTQghBT1RCCEFBWEIg
FA9SUklPBHANUlJJTwBbMRQPUkRNQQNwDXJETUEAWzEIUElDTQoAFB9fUElDAaAJaHAKqkRC
RzihCHAKrERCRzhwaFBJQ00IT1NWUv8USQ1PU0ZMAKANkpNPU1ZS/6RPU1ZSoA+TUElDTQoA
cAqsREJHOHAKAU9TVlKgJVsSXF9PU0lhoBtcX09TSQ1XaW5kb3dzIDIwMDEAcAoAT1NWUqFB
CKAnTUNUSFxfT1NfDU1pY3Jvc29mdCBXaW5kb3dzIE5UAHAKBE9TVlKhRgWgOk1DVEhcX09T
Xw1NaWNyb3NvZnQgV2luZG93c01FOiBNaWxsZW5uaXVtIEVkaXRpb24AcAoCT1NWUqAYTUNU
SFxfT1NfDUxpbnV4AHAKA09TVlKkT1NWUhRPBE1DVEgCoAiVh2iHaaQAcodoCgFgCEJVRjAR
AmAIQlVGMRECYHBoQlVGMHBpQlVGMaIaYHZgoBWSk4OIQlVGMGAAg4hCVUYxYACkAKQBCFBS
V1ASBAIAABRDCEdQUlcCcGiIUFJXUAoAAHB5U1MxXwoBAGB9YHlTUzJfCgIAYH1geVNTM18K
AwBgfWB5U1M0XwoEAGCgE3t5CgFpAGAAcGmIUFJXUAoBAKEtemAKAWCgGpGTT1NGTAoBk09T
RkwKAoFgiFBSV1AKAQChC4JgiFBSV1AKAQCkUFJXUAhXQUtQEgQCAABbgERFQjABRFA4MAoB
W4ELREVCMAFEQkc4CFuAREVCMQFEUDkwCgJbgQtERUIxAkRCRzkQEInmBFxfU0JfCFBSMDAS
QyAgEg8EDP//CgAKAExTTUIKABIPBAz//wsACgBMVUIwCgASDwQM//8LAAoBTFVCMgoAEg8E
DP//EwAKAExNQUMKABIPBAz//xAACgBMU0EwCgASDwQM//8RAAoATFNBMQoAEg8EDP//DQAK
AExBQ0kKABIPBAz//w0ACgFMTUM5CgASDwQM//8CAAoATE5LQgoAEg8EDP//AgAKAUxOS0MK
ABIPBAz//wIACgJMTktECgASDwQM//8CAAoDTE5LQQoAEg8EDP//AwAKAExOS0EKABIPBAz/
/wMACgFMTktCCgASDwQM//8DAAoCTE5LQwoAEg8EDP//AwAKA0xOS0QKABIPBAz//wQACgBM
TktBCgASDwQM//8EAAoBTE5LQgoAEg8EDP//BAAKAkxOS0MKABIPBAz//wQACgNMTktECgAS
DwQM//8XAAoATE5LQgoAEg8EDP//FwAKAUxOS0MKABIPBAz//xcACgJMTktECgASDwQM//8X
AAoDTE5LQQoAEg8EDP//FgAKAExOS0MKABIPBAz//xYACgFMTktECgASDwQM//8WAAoCTE5L
QQoAEg8EDP//FgAKA0xOS0IKABIPBAz//xUACgBMTktECgASDwQM//8VAAoBTE5LQQoAEg8E
DP//FQAKAkxOS0IKABIPBAz//xUACgNMTktDCgAIQVIwMBJDICASDwQM//8KAAoATFNNQgoA
Eg8EDP//CwAKAExVQjAKABIPBAz//wsACgFMVUIyCgASDwQM//8TAAoATE1BQwoAEg8EDP//
EAAKAExTQTAKABIPBAz//xEACgBMU0ExCgASDwQM//8NAAoATEFDSQoAEg8EDP//DQAKAUxN
QzkKABIPBAz//wIACgBMTktCCgASDwQM//8CAAoBTE5LQwoAEg8EDP//AgAKAkxOS0QKABIP
BAz//wIACgNMTktBCgASDwQM//8DAAoATE5LQQoAEg8EDP//AwAKAUxOS0IKABIPBAz//wMA
CgJMTktDCgASDwQM//8DAAoDTE5LRAoAEg8EDP//BAAKAExOS0EKABIPBAz//wQACgFMTktC
CgASDwQM//8EAAoCTE5LQwoAEg8EDP//BAAKA0xOS0QKABIPBAz//xcACgBMTktCCgASDwQM
//8XAAoBTE5LQwoAEg8EDP//FwAKAkxOS0QKABIPBAz//xcACgNMTktBCgASDwQM//8WAAoA
TE5LQwoAEg8EDP//FgAKAUxOS0QKABIPBAz//xYACgJMTktBCgASDwQM//8WAAoDTE5LQgoA
Eg8EDP//FQAKAExOS0QKABIPBAz//xUACgFMTktBCgASDwQM//8VAAoCTE5LQgoAEg8EDP//
FQAKA0xOS0MKAAhQUjAxEkMNDRIPBAz//wsACgBMTktBCgASDwQM//8GAAoATE5LQQoAEg8E
DP//BgAKAUxOS0IKABIPBAz//wYACgJMTktDCgASDwQM//8GAAoDTE5LRAoAEg8EDP//BwAK
AExOS0IKABIPBAz//wcACgFMTktDCgASDwQM//8HAAoCTE5LRAoAEg8EDP//BwAKA0xOS0EK
ABIPBAz//wgACgBMTktDCgASDwQM//8IAAoBTE5LRAoAEg8EDP//CAAKAkxOS0EKABIPBAz/
/wgACgNMTktCCgAIQVIwMRJDDQ0SDwQM//8LAAoATE5LQQoAEg8EDP//BgAKAExOS0EKABIP
BAz//wYACgFMTktCCgASDwQM//8GAAoCTE5LQwoAEg8EDP//BgAKA0xOS0QKABIPBAz//wcA
CgBMTktCCgASDwQM//8HAAoBTE5LQwoAEg8EDP//BwAKAkxOS0QKABIPBAz//wcACgNMTktB
CgASDwQM//8IAAoATE5LQwoAEg8EDP//CAAKAUxOS0QKABIPBAz//wgACgJMTktBCgASDwQM
//8IAAoDTE5LQgoACFBSMDISOgQSDQQL//8KAExOS0IKABINBAv//woBTE5LQwoAEg0EC///
CgJMTktECgASDQQL//8KA0xOS0EKAAhBUjAyEjoEEg0EC///CgBMTktCCgASDQQL//8KAUxO
S0MKABINBAv//woCTE5LRAoAEg0EC///CgNMTktBCgAIUFIwMxI6BBINBAv//woATE5LQQoA
Eg0EC///CgFMTktCCgASDQQL//8KAkxOS0MKABINBAv//woDTE5LRAoACEFSMDMSOgQSDQQL
//8KAExOS0EKABINBAv//woBTE5LQgoAEg0EC///CgJMTktDCgASDQQL//8KA0xOS0QKAAhQ
UjA0EjoEEg0EC///CgBMTktBCgASDQQL//8KAUxOS0IKABINBAv//woCTE5LQwoAEg0EC///
CgNMTktECgAIQVIwNBI6BBINBAv//woATE5LQQoAEg0EC///CgFMTktCCgASDQQL//8KAkxO
S0MKABINBAv//woDTE5LRAoACFBSMDUSOgQSDQQL//8KAExOS0IKABINBAv//woBTE5LQwoA
Eg0EC///CgJMTktECgASDQQL//8KA0xOS0EKAAhBUjA1EjoEEg0EC///CgBMTktCCgASDQQL
//8KAUxOS0MKABINBAv//woCTE5LRAoAEg0EC///CgNMTktBCgAIUFIwNhI6BBINBAv//woA
TE5LQwoAEg0EC///CgFMTktECgASDQQL//8KAkxOS0EKABINBAv//woDTE5LQgoACEFSMDYS
OgQSDQQL//8KAExOS0MKABINBAv//woBTE5LRAoAEg0EC///CgJMTktBCgASDQQL//8KA0xO
S0IKAAhQUjA3EjoEEg0EC///CgBMTktECgASDQQL//8KAUxOS0EKABINBAv//woCTE5LQgoA
Eg0EC///CgNMTktDCgAIQVIwNxI6BBINBAv//woATE5LRAoAEg0EC///CgFMTktBCgASDQQL
//8KAkxOS0IKABINBAv//woDTE5LQwoACFBSU0ERCQoGI6DEGHkABlBSU0FQUlNCBlBSU0FQ
UlNDBlBSU0FQUlNEBlBSU0FSU01CBlBSU0FSU0IyCFJTQTERCQoGIwAIGHkABlJTQTFSU0Ew
BlBSU0FSU0IwBlBSU0FSU0FDBlBSU0FSU0NJBlBSU0FSU0M5BlBSU0FSU1RBCFJTSVIRGgoX
iRIADQQQAAAAEQAAABIAAAATAAAAeQAIUlNJSREaCheJEgANBBQAAAAVAAAAFgAAABcAAAB5
AFuChjEEUENJMAhfSElEDEHQCgMIX0FEUgwAABgAFApeQk4wMACkCgAUC19CQk4ApEJOMDAI
X1VJRAoAFBZfUFJUAKAKUElDTaRBUjAwpFBSMDBbghpOQjJOCF9BRFIKABQGTlBUUwEUBk5X
QUsBW4IMUENMSwhfQURSCgJbgogtA1NCUkcIX0FEUgwAAAoAFE4RU1BUUwFwaFwvBF9TQl9Q
Q0kwSURFMFBUUzBwXC8EX1NCX1BDSTBJREUwSUQyMFwvBF9TQl9QQ0kwSURFMFNJRDBwXC8E
X1NCX1BDSTBJREUwSURUU1wvBF9TQl9QQ0kwSURFMFNJRDFwXC8EX1NCX1BDSTBJREUwSURU
UFwvBF9TQl9QQ0kwSURFMFNJRDJwXC8EX1NCX1BDSTBJREUwSUQyMlwvBF9TQl9QQ0kwSURF
MFNJRDNwXC8EX1NCX1BDSTBJREUwVU1TU1wvBF9TQl9QQ0kwSURFMFNJRDRwXC8EX1NCX1BD
STBJREUwVU1TUFwvBF9TQl9QQ0kwSURFMFNJRDVwAVBTMVNwAVBTMUVwAVwuX1NCX1NMUFMU
NFNXQUsBcABcLl9TQl9TTFBTcABQUzFFcAoCUzFDVHAKAlMzQ1RwCgJTNENUcAoCUzVDVFuA
U01JRQFTQ0lPCghbgRZTTUlFAQAPUFMxUwEAH1BTMUUBABBbgFNYQ1QBU0NUTAoQW4EiU1hD
VAFTMUNUAgAeUzNDVAIAHlM0Q1QCAB5TNUNUAgAeEEIPXF9TQl8IU0xQUwoAW4JLBlNMUEII
X0hJRAxB0AwOFBJfU1RBAKAIRVhUU6QKD6QKABQcU0JFVgCgDFNMUFOGU0xQQgoCoQiGU0xQ
QgqAFBtcLl9HUEVfTDAxAFwvA19TQl9TTFBCU0JFVhQOX1BSVwCkEgYCCgEKBBBGB1BDSTAU
F19TM0QAoAuTT1NGTAoCpAoCoQSkCgMIX1MxRAoBCE5BVEESBwEMAAAQAFuCQgROVlJCCF9I
SUQNTlZSQUlEQlVTABQYX1NUQQCgDHtDUEIwCgEApAoPoQSkCgAIX0NSUxENCgpHAdIE0gQB
AXkAW4IrUElDXwhfSElEC0HQCF9DUlMRGAoVRwEgACAAAAJHAaAAoAAAAiIEAHkAW4JOBERN
QUQIX0hJRAxB0AIACF9DUlMROAo1KhAERwEAAAAAABBHAYEAgQAAA0cBhwCHAAABRwGJAIkA
AANHAY8AjwAAAUcBwADAAAAgeQBbgiVUTVJfCF9ISUQMQdABAAhfQ1JTERAKDUcBQABAAAAE
IgEAeQBbgiVSVEMwCF9ISUQMQdALAAhfQ1JTERAKDUcBcABwAAACIgABeQBbgiJTUEtSCF9I
SUQMQdAIAAhfQ1JTEQ0KCkcBYQBhAAABeQBbgiVDT1BSCF9ISUQMQdAMBAhfQ1JTERAKDUcB
8ADwAAAQIgAgeQBbgkEXRkRDXwhfSElEDEHQBwAULl9GREUACEZERVASDAUKAAoACgIKAgoC
oBBfU1RBcAoBiEZERVAKAACkRkRFUBQNX1NUQQCkRFNUQQoDFA5fRElTAERDTlQKAwoAFEoF
X0NSUwBEQ1JTCgMKAXBJUlFNSVJRRXBETUFNRE1BRXBJTzExSU8yMXBJTzEySU8yMnAKBkxF
TjJySU8yMQoHSU8zMXBJTzMxSU8zMnAKAUxFTjOkQ1JTMhRGBl9TUlMBRFNSU2gKA4toChFJ
UlFFjGgKFERNQUVFTkZHQ0dMRAoDoBNJUlFFgklSUUVgdGAKAUlOVFKhCHAKAElOVFKgE0RN
QUWCRE1BRWB0YAoBRE1DSKEIcAoERE1DSEVYRkcIX1BSUxFNBApJMQBHAfAD8AMBBkcB9wP3
AwEBIkAAKgQAMEcB8APwAwEGRwH3A/cDAQEi+BwqDwAwRwFwA3ADAQZHAXcDdwMBASL4HCoP
ADh5AFuCTBdMUFRFFBxfSElEAKANTFBUTQoCpAxB0AQBoQekDEHQBAAUDV9TVEEApERTVEEK
AhQOX0RJUwBEQ05UCgIKABRPBl9DUlMARENSUwoCCgGgSAVMUFRNCgJwSVJRTUlSUUVwRE1B
TURNQUVwSU8xMUlPMjFwSU8xMklPMjJwTEVOMUxFTjJySU8yMQsABElPMzFwSU8zMUlPMzJw
TEVOMkxFTjOkQ1JTMqEGpENSUzEUDV9TUlMBRFNSU2gKAhQaX1BSUwCgDExQVE0KAqRFUFBS
oQakTFBQUghMUFBSETMKMDBHAXgDeAMBCCL4HCoAADBHAXgCeAIBCCL4HCoAADBHAbwDvAMB
BCL4HCoAADh5AAhFUFBSEUQGCmAxAEcBeAN4AwEIRwF4B3gHAQgigAAqCAAwRwF4A3gDAQhH
AXgHeAcBCCL4HCoPADBHAXgCeAIBCEcBeAZ4BgEIIvgcKg8AMEcBvAO8AwEERwG8B7wHAQQi
+BwqDwA4eQBbgkUPR0FNRQhfSElEDEHQsC8UDV9TVEEApERTVEEKCBQOX0RJUwBEQ05UCggK
AAhHTUNSEQ0KCkcBAAAAAAgIeQAUQwZfQ1JTAItHTUNSCgJJT0dMi0dNQ1IKBElPR0hFTkZH
Q0dMRAoIeUlPQUgKCElPR0x9SU9BTElPR0xJT0dMcElPR0xJT0dIjEdNQ1IKBklPQUxwCgFJ
T0FMRVhGR6RHTUNSFDpfU1JTAYtoCgJJTzExRU5GR0NHTEQKCHtJTzExCv9JT0FMeklPMTEK
CElPQUhEQ05UCggKAUVYRkcIX1BSUxEQCg0xAEcBAQIBAgEIOHkAW4JME01JREkIX0hJRAxB
0LAGFA1fU1RBAKREU1RBCgUUDl9ESVMARENOVAoFCgAITURDUhEQCg1HAQAAAAABAiIgAHkA
FEYHX0NSUwCLTURDUgoCSU9NTItNRENSCgRJT01Ii01EQ1IKCUlSUU1FTkZHQ0dMRAoFeUlP
QUgKCElPTUx9SU9BTElPTUxJT01McElPTUxJT01IoBBJTlRSeQoBSU5UUklSUU2hCHAKAElS
UU1FWEZHpE1EQ1IUQAZfU1JTAYtoCgJJTzExi2gKCUlSUU1FTkZHQ0dMRAoFe0lPMTEK/0lP
QUx6SU8xMQoISU9BSKATSVJRTYJJUlFNYHRgCgFJTlRSoQhwCgBJTlRSRENOVAoFCgFFWEZH
CF9QUlMRGwoYMEcBAAMAAwECMEcBMAMwAwECOCKgDnkAW4JKLlJNU0MIX0hJRAxB0AwCCF9V
SUQKEAhDUlNfEU4NCtpHARAAEAAAEEcBIgAiAAAeRwFEAEQAABxHAWIAYgAAAkcBZQBlAAAL
RwFyAHIAAA5HAYAAgAAAAUcBhACEAAADRwGIAIgAAAFHAYwAjAAAA0cBkACQAAAQRwGiAKIA
AB5HAeAA4AAAEEcB0ATQBAACRwEACAAIABBHAQAAAAAAAEcBAAAAAAAARwEAAAAAAABHAQAA
AAAAAEcBAAAAAAAARwEAAAAAAACGCQAAABDg/gDwDwCGCQAAAPD//gAQAACGCQABAACw/wAA
TwCGCQAAAADw/wAAEAB5ABROHl9DUlMAi0NSU18KekdQMDCLQ1JTXwp8R1AwMYxDUlNfCn9H
UDBMi0NSU18KgkdQMTCLQ1JTXwqER1AxMYxDUlNfCodHUDFMcFBNQlNHUDAwcFBNQlNHUDAx
oDySlVBNTE4LAAF6UE1MTgoBR1AwTHJHUDAwR1AwTEdQMTByR1AwMUdQMExHUDExdFBNTE5H
UDBMR1AxTKEKcFBNTE5HUDBMoEIKU0NCU4tDUlNfCopTQzAwi0NSU18KjFNDMDGMQ1JTXwqP
U0MwTItDUlNfCpJTQzEwi0NSU18KlFNDMTGMQ1JTXwqXU0MxTHBTQ0JTU0MwMHBTQ0JTU0Mw
MaA8kpVTQ0xOCwABelNDTE4KAVNDMExyU0MwMFNDMExTQzEwclNDMDFTQzBMU0MxMXRTQ0xO
U0MwTFNDMUyhCnBTQ0xOU0MwTKBCCkFDQlOLQ1JTXwqaQUMwMItDUlNfCpxBQzAxjENSU18K
n0FDMEyLQ1JTXwqiQUMxMItDUlNfCqRBQzExjENSU18Kp0FDMUxwQUNCU0FDMDBwQUNCU0FD
MDGgPJKVQUNMTgsAAXpBQ0xOCgFBQzBMckFDMDBBQzBMQUMxMHJBQzAxQUMwTEFDMTF0QUNM
TkFDMExBQzFMoQpwQUNMTkFDMEykQ1JTXxA5XC8DX1NCX1BDSTBTQlJHW4InQVNPQwhfSElE
DUFUSzAxMTAACF9VSUQMEAEBARQJX1NUQQCkCg9bgFwvBF9TQl9QQ0kwU0JSR0xQREMCCqAK
BluBQAZcLwRfU0JfUENJMFNCUkdMUERDAVMzRjgBUzJGOAEAA1MyRTgBAAFTM0U4AQAETTMw
MAEAAk0zMzABAARGREMwAQADUDM3OAFQMjc4AVAzQkMBAAVHMjAwCEcyMDgIFEkMUlJJTwSg
PpGTaAoAk2gKAaAMk2oL+ANwaVMzRjigDJNqC/gCcGlTMkY4oAyTagvoA3BpUzNFOKAMk2oL
6AJwaVMyRTigLJNoCgKgDJNqC3gDcGlQMzc4oAyTagt4AnBpUDI3OKAMk2oLvANwaVAzQkOg
C5NoCgNwaUZEQzCgH5NoCgWgDJNqCzADcGlNMzMwoAyTagsAA3BpTTMwMKApk2gKCHAAYKAG
aXAK/2CgDJNqCwACcGBHMjAwoAyTagsIAnBgRzIwOBQGUkRNQQMQSwhcAFuAXFJBTVcAdFRP
UE0MAAABAAAMAAABAFuBEVxSQU1XAVBBUjAgUEFSMSBbgElPQjIBCy4ICgJbgRBJT0IyAVNN
SUMIU01JUwgUDElTTUkJcGhTTUlDFBdHTlZTCXBoUEFSMElTTUkKcKRQQVIxFBhTTlZTCnBo
UEFSMHBpUEFSMUlTTUkKcRBKB1wAW4FEB1xSQU1XAQBABEFEU1AgRlNCRhBGVkNNCEFJVFUI
RklEVghWSURWCE9DUEkITk9TVAhOT1MxCEREUlYIQ1BVUwFDUUZTA0NRRlQEQUlESQhPVklE
CENDQVEITUFYRghNQVhWCENVUkYIQ1VSVghQQ0VGCFuAXC8EX1NCX1BDSTBQQ0xLTU5DSwIK
RAoEW4EjXC8EX1NCX1BDSTBQQ0xLTU5DSwFNTU5OEAAOTU5FTgEAAVuAXC8EX1NCX1BDSTBQ
Q0xLU1BSRAIKVAoEW4EcXC8EX1NCX1BDSTBQQ0xLU1BSRAFTUFJFAQAfW4BRRFJWAUlPR0IK
A1uBEVFEUlYBABAAAVFERFIEAANbgERFQjABC4AQCgJbgQtERUIwAURCMTYQCEREUlQSFgoK
DQoPCg4KDQoLCgcKCQoICgMKAhCJJAFcLwRfU0JfUENJMFNCUkdBU09DCE1CSUYSGwgKAQ1B
OE4zMi1TTEkACgEKAQoCCgAKAAoAFAtBU0lGAKRNQklGCE9DMDESHQYMAAABAQ1DUFUgRlNC
AAsgTgtAnArJDAMAAQAIT0MwMhIiBgwBAAYBDUNQVSBNdWx0aXBsaWVyAAoEChkKFgwAAAEA
CE9DMDMSIAYMAgAGAQ1GSUQgVklEIE1vZGUACgAKAQoBDAAAAQAIT0MwNBIeBgwDAAEHDVBD
SSBFeHByZXNzAAsQJwssMwplCgAIT0MwNRIeBgwEAAUFDU9DIFByb2ZpbGUACgAKBAoFDAEA
AQAIT0MwNhIdBgwFAAUIDVR1cmJvIE5PUwAKAAoECgUMAAABAAhPQzA3EhkGDAYABggNTk9T
IE1PREUACgAKAwoECgAIT0MwOBIlBgwDAAYEDUNQVSBRLUZhbiBDb250cm9sAAoACgEKAQwD
AAEACE9DMDkSHQYMCAACAQ1DUFUgVklEAAtAHwsJPQo9DAAAAQAIT0MwQRIiBgwJAAICDURS
QU0gVm9sdGFnZQALKAoLuAsKCQwDAAEACE9DMEISJgYMDAAGCQ1BSSBPdmVyY2xvY2sgVHVu
ZXIACgAKBAoFDAMAAQAIT0MwQxImBgwLAAYBDUNvb2wmUXVpZXQgU3VwcG9ydAAKAAoBCgIM
AwABAAhPQlVGEjIMT0MwMU9DMDJPQzAzT0MwNE9DMDVPQzA2T0MwN09DMDhPQzA5T0MwQU9D
MEJPQzBDCE9DVk8KABQyT0NJRgBweU1BWFYKAQBhdAsJPXdhCn0AiE9DMDkKAwB0Cj1hiE9D
MDkKBACkT0JVRghURU0xEiQRCgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKABRJ
DlRFTVABcEZTQkaIVEVNMQoAAHBGVkNNiFRFTTEKAQBwQUlUVYhURU0xCgIAcEZJRFaIVEVN
MQoDAHBWSURWiFRFTTEKBABwT0NQSYhURU0xCgUAcE5PU1SIVEVNMQoGAHBOT1MxiFRFTTEK
BwBwRERSVohURU0xCggAcENQVVOIVEVNMQoJAHBDUUZTiFRFTTEKCgBwQ1FGVIhURU0xCgsA
cEFJREmIVEVNMQoMAHBPVklEiFRFTTEKDQBwQ0NBUYhURU0xCg4AcE1BWEaIVEVNMQoPAHBN
QVhWiFRFTTEKEACkVEVNMRRBMU9DT1ABcIOIT0MwMQoAAGGgLZNoYXBGU0JGYHdgCmRhcGGI
Q1BVTwoBAHRgCshicGKIQ1BVTwoCAKRDUFVPcIOIT0MwMgoAAGGgSQqTaGFwcnpDVVJGCgEA
CgQAiENQVU0KAQBwcnpDVVJGCgEACgQAiENQVU0KAgCgIZNGVkNNCgFwDAAAAQCIT0MwMgoF
AHAKAIhDUFVNCgMAoRpwDAAAAQCIT0MwMgoFAHAKAIhDUFVNCgMAcHJ6TUFYRgoBAAoEAIhP
QzAyCgMAcgoBg4hPQzAyCgMAYHCDiE9DMDIKAgBhdGBhiE9DMDIKBACkQ1BVTXCDiE9DMDMK
AABhoEQFk2hhcEZWQ02IQ1BGVgoCAKAhk0NDQVEKAHAMAAABAIhPQzAzCgUAcAoAiENQRlYK
AwChGnAMAwABAIhPQzAzCgUAcAoBiENQRlYKAwCkQ1BGVnCDiE9DMDQKAABhoAmTaGGkUENJ
VnCDiE9DMDUKAABhoEUFk2hhcE9DUEmIT0NQUgoCAKAikpRBSVRVCgNwDAMAAQCIT0MwNQoF
AHAKAYhPQ1BSCgMAoRpwDAMAAQCIT0MwNQoFAHAKAYhPQ1BSCgMApE9DUFJwg4hPQzA2CgAA
YaAsk2hhoBWTQUlUVQoEcE5PUzGITk9TUAoCAKEMcAoAiE5PU1AKAgCkTk9TUHCDiE9DMDcK
AABhoBaTaGFwTk9TVIhOT1NNCgIApE5PU01wg4hPQzA4CgAAYaAWk2hhcENQVVOIRkFOQgoC
AKRGQU5CcIOIT0MwOQoAAGGgSAWTaGFwdENVUlZNQVhWAGJ5YgoBYntPVklECgFjfWJjYnBi
iENQVVYKAgBweU1BWFYKAQBidAsJPXdiCn0AiE9DMDkKAwB0Cj1iiE9DMDkKBACkQ1BVVnCD
iE9DMEEKAABhoBaTaGFwRERSVohERFZPCgIApEREVk9wg4hPQzBCCgAAYaAWk2hhcEFJVFWI
QUlPVAoCAKRBSU9UcIOIT0MwQwoAAGGgFpNoYXBDQ0FRiEFDQVEKAgCkQUNBUQhDUFVPEg4E
DAAAAQELIE4KAAoBCENQVU0SDQQMAQAGAQoACgAKAAhDUEZWEhsGDAIABgEKAAoACgANQXV0
bwANTWFudWFsAAhQQ0lWEg4EDAMAAQcLECcKZAoACE9DUFISRQUJDAQABQUKAAoACgANT3Zl
cmNsb2NrIDElAA1PdmVyY2xvY2sgMyUADU92ZXJjbG9jayA1JQANT3ZlcmNsb2NrIDglAA1P
dmVyY2xvY2sgMTAlAAhOT1NQEkUFCQwFAAUICgAKAAoBDU92ZXJjbG9jayAxJQANT3ZlcmNs
b2NrIDMlAA1PdmVyY2xvY2sgNSUADU92ZXJjbG9jayA4JQANT3ZlcmNsb2NrIDEwJQAITk9T
TRI1CAwGAAYICgAKAAoADUF1dG8ADVN0YW5kYXJkJQANU2Vuc2l0aXZlAA1IZWF2eSBMb2Fk
AAhGQU5CEiAGDAcABAQKAAoACgENRGlzYWJsZWQADUVuYWJsZWQACENQVVYSDQQMCAACAQoA
CgAKAQhERFZPEkMFDgwJAAICCgAKAAoBDUF1dG8ADTIuNjBWAA0yLjY1VgANMi43MFYADTIu
NzVWAA0yLjgwVgANMi44NVYADTIuOTBWAA0yLjk1VgANMy4wMFYACEFJT1QSQQQJDAwABgkK
AAoACgENTWFudWFsAA1BdXRvAA1TdGFuZGFyZAANT3ZlckNsb2NrIFByb2ZpbGUADUFJIE5P
UwAIQUNBURIgBgwLAAYBCgAKAAoADUVuYWJsZWQADURpc2FibGVkAAhPQ1NUEksHDBIJAgwA
AAEBCgESCQIMAQAGAQoBEgkCDAIABgEKARIJAgwDAAEHCgESCQIMBAAFBQoBEgkCDAUABQgK
ARIJAgwGAAYICgESCQIMAwAGBAoBEgkCDAgAAgEKARIJAgwJAAICCgESCQIMDAAGCQoBEgkC
DAsABgEKARRLhVBST0MDcIOIT0MwMQoAAGGgRhOTaGFwaWJyYgrIYqBLBpNqCgCgTwSSlEFJ
VFUKA6APkpVGU0JGYnRGU0JGYmChCHRiRlNCRmCgGJRgCgpwCgOIg4hPQ1NUCgAACgEApAoD
cAoBiIOIT0NTVAoAAAoBAKQKAaEUcAoDiIOIT0NTVAoAAAoBAKQKA6APkpVGU0JGYnRGU0JG
YmChCHRiRlNCRmBwYkZTQkagRwaSlEFJVFUKA3AKAFNNSVNwCqtTTUlDcAoAQUlUVXAKAlNN
SVNwCqtTTUlDoBiUYAoKcAoDiIOIT0NTVAoAAAoBAKQKA3AKqlNNSVNwCqtTTUlDcAoBiIOI
T0NTVAoAAAoBAKQKAXAKAFNNSVNwCqtTTUlDcAoAQUlUVXAKAlNNSVNwCqtTTUlDcAoDiIOI
T0NTVAoAAAoBAKQKA3CDiE9DMDIKAABhoE4Pk2hhoBiTagoAcAoDiIOIT0NTVAoBAAoBAKQK
A6BCBpNDQ1FBCgBwCgFDQ0FRcAoMU01JU3AKq1NNSUNwCgFGVkNNcAoBU01JU3AKq1NNSUNw
eXRpCgQACgEARklEVnAKA1NNSVNwCqtTTUlDcAoDiIOIT0NTVAoBAAoBAKQKA6BNBJNGVkNN
CgBwCgFGVkNNcAoBU01JU3AKq1NNSUNweXRpCgQACgEARklEVnAKA1NNSVNwCqtTTUlDcAoD
iIOIT0NTVAoBAAoBAKQKA3B5dGkKBAAKAQBGSURWcAoDU01JU3AKq1NNSUNwCgOIg4hPQ1NU
CgEACgEApAoDcIOIT0MwMwoAAGGgSwiTaGGgGJNqCgBwCgOIg4hPQ1NUCgIACgEApAoDoEUE
k0NDQVEKAHAKAUNDQVFwCgxTTUlTcAqrU01JQ3BpRlZDTXAKAVNNSVNwCqtTTUlDcAoDiIOI
T0NTVAoCAAoBAKQKA3BpRlZDTXAKAVNNSVNwCqtTTUlDcAoDiIOIT0NTVAoCAAoBAKQKA3CD
iE9DMDQKAABhoBeTaGFwCgOIg4hPQ1NUCgMACgEApAoDcIOIT0MwNQoAAGGgQxWTaGGgNZNq
CgCgHJKUQUlUVQoDcAoBiIOIT0NTVAoEAAoBAKQKAXAKA4iDiE9DU1QKBAAKAQCkCgOgSw2S
lEFJVFUKA3AKA0FJVFVwCgJTTUlTcAqrU01JQ3BpT0NQSXAKBVNNSVNwCqtTTUlDoBqTaQoA
cArKRlNCRnAKAFNNSVNwCqtTTUlDoBqTaQoBcArORlNCRnAKAFNNSVNwCqtTTUlDoBqTaQoC
cArSRlNCRnAKAFNNSVNwCqtTTUlDoBqTaQoDcArYRlNCRnAKAFNNSVNwCqtTTUlDoBqTaQoE
cArcRlNCRnAKAFNNSVNwCqtTTUlDcAqqU01JU3AKq1NNSUNwCgGIg4hPQ1NUCgQACgEApAoB
cAoDQUlUVXAKAlNNSVNwCqtTTUlDcGlPQ1BJcAoFU01JU3AKq1NNSUNwCgOIg4hPQ1NUCgQA
CgEApAoDcIOIT0MwNgoAAGGgRhCTaGGgTwSTagoAoBySlEFJVFUKA3AKA4iDiE9DU1QKBQAK
AQCkCgOgGJNpCgBwCgOIg4hPQ1NUCgUACgEApAoDcAoBiIOIT0NTVAoFAAoBAKQKAaBGBJKU
QUlUVQoDcAoEQUlUVXAKAlNNSVNwCqtTTUlDcGlOT1MxcAoHU01JU3AKq1NNSUNwCgOIg4hP
Q1NUCgUACgEApAoDoEIEk2kKAHAKAUFJVFVwCgJTTUlTcAqrU01JQ3BpTk9TMXAKB1NNSVNw
CqtTTUlDcAoDiIOIT0NTVAoFAAoBAKQKA3BpTk9TMXAKB1NNSVNwCqtTTUlDcAoBiIOIT0NT
VAoFAAoBAKQKAXCDiE9DMDcKAABhoBeTaGFwCgGIg4hPQ1NUCgYACgEApAoBcIOIT0MwOAoA
AGGgQwWTaGGgGJNqCgBwCgGIg4hPQ1NUCgcACgEApAoBcGlDUFVTcAoJU01JU3AKq1NNSUNw
CrtTTUlTcAqrU01JQ3AKAYiDiE9DU1QKBwAKAQCkCgFwg4hPQzA5CgAAYaBCC5NoYaAYk2oK
AHAKA4iDiE9DU1QKCAAKAQCkCgNwQ1VSRkZJRFZwCgNTTUlTcAqrU01JQ3AKAUNDQVFwCgxT
TUlTcAqrU01JQ3AKAUZWQ01wCgFTTUlTcAqrU01JQ3ByaXlNQVhWCgEAAE9WSURwCgtTTUlT
cAqrU01JQ3B6cml5TUFYVgoBAAAKAQBWSURWcAoEU01JU3AKq1NNSUNwCgOIg4hPQ1NUCggA
CgEApAoDcIOIT0MwQQoAAGGgTQaTaGGgGJNqCgBwCgGIg4hPQ1NUCgkACgEApAoBoBqTaURE
UlZwCgGIg4hPQ1NUCgkACgEApAoBcGlERFJWcAoIU01JU3AKq1NNSUNwg4hERFJUaQBRRERS
cAoBiIOIT0NTVAoJAAoBAKQKAXCDiE9DMEIKAABhoEEJk2hhoDSTagoAoBuSk2lBSVRVcAoD
iIOIT0NTVAoKAAoBAKQKA3AKAYiDiE9DU1QKCgAKAQCkCgGgL5KTaUFJVFVwaUFJVFVwCgJT
TUlTcAqrU01JQ3AKA4iDiE9DU1QKCgAKAQCkCgNwaUFJVFVwCgJTTUlTcAqrU01JQ3AKAYiD
iE9DU1QKCgAKAQCkCgFwg4hPQzBDCgAAYaBLB5NoYaAzk2oKAKAak2lDQ0FRcAoBiIOIT0NT
VAoLAAoBAKQKAXAKA4iDiE9DU1QKCwAKAQCkCgOgGpNpQ0NBUXAKAYiDiE9DU1QKCwAKAQCk
CgFwaUNDQVFwCglTTUlTcAqrU01JQ3AKA4iDiE9DU1QKCwAKAQCkCgMUSwdHRVRNAXdyaAoB
AAvoA2BwC///ZnAKEGGiTwSSlGEKgHAKEGKiQQSSlGIKgHB4d2IMrOkFAAB3YQoEAAAAY3dj
CgJjoAqUY2BwdGNgAGOhB3B0YGMAY6ANlWNmcGFkcGJlcGNmdWJ1YXllCghhfWFkZntmC///
ZqRmW4JPBlwvA19TQl9QQ0kwUENJRQhfSElEDEHQDAIIX1VJRAoRCENSU18REQoOhgkAAAAA
AOAAAAAQeQAUNV9DUlMAikNSU18KBEJBUzGKQ1JTXwoITEVOMXBcUENJQkJBUzFwXFBDSUxM
RU4xpENSU18QQTRcX1BSX1uDSxlDUFUxARBQAAAGCEFQQ1QSLAIRFAoRggwAfwAAAAAAAAAA
AAAAeQARFAoRggwAfwAAAAAAAAAAAAAAeQAIQVBTUxJNFAoSIAYMmZmZCQyZmQkADJmZmQAM
mZmZAAyZmZmZDJmZmZkSIAYMmZmZCQyZmQkADJmZmQAMmZmZAAyZmZmZDJmZmZkSIAYMmZmZ
CQyZmQkADJmZmQAMmZmZAAyZmZmZDJmZmZkSIAYMmZmZCQyZmQkADJmZmQAMmZmZAAyZmZmZ
DJmZmZkSIAYMmZmZCQyZmQkADJmZmQAMmZmZAAyZmZmZDJmZmZkSIAYMmZmZCQyZmQkADJmZ
mQAMmZmZAAyZmZmZDJmZmZkSIAYMmZmZCQyZmQkADJmZmQAMmZmZAAyZmZmZDJmZmZkSIAYM
mZmZCQyZmQkADJmZmQAMmZmZAAyZmZmZDJmZmZkSIAYMmZmZCQyZmQkADJmZmQAMmZmZAAyZ
mZmZDJmZmZkSIAYMmZmZCQyZmQkADJmZmQAMmZmZAAyZmZmZDJmZmZkUCUFQUEMApAoAW4NL
GUNQVTICAAAAAAAIQVBDVBIsAhEUChGCDAB/AAAAAAAAAAAAAAB5ABEUChGCDAB/AAAAAAAA
AAAAAAB5AAhBUFNTEk0UChIgBgyZmZkJDJmZCQAMmZmZAAyZmZkADJmZmZkMmZmZmRIgBgyZ
mZkJDJmZCQAMmZmZAAyZmZkADJmZmZkMmZmZmRIgBgyZmZkJDJmZCQAMmZmZAAyZmZkADJmZ
mZkMmZmZmRIgBgyZmZkJDJmZCQAMmZmZAAyZmZkADJmZmZkMmZmZmRIgBgyZmZkJDJmZCQAM
mZmZAAyZmZkADJmZmZkMmZmZmRIgBgyZmZkJDJmZCQAMmZmZAAyZmZkADJmZmZkMmZmZmRIg
BgyZmZkJDJmZCQAMmZmZAAyZmZkADJmZmZkMmZmZmRIgBgyZmZkJDJmZCQAMmZmZAAyZmZkA
DJmZmZkMmZmZmRIgBgyZmZkJDJmZCQAMmZmZAAyZmZkADJmZmZkMmZmZmRIgBgyZmZkJDJmZ
CQAMmZmZAAyZmZkADJmZmZkMmZmZmRQJQVBQQwCkCgBbgk4JT01TQwhfSElEDEHQDAIIX1VJ
RAoACENSU18RHQoahgkAAAAAAAAAAAAAhgkAAAAAAAAAAAAAeQAUQwZfQ1JTAKBGBUFQSUOK
Q1JTXwoITUwwMYpDUlNfCgRNQjAxikNSU18KFE1MMDKKQ1JTXwoQTUIwMnAMAADA/k1CMDFw
CwAQTUwwMXAMAADg/k1CMDJwCwAQTUwwMqRDUlNfW4JNFFwuX1NCX1JNRU0IX0hJRAxB0AwB
CF9VSUQKAQhDUlNfEUIECj6GCQABAAAAAAAACgCGCQAAAAAAAAAAAACGCQAAAAAOAAAAAgCG
CQABAAAQAAAAAACGCQAAAAAAAAAAAAB5ABRHDl9DUlMAikNSU18KEEJBUzGKQ1JTXwoUTEVO
MYpDUlNfChxCQVMyikNSU18KIExFTjKKQ1JTXwosTEVOM4pDUlNfCjRCQVM0ikNSU18KOExF
TjSgBU9TRkyhQQagKE1HMUKgIpRNRzFCDAAADABwDAAADABCQVMxdE1HMUJCQVMxTEVOMaEV
cAwAAAwAQkFTMXAMAAACAExFTjGgH3JNRzFCTUcxTGBwYEJBUzJ0DAAAEABCQVMyTEVOMnRN
RzJCDAAAEABMRU4zck1HMkJNRzJMQkFTNHQKAEJBUzRMRU40pENSU19bgkQFUFMySwhfSElE
DEHQAwMIX0NJRAxB0AMLFBtfU1RBAHkKAQoKYKALe0lPU1RgAKQKD6QKAAhfQ1JTERgKFUcB
YABgAAABRwFkAGQAAAEiAgB5ABQULlBTMktfUFJXAKRHUFJXChAKBFuCRAhQUzJNCF9ISUQM
QdAPAwhfQ0lEDEHQDxMUG19TVEEAeQoBCgxgoAt7SU9TVGAApAoPpAoACENSUzERCAoFIgAQ
eQAIQ1JTMhEYChVHAWAAYAAAAUcBZABkAAABIgAQeQAUIV9DUlMAeQoBCgpgoA17SU9TVGAA
pENSUzGhBqRDUlMyFBQuUFMyTV9QUlcApEdQUlcKEAoEW4JHD1VBUjEIX1VJRAoBFA1fSElE
AKRVSElECgAUDV9TVEEApERTVEEKABQOX0RJUwBEQ05UCgAKABQPX0NSUwCkRENSUwoACgEU
DV9TUlMBRFNSU2gKABQLX1BSUwCkQ01QUghDTVBSEU8ICosxAEcB+AP4AwEIIhAAKgAAMEcB
+AP4AwEIIvgcKgAAMEcB+AL4AgEIIvgcKgAAMEcB6APoAwEIIvgcKgAAMEcB6ALoAgEIIvgc
KgAAMEcB+AP4AwEIIvgcKg8AMEcB+AL4AgEIIvgcKg8AMEcB6APoAwEIIvgcKg8AMEcB6ALo
AgEIIvgcKg8AOHkAFBQuVUFSMV9QUlcApEdQUlcKAwoEW4JGG1NJT1IIX0hJRAxB0AwCFAtf
VUlEAKRTUElPCENSU18RLQoqRwEAAAAAAABHAQAAAAAAAEcBAAAAAAAARwEAAAAAAABHAQAA
AAAAAHkAFEYWX0NSUwCgTQSQkpNTUElPC/ADlFNQSU8K8ItDUlNfCgJHUDEwi0NSU18KBEdQ
MTGMQ1JTXwoHR1BMMXBTUElPR1AxMHBTUElPR1AxMXAKAkdQTDGgQgRJT1BCi0NSU18KCkdQ
MjCLQ1JTXwoMR1AyMYxDUlNfCg9HUEwycElPUEJHUDIwcElPUEJHUDIxcElPUExHUEwyoEIE
SU9FQotDUlNfChJHUDMwi0NSU18KFEdQMzGMQ1JTXwoXR1BMM3BJT0VCR1AzMHBJT0VCR1Az
MXBJT0VMR1BMM6BCBElPR0KLQ1JTXwoaR1A0MItDUlNfChxHUDQxjENSU18KH0dQTDRwSU9H
QkdQNDBwSU9HQkdQNDFwSU9HTEdQTDSgQgRJT0RCi0NSU18KIkdQNTCLQ1JTXwokR1A1MYxD
UlNfCidHUEw1cElPREJHUDUwcElPREJHUDUxcElPRExHUEw1pENSU18IRENBVBIuFgoBCgIK
AwoACv8KCAr/Cv8KCQr/CgUKBAr/Cv8K/wr/CgoK/wr/Cv8K/wr/CElLRVkSGAISCgQKhwoB
ClUKVRIKBAqHCgEKVQqqCEtCRkcKAQhNU0ZHCgEIVVIxRgoBFEkERU5GRwFwCgBhoAyTU1BJ
TwoucAoAYaAMk1NQSU8KTnAKAWFwCgBgohmSk2AKBHCDiIOISUtFWWEAYABJTkRYdWBwaExE
Tl8UNEVOVFIAcAqHSU5EWHAKAUlORFhwClVJTkRYoA+TU1BJTwoucApVSU5EWKEIcAqqSU5E
WBQURVhGRwBwCgJJTkRYcAoCREFUQRQdTFBUTQFFTkZHQ0dMRGh7T1BUMAoCYEVYRkekYBQq
VUhJRAFFTkZHQ0dMRGh7T1BUMApwYEVYRkegCGCkDEHQBRCkDEHQBQEUGE9SRjABRU5UUn1P
UFQwaE9QVDBFWEZHFBhPUkYxAUVOVFJ9T1BUMWhPUFQxRVhGRxQYT1JGMgFFTlRSfU9QVDJo
T1BUMkVYRkcUGEFORjABRU5UUntPUFQwaE9QVDBFWEZHFBhBTkYyAUVOVFJ7T1BUMmhPUFQy
RVhGRxQYQU5GNAFFTlRSe09QVDRoT1BUNEVYRkcUFFNURjABRU5UUnBoT1BUMEVYRkcUFFNU
RjEBRU5UUnBoT1BUMUVYRkcURRBTSU9TAXANU0lPUwBbMXAKAEdQMTCgTgmVaAoFRU5GRwoE
cAoBQUNUUkVYRkdBTkY0CvxPUkYxChigC0tCRkdPUkYwCgihB0FORjAK96ALTVNGR09SRjAK
EKEYQU5GMArvRU5GRwoGcAoAQUNUUkVYRkdFTkZHCgRBTkYyCvBFTkZHCgd7T1BGOQr+T1BG
OXtPUEMwCv5PUEMwe09QQzMK/k9QQzN7T1AyOQrvT1AyOUVYRkehTgRFTkZHCgd7T1BDMAoA
T1BDMH1PUEMwCgFPUEMwe09QQzMKAE9QQzN9T1BDMwoBT1BDM31PUEY5CgFPUEY5e09QMjkK
709QMjlFWEZHFEEKU0lPVwFwCgFHUDEwcAoBR1A0MHANU0lPVwBbMUVORkcKBHAKAEFDVFJF
WEZHU1RGMAoAU1RGMQr/RU5GRwoHfU9QMjkKEE9QMjl9T1BDMAoBT1BDMH1PUEMzCgFPUEMz
RVhGR0VORkcKBX1BQ1RSCgFBQ1RSRVhGR0VORkcKBn1BQ1RSCgFBQ1RSRVhGR0VORkcKBHAK
AUFDVFJFWEZHFA9TSU9IAHANU0lPSABbMVuASU9JRAFTUElPCgJbgRBJT0lEAUlORFgIREFU
QQhbhkAJSU5EWERBVEEBADhMRE5fCABIEE9QMjkIADBBQ1RSCABIF0lPQUgISU9BTAhJT0gy
CElPTDIIAEAGSU5UUggAGERNQ0gIAEglT1BDMAhPUEMxCE9QQzIIT1BDMwgAQBZPUFQwCE9Q
VDEIT1BUMghPUFQzCE9QVDQIABhPUEY4CE9QRjkIT1BGQQhPUEZCCBQeLlBTMktfUFNXAaAJ
aHAKAUtCRkehCHAKAEtCRkcUHi5QUzJNX1BTVwGgCWhwCgFNU0ZHoQhwCgBNU0ZHFA9DR0xE
AaSDiERDQVRoABRCBURTVEEBRU5GR0NHTERocEFDVFJgRVhGR6AIk2AK/6QKAHtgCgFgfUlP
U1R5YGgASU9TVKAFYKQKD6EWoA97eQoBaABJT1NUAKQKDaEEpAoAFEAFRENOVAJFTkZHQ0dM
RGh5SU9BSAoIYX1JT0FMYWFSUklPaGlhCgigHZCVRE1DSAoEkpN7RE1DSAoDYQoAUkRNQWhp
dWFwaUFDVFJFWEZHCENSUzEREwoQRwEAAAAAAQAiAAAqAAB5AItDUlMxCglJUlFNjENSUzEK
DERNQU2LQ1JTMQoCSU8xMYtDUlMxCgRJTzEyjENSUzEKB0xFTjEIQ1JTMhEbChhHAQAAAAAB
AEcBAAAAAAEAIkAAKgQAeQCLQ1JTMgoRSVJRRYxDUlMyChRETUFFi0NSUzIKAklPMjGLQ1JT
MgoESU8yMoxDUlMyCgdMRU4yi0NSUzIKCklPMzGLQ1JTMgoMSU8zMoxDUlMyCg9MRU4zFE0I
RENSUwJFTkZHQ0dMRGh5SU9BSAoISU8xMX1JT0FMSU8xMUlPMTFwSU8xMUlPMTJ0gklPMTEA
CgFgeQoBYExFTjGgEElOVFJ5CgFJTlRSSVJRTaEIcAoASVJRTaAUkZRETUNICgOTaQoAcAoA
RE1BTaERe0RNQ0gKA2F5CgFhRE1BTUVYRkekQ1JTMRRDCERTUlMCi2gKCUlSUU2MaAoMRE1B
TYtoCgJJTzExRU5GR0NHTERpe0lPMTEK/0lPQUx6SU8xMQoISU9BSKATSVJRTYJJUlFNYHRg
CgFJTlRSoQhwCgBJTlRSoBNETUFNgkRNQU1gdGAKAURNQ0ihCHAKBERNQ0hFWEZHRENOVGkK
AVuAR1BJTwFJTzFCCgRbgUcKR1BJTwFHUDEwAUdQMTEBR1AxMgFHUDEzAUdPMTQBR08xNQFH
TzE2AUdPMTcBR1AyMAFHUDIxAUdQMjIBR1AyMwFHTzI0AUdPMjUBR08yNgFHTzI3AUdQMzAB
R1AzMQFHUDMyAUdQMzMBR08zNAFHTzM1AUdPMzYBR08zNwFHUDQwAUdQNDEBR1A0MgFHUDQz
AUdPNDQBR080NQFHTzQ2AUdPNDcBW4IfTlNNQghfQURSDAEACgAUD19QUlcApEdQUlcKCQoE
W4JHBFVTQjAIX0FEUgwAAAsACF9TMUQKARQfX1MzRACgE5GTT1NGTAoBk09TRkwKAqQKAqEE
pAoDFA9fUFJXAKRHUFJXCg0KBFuCRwRVU0IyCF9BRFIMAQALAAhfUzFECgEUH19TM0QAoBOR
k09TRkwKAZNPU0ZMCgKkCgKhBKQKAxQPX1BSVwCkR1BSVwoFCgRbgkkETk1BQwhfQURSDAAA
EwAIX1BSVxIGAgoLCgUQLFxfR1BFFCVfTDBCAIZcLwNfU0JfUENJME5NQUMKAoZcLl9TQl9Q
V1JCCgJbgk+vSURFMAhfQURSDAAADwAIUFRTMAoACFNJRDAKAAhTSUQxCgAIU0lEMgoACFNJ
RDMKAAhTSUQ0CgAIU0lENQoAW4BJUlFNAQohCgFbgQtJUlFNAUlSME0BCFJFR0YKARQSX1JF
RwKgC5NoCgJwaVJFR0ZbgEEwOTACClAKGFuBJkEwOTADSUQyMBAAMElEVFMQSURUUBBJRDIy
IFVNU1MQVU1TUBAIVElNMBJLBgcSDQUKPAp4CrQK8AuEAxIMBQoRCiAKIgpHCqgSEAcKeApa
CjwKLQoeChQKDxIMBQoFCgQKAwoCCgASCgQKAgoBCgAKABISCAoCCgEKAAoACgMKBAoFCgYS
EAcKAgoBCgAKBAoFCgYKBwhUTUQwEQMKFIpUTUQwCgBQSU8wilRNRDAKBERNQTCKVE1EMAoI
UElPMYpUTUQwCgxETUExilRNRDAKEENITkZbgENGRzICClgKDFuBRQdDRkcyA1NTUFQIU01Q
VAhQU1BUCFBNUFQIU1NBUwJTTUFTAlBTQVMCUE1BUwIACFNERFIEU0REQQRQRERSBFBEREEE
U1NVVAMAA1NTVUUCU01VVAMAA1NNVUUCUFNVVAMAA1BTVUUCUE1VVAMAA1BNVUUCCEdNUFQK
AAhHTVVFCgAIR01VVAoACEdTUFQKAAhHU1VFCgAIR1NVVAoAW4JHFENITjAIX0FEUgoAFDBf
R1RNAHANR1RNX0NITjAAWzGkR1RNX1BNUFRQTVVFUE1VVFBTUFRQU1VFUFNVVBRGCl9TVE0D
cA1TVE1fQ0hOMABbMXBoWzFwaFRNRDBwUE1QVEdNUFRwUE1VRUdNVUVwUE1VVEdNVVRwUFNQ
VEdTUFRwUFNVRUdTVUVwUFNVVEdTVVRTVE1fcEdNUFRQTVBUcEdNVUVQTVVFcEdNVVRQTVVU
cEdTUFRQU1BUcEdTVUVQU1VFcEdTVVRQU1VUcEdURl8KAGlBVEEwcEdURl8KAWpBVEExW4Iv
RFJWMAhfQURSCgAUIl9HVEYAcA1fR1RGX0NITjBfRFJWMABbMaRSQVRBQVRBMFuCL0RSVjEI
X0FEUgoBFCJfR1RGAHANX0dURl9DSE4wX0RSVjEAWzGkUkFUQUFUQTFbgkoTQ0hOMQhfQURS
CgEUMF9HVE0AcA1HVE1fQ0hOMQBbMaRHVE1fU01QVFNNVUVTTVVUU1NQVFNTVUVTU1VUFEkJ
X1NUTQNwaFsxcGhUTUQwcFNNUFRHTVBUcFNNVUVHTVVFcFNNVVRHTVVUcFNTUFRHU1BUcFNT
VUVHU1VFcFNTVVRHU1VUU1RNX3BHTVBUU01QVHBHTVVFU01VRXBHTVVUU01VVHBHU1BUU1NQ
VHBHU1VFU1NVRXBHU1VUU1NVVHBHVEZfCgBpQVRBMnBHVEZfCgFqQVRBM1uCL0RSVjAIX0FE
UgoAFCJfR1RGAHANX0dURl9DSE4xX0RSVjAAWzGkUkFUQUFUQTJbgi9EUlYxCF9BRFIKARQi
X0dURgBwDV9HVEZfQ0hOMV9EUlYxAFsxpFJBVEFBVEEzFBVEUk1QAHpDUEIwCgRhe2EKD2Ck
YBRPEEdUTV8OcP9QSU8wcP9QSU8xcP9ETUEwcP9ETUExcAoQQ0hORqAFUkVHRqEGpFRNRDCg
FZNQVFMwCgGgDE9TRkxwCgFJUjBNcImDiFRJTTAKAQABaAAKAAoAZnCDiIOIVElNMAoAAGYA
Z3BnRE1BMHBnUElPMHCJg4hUSU0wCgEAAWsACgAKAGZwg4iDiFRJTTAKAABmAGdwZ0RNQTFw
Z1BJTzGgLmlwg4iDiFRJTTAKBQBqAGVwg4iDiFRJTTAKAgBlAERNQTB9Q0hORgoBQ0hORqAu
bHCDiIOIVElNMAoFAG0AZXCDiIOIVElNMAoCAGUARE1BMX1DSE5GCgRDSE5GcFRNRDBbMaRU
TUQwFEAfU1RNXwigBVJFR0ahBKQKAKA7UFRTMHBTSUQwSUQyMHBTSUQxSURUU3BTSUQySURU
UHBTSUQzSUQyMnBTSUQ0VU1TU3BTSUQ1VU1TUKE3cElEMjBTSUQwcElEVFNTSUQxcElEVFBT
SUQycElEMjJTSUQzcFVNU1NTSUQ0cFVNU1BTSUQ1cAoAUFRTMHAKAEdNVUVwCgBHTVVUcAoA
R1NVRXAKAEdTVVSgRwR7Q0hORgoBAHCJg4hUSU0wCgIAAkRNQTAACgAKAGCgCZRgCgZwCgZg
cIOIg4hUSU0wCgYAYABHTVVUfUdNVUUKA0dNVUWhLKAqfZNQSU8w/5NQSU8wCgAAoBl7lURN
QTD/lERNQTAKAABwRE1BMFBJTzCgRwR7Q0hORgoEAHCJg4hUSU0wCgIAAkRNQTEACgAKAGCg
CZRgCgZwCgZgcIOIg4hUSU0wCgYAYABHU1VUfUdTVUUKA0dTVUWhLKAqfZNQSU8x/5NQSU8x
CgAAoBl7lURNQTH/lERNQTEKAABwRE1BMVBJTzF7iYOIVElNMAoAAARQSU8wAAoACgAKB2Bw
g4iDiFRJTTAKAQBgAGFwYUdNUFR7iYOIVElNMAoAAARQSU8xAAoACgAKB2Bwg4iDiFRJTTAK
AQBgAGFwYUdTUFSkCgAIQVQwMREKCgcDAAAAAADvCEFUMDIRCgoHAAAAAAAAkAhBVDAzEQoK
BwAAAAAAAMYIQVQwNBEKCgcAAAAAAACRCEFUQTARAwodCEFUQTERAwodCEFUQTIRAwodCEFU
QTMRAwodCEFUQUIRAwodjEFUQUIKAENNREMUTAVHVEZCC3dDTURDCjhgcmAKCGFbE0FUQUJh
CjhDTURYd0NNREMKB2CMQVRBQnJgCgIAQTAwMYxBVEFCcmAKBgBBMDA1cGhDTURYcGlBMDAx
cGpBMDA1dUNNREMUTSVHVEZfCnANR1RGX0VudHJ5AFsxcGlbMXAKAENNREMISUQ0OQsADAhJ
RDU5CgAISUQ1MwoECElENjMLAA8ISUQ4OAsADwhJUkRZCgEIUElPVAoACERNQVQKAKBNBZOH
aQsAAotpCmJJVzQ5cElXNDlJRDQ5i2kKaklXNTNwSVc1M0lENTOLaQp+SVc2M3BJVzYzSUQ2
M4tpCnZJVzU5cElXNTlJRDU5i2kKsElXODhwSVc4OElEODhwCqBnoEgFaHAKsGd7Q0hORgoI
SVJEWaASe0NITkYKEABwUElPMVBJT1ShCnBQSU8wUElPVKAne0NITkYKBACgEntDSE5GChAA
cERNQTFETUFUoQpwRE1BMERNQVShKHtDSE5GCgJJUkRZcFBJTzBQSU9UoBJ7Q0hORgoBAHBE
TUEwRE1BVKBHBJCQe0lENTMKBAB7SUQ4OAsA/wBETUFUcImDiFRJTTAKAgACRE1BVAAKAAoA
YaAJlGEKBnAKBmFHVEZCQVQwMX0KQGEAZ6FGBKBDBJB7SUQ2MwsA/wBQSU9Ue4mDiFRJTTAK
AAAEUElPVAAKAAoACgNgfQogg4iDiFRJTTAKBABgAGFHVEZCQVQwMWFnoDhJUkRZe4mDiFRJ
TTAKAAAEUElPVAAKAAoACgdgfQoIg4iDiFRJTTAKAwBgAGFHVEZCQVQwMWFnoRegFXtJRDQ5
CwAEAEdURkJBVDAxCgFnoCSQe0lENTkLAAEAe0lENTkK/wBHVEZCQVQwM3tJRDU5Cv8AZ3AN
QVRBQl9HVEYAWzFwQVRBQlsxpEFUQUIULFJBVEEBjGgKAENNRE53Q01ETgo4YFsTaAoIYFJF
VEJwUkVUQlsxpFJFVEJbgksQQVRBMAhfQURSDAAAEABbgkcGUFJJMAhfQURSCgAIU1BUTREX
ChR4AAAADwAAAP//////////EwAAABQLX0dUTQCkU1BUTRQMX1NUTQNwaFNQVE1bgiJNQVNU
CF9BRFIKABQVX0dURgBwEQoKBwNGAAAAoO9gpGBbgkcGU0VDMAhfQURSCgEIU1NUTREXChR4
AAAADwAAAP//////////EwAAABQLX0dUTQCkU1NUTRQMX1NUTQNwaFNTVE1bgiJNQVNUCF9B
RFIKABQVX0dURgBwEQoKBwNGAAAAoO9gpGAUKERSTVAAcAoMYKAPk19BRFIMAAAQAHAKCGB6
Q1BCMGBhe2EKD2CkYFuCSxBBVEExCF9BRFIMAAARAFuCRwZQUkkwCF9BRFIKAAhTUFRNERcK
FHgAAAAPAAAA//////////8TAAAAFAtfR1RNAKRTUFRNFAxfU1RNA3BoU1BUTVuCIk1BU1QI
X0FEUgoAFBVfR1RGAHARCgoHA0YAAACg72CkYFuCRwZTRUMwCF9BRFIKAQhTU1RNERcKFHgA
AAAPAAAA//////////8TAAAAFAtfR1RNAKRTU1RNFAxfU1RNA3BoU1NUTVuCIk1BU1QIX0FE
UgoAFBVfR1RGAHARCgoHA0YAAACg72CkYBQoRFJNUABwCgxgoA+TX0FEUgwAABAAcAoIYHpD
UEIwYGF7YQoPYKRgW4I2UEIyUAhfQURSDAAAEgAUD19QUlcApEdQUlcKAAoEFBZfUFJUAKAK
UElDTaRBUjAxpFBSMDFbgh9NQzk3CF9BRFIMAQANABQPX1BSVwCkR1BSVwoHCgRbgjZQQ0Uw
CF9BRFIMAAACABQPX1BSVwCkR1BSVwoRCgQUFl9QUlQAoApQSUNNpEFSMDKkUFIwMluCNlBD
RTEIX0FEUgwAAAMAFA9fUFJXAKRHUFJXChEKBBQWX1BSVACgClBJQ02kQVIwM6RQUjAzW4I2
UENFMghfQURSDAAABAAUD19QUlcApEdQUlcKEQoEFBZfUFJUAKAKUElDTaRBUjA0pFBSMDRb
gjZQQ0UzCF9BRFIMAAAXABQPX1BSVwCkR1BSVwoRCgQUFl9QUlQAoApQSUNNpEFSMDWkUFIw
NVuCNlBDRTQIX0FEUgwAABYAFA9fUFJXAKRHUFJXChEKBBQWX1BSVACgClBJQ02kQVIwNqRQ
UjA2W4I2UENFNQhfQURSDAAAFQAUD19QUlcApEdQUlcKEQoEFBZfUFJUAKAKUElDTaRBUjA3
pFBSMDcQRBlcX0dQRRQmX0wxMABcLwRfU0JfUENJMFNCUkdTSU9IhlwuX1NCX1BXUkIKAhQm
X0wwMwBcLwRfU0JfUENJMFNCUkdTSU9IhlwuX1NCX1BXUkIKAhQlX0wwOQCGXC8DX1NCX1BD
STBOU01CCgKGXC5fU0JfUFdSQgoCFCVfTDBEAIZcLwNfU0JfUENJMFVTQjAKAoZcLl9TQl9Q
V1JCCgIUJV9MMDUAhlwvA19TQl9QQ0kwVVNCMgoChlwuX1NCX1BXUkIKAhQlX0wwMACGXC8D
X1NCX1BDSTBQQjJQCgKGXC5fU0JfUFdSQgoCFCVfTDA3AIZcLwNfU0JfUENJME1DOTcKAoZc
Ll9TQl9QV1JCCgIUQAhfTDExAIZcLwNfU0JfUENJMFBDRTAKAoZcLwNfU0JfUENJMFBDRTEK
AoZcLwNfU0JfUENJMFBDRTIKAoZcLwNfU0JfUENJMFBDRTMKAoZcLwNfU0JfUENJMFBDRTQK
AoZcLwNfU0JfUENJMFBDRTUKAoZcLl9TQl9QV1JCCgJbgi1QV1JCCF9ISUQMQdAMDAhfVUlE
CqoIX1NUQQoLFA9fUFJXAKRHUFJXCgMKBFuAXC8EX1NCX1BDSTBTQlJHUElNQwIKfAoMW4FA
B1wvBF9TQl9QQ0kwU0JSR1BJTUMBUElSQQRQSVJCBFBJUkMEUElSRAQABFBJUkYEUElSRwQA
DFBJUk0EUElVMgQACFNJSUQEUElJRARQSVUwBAAEUElMTgQABFBBVUkEUElNTwRQUjBFBFBS
MEYEEEh6XF9TQl8IQlVGQREJCgYjAIAYeQCLQlVGQQoBSUNSUxQRTFNUQQGgBWikCguhBKQK
CRQSTFBSUwKgB1BJQ02kaaEDpGgUSwdMQ1JTAaBEBlBJQ00IQlVGQhEOCguJBgANAREAAAB5
AIxCVUZCCgVBSVJRcGhBSVJRoAyTaAoBcAoRQUlSUaAMk2gKAnAKEkFJUlGgDJNoCghwChBB
SVJRoAyTaAoNcAoTQUlSUaRCVUZCoQ55CgFoSUNSU6RCVUZBFEsHTENSTwGgRAZQSUNNCEJV
RkIRDgoLiQYADQEUAAAAeQCMQlVGQgoFQUlSUXBoQUlSUaAMk2gKAXAKF0FJUlGgDJNoCgJw
ChZBSVJRoAyTaAoIcAoUQUlSUaAMk2gKDXAKFUFJUlGkQlVGQqEOeQoBaElDUlOkQlVGQRRI
BUxTUlMBoD1QSUNNjGgKBVNBSVJwU0FJUmCgCZNgChBwCghgoAmTYAoRcAoBYKAJk2AKEnAK
AmCgCZNgChNwCg1gpGChEotoCgFJU1JTgklTUlNgpHZgFEgFTFNSTwGgPVBJQ02MaAoFU0FJ
UnBTQUlSYKAJk2AKFHAKCGCgCZNgChVwCg1goAmTYAoWcAoCYKAJk2AKF3AKAWCkYKESi2gK
AUlTUlOCSVNSU2CkdmBbgkoGTE5LQQhfSElEDEHQDA8IX1VJRAoBFA9fU1RBAKRMU1RBUElS
QRQTX1BSUwCkTFBSU1BSU0FSU0lSFA1fRElTAHAKAFBJUkEUD19DUlMApExDUlNQSVJBFBBf
U1JTAXBMU1JTaFBJUkFbgkoGTE5LQghfSElEDEHQDA8IX1VJRAoCFA9fU1RBAKRMU1RBUElS
QhQTX1BSUwCkTFBSU1BSU0JSU0lSFA1fRElTAHAKAFBJUkIUD19DUlMApExDUlNQSVJCFBBf
U1JTAXBMU1JTaFBJUkJbgkoGTE5LQwhfSElEDEHQDA8IX1VJRAoDFA9fU1RBAKRMU1RBUElS
QxQTX1BSUwCkTFBSU1BSU0NSU0lSFA1fRElTAHAKAFBJUkMUD19DUlMApExDUlNQSVJDFBBf
U1JTAXBMU1JTaFBJUkNbgkoGTE5LRAhfSElEDEHQDA8IX1VJRAoEFA9fU1RBAKRMU1RBUElS
RBQTX1BSUwCkTFBSU1BSU0RSU0lSFA1fRElTAHAKAFBJUkQUD19DUlMApExDUlNQSVJEFBBf
U1JTAXBMU1JTaFBJUkRbgkoGTFVCMAhfSElEDEHQDA8IX1VJRAoFFA9fU1RBAKRMU1RBUElV
MBQTX1BSUwCkTFBSU1JTQjBSU0lJFA1fRElTAHAKAFBJVTAUD19DUlMApExDUk9QSVUwFBBf
U1JTAXBMU1JPaFBJVTBbgkoGTFVCMghfSElEDEHQDA8IX1VJRAoHFA9fU1RBAKRMU1RBUElV
MhQTX1BSUwCkTFBSU1JTQjJSU0lJFA1fRElTAHAKAFBJVTIUD19DUlMApExDUk9QSVUyFBBf
U1JTAXBMU1JPaFBJVTJbgkoGTE1BQwhfSElEDEHQDA8IX1VJRAoIFA9fU1RBAKRMU1RBUElM
ThQTX1BSUwCkTFBSU1JTQUNSU0lJFA1fRElTAHAKAFBJTE4UD19DUlMApExDUk9QSUxOFBBf
U1JTAXBMU1JPaFBJTE5bgkoGTEFDSQhfSElEDEHQDA8IX1VJRAoJFA9fU1RBAKRMU1RBUEFV
SRQTX1BSUwCkTFBSU1JTQ0lSU0lJFA1fRElTAHAKAFBBVUkUD19DUlMApExDUk9QQVVJFBBf
U1JTAXBMU1JPaFBBVUlbgkoGTE1DOQhfSElEDEHQDA8IX1VJRAoKFA9fU1RBAKRMU1RBUElN
TxQTX1BSUwCkTFBSU1JTQzlSU0lJFA1fRElTAHAKAFBJTU8UD19DUlMApExDUk9QSU1PFBBf
U1JTAXBMU1JPaFBJTU9bgkoGTFNNQghfSElEDEHQDA8IX1VJRAoLFA9fU1RBAKRMU1RBUElS
TRQTX1BSUwCkTFBSU1JTTUJSU0lJFA1fRElTAHAKAFBJUk0UD19DUlMApExDUk9QSVJNFBBf
U1JTAXBMU1JPaFBJUk1bgkoHTFNBMAhfSElEDEHQDA8IX1VJRAoMFA9fU1RBAKRMU1RBUElJ
RBQTX1BSUwCkTFBSU1JTQTBSU0lJFBRfRElTAHAKAFBJSURwCgBQSVJHFA9fQ1JTAKRMQ1JP
UElJRBQZX1NSUwFwTFNST2hgcGBQSUlEcGBQSVJHW4JKB0xTQTEIX0hJRAxB0AwPCF9VSUQK
DRQPX1NUQQCkTFNUQVNJSUQUE19QUlMApExQUlNSU0ExUlNJSRQUX0RJUwBwCgBTSUlEcAoA
UElSRhQPX0NSUwCkTENST1NJSUQUGV9TUlMBcExTUk9oYHBgU0lJRHBgUElSRluCRghMQVRB
CF9ISUQMQdAMDwhfVUlECg4UD19TVEEApExTVEFQUjBFFBNfUFJTAKRMUFJTUlNUQVJTSUkU
FF9ESVMAcAoAUFIwRXAKAFBSMEYUGl9DUlMAoAhPU0ZMpAoAoQqkTENST1BSMEUUGl9TUlMB
cExTUk9oUFIwRXBMU1JPaFBSMEYQSydcX1NCXwhYQ1BECgAIWE5QVAoBCFhDQVAKAghYRENQ
CgQIWERDVAoICFhEU1QKCghYTENQCgwIWExDVAoQCFhMU1QKEghYU0NQChQIWFNDVAoYCFhT
U1QKGghYUkNUChxbAU1VVEUAFDhSQlBFAVsjTVVURegDcmhcUENJQmBbgFBDRkcAYAoBW4EL
UENGRwFYQ0ZHCFsnTVVURaRYQ0ZHFEEEUldQRQFbI01VVEXoA3toDP7///9ocmhcUENJQmBb
gFBDRkcAYAoCW4ELUENGRwJYQ0ZHEFsnTVVURaRYQ0ZHFEEEUkRQRQFbI01VVEXoA3toDPz/
//9ocmhcUENJQmBbgFBDRkcAYAoEW4ELUENGRwNYQ0ZHIFsnTVVURaRYQ0ZHFDlXQlBFAlsj
TVVURf8PcmhcUENJQmBbgFBDRkcAYAoBW4ELUENGRwFYQ0ZHCHBpWENGR1snTVVURRRCBFdX
UEUCWyNNVVRF6AN7aAz+////aHJoXFBDSUJgW4BQQ0ZHAGAKAluBC1BDRkcCWENGRxBwaVhD
RkdbJ01VVEUUQgRXRFBFAlsjTVVURegDe2gM/P///2hyaFxQQ0lCYFuAUENGRwBgCgRbgQtQ
Q0ZHA1hDRkcgcGlYQ0ZHWydNVVRFFEoEUldEUANbI01VVEXoA3toDPz///9ocmhcUENJQmBb
gFBDRkcAYAoEW4ELUENGRwNYQ0ZHIHtYQ0ZHamF9YWlYQ0ZHWydNVVRFFEkEUlBNRQFyaAqE
YHBcLl9TQl9SRFBFYGGgC5NhDP////+kCgChI6AekGEMAAABAFwuX1NCX1dEUEVge2EMAAAB
AACkCgGkCgAQRUlcLwRfU0JfUENJMFNCUkdTSU9SW4JOR0lUODcIX0hJRAxB0AwCCF9VSUQK
ABQPSFdWMACkd1ZJVjAKEAAUD0hXVjEApHdWSVYxChAAFA9IV1YyAKR3VklWMgoQABQPSFdW
MwCkd1ZJVjMKEAAUD0hXVjQApHdWSVY0ChAAFA9IV1Y1AKR3VklWNQoQABQPSFdWNgCkd1ZJ
VjYKEAAUD0hXVjcApHdWSVY3ChAAFB5IV1QxAHBUUEkxYKALlGAKgHQLAAFgYKR3YAoKABQe
SFdUMgBwVFBJMmCgC5RgCoB0CwABYGCkd2AKCgAUHkhXVDMAcFRQSTNgoAuUYAqAdAsAAWBg
pHdgCgoAFEMPSFdGMQB7RVRERQoBYKJDDgoBeQoBRlREMWGgFJNgCgFyd0VGTjELAAEARlRD
MWKhB3BGVEMxYqBPBZNgCgGgIpKVYgsA8KAVkpNhCoByRlREMQoBRlREMVsiCmShBKQKAKE1
oCOSlGILABCgFZKTYQoBdEZURDEKAUZURDFbIgpkoQWkC///oQ94DHCZFAB3YWIAAGGkYaFJ
BaAhkpViCvCgFZKTYQqAckZURDEKAUZURDFbIgpkoQSkCgChNKAikpRiCjKgFZKTYQoBdEZU
RDEKAUZURDFbIgpkoQWkC///oQ94DHCZFAB3YWIAAGGkYRRDD0hXRjIAe0VUREUKAmCiQw4K
AXkKAUZURDJhoBSTYAoCcndFRk4yCwABAEZUQzJioQdwRlRDMmKgTwWTYAoCoCKSlWILAPCg
FZKTYQqAckZURDIKAUZURDJbIgpkoQSkCgChNaAjkpRiCwAQoBWSk2EKAXRGVEQyCgFGVEQy
WyIKZKEFpAv//6EPeAxwmRQAd2FiAABhpGGhSQWgIZKVYgrwoBWSk2EKgHJGVEQyCgFGVEQy
WyIKZKEEpAoAoTSgIpKUYgoyoBWSk2EKAXRGVEQyCgFGVEQyWyIKZKEFpAv//6EPeAxwmRQA
d2FiAABhpGEUTg9IV0YzAHtFVERFCgRgok4OCgGgDJNGVEQzCgFwCghhoQVwCgJhoBSTYAoE
cndFRk4zCwABAEZUQzNioQdwRlRDM2KgTwWTYAoEoCKSlWILAPCgFZKTYQoIckZURDMKAUZU
RDNbIgpkoQSkCgChNaAjkpRiCwAQoBWSk2EKAHRGVEQzCgFGVEQzWyIKZKEFpAv//6EPeAxw
mRQAd2FiAABhpGGhSQWgIZKVYgrwoBWSk2EKCHJGVEQzCgFGVEQzWyIKZKEEpAoAoTSgIpKU
YgoQoBWSk2EKAHRGVEQzCgFGVEQzWyIKZKEFpAv//6EPeAxwmRQAd2FiAABhpGFbgEVDUkUB
SU9FQgogW4ESRUNSRQEAKEhJRFgISERBVAhbhkAISElEWEhEQVQBAEgFRlREMQNGVEQyA0ZU
RDMBAAFFVERFCEZUQzEIRlRDMghGVEMzCABABEVGTjEIRUZOMghFRk4zCAAoVklWMAhWSVYx
CFZJVjIIVklWMwhWSVY0CFZJVjUIVklWNghWSVY3CAAIVFBJMQhUUEkyCFRQSTMIECNcAFuB
HlxSQU1XAQBAEENQVVEIQ1BWTBBDUFZIEENQVkMBEE1WXC8EX1NCX1BDSTBTQlJHQVNPQwhD
T1JWEh4FDAAAAgYNVmNvcmUgVm9sdGFnZQALIAMLCAcKAQhWM1ZWEh4FDAEAAgYNICszLjMg
Vm9sdGFnZQALmgsLLg4KAQhWNVZWEhwFDAIAAgYNICs1IFZvbHRhZ2UAC5QRC3wVCgEIVlYx
MhIdBQwDAAIGDSArMTIgVm9sdGFnZQAL2CcL6DUKAQhWUEFSEiYEEggDCgAKAQoAEggDCgAK
AQoAEggDCiIKMgoAEggDCg8KBQoACFZCVUYSFAUKBENPUlZWM1ZWVjVWVlZWMTIUQwZWR0VU
AaAWk2gKAKReXi8DU0lPUklUODdIV1YwoBaTaAoBpF5eLwNTSU9SSVQ4N0hXVjKgFpNoCgKk
Xl4vA1NJT1JJVDg3SFdWM6AWk2gKA6ReXi8DU0lPUklUODdIV1Y0CENQVVQSIwUMAAADBg1D
UFUgVGVtcGVyYXR1cmUAC1gCC7YDDAEAAQAITUJUUBIiBQwBAAMGDU1CIFRlbXBlcmF0dXJl
AAvCAQu2AwwBAAEACFRCVUYSDAMKAkNQVVRNQlRQFDRUR0VUAaAWk2gKAKReXi8DU0lPUklU
ODdIV1QxoBaTaAoBpF5eLwNTSU9SSVQ4N0hXVDIIQ1BVRhIhBQwAAAQGDUNQVSBGQU4gU3Bl
ZWQACyADCyAcDAEAAQAIQ0hBMRIlBQwBAAQGDUNIQVNTSVMgRkFOIFNwZWVkAAsgAwsgHAwB
AAEACFBXUkYSIwUMAgAEBg1QT1dFUiBGQU4gU3BlZWQACyADCyAcDAEAAQAIRkJVRhIQBAoD
Q1BVRkNIQTFQV1JGFEwERkdFVAGgFpNoCgCkXl4vA1NJT1JJVDg3SFdGMaAWk2gKAaReXi8D
U0lPUklUODdIV0YyoBaTaAoCpF5eLwNTSU9SSVQ4N0hXRjMIUUJVRhIEAQoAFAtWU0lGAKRW
QlVGFEMFUlZMVAF7aAv//2BwVkdFVGBhcIOIg4hWUEFSYAAKAABicIOIg4hWUEFSYAAKAQBj
cIOIg4hWUEFSYAAKAgBkd2FyYmMAZXhlYwBlcmVkZaRlFEcHU1ZMVAF7g4hoCgAAC///YHCD
iFZCVUYKAABhoAiSlWBhpAoAdWBwg4hoCgEAiIOIVkJVRmAACgEAcIOIaAoCAIiDiFZCVUZg
AAoCAHCDiGgKAwCIg4hWQlVGYAAKAwBwg4hoCgQAiIOIVkJVRmAACgQApAoBFAtUU0lGAKRU
QlVGFBVSVE1QAXtoC///YHBUR0VUYGGkYRRJB1NUTVABcHuDiGgKAAAL//8AYHCDiFRCVUYK
AABhoAiSlWBhpAoAdWBwg4hoCgEAiIOIVEJVRmAACgEAcIOIaAoCAIiDiFRCVUZgAAoCAHCD
iGgKAwCIg4hUQlVGYAAKAwBwg4hoCgQAiIOIVEJVRmAACgQApAoBFAtGU0lGAKRGQlVGFBVS
RkFOAXtoC///YHBGR0VUYGGkYRRHB1NGQU4Be4OIaAoAAAv//2Bwg4hGQlVGCgAAYaAIkpVg
YaQKAHVgcIOIaAoBAIiDiEZCVUZgAAoBAHCDiGgKAgCIg4hGQlVGYAAKAgBwg4hoCgMAiIOI
RkJVRmAACgMAcIOIaAoEAIiDiEZCVUZgAAoEAKQKARRLBFFGSUYAoCKTQ1BVUQoAe4OIUUNG
TgoFAAz///3/YHBgiFFDRk4KBQChG32DiFFDRk4KBQAMAAACAGBwYIhRQ0ZOCgUApFFCVUYU
KkdDUVYBoAqTaAoApENQVkygCpNoCgGkQ1BWSKAKk2gKAqRDUFZDpAoAFBtRRlNUAaARk2iD
iFFDRk4KAACkQ1FTVKQKABBIE1xfU0JfEEATUENJMAhDUlNfEUwICoiIDQACDAAAAAAA/wAA
AAABRwH4DPgMAQiIDQABDAMAAAAA9wwAAPgMiA0AAQwDAAAADf//AAAA84cXAAAMAwAAAAAA
AAoA//8LAAAAAAAAAAIAhxcAAAwDAAAAAAAADAD//w0AAAAAAAAAAgCHFwAADAMAAAAAAAAA
AAAAAAAAAAAAAAAAAHkAikNSU18KXE1JTjWKQ1JTXwpgTUFYNYpDUlNfCmhMRU41ikNSU18K
dk1JTjaKQ1JTXwp6TUFYNopDUlNfCoJMRU42FEUFX0NSUwBwTUcxTGCgH2BwTUcxQk1JTjVw
TUcxTExFTjVyTUlONXZgTUFYNXBNRzJCTUlONnBNRzJMTEVONnBNRzJMYHJNSU42dmBNQVg2
pENSU18IV09UQgoACFdTU0IKAAhXQVhCCgAUSwZfUFRTAXBoREJHOFBUU19ocAoAiFdBS1AK
AABwCgCIV0FLUAoBAKASkJNoCgSTT1NGTAoCWyILuAtwQVNTQldTU0JwQU9UQldPVEJwQUFY
QldBWEJwaEFTU0JwT1NGTEFPVEJwAEFBWEIUTAVfV0FLAXloCgREQkc4V0FLX2igIEFTU0Jw
V1NTQkFTU0JwV09UQkFPVEJwV0FYQkFBWEKgFYOIV0FLUAoAAHAKAIhXQUtQCgEAoQtwaIhX
QUtQCgEApFdBS1AIXF9TMF8SCgQKAAoACgAKAKAWU1MxXwhcX1MxXxIKBAoBCgAKAAoAoBZT
UzNfCFxfUzNfEgoECgUKAAoACgCgFlNTNF8IXF9TNF8SCgQKBgoACgAKAAhcX1M1XxIKBAoH
CgAKAAoAFEYEUFRTXwGgPmhcLwRfU0JfUENJMFNCUkdTSU9TaFwvBF9TQl9QQ0kwTkIyTk5Q
VFNoXC8EX1NCX1BDSTBTQlJHU1BUU2gUQwRXQUtfAVwvBF9TQl9QQ0kwU0JSR1NJT1doXC8E
X1NCX1BDSTBOQjJOTldBS2hcLwRfU0JfUENJMFNCUkdTV0FLaA==
--------------020604070307000805050105
Content-Type: text/plain;
 name="acpi_a8n32sli.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="acpi_a8n32sli.txt"

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20041119
 *
 * Disassembly of /tmp/acpidump.tpdPdM, Mon Oct 23 18:49:52 2006
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0371", "A0371001", 1)
{
    Name (DP80, 0x1080)
    Name (DP90, 0x90)
    Name (SPIO, 0x2E)
    Name (IOPB, 0x0C00)
    Name (IOPL, 0x10)
    Name (IOEB, 0x0D00)
    Name (IOEL, 0x10)
    Name (IOGB, 0x0A20)
    Name (IOGL, 0x10)
    Name (IODB, 0x0A30)
    Name (IODL, 0x10)
    Name (IO1B, 0x0A20)
    Name (IO1L, 0x08)
    Name (IO3B, 0x0D00)
    Name (IO3L, 0x80)
    Name (PMBS, 0x0500)
    Name (PMLN, 0x0100)
    Name (SCBS, 0x0800)
    Name (SCLN, 0x0100)
    Name (ACBS, 0x0900)
    Name (ACLN, 0x0100)
    Name (SCIO, 0x0800)
    Name (SCTL, 0x0590)
    Name (EXTS, 0x00)
    Name (APIC, 0x01)
    Name (ABWV, 0xAB)
    Name (PCIB, 0xE0000000)
    Name (PCIL, 0x10000000)
    Name (SMBS, 0x0700)
    OperationRegion (BIOS, SystemMemory, 0x7FFBE064, 0xFF)
    Field (BIOS, ByteAcc, NoLock, Preserve)
    {
        SS1,    1, 
        SS2,    1, 
        SS3,    1, 
        SS4,    1, 
        Offset (0x01), 
        IOST,   16, 
        TOPM,   32, 
        ROMS,   32, 
        MG1B,   32, 
        MG1L,   32, 
        MG2B,   32, 
        MG2L,   32, 
        Offset (0x1C), 
        CPB0,   32, 
        CPB1,   32, 
        CPB2,   32, 
        CPB3,   32, 
        ASSB,   8, 
        AOTB,   8, 
        AAXB,   32
    }

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

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

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

        Store (Arg0, PICM)
    }

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

        If (LEqual (PICM, 0x00))
        {
            Store (0xAC, DBG8)
        }

        Store (0x01, OSVR)
        If (CondRefOf (\_OSI, Local1))
        {
            If (\_OSI ("Windows 2001"))
            {
                Store (0x00, OSVR)
            }
        }
        Else
        {
            If (MCTH (\_OS, "Microsoft Windows NT"))
            {
                Store (0x04, OSVR)
            }
            Else
            {
                If (MCTH (\_OS, "Microsoft WindowsME: Millennium Edition"))
                {
                    Store (0x02, OSVR)
                }

                If (MCTH (\_OS, "Linux"))
                {
                    Store (0x03, OSVR)
                }
            }
        }

        Return (OSVR)
    }

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

        Add (SizeOf (Arg0), 0x01, Local0)
        Name (BUF0, Buffer (Local0) {})
        Name (BUF1, Buffer (Local0) {})
        Store (Arg0, BUF0)
        Store (Arg1, BUF1)
        While (Local0)
        {
            Decrement (Local0)
            If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))))
            {
                Return (Zero)
            }
        }

        Return (One)
    }

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

        Return (PRWP)
    }

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

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

    Scope (\_SB)
    {
        Name (PR00, Package (0x20)
        {
            Package (0x04)
            {
                0x000AFFFF, 
                0x00, 
                LSMB, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x00, 
                LUB0, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x01, 
                LUB2, 
                0x00
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                0x00, 
                LMAC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                0x00, 
                LSA0, 
                0x00
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                0x00, 
                LSA1, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x00, 
                LACI, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x01, 
                LMC9, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x02, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x02, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x03, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0004FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0x0017FFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                0x02, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x00, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                LNKC, 
                0x00
            }
        })
        Name (AR00, Package (0x20)
        {
            Package (0x04)
            {
                0x000AFFFF, 
                0x00, 
                LSMB, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x00, 
                LUB0, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x01, 
                LUB2, 
                0x00
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                0x00, 
                LMAC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0010FFFF, 
                0x00, 
                LSA0, 
                0x00
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                0x00, 
                LSA1, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x00, 
                LACI, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x01, 
                LMC9, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x02, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x02, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x03, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0004FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0x0017FFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                0x02, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0017FFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x02, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                0x03, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x00, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                LNKC, 
                0x00
            }
        })
        Name (PR01, Package (0x0D)
        {
            Package (0x04)
            {
                0x000BFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0006FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0x0007FFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x02, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x02, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x03, 
                LNKB, 
                0x00
            }
        })
        Name (AR01, Package (0x0D)
        {
            Package (0x04)
            {
                0x000BFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0006FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

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

            Package (0x04)
            {
                0x0007FFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x02, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                0x03, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x02, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0008FFFF, 
                0x03, 
                LNKB, 
                0x00
            }
        })
        Name (PR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                0x00
            }
        })
        Name (AR02, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                0x00
            }
        })
        Name (PR03, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                0x00
            }
        })
        Name (AR03, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                0x00
            }
        })
        Name (PR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                0x00
            }
        })
        Name (AR04, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKD, 
                0x00
            }
        })
        Name (PR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                0x00
            }
        })
        Name (AR05, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKC, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKA, 
                0x00
            }
        })
        Name (PR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                0x00
            }
        })
        Name (AR06, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                0x00
            }
        })
        Name (PR07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                0x00
            }
        })
        Name (AR07, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                0x00, 
                LNKD, 
                0x00
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x01, 
                LNKA, 
                0x00
            }, 

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

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKC, 
                0x00
            }
        })
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared) {5,7,10,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, RSMB)
        Alias (PRSA, RSB2)
        Name (RSA1, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared) {11}
        })
        Alias (RSA1, RSA0)
        Alias (PRSA, RSB0)
        Alias (PRSA, RSAC)
        Alias (PRSA, RSCI)
        Alias (PRSA, RSC9)
        Alias (PRSA, RSTA)
        Name (RSIR, ResourceTemplate ()
        {
            Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
            {
                0x00000010,
                0x00000011,
                0x00000012,
                0x00000013,
            }
        })
        Name (RSII, ResourceTemplate ()
        {
            Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
            {
                0x00000014,
                0x00000015,
                0x00000016,
                0x00000017,
            }
        })
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, 0x00180000)
            Method (^BN00, 0, NotSerialized)
            {
                Return (0x00)
            }

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

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

                Return (PR00)
            }

            Device (NB2N)
            {
                Name (_ADR, 0x00)
                Method (NPTS, 1, NotSerialized)
                {
                }

                Method (NWAK, 1, NotSerialized)
                {
                }
            }

            Device (PCLK)
            {
                Name (_ADR, 0x02)
            }

            Device (SBRG)
            {
                Name (_ADR, 0x000A0000)
                Method (SPTS, 1, NotSerialized)
                {
                    Store (Arg0, \_SB.PCI0.IDE0.PTS0)
                    Store (\_SB.PCI0.IDE0.ID20, \_SB.PCI0.IDE0.SID0)
                    Store (\_SB.PCI0.IDE0.IDTS, \_SB.PCI0.IDE0.SID1)
                    Store (\_SB.PCI0.IDE0.IDTP, \_SB.PCI0.IDE0.SID2)
                    Store (\_SB.PCI0.IDE0.ID22, \_SB.PCI0.IDE0.SID3)
                    Store (\_SB.PCI0.IDE0.UMSS, \_SB.PCI0.IDE0.SID4)
                    Store (\_SB.PCI0.IDE0.UMSP, \_SB.PCI0.IDE0.SID5)
                    Store (One, PS1S)
                    Store (One, PS1E)
                    Store (One, \_SB.SLPS)
                }

                Method (SWAK, 1, NotSerialized)
                {
                    Store (Zero, \_SB.SLPS)
                    Store (Zero, PS1E)
                    Store (0x02, S1CT)
                    Store (0x02, S3CT)
                    Store (0x02, S4CT)
                    Store (0x02, S5CT)
                }

                OperationRegion (SMIE, SystemIO, SCIO, 0x08)
                Field (SMIE, ByteAcc, NoLock, Preserve)
                {
                        ,   15, 
                    PS1S,   1, 
                        ,   31, 
                    PS1E,   1, 
                    Offset (0x08)
                }

                OperationRegion (SXCT, SystemIO, SCTL, 0x10)
                Field (SXCT, ByteAcc, NoLock, Preserve)
                {
                    S1CT,   2, 
                    Offset (0x04), 
                    S3CT,   2, 
                    Offset (0x08), 
                    S4CT,   2, 
                    Offset (0x0C), 
                    S5CT,   2, 
                    Offset (0x10)
                }

                Scope (\_SB)
                {
                    Name (SLPS, 0x00)
                    Device (SLPB)
                    {
                        Name (_HID, EisaId ("PNP0C0E"))
                        Method (_STA, 0, NotSerialized)
                        {
                            If (EXTS)
                            {
                                Return (0x0F)
                            }

                            Return (0x00)
                        }

                        Method (SBEV, 0, NotSerialized)
                        {
                            If (SLPS)
                            {
                                Notify (SLPB, 0x02)
                            }
                            Else
                            {
                                Notify (SLPB, 0x80)
                            }
                        }

                        Method (\_GPE._L01, 0, NotSerialized)
                        {
                            \_SB.SLPB.SBEV ()
                        }

                        Method (_PRW, 0, NotSerialized)
                        {
                            Return (Package (0x02)
                            {
                                0x01, 
                                0x04
                            })
                        }
                    }

                    Scope (PCI0)
                    {
                        Method (_S3D, 0, NotSerialized)
                        {
                            If (LEqual (OSFL (), 0x02))
                            {
                                Return (0x02)
                            }
                            Else
                            {
                                Return (0x03)
                            }
                        }

                        Name (_S1D, 0x01)
                        Name (NATA, Package (0x01)
                        {
                            0x00100000
                        })
                        Device (NVRB)
                        {
                            Name (_HID, "NVRAIDBUS")
                            Method (_STA, 0, NotSerialized)
                            {
                                If (And (CPB0, 0x01))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (0x00)
                                }
                            }

                            Name (_CRS, ResourceTemplate ()
                            {
                                IO (Decode16, 0x04D2, 0x04D2, 0x01, 0x01)
                            })
                        }
                    }
                }

                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0020, 0x0020, 0x00, 0x02)
                        IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x02)
                        IRQNoFlags () {2}
                    })
                }

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

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0040, 0x0040, 0x00, 0x04)
                        IRQNoFlags () {0}
                    })
                }

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0070, 0x0070, 0x00, 0x02)
                        IRQNoFlags () {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0061, 0x0061, 0x00, 0x01)
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x10)
                        IRQNoFlags () {13}
                    })
                }

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

                        Return (FDEP)
                    }

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

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

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

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

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

                        EXFG ()
                    }

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

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

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

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

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

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

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

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

                Device (GAME)
                {
                    Name (_HID, EisaId ("PNPB02F"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x08))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x08, 0x00)
                    }

                    Name (GMCR, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (GMCR, 0x02, IOGL)
                        CreateWordField (GMCR, 0x04, IOGH)
                        ENFG (CGLD (0x08))
                        ShiftLeft (IOAH, 0x08, IOGL)
                        Or (IOAL, IOGL, IOGL)
                        Store (IOGL, IOGH)
                        CreateByteField (GMCR, 0x06, IOAL)
                        Store (0x01, IOAL)
                        EXFG ()
                        Return (GMCR)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x02, IO11)
                        ENFG (CGLD (0x08))
                        And (IO11, 0xFF, IOAL)
                        ShiftRight (IO11, 0x08, IOAH)
                        DCNT (0x08, 0x01)
                        EXFG ()
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16, 0x0201, 0x0201, 0x01, 0x08)
                        }
                        EndDependentFn ()
                    })
                }

                Device (MIDI)
                {
                    Name (_HID, EisaId ("PNPB006"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x05))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x05, 0x00)
                    }

                    Name (MDCR, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x02)
                        IRQNoFlags () {5}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (MDCR, 0x02, IOML)
                        CreateWordField (MDCR, 0x04, IOMH)
                        CreateWordField (MDCR, 0x09, IRQM)
                        ENFG (CGLD (0x05))
                        ShiftLeft (IOAH, 0x08, IOML)
                        Or (IOAL, IOML, IOML)
                        Store (IOML, IOMH)
                        If (INTR)
                        {
                            ShiftLeft (0x01, INTR, IRQM)
                        }
                        Else
                        {
                            Store (0x00, IRQM)
                        }

                        EXFG ()
                        Return (MDCR)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x02, IO11)
                        CreateWordField (Arg0, 0x09, IRQM)
                        ENFG (CGLD (0x05))
                        And (IO11, 0xFF, IOAL)
                        ShiftRight (IO11, 0x08, IOAH)
                        If (IRQM)
                        {
                            FindSetRightBit (IRQM, Local0)
                            Subtract (Local0, 0x01, INTR)
                        }
                        Else
                        {
                            Store (0x00, INTR)
                        }

                        DCNT (0x05, 0x01)
                        EXFG ()
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
                        }
                        EndDependentFn ()
                        IRQNoFlags () {5,7,9,10,11}
                    })
                }

                Device (RMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x10)
                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
                        IO (Decode16, 0x0022, 0x0022, 0x00, 0x1E)
                        IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
                        IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
                        IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
                        IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E)
                        IO (Decode16, 0x0080, 0x0080, 0x00, 0x01)
                        IO (Decode16, 0x0084, 0x0084, 0x00, 0x03)
                        IO (Decode16, 0x0088, 0x0088, 0x00, 0x01)
                        IO (Decode16, 0x008C, 0x008C, 0x00, 0x03)
                        IO (Decode16, 0x0090, 0x0090, 0x00, 0x10)
                        IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
                        IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
                        IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
                        IO (Decode16, 0x0800, 0x0800, 0x00, 0x10)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        Memory32Fixed (ReadOnly, 0xFEE01000, 0x000FF000)
                        Memory32Fixed (ReadOnly, 0xFEFFF000, 0x00001000)
                        Memory32Fixed (ReadWrite, 0xFFB00000, 0x004F0000)
                        Memory32Fixed (ReadOnly, 0xFFF00000, 0x00100000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (CRS, 0x7A, GP00)
                        CreateWordField (CRS, 0x7C, GP01)
                        CreateByteField (CRS, 0x7F, GP0L)
                        CreateWordField (CRS, 0x82, GP10)
                        CreateWordField (CRS, 0x84, GP11)
                        CreateByteField (CRS, 0x87, GP1L)
                        Store (PMBS, GP00)
                        Store (PMBS, GP01)
                        If (LNot (LLess (PMLN, 0x0100)))
                        {
                            ShiftRight (PMLN, 0x01, GP0L)
                            Add (GP00, GP0L, GP10)
                            Add (GP01, GP0L, GP11)
                            Subtract (PMLN, GP0L, GP1L)
                        }
                        Else
                        {
                            Store (PMLN, GP0L)
                        }

                        If (SCBS)
                        {
                            CreateWordField (CRS, 0x8A, SC00)
                            CreateWordField (CRS, 0x8C, SC01)
                            CreateByteField (CRS, 0x8F, SC0L)
                            CreateWordField (CRS, 0x92, SC10)
                            CreateWordField (CRS, 0x94, SC11)
                            CreateByteField (CRS, 0x97, SC1L)
                            Store (SCBS, SC00)
                            Store (SCBS, SC01)
                            If (LNot (LLess (SCLN, 0x0100)))
                            {
                                ShiftRight (SCLN, 0x01, SC0L)
                                Add (SC00, SC0L, SC10)
                                Add (SC01, SC0L, SC11)
                                Subtract (SCLN, SC0L, SC1L)
                            }
                            Else
                            {
                                Store (SCLN, SC0L)
                            }
                        }

                        If (ACBS)
                        {
                            CreateWordField (CRS, 0x9A, AC00)
                            CreateWordField (CRS, 0x9C, AC01)
                            CreateByteField (CRS, 0x9F, AC0L)
                            CreateWordField (CRS, 0xA2, AC10)
                            CreateWordField (CRS, 0xA4, AC11)
                            CreateByteField (CRS, 0xA7, AC1L)
                            Store (ACBS, AC00)
                            Store (ACBS, AC01)
                            If (LNot (LLess (ACLN, 0x0100)))
                            {
                                ShiftRight (ACLN, 0x01, AC0L)
                                Add (AC00, AC0L, AC10)
                                Add (AC01, AC0L, AC11)
                                Subtract (ACLN, AC0L, AC1L)
                            }
                            Else
                            {
                                Store (ACLN, AC0L)
                            }
                        }

                        Return (CRS)
                    }
                }

                Scope (\_SB.PCI0.SBRG)
                {
                    Device (ASOC)
                    {
                        Name (_HID, "ATK0110")
                        Name (_UID, 0x01010110)
                        Method (_STA, 0, NotSerialized)
                        {
                            Return (0x0F)
                        }
                    }
                }

                OperationRegion (\_SB.PCI0.SBRG.LPDC, PCI_Config, 0xA0, 0x06)
                Field (\_SB.PCI0.SBRG.LPDC, ByteAcc, NoLock, Preserve)
                {
                    S3F8,   1, 
                    S2F8,   1, 
                        ,   3, 
                    S2E8,   1, 
                        ,   1, 
                    S3E8,   1, 
                        ,   4, 
                    M300,   1, 
                        ,   2, 
                    M330,   1, 
                        ,   4, 
                    FDC0,   1, 
                    Offset (0x03), 
                    P378,   1, 
                    P278,   1, 
                    P3BC,   1, 
                    Offset (0x04), 
                    G200,   8, 
                    G208,   8
                }

                Method (RRIO, 4, NotSerialized)
                {
                    If (LOr (LEqual (Arg0, 0x00), LEqual (Arg0, 0x01)))
                    {
                        If (LEqual (Arg2, 0x03F8))
                        {
                            Store (Arg1, S3F8)
                        }

                        If (LEqual (Arg2, 0x02F8))
                        {
                            Store (Arg1, S2F8)
                        }

                        If (LEqual (Arg2, 0x03E8))
                        {
                            Store (Arg1, S3E8)
                        }

                        If (LEqual (Arg2, 0x02E8))
                        {
                            Store (Arg1, S2E8)
                        }
                    }

                    If (LEqual (Arg0, 0x02))
                    {
                        If (LEqual (Arg2, 0x0378))
                        {
                            Store (Arg1, P378)
                        }

                        If (LEqual (Arg2, 0x0278))
                        {
                            Store (Arg1, P278)
                        }

                        If (LEqual (Arg2, 0x03BC))
                        {
                            Store (Arg1, P3BC)
                        }
                    }

                    If (LEqual (Arg0, 0x03))
                    {
                        Store (Arg1, FDC0)
                    }

                    If (LEqual (Arg0, 0x05))
                    {
                        If (LEqual (Arg2, 0x0330))
                        {
                            Store (Arg1, M330)
                        }

                        If (LEqual (Arg2, 0x0300))
                        {
                            Store (Arg1, M300)
                        }
                    }

                    If (LEqual (Arg0, 0x08))
                    {
                        Store (Zero, Local0)
                        If (Arg1)
                        {
                            Store (0xFF, Local0)
                        }

                        If (LEqual (Arg2, 0x0200))
                        {
                            Store (Local0, G200)
                        }

                        If (LEqual (Arg2, 0x0208))
                        {
                            Store (Local0, G208)
                        }
                    }
                }

                Method (RDMA, 3, NotSerialized)
                {
                }

                Scope (\)
                {
                    OperationRegion (\RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
                    Field (\RAMW, ByteAcc, NoLock, Preserve)
                    {
                        PAR0,   32, 
                        PAR1,   32
                    }

                    OperationRegion (IOB2, SystemIO, 0x082E, 0x02)
                    Field (IOB2, ByteAcc, NoLock, Preserve)
                    {
                        SMIC,   8, 
                        SMIS,   8
                    }

                    Method (ISMI, 1, Serialized)
                    {
                        Store (Arg0, SMIC)
                    }

                    Method (GNVS, 1, Serialized)
                    {
                        Store (Arg0, PAR0)
                        ISMI (0x70)
                        Return (PAR1)
                    }

                    Method (SNVS, 2, Serialized)
                    {
                        Store (Arg0, PAR0)
                        Store (Arg1, PAR1)
                        ISMI (0x71)
                    }
                }

                Scope (\)
                {
                    Field (\RAMW, ByteAcc, NoLock, Preserve)
                    {
                        Offset (0x08), 
                        ADSP,   32, 
                        FSBF,   16, 
                        FVCM,   8, 
                        AITU,   8, 
                        FIDV,   8, 
                        VIDV,   8, 
                        OCPI,   8, 
                        NOST,   8, 
                        NOS1,   8, 
                        DDRV,   8, 
                        CPUS,   1, 
                        CQFS,   3, 
                        CQFT,   4, 
                        AIDI,   8, 
                        OVID,   8, 
                        CCAQ,   8, 
                        MAXF,   8, 
                        MAXV,   8, 
                        CURF,   8, 
                        CURV,   8, 
                        PCEF,   8
                    }
                }

                OperationRegion (\_SB.PCI0.PCLK.MNCK, PCI_Config, 0x44, 0x04)
                Field (\_SB.PCI0.PCLK.MNCK, ByteAcc, NoLock, Preserve)
                {
                    MMNN,   16, 
                        ,   14, 
                    MNEN,   1, 
                    Offset (0x04)
                }

                OperationRegion (\_SB.PCI0.PCLK.SPRD, PCI_Config, 0x54, 0x04)
                Field (\_SB.PCI0.PCLK.SPRD, ByteAcc, NoLock, Preserve)
                {
                    SPRE,   1, 
                    Offset (0x04)
                }

                OperationRegion (QDRV, SystemIO, IOGB, 0x03)
                Field (QDRV, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x02), 
                        ,   1, 
                    QDDR,   4, 
                    Offset (0x03)
                }

                OperationRegion (DEB0, SystemIO, 0x1080, 0x02)
                Field (DEB0, ByteAcc, NoLock, Preserve)
                {
                    DB16,   16
                }

                Name (DDRT, Package (0x0A)
                {
                    0x0D, 
                    0x0F, 
                    0x0E, 
                    0x0D, 
                    0x0B, 
                    0x07, 
                    0x09, 
                    0x08, 
                    0x03, 
                    0x02
                })
                Scope (\_SB.PCI0.SBRG.ASOC)
                {
                    Name (MBIF, Package (0x08)
                    {
                        0x01, 
                        "A8N32-SLI", 
                        0x01, 
                        0x01, 
                        0x02, 
                        0x00, 
                        0x00, 
                        0x00
                    })
                    Method (ASIF, 0, NotSerialized)
                    {
                        Return (MBIF)
                    }

                    Name (OC01, Package (0x06)
                    {
                        0x01010000, 
                        "CPU FSB", 
                        0x4E20, 
                        0x9C40, 
                        0xC9, 
                        0x00010003
                    })
                    Name (OC02, Package (0x06)
                    {
                        0x01060001, 
                        "CPU Multiplier", 
                        0x04, 
                        0x19, 
                        0x16, 
                        0x00010000
                    })
                    Name (OC03, Package (0x06)
                    {
                        0x01060002, 
                        "FID VID Mode", 
                        0x00, 
                        0x01, 
                        0x01, 
                        0x00010000
                    })
                    Name (OC04, Package (0x06)
                    {
                        0x07010003, 
                        "PCI Express", 
                        0x2710, 
                        0x332C, 
                        0x65, 
                        0x00
                    })
                    Name (OC05, Package (0x06)
                    {
                        0x05050004, 
                        "OC Profile", 
                        0x00, 
                        0x04, 
                        0x05, 
                        0x00010001
                    })
                    Name (OC06, Package (0x06)
                    {
                        0x08050005, 
                        "Turbo NOS", 
                        0x00, 
                        0x04, 
                        0x05, 
                        0x00010000
                    })
                    Name (OC07, Package (0x06)
                    {
                        0x08060006, 
                        "NOS MODE", 
                        0x00, 
                        0x03, 
                        0x04, 
                        0x00
                    })
                    Name (OC08, Package (0x06)
                    {
                        0x04060003, 
                        "CPU Q-Fan Control", 
                        0x00, 
                        0x01, 
                        0x01, 
                        0x00010003
                    })
                    Name (OC09, Package (0x06)
                    {
                        0x01020008, 
                        "CPU VID", 
                        0x1F40, 
                        0x3D09, 
                        0x3D, 
                        0x00010000
                    })
                    Name (OC0A, Package (0x06)
                    {
                        0x02020009, 
                        "DRAM Voltage", 
                        0x0A28, 
                        0x0BB8, 
                        0x09, 
                        0x00010003
                    })
                    Name (OC0B, Package (0x06)
                    {
                        0x0906000C, 
                        "AI Overclock Tuner", 
                        0x00, 
                        0x04, 
                        0x05, 
                        0x00010003
                    })
                    Name (OC0C, Package (0x06)
                    {
                        0x0106000B, 
                        "Cool&Quiet Support", 
                        0x00, 
                        0x01, 
                        0x02, 
                        0x00010003
                    })
                    Name (OBUF, Package (0x0C)
                    {
                        OC01, 
                        OC02, 
                        OC03, 
                        OC04, 
                        OC05, 
                        OC06, 
                        OC07, 
                        OC08, 
                        OC09, 
                        OC0A, 
                        OC0B, 
                        OC0C
                    })
                    Name (OCVO, 0x00)
                    Method (OCIF, 0, NotSerialized)
                    {
                        Store (ShiftLeft (MAXV, 0x01), Local1)
                        Subtract (0x3D09, Multiply (Local1, 0x7D), Index (OC09, 0x03))
                        Subtract (0x3D, Local1, Index (OC09, 0x04))
                        Return (OBUF)
                    }

                    Name (TEM1, Package (0x11)
                    {
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00, 
                        0x00
                    })
                    Method (TEMP, 1, NotSerialized)
                    {
                        Store (FSBF, Index (TEM1, 0x00))
                        Store (FVCM, Index (TEM1, 0x01))
                        Store (AITU, Index (TEM1, 0x02))
                        Store (FIDV, Index (TEM1, 0x03))
                        Store (VIDV, Index (TEM1, 0x04))
                        Store (OCPI, Index (TEM1, 0x05))
                        Store (NOST, Index (TEM1, 0x06))
                        Store (NOS1, Index (TEM1, 0x07))
                        Store (DDRV, Index (TEM1, 0x08))
                        Store (CPUS, Index (TEM1, 0x09))
                        Store (CQFS, Index (TEM1, 0x0A))
                        Store (CQFT, Index (TEM1, 0x0B))
                        Store (AIDI, Index (TEM1, 0x0C))
                        Store (OVID, Index (TEM1, 0x0D))
                        Store (CCAQ, Index (TEM1, 0x0E))
                        Store (MAXF, Index (TEM1, 0x0F))
                        Store (MAXV, Index (TEM1, 0x10))
                        Return (TEM1)
                    }

                    Method (OCOP, 1, NotSerialized)
                    {
                        Store (DerefOf (Index (OC01, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (FSBF, Local0)
                            Multiply (Local0, 0x64, Local1)
                            Store (Local1, Index (CPUO, 0x01))
                            Subtract (Local0, 0xC8, Local2)
                            Store (Local2, Index (CPUO, 0x02))
                            Return (CPUO)
                        }

                        Store (DerefOf (Index (OC02, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (Add (ShiftRight (CURF, 0x01), 0x04), Index (CPUM, 0x01))
                            Store (Add (ShiftRight (CURF, 0x01), 0x04), Index (CPUM, 0x02))
                            If (LEqual (FVCM, 0x01))
                            {
                                Store (0x00010000, Index (OC02, 0x05))
                                Store (0x00, Index (CPUM, 0x03))
                            }
                            Else
                            {
                                Store (0x00010000, Index (OC02, 0x05))
                                Store (0x00, Index (CPUM, 0x03))
                            }

                            Store (Add (ShiftRight (MAXF, 0x01), 0x04), Index (OC02, 0x03))
                            Add (0x01, DerefOf (Index (OC02, 0x03)), Local0)
                            Store (DerefOf (Index (OC02, 0x02)), Local1)
                            Subtract (Local0, Local1, Index (OC02, 0x04))
                            Return (CPUM)
                        }

                        Store (DerefOf (Index (OC03, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (FVCM, Index (CPFV, 0x02))
                            If (LEqual (CCAQ, 0x00))
                            {
                                Store (0x00010000, Index (OC03, 0x05))
                                Store (0x00, Index (CPFV, 0x03))
                            }
                            Else
                            {
                                Store (0x00010003, Index (OC03, 0x05))
                                Store (0x01, Index (CPFV, 0x03))
                            }

                            Return (CPFV)
                        }

                        Store (DerefOf (Index (OC04, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Return (PCIV)
                        }

                        Store (DerefOf (Index (OC05, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (OCPI, Index (OCPR, 0x02))
                            If (LNot (LGreater (AITU, 0x03)))
                            {
                                Store (0x00010003, Index (OC05, 0x05))
                                Store (0x01, Index (OCPR, 0x03))
                            }
                            Else
                            {
                                Store (0x00010003, Index (OC05, 0x05))
                                Store (0x01, Index (OCPR, 0x03))
                            }

                            Return (OCPR)
                        }

                        Store (DerefOf (Index (OC06, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (AITU, 0x04))
                            {
                                Store (NOS1, Index (NOSP, 0x02))
                            }
                            Else
                            {
                                Store (0x00, Index (NOSP, 0x02))
                            }

                            Return (NOSP)
                        }

                        Store (DerefOf (Index (OC07, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (NOST, Index (NOSM, 0x02))
                            Return (NOSM)
                        }

                        Store (DerefOf (Index (OC08, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (CPUS, Index (FANB, 0x02))
                            Return (FANB)
                        }

                        Store (DerefOf (Index (OC09, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (Subtract (CURV, MAXV), Local2)
                            ShiftLeft (Local2, 0x01, Local2)
                            And (OVID, 0x01, Local3)
                            Or (Local2, Local3, Local2)
                            Store (Local2, Index (CPUV, 0x02))
                            Store (ShiftLeft (MAXV, 0x01), Local2)
                            Subtract (0x3D09, Multiply (Local2, 0x7D), Index (OC09, 0x03))
                            Subtract (0x3D, Local2, Index (OC09, 0x04))
                            Return (CPUV)
                        }

                        Store (DerefOf (Index (OC0A, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (DDRV, Index (DDVO, 0x02))
                            Return (DDVO)
                        }

                        Store (DerefOf (Index (OC0B, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (AITU, Index (AIOT, 0x02))
                            Return (AIOT)
                        }

                        Store (DerefOf (Index (OC0C, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (CCAQ, Index (ACAQ, 0x02))
                            Return (ACAQ)
                        }
                    }

                    Name (CPUO, Package (0x04)
                    {
                        0x01010000, 
                        0x4E20, 
                        0x00, 
                        0x01
                    })
                    Name (CPUM, Package (0x04)
                    {
                        0x01060001, 
                        0x00, 
                        0x00, 
                        0x00
                    })
                    Name (CPFV, Package (0x06)
                    {
                        0x01060002, 
                        0x00, 
                        0x00, 
                        0x00, 
                        "Auto", 
                        "Manual"
                    })
                    Name (PCIV, Package (0x04)
                    {
                        0x07010003, 
                        0x2710, 
                        0x64, 
                        0x00
                    })
                    Name (OCPR, Package (0x09)
                    {
                        0x05050004, 
                        0x00, 
                        0x00, 
                        0x00, 
                        "Overclock 1%", 
                        "Overclock 3%", 
                        "Overclock 5%", 
                        "Overclock 8%", 
                        "Overclock 10%"
                    })
                    Name (NOSP, Package (0x09)
                    {
                        0x08050005, 
                        0x00, 
                        0x00, 
                        0x01, 
                        "Overclock 1%", 
                        "Overclock 3%", 
                        "Overclock 5%", 
                        "Overclock 8%", 
                        "Overclock 10%"
                    })
                    Name (NOSM, Package (0x08)
                    {
                        0x08060006, 
                        0x00, 
                        0x00, 
                        0x00, 
                        "Auto", 
                        "Standard%", 
                        "Sensitive", 
                        "Heavy Load"
                    })
                    Name (FANB, Package (0x06)
                    {
                        0x04040007, 
                        0x00, 
                        0x00, 
                        0x01, 
                        "Disabled", 
                        "Enabled"
                    })
                    Name (CPUV, Package (0x04)
                    {
                        0x01020008, 
                        0x00, 
                        0x00, 
                        0x01
                    })
                    Name (DDVO, Package (0x0E)
                    {
                        0x02020009, 
                        0x00, 
                        0x00, 
                        0x01, 
                        "Auto", 
                        "2.60V", 
                        "2.65V", 
                        "2.70V", 
                        "2.75V", 
                        "2.80V", 
                        "2.85V", 
                        "2.90V", 
                        "2.95V", 
                        "3.00V"
                    })
                    Name (AIOT, Package (0x09)
                    {
                        0x0906000C, 
                        0x00, 
                        0x00, 
                        0x01, 
                        "Manual", 
                        "Auto", 
                        "Standard", 
                        "OverClock Profile", 
                        "AI NOS"
                    })
                    Name (ACAQ, Package (0x06)
                    {
                        0x0106000B, 
                        0x00, 
                        0x00, 
                        0x00, 
                        "Enabled", 
                        "Disabled"
                    })
                    Name (OCST, Package (0x0C)
                    {
                        Package (0x02)
                        {
                            0x01010000, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x01060001, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x01060002, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x07010003, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x05050004, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x08050005, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x08060006, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x04060003, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x01020008, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x02020009, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x0906000C, 
                            0x01
                        }, 

                        Package (0x02)
                        {
                            0x0106000B, 
                            0x01
                        }
                    })
                    Method (PROC, 3, NotSerialized)
                    {
                        Store (DerefOf (Index (OC01, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (Arg1, Local2)
                            Add (Local2, 0xC8, Local2)
                            If (LEqual (Arg2, 0x00))
                            {
                                If (LNot (LGreater (AITU, 0x03)))
                                {
                                    If (LNot (LLess (FSBF, Local2)))
                                    {
                                        Subtract (FSBF, Local2, Local0)
                                    }
                                    Else
                                    {
                                        Subtract (Local2, FSBF, Local0)
                                    }

                                    If (LGreater (Local0, 0x0A))
                                    {
                                        Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
                                        Return (0x03)
                                    }

                                    Store (0x01, Index (DerefOf (Index (OCST, 0x00)), 0x01))
                                    Return (0x01)
                                }
                                Else
                                {
                                    Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
                                    Return (0x03)
                                }
                            }

                            If (LNot (LLess (FSBF, Local2)))
                            {
                                Subtract (FSBF, Local2, Local0)
                            }
                            Else
                            {
                                Subtract (Local2, FSBF, Local0)
                            }

                            Store (Local2, FSBF)
                            If (LNot (LGreater (AITU, 0x03)))
                            {
                                Store (0x00, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x00, AITU)
                                Store (0x02, SMIS)
                                Store (0xAB, SMIC)
                                If (LGreater (Local0, 0x0A))
                                {
                                    Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
                                    Return (0x03)
                                }

                                Store (0xAA, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x01, Index (DerefOf (Index (OCST, 0x00)), 0x01))
                                Return (0x01)
                            }

                            Store (0x00, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x00, AITU)
                            Store (0x02, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
                            Return (0x03)
                        }

                        Store (DerefOf (Index (OC02, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
                                Return (0x03)
                            }

                            If (LEqual (CCQA, 0x00))
                            {
                                Store (0x01, CCAQ)
                                Store (0x0C, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x01, FVCM)
                                Store (0x01, SMIS)
                                Store (0xAB, SMIC)
                                Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
                                Store (0x03, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
                                Return (0x03)
                            }

                            If (LEqual (FVCM, 0x00))
                            {
                                Store (0x01, FVCM)
                                Store (0x01, SMIS)
                                Store (0xAB, SMIC)
                                Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
                                Store (0x03, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
                                Return (0x03)
                            }

                            Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
                            Store (0x03, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
                            Return (0x03)
                        }

                        Store (DerefOf (Index (OC03, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
                                Return (0x03)
                            }

                            If (LEqual (CCAQ, 0x00))
                            {
                                Store (0x01, CCAQ)
                                Store (0x0C, SMIS)
                                Store (0xAB, SMIC)
                                Store (Arg1, FVCM)
                                Store (0x01, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
                                Return (0x03)
                            }

                            Store (Arg1, FVCM)
                            Store (0x01, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
                            Return (0x03)
                        }

                        Store (DerefOf (Index (OC04, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (0x03, Index (DerefOf (Index (OCST, 0x03)), 0x01))
                            Return (0x03)
                        }

                        Store (DerefOf (Index (OC05, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                If (LNot (LGreater (AITU, 0x03)))
                                {
                                    Store (0x01, Index (DerefOf (Index (OCST, 0x04)), 0x01))
                                    Return (0x01)
                                }

                                Store (0x03, Index (DerefOf (Index (OCST, 0x04)), 0x01))
                                Return (0x03)
                            }

                            If (LNot (LGreater (AITU, 0x03)))
                            {
                                Store (0x03, AITU)
                                Store (0x02, SMIS)
                                Store (0xAB, SMIC)
                                Store (Arg1, OCPI)
                                Store (0x05, SMIS)
                                Store (0xAB, SMIC)
                                If (LEqual (Arg1, 0x00))
                                {
                                    Store (0xCA, FSBF)
                                    Store (0x00, SMIS)
                                    Store (0xAB, SMIC)
                                }

                                If (LEqual (Arg1, 0x01))
                                {
                                    Store (0xCE, FSBF)
                                    Store (0x00, SMIS)
                                    Store (0xAB, SMIC)
                                }

                                If (LEqual (Arg1, 0x02))
                                {
                                    Store (0xD2, FSBF)
                                    Store (0x00, SMIS)
                                    Store (0xAB, SMIC)
                                }

                                If (LEqual (Arg1, 0x03))
                                {
                                    Store (0xD8, FSBF)
                                    Store (0x00, SMIS)
                                    Store (0xAB, SMIC)
                                }

                                If (LEqual (Arg1, 0x04))
                                {
                                    Store (0xDC, FSBF)
                                    Store (0x00, SMIS)
                                    Store (0xAB, SMIC)
                                }

                                Store (0xAA, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x01, Index (DerefOf (Index (OCST, 0x04)), 0x01))
                                Return (0x01)
                            }

                            Store (0x03, AITU)
                            Store (0x02, SMIS)
                            Store (0xAB, SMIC)
                            Store (Arg1, OCPI)
                            Store (0x05, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x03, Index (DerefOf (Index (OCST, 0x04)), 0x01))
                            Return (0x03)
                        }

                        Store (DerefOf (Index (OC06, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                If (LNot (LGreater (AITU, 0x03)))
                                {
                                    Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
                                    Return (0x03)
                                }

                                If (LEqual (Arg1, 0x00))
                                {
                                    Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
                                    Return (0x03)
                                }

                                Store (0x01, Index (DerefOf (Index (OCST, 0x05)), 0x01))
                                Return (0x01)
                            }

                            If (LNot (LGreater (AITU, 0x03)))
                            {
                                Store (0x04, AITU)
                                Store (0x02, SMIS)
                                Store (0xAB, SMIC)
                                Store (Arg1, NOS1)
                                Store (0x07, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
                                Return (0x03)
                            }

                            If (LEqual (Arg1, 0x00))
                            {
                                Store (0x01, AITU)
                                Store (0x02, SMIS)
                                Store (0xAB, SMIC)
                                Store (Arg1, NOS1)
                                Store (0x07, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
                                Return (0x03)
                            }

                            Store (Arg1, NOS1)
                            Store (0x07, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x01, Index (DerefOf (Index (OCST, 0x05)), 0x01))
                            Return (0x01)
                        }

                        Store (DerefOf (Index (OC07, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            Store (0x01, Index (DerefOf (Index (OCST, 0x06)), 0x01))
                            Return (0x01)
                        }

                        Store (DerefOf (Index (OC08, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                Store (0x01, Index (DerefOf (Index (OCST, 0x07)), 0x01))
                                Return (0x01)
                            }

                            Store (Arg1, CPUS)
                            Store (0x09, SMIS)
                            Store (0xAB, SMIC)
                            Store (0xBB, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x01, Index (DerefOf (Index (OCST, 0x07)), 0x01))
                            Return (0x01)
                        }

                        Store (DerefOf (Index (OC09, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                Store (0x03, Index (DerefOf (Index (OCST, 0x08)), 0x01))
                                Return (0x03)
                            }

                            Store (CURF, FIDV)
                            Store (0x03, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x01, CCAQ)
                            Store (0x0C, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x01, FVCM)
                            Store (0x01, SMIS)
                            Store (0xAB, SMIC)
                            Store (Add (Arg1, ShiftLeft (MAXV, 0x01)), OVID)
                            Store (0x0B, SMIS)
                            Store (0xAB, SMIC)
                            Store (ShiftRight (Add (Arg1, ShiftLeft (MAXV, 0x01)), 0x01), VIDV)
                            Store (0x04, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x03, Index (DerefOf (Index (OCST, 0x08)), 0x01))
                            Return (0x03)
                        }

                        Store (DerefOf (Index (OC0A, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
                                Return (0x01)
                            }

                            If (LEqual (Arg1, DDRV))
                            {
                                Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
                                Return (0x01)
                            }

                            Store (Arg1, DDRV)
                            Store (0x08, SMIS)
                            Store (0xAB, SMIC)
                            Store (DerefOf (Index (DDRT, Arg1)), QDDR)
                            Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
                            Return (0x01)
                        }

                        Store (DerefOf (Index (OC0B, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                If (LNot (LEqual (Arg1, AITU)))
                                {
                                    Store (0x03, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
                                    Return (0x03)
                                }

                                Store (0x01, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
                                Return (0x01)
                            }

                            If (LNot (LEqual (Arg1, AITU)))
                            {
                                Store (Arg1, AITU)
                                Store (0x02, SMIS)
                                Store (0xAB, SMIC)
                                Store (0x03, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
                                Return (0x03)
                            }

                            Store (Arg1, AITU)
                            Store (0x02, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x01, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
                            Return (0x01)
                        }

                        Store (DerefOf (Index (OC0C, 0x00)), Local1)
                        If (LEqual (Arg0, Local1))
                        {
                            If (LEqual (Arg2, 0x00))
                            {
                                If (LEqual (Arg1, CCAQ))
                                {
                                    Store (0x01, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
                                    Return (0x01)
                                }

                                Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
                                Return (0x03)
                            }

                            If (LEqual (Arg1, CCAQ))
                            {
                                Store (0x01, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
                                Return (0x01)
                            }

                            Store (Arg1, CCAQ)
                            Store (0x09, SMIS)
                            Store (0xAB, SMIC)
                            Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
                            Return (0x03)
                        }
                    }

                    Method (GETM, 1, NotSerialized)
                    {
                        Multiply (Add (Arg0, 0x01), 0x03E8, Local0)
                        Store (0xFFFF, Local6)
                        Store (0x10, Local1)
                        While (LNot (LGreater (Local1, 0x80)))
                        {
                            Store (0x10, Local2)
                            While (LNot (LGreater (Local2, 0x80)))
                            {
                                Store (Divide (Multiply (Local2, 0x0005E9AC), Multiply (Local1, 0x04), ), Local3)
                                Multiply (Local3, 0x02, Local3)
                                If (LGreater (Local3, Local0))
                                {
                                    Store (Subtract (Local3, Local0), Local3)
                                }
                                Else
                                {
                                    Store (Subtract (Local0, Local3), Local3)
                                }

                                If (LLess (Local3, Local6))
                                {
                                    Store (Local1, Local4)
                                    Store (Local2, Local5)
                                    Store (Local3, Local6)
                                }

                                Increment (Local2)
                            }

                            Increment (Local1)
                        }

                        ShiftLeft (Local5, 0x08, Local1)
                        Or (Local1, Local4, Local6)
                        And (Local6, 0xFFFF, Local6)
                        Return (Local6)
                    }
                }

                Device (\_SB.PCI0.PCIE)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x11)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly, 0xE0000000, 0x10000000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, 0x04, BAS1)
                        CreateDWordField (CRS, 0x08, LEN1)
                        Store (\PCIB, BAS1)
                        Store (\PCIL, LEN1)
                        Return (CRS)
                    }
                }

                Scope (\_PR)
                {
                    Processor (CPU1, 0x01, 0x00005010, 0x06)
                    {
                        Name (APCT, Package (0x02)
                        {
                            ResourceTemplate ()
                            {
                                Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
                            }, 

                            ResourceTemplate ()
                            {
                                Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
                            }
                        })
                        Name (APSS, Package (0x0A)
                        {
                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }
                        })
                        Method (APPC, 0, NotSerialized)
                        {
                            Return (0x00)
                        }
                    }

                    Processor (CPU2, 0x02, 0x00000000, 0x00)
                    {
                        Name (APCT, Package (0x02)
                        {
                            ResourceTemplate ()
                            {
                                Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
                            }, 

                            ResourceTemplate ()
                            {
                                Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
                            }
                        })
                        Name (APSS, Package (0x0A)
                        {
                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }, 

                            Package (0x06)
                            {
                                0x09999999, 
                                0x00099999, 
                                0x00999999, 
                                0x00999999, 
                                0x99999999, 
                                0x99999999
                            }
                        })
                        Method (APPC, 0, NotSerialized)
                        {
                            Return (0x00)
                        }
                    }
                }

                Device (OMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x00)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (APIC)
                        {
                            CreateDWordField (CRS, 0x08, ML01)
                            CreateDWordField (CRS, 0x04, MB01)
                            CreateDWordField (CRS, 0x14, ML02)
                            CreateDWordField (CRS, 0x10, MB02)
                            Store (0xFEC00000, MB01)
                            Store (0x1000, ML01)
                            Store (0xFEE00000, MB02)
                            Store (0x1000, ML02)
                        }

                        Return (CRS)
                    }
                }

                Device (\_SB.RMEM)
                {
                    Name (_HID, EisaId ("PNP0C01"))
                    Name (_UID, 0x01)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                        Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
                        Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, 0x10, BAS1)
                        CreateDWordField (CRS, 0x14, LEN1)
                        CreateDWordField (CRS, 0x1C, BAS2)
                        CreateDWordField (CRS, 0x20, LEN2)
                        CreateDWordField (CRS, 0x2C, LEN3)
                        CreateDWordField (CRS, 0x34, BAS4)
                        CreateDWordField (CRS, 0x38, LEN4)
                        If (OSFL ()) {}
                        Else
                        {
                            If (MG1B)
                            {
                                If (LGreater (MG1B, 0x000C0000))
                                {
                                    Store (0x000C0000, BAS1)
                                    Subtract (MG1B, BAS1, LEN1)
                                }
                            }
                            Else
                            {
                                Store (0x000C0000, BAS1)
                                Store (0x00020000, LEN1)
                            }

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

                        Subtract (MG2B, 0x00100000, LEN3)
                        Add (MG2B, MG2L, BAS4)
                        Subtract (0x00, BAS4, LEN4)
                        Return (CRS)
                    }
                }

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

                        Return (0x00)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        IRQNoFlags () {1}
                    })
                }

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

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

                        Return (0x00)
                    }

                    Name (CRS1, ResourceTemplate ()
                    {
                        IRQNoFlags () {12}
                    })
                    Name (CRS2, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        IRQNoFlags () {12}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        ShiftLeft (0x01, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (CRS1)
                        }
                        Else
                        {
                            Return (CRS2)
                        }
                    }
                }

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

                Device (UAR1)
                {
                    Name (_UID, 0x01)
                    Method (_HID, 0, NotSerialized)
                    {
                        Return (UHID (0x00))
                    }

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

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

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (DCRS (0x00, 0x01))
                    }

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

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

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

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

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

                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0)))
                        {
                            CreateWordField (CRS, 0x02, GP10)
                            CreateWordField (CRS, 0x04, GP11)
                            CreateByteField (CRS, 0x07, GPL1)
                            Store (SPIO, GP10)
                            Store (SPIO, GP11)
                            Store (0x02, GPL1)
                        }

                        If (IOPB)
                        {
                            CreateWordField (CRS, 0x0A, GP20)
                            CreateWordField (CRS, 0x0C, GP21)
                            CreateByteField (CRS, 0x0F, GPL2)
                            Store (IOPB, GP20)
                            Store (IOPB, GP21)
                            Store (IOPL, GPL2)
                        }

                        If (IOEB)
                        {
                            CreateWordField (CRS, 0x12, GP30)
                            CreateWordField (CRS, 0x14, GP31)
                            CreateByteField (CRS, 0x17, GPL3)
                            Store (IOEB, GP30)
                            Store (IOEB, GP31)
                            Store (IOEL, GPL3)
                        }

                        If (IOGB)
                        {
                            CreateWordField (CRS, 0x1A, GP40)
                            CreateWordField (CRS, 0x1C, GP41)
                            CreateByteField (CRS, 0x1F, GPL4)
                            Store (IOGB, GP40)
                            Store (IOGB, GP41)
                            Store (IOGL, GPL4)
                        }

                        If (IODB)
                        {
                            CreateWordField (CRS, 0x22, GP50)
                            CreateWordField (CRS, 0x24, GP51)
                            CreateByteField (CRS, 0x27, GPL5)
                            Store (IODB, GP50)
                            Store (IODB, GP51)
                            Store (IODL, GPL5)
                        }

                        Return (CRS)
                    }
                }

                Name (DCAT, Package (0x16)
                {
                    0x01, 
                    0x02, 
                    0x03, 
                    0x00, 
                    0xFF, 
                    0x08, 
                    0xFF, 
                    0xFF, 
                    0x09, 
                    0xFF, 
                    0x05, 
                    0x04, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0x0A, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF
                })
                Name (IKEY, Package (0x02)
                {
                    Package (0x04)
                    {
                        0x87, 
                        0x01, 
                        0x55, 
                        0x55
                    }, 

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

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

                    Store (0x00, Local0)
                    While (LNot (LEqual (Local0, 0x04)))
                    {
                        Store (DerefOf (Index (DerefOf (Index (IKEY, Local1)), Local0)), INDX)
                        Increment (Local0)
                    }

                    Store (Arg0, LDN)
                }

                Method (ENTR, 0, NotSerialized)
                {
                    Store (0x87, INDX)
                    Store (0x01, INDX)
                    Store (0x55, INDX)
                    If (LEqual (SPIO, 0x2E))
                    {
                        Store (0x55, INDX)
                    }
                    Else
                    {
                        Store (0xAA, INDX)
                    }
                }

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

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

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

                    Return (0x0105D041)
                }

                Method (ORF0, 1, NotSerialized)
                {
                    ENTR ()
                    Or (OPT0, Arg0, OPT0)
                    EXFG ()
                }

                Method (ORF1, 1, NotSerialized)
                {
                    ENTR ()
                    Or (OPT1, Arg0, OPT1)
                    EXFG ()
                }

                Method (ORF2, 1, NotSerialized)
                {
                    ENTR ()
                    Or (OPT2, Arg0, OPT2)
                    EXFG ()
                }

                Method (ANF0, 1, NotSerialized)
                {
                    ENTR ()
                    And (OPT0, Arg0, OPT0)
                    EXFG ()
                }

                Method (ANF2, 1, NotSerialized)
                {
                    ENTR ()
                    And (OPT2, Arg0, OPT2)
                    EXFG ()
                }

                Method (ANF4, 1, NotSerialized)
                {
                    ENTR ()
                    And (OPT4, Arg0, OPT4)
                    EXFG ()
                }

                Method (STF0, 1, NotSerialized)
                {
                    ENTR ()
                    Store (Arg0, OPT0)
                    EXFG ()
                }

                Method (STF1, 1, NotSerialized)
                {
                    ENTR ()
                    Store (Arg0, OPT1)
                    EXFG ()
                }

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

                        If (MSFG)
                        {
                            ORF0 (0x10)
                        }
                        Else
                        {
                            ANF0 (0xEF)
                            ENFG (0x06)
                            Store (0x00, ACTR)
                            EXFG ()
                        }

                        ENFG (0x04)
                        ANF2 (0xF0)
                        ENFG (0x07)
                        And (OPF9, 0xFE, OPF9)
                        And (OPC0, 0xFE, OPC0)
                        And (OPC3, 0xFE, OPC3)
                        And (OP29, 0xEF, OP29)
                        EXFG ()
                    }
                    Else
                    {
                        ENFG (0x07)
                        And (OPC0, 0x00, OPC0)
                        Or (OPC0, 0x01, OPC0)
                        And (OPC3, 0x00, OPC3)
                        Or (OPC3, 0x01, OPC3)
                        Or (OPF9, 0x01, OPF9)
                        And (OP29, 0xEF, OP29)
                        EXFG ()
                    }
                }

                Method (SIOW, 1, NotSerialized)
                {
                    Store (0x01, GP10)
                    Store (0x01, GP40)
                    Store ("SIOW", Debug)
                    ENFG (0x04)
                    Store (0x00, ACTR)
                    EXFG ()
                    STF0 (0x00)
                    STF1 (0xFF)
                    ENFG (0x07)
                    Or (OP29, 0x10, OP29)
                    Or (OPC0, 0x01, OPC0)
                    Or (OPC3, 0x01, OPC3)
                    EXFG ()
                    ENFG (0x05)
                    Or (ACTR, 0x01, ACTR)
                    EXFG ()
                    ENFG (0x06)
                    Or (ACTR, 0x01, ACTR)
                    EXFG ()
                    ENFG (0x04)
                    Store (0x01, ACTR)
                    EXFG ()
                }

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

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

                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x07), 
                    LDN,    8, 
                    Offset (0x29), 
                    OP29,   8, 
                    Offset (0x30), 
                    ACTR,   8, 
                    Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    IOH2,   8, 
                    IOL2,   8, 
                    Offset (0x70), 
                    INTR,   8, 
                    Offset (0x74), 
                    DMCH,   8, 
                    Offset (0xC0), 
                    OPC0,   8, 
                    OPC1,   8, 
                    OPC2,   8, 
                    OPC3,   8, 
                    Offset (0xF0), 
                    OPT0,   8, 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8, 
                    OPT4,   8, 
                    Offset (0xF8), 
                    OPF8,   8, 
                    OPF9,   8, 
                    OPFA,   8, 
                    OPFB,   8
                }

                Method (PS2K._PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x01, KBFG)
                    }
                    Else
                    {
                        Store (0x00, KBFG)
                    }
                }

                Method (PS2M._PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (0x01, MSFG)
                    }
                    Else
                    {
                        Store (0x00, MSFG)
                    }
                }

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

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

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

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

                    Store (Arg1, ACTR)
                    EXFG ()
                }

                Name (CRS1, ResourceTemplate ()
                {
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                    IRQNoFlags () {}
                    DMA (Compatibility, NotBusMaster, Transfer8) {}
                })
                CreateWordField (CRS1, 0x09, IRQM)
                CreateByteField (CRS1, 0x0C, DMAM)
                CreateWordField (CRS1, 0x02, IO11)
                CreateWordField (CRS1, 0x04, IO12)
                CreateByteField (CRS1, 0x07, LEN1)
                Name (CRS2, ResourceTemplate ()
                {
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                    IRQNoFlags () {6}
                    DMA (Compatibility, NotBusMaster, Transfer8) {2}
                })
                CreateWordField (CRS2, 0x11, IRQE)
                CreateByteField (CRS2, 0x14, DMAE)
                CreateWordField (CRS2, 0x02, IO21)
                CreateWordField (CRS2, 0x04, IO22)
                CreateByteField (CRS2, 0x07, LEN2)
                CreateWordField (CRS2, 0x0A, IO31)
                CreateWordField (CRS2, 0x0C, IO32)
                CreateByteField (CRS2, 0x0F, LEN3)
                Method (DCRS, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, IO11)
                    Or (IOAL, IO11, IO11)
                    Store (IO11, IO12)
                    Subtract (FindSetRightBit (IO11), 0x01, Local0)
                    ShiftLeft (0x01, Local0, LEN1)
                    If (INTR)
                    {
                        ShiftLeft (0x01, INTR, IRQM)
                    }
                    Else
                    {
                        Store (0x00, IRQM)
                    }

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

                    EXFG ()
                    Return (CRS1)
                }

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

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

                    EXFG ()
                    DCNT (Arg1, 0x01)
                }

                OperationRegion (GPIO, SystemIO, IO1B, 0x04)
                Field (GPIO, ByteAcc, NoLock, Preserve)
                {
                    GP10,   1, 
                    GP11,   1, 
                    GP12,   1, 
                    GP13,   1, 
                    GO14,   1, 
                    GO15,   1, 
                    GO16,   1, 
                    GO17,   1, 
                    GP20,   1, 
                    GP21,   1, 
                    GP22,   1, 
                    GP23,   1, 
                    GO24,   1, 
                    GO25,   1, 
                    GO26,   1, 
                    GO27,   1, 
                    GP30,   1, 
                    GP31,   1, 
                    GP32,   1, 
                    GP33,   1, 
                    GO34,   1, 
                    GO35,   1, 
                    GO36,   1, 
                    GO37,   1, 
                    GP40,   1, 
                    GP41,   1, 
                    GP42,   1, 
                    GP43,   1, 
                    GO44,   1, 
                    GO45,   1, 
                    GO46,   1, 
                    GO47,   1
                }
            }

            Device (NSMB)
            {
                Name (_ADR, 0x000A0001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x09, 0x04))
                }
            }

            Device (USB0)
            {
                Name (_ADR, 0x000B0000)
                Name (_S1D, 0x01)
                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

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

            Device (USB2)
            {
                Name (_ADR, 0x000B0001)
                Name (_S1D, 0x01)
                Method (_S3D, 0, NotSerialized)
                {
                    If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                    {
                        Return (0x02)
                    }
                    Else
                    {
                        Return (0x03)
                    }
                }

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

            Device (NMAC)
            {
                Name (_ADR, 0x00130000)
                Name (_PRW, Package (0x02)
                {
                    0x0B, 
                    0x05
                })
                Scope (\_GPE)
                {
                    Method (_L0B, 0, NotSerialized)
                    {
                        Notify (\_SB.PCI0.NMAC, 0x02)
                        Notify (\_SB.PWRB, 0x02)
                    }
                }
            }

            Device (IDE0)
            {
                Name (_ADR, 0x000F0000)
                Name (PTS0, 0x00)
                Name (SID0, 0x00)
                Name (SID1, 0x00)
                Name (SID2, 0x00)
                Name (SID3, 0x00)
                Name (SID4, 0x00)
                Name (SID5, 0x00)
                OperationRegion (IRQM, SystemIO, 0x21, 0x01)
                Field (IRQM, ByteAcc, NoLock, Preserve)
                {
                    IR0M,   1
                }

                Name (REGF, 0x01)
                Method (_REG, 2, NotSerialized)
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Arg1, REGF)
                    }
                }

                OperationRegion (A090, PCI_Config, 0x50, 0x18)
                Field (A090, DWordAcc, NoLock, Preserve)
                {
                    ID20,   16, 
                    Offset (0x08), 
                    IDTS,   16, 
                    IDTP,   16, 
                    ID22,   32, 
                    UMSS,   16, 
                    UMSP,   16
                }

                Name (TIM0, Package (0x07)
                {
                    Package (0x05)
                    {
                        0x3C, 
                        0x78, 
                        0xB4, 
                        0xF0, 
                        0x0384
                    }, 

                    Package (0x05)
                    {
                        0x11, 
                        0x20, 
                        0x22, 
                        0x47, 
                        0xA8
                    }, 

                    Package (0x07)
                    {
                        0x78, 
                        0x5A, 
                        0x3C, 
                        0x2D, 
                        0x1E, 
                        0x14, 
                        0x0F
                    }, 

                    Package (0x05)
                    {
                        0x05, 
                        0x04, 
                        0x03, 
                        0x02, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00
                    }, 

                    Package (0x08)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00, 
                        0x03, 
                        0x04, 
                        0x05, 
                        0x06
                    }, 

                    Package (0x07)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x04, 
                        0x05, 
                        0x06, 
                        0x07
                    }
                })
                Name (TMD0, Buffer (0x14) {})
                CreateDWordField (TMD0, 0x00, PIO0)
                CreateDWordField (TMD0, 0x04, DMA0)
                CreateDWordField (TMD0, 0x08, PIO1)
                CreateDWordField (TMD0, 0x0C, DMA1)
                CreateDWordField (TMD0, 0x10, CHNF)
                OperationRegion (CFG2, PCI_Config, 0x58, 0x0C)
                Field (CFG2, DWordAcc, NoLock, Preserve)
                {
                    SSPT,   8, 
                    SMPT,   8, 
                    PSPT,   8, 
                    PMPT,   8, 
                    SSAS,   2, 
                    SMAS,   2, 
                    PSAS,   2, 
                    PMAS,   2, 
                    Offset (0x06), 
                    SDDR,   4, 
                    SDDA,   4, 
                    PDDR,   4, 
                    PDDA,   4, 
                    SSUT,   3, 
                        ,   3, 
                    SSUE,   2, 
                    SMUT,   3, 
                        ,   3, 
                    SMUE,   2, 
                    PSUT,   3, 
                        ,   3, 
                    PSUE,   2, 
                    PMUT,   3, 
                        ,   3, 
                    PMUE,   2
                }

                Name (GMPT, 0x00)
                Name (GMUE, 0x00)
                Name (GMUT, 0x00)
                Name (GSPT, 0x00)
                Name (GSUE, 0x00)
                Name (GSUT, 0x00)
                Device (CHN0)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Store ("GTM_CHN0", Debug)
                        Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store ("STM_CHN0", Debug)
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        Store (PMPT, GMPT)
                        Store (PMUE, GMUE)
                        Store (PMUT, GMUT)
                        Store (PSPT, GSPT)
                        Store (PSUE, GSUE)
                        Store (PSUT, GSUT)
                        STM ()
                        Store (GMPT, PMPT)
                        Store (GMUE, PMUE)
                        Store (GMUT, PMUT)
                        Store (GSPT, PSPT)
                        Store (GSUE, PSUE)
                        Store (GSUT, PSUT)
                        Store (GTF (0x00, Arg1), ATA0)
                        Store (GTF (0x01, Arg2), ATA1)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store ("_GTF_CHN0_DRV0", Debug)
                            Return (RATA (ATA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store ("_GTF_CHN0_DRV1", Debug)
                            Return (RATA (ATA1))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, 0x01)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Store ("GTM_CHN1", Debug)
                        Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        Store (SMPT, GMPT)
                        Store (SMUE, GMUE)
                        Store (SMUT, GMUT)
                        Store (SSPT, GSPT)
                        Store (SSUE, GSUE)
                        Store (SSUT, GSUT)
                        STM ()
                        Store (GMPT, SMPT)
                        Store (GMUE, SMUE)
                        Store (GMUT, SMUT)
                        Store (GSPT, SSPT)
                        Store (GSUE, SSUE)
                        Store (GSUT, SSUT)
                        Store (GTF (0x00, Arg1), ATA2)
                        Store (GTF (0x01, Arg2), ATA3)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store ("_GTF_CHN1_DRV0", Debug)
                            Return (RATA (ATA2))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store ("_GTF_CHN1_DRV1", Debug)
                            Return (RATA (ATA3))
                        }
                    }
                }

                Method (DRMP, 0, NotSerialized)
                {
                    ShiftRight (CPB0, 0x04, Local1)
                    And (Local1, 0x0F, Local0)
                    Return (Local0)
                }

                Method (GTM, 6, Serialized)
                {
                    Store (Ones, PIO0)
                    Store (Ones, PIO1)
                    Store (Ones, DMA0)
                    Store (Ones, DMA1)
                    Store (0x10, CHNF)
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    If (LEqual (PTS0, 0x01))
                    {
                        If (OSFL ())
                        {
                            Store (0x01, IR0M)
                        }
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA0)
                    Store (Local7, PIO0)
                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA1)
                    Store (Local7, PIO1)
                    If (Arg1)
                    {
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), Local5)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)), DMA0)
                        Or (CHNF, 0x01, CHNF)
                    }

                    If (Arg4)
                    {
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg5)), Local5)
                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)), DMA1)
                        Or (CHNF, 0x04, CHNF)
                    }

                    Store (TMD0, Debug)
                    Return (TMD0)
                }

                Method (STM, 0, Serialized)
                {
                    If (REGF) {}
                    Else
                    {
                        Return (0x00)
                    }

                    If (PTS0)
                    {
                        Store (SID0, ID20)
                        Store (SID1, IDTS)
                        Store (SID2, IDTP)
                        Store (SID3, ID22)
                        Store (SID4, UMSS)
                        Store (SID5, UMSP)
                    }
                    Else
                    {
                        Store (ID20, SID0)
                        Store (IDTS, SID1)
                        Store (IDTP, SID2)
                        Store (ID22, SID3)
                        Store (UMSS, SID4)
                        Store (UMSP, SID5)
                    }

                    Store (0x00, PTS0)
                    Store (0x00, GMUE)
                    Store (0x00, GMUT)
                    Store (0x00, GSUE)
                    Store (0x00, GSUT)
                    If (And (CHNF, 0x01))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
                        If (LGreater (Local0, 0x06))
                        {
                            Store (0x06, Local0)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GMUT)
                        Or (GMUE, 0x03, GMUE)
                    }
                    Else
                    {
                        If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
                        {
                            If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
                            {
                                Store (DMA0, PIO0)
                            }
                        }
                    }

                    If (And (CHNF, 0x04))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
                        If (LGreater (Local0, 0x06))
                        {
                            Store (0x06, Local0)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GSUT)
                        Or (GSUE, 0x03, GSUE)
                    }
                    Else
                    {
                        If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
                        {
                            If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
                            {
                                Store (DMA1, PIO1)
                            }
                        }
                    }

                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x07, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GMPT)
                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x07, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GSPT)
                    Return (0x00)
                }

                Name (AT01, Buffer (0x07)
                {
                    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                })
                Name (AT02, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
                })
                Name (AT03, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                })
                Name (AT04, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
                })
                Name (ATA0, Buffer (0x1D) {})
                Name (ATA1, Buffer (0x1D) {})
                Name (ATA2, Buffer (0x1D) {})
                Name (ATA3, Buffer (0x1D) {})
                Name (ATAB, Buffer (0x1D) {})
                CreateByteField (ATAB, 0x00, CMDC)
                Method (GTFB, 3, Serialized)
                {
                    Multiply (CMDC, 0x38, Local0)
                    Add (Local0, 0x08, Local1)
                    CreateField (ATAB, Local1, 0x38, CMDX)
                    Multiply (CMDC, 0x07, Local0)
                    CreateByteField (ATAB, Add (Local0, 0x02), A001)
                    CreateByteField (ATAB, Add (Local0, 0x06), A005)
                    Store (Arg0, CMDX)
                    Store (Arg1, A001)
                    Store (Arg2, A005)
                    Increment (CMDC)
                }

                Method (GTF, 2, Serialized)
                {
                    Store ("GTF_Entry", Debug)
                    Store (Arg1, Debug)
                    Store (0x00, CMDC)
                    Name (ID49, 0x0C00)
                    Name (ID59, 0x00)
                    Name (ID53, 0x04)
                    Name (ID63, 0x0F00)
                    Name (ID88, 0x0F00)
                    Name (IRDY, 0x01)
                    Name (PIOT, 0x00)
                    Name (DMAT, 0x00)
                    If (LEqual (SizeOf (Arg1), 0x0200))
                    {
                        CreateWordField (Arg1, 0x62, IW49)
                        Store (IW49, ID49)
                        CreateWordField (Arg1, 0x6A, IW53)
                        Store (IW53, ID53)
                        CreateWordField (Arg1, 0x7E, IW63)
                        Store (IW63, ID63)
                        CreateWordField (Arg1, 0x76, IW59)
                        Store (IW59, ID59)
                        CreateWordField (Arg1, 0xB0, IW88)
                        Store (IW88, ID88)
                    }

                    Store (0xA0, Local7)
                    If (Arg0)
                    {
                        Store (0xB0, Local7)
                        And (CHNF, 0x08, IRDY)
                        If (And (CHNF, 0x10))
                        {
                            Store (PIO1, PIOT)
                        }
                        Else
                        {
                            Store (PIO0, PIOT)
                        }

                        If (And (CHNF, 0x04))
                        {
                            If (And (CHNF, 0x10))
                            {
                                Store (DMA1, DMAT)
                            }
                            Else
                            {
                                Store (DMA0, DMAT)
                            }
                        }
                    }
                    Else
                    {
                        And (CHNF, 0x02, IRDY)
                        Store (PIO0, PIOT)
                        If (And (CHNF, 0x01))
                        {
                            Store (DMA0, DMAT)
                        }
                    }

                    If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMAT, MTR, 0x00, 0x00), Local1)
                        If (LGreater (Local1, 0x06))
                        {
                            Store (0x06, Local1)
                        }

                        GTFB (AT01, Or (0x40, Local1), Local7)
                    }
                    Else
                    {
                        If (LAnd (And (ID63, 0xFF00), PIOT))
                        {
                            And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)
                            Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), Local1)
                            GTFB (AT01, Local1, Local7)
                        }
                    }

                    If (IRDY)
                    {
                        And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x07, Local0)
                        Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), Local1)
                        GTFB (AT01, Local1, Local7)
                    }
                    Else
                    {
                        If (And (ID49, 0x0400))
                        {
                            GTFB (AT01, 0x01, Local7)
                        }
                    }

                    If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                    {
                        GTFB (AT03, And (ID59, 0xFF), Local7)
                    }

                    Store ("ATAB_GTF", Debug)
                    Store (ATAB, Debug)
                    Return (ATAB)
                }

                Method (RATA, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x00, CMDN)
                    Multiply (CMDN, 0x38, Local0)
                    CreateField (Arg0, 0x08, Local0, RETB)
                    Store (RETB, Debug)
                    Return (RETB)
                }
            }

            Device (ATA0)
            {
                Name (_ADR, 0x00100000)
                Device (PRI0)
                {
                    Name (_ADR, 0x00)
                    Name (SPTM, Buffer (0x14)
                    {
                        0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0x13, 0x00, 0x00, 0x00
                    })
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (SPTM)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, SPTM)
                    }

                    Device (MAST)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store (Buffer (0x07)
                                {
                                    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                }, Local0)
                            Return (Local0)
                        }
                    }
                }

                Device (SEC0)
                {
                    Name (_ADR, 0x01)
                    Name (SSTM, Buffer (0x14)
                    {
                        0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0x13, 0x00, 0x00, 0x00
                    })
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (SSTM)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, SSTM)
                    }

                    Device (MAST)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store (Buffer (0x07)
                                {
                                    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                }, Local0)
                            Return (Local0)
                        }
                    }
                }

                Method (DRMP, 0, NotSerialized)
                {
                    Store (0x0C, Local0)
                    If (LEqual (_ADR, 0x00100000))
                    {
                        Store (0x08, Local0)
                    }

                    ShiftRight (CPB0, Local0, Local1)
                    And (Local1, 0x0F, Local0)
                    Return (Local0)
                }
            }

            Device (ATA1)
            {
                Name (_ADR, 0x00110000)
                Device (PRI0)
                {
                    Name (_ADR, 0x00)
                    Name (SPTM, Buffer (0x14)
                    {
                        0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0x13, 0x00, 0x00, 0x00
                    })
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (SPTM)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, SPTM)
                    }

                    Device (MAST)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store (Buffer (0x07)
                                {
                                    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                }, Local0)
                            Return (Local0)
                        }
                    }
                }

                Device (SEC0)
                {
                    Name (_ADR, 0x01)
                    Name (SSTM, Buffer (0x14)
                    {
                        0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 
                        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                        0x13, 0x00, 0x00, 0x00
                    })
                    Method (_GTM, 0, NotSerialized)
                    {
                        Return (SSTM)
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, SSTM)
                    }

                    Device (MAST)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Store (Buffer (0x07)
                                {
                                    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                }, Local0)
                            Return (Local0)
                        }
                    }
                }

                Method (DRMP, 0, NotSerialized)
                {
                    Store (0x0C, Local0)
                    If (LEqual (_ADR, 0x00100000))
                    {
                        Store (0x08, Local0)
                    }

                    ShiftRight (CPB0, Local0, Local1)
                    And (Local1, 0x0F, Local0)
                    Return (Local0)
                }
            }

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

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

                    Return (PR01)
                }
            }

            Device (MC97)
            {
                Name (_ADR, 0x000D0001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x07, 0x04))
                }
            }

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

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

                    Return (PR02)
                }
            }

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

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

                    Return (PR03)
                }
            }

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

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

                    Return (PR04)
                }
            }

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

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

                    Return (PR05)
                }
            }

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

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

                    Return (PR06)
                }
            }

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

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

                    Return (PR07)
                }
            }
        }

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

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

            Method (_L09, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.NSMB, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0D, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB0, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L05, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB2, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L00, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PB2P, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L07, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.MC97, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L11, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PCE0, 0x02)
                Notify (\_SB.PCI0.PCE1, 0x02)
                Notify (\_SB.PCI0.PCE2, 0x02)
                Notify (\_SB.PCI0.PCE3, 0x02)
                Notify (\_SB.PCI0.PCE4, 0x02)
                Notify (\_SB.PCI0.PCE5, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }
        }

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

    OperationRegion (\_SB.PCI0.SBRG.PIMC, PCI_Config, 0x7C, 0x0C)
    Field (\_SB.PCI0.SBRG.PIMC, ByteAcc, NoLock, Preserve)
    {
        PIRA,   4, 
        PIRB,   4, 
        PIRC,   4, 
        PIRD,   4, 
            ,   4, 
        PIRF,   4, 
        PIRG,   4, 
        Offset (0x05), 
        PIRM,   4, 
        PIU2,   4, 
        Offset (0x07), 
        SIID,   4, 
        PIID,   4, 
        PIU0,   4, 
        Offset (0x09), 
        PILN,   4, 
        Offset (0x0A), 
        PAUI,   4, 
        PIMO,   4, 
        PR0E,   4, 
        PR0F,   4
    }

    Scope (\_SB)
    {
        Name (BUFA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared) {15}
        })
        CreateWordField (BUFA, 0x01, ICRS)
        Method (LSTA, 1, NotSerialized)
        {
            If (Arg0)
            {
                Return (0x0B)
            }
            Else
            {
                Return (0x09)
            }
        }

        Method (LPRS, 2, NotSerialized)
        {
            If (PICM)
            {
                Return (Arg1)
            }
            Else
            {
                Return (Arg0)
            }
        }

        Method (LCRS, 1, NotSerialized)
        {
            If (PICM)
            {
                Name (BUFB, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                    {
                        0x00000011,
                    }
                })
                CreateByteField (BUFB, 0x05, AIRQ)
                Store (Arg0, AIRQ)
                If (LEqual (Arg0, 0x01))
                {
                    Store (0x11, AIRQ)
                }

                If (LEqual (Arg0, 0x02))
                {
                    Store (0x12, AIRQ)
                }

                If (LEqual (Arg0, 0x08))
                {
                    Store (0x10, AIRQ)
                }

                If (LEqual (Arg0, 0x0D))
                {
                    Store (0x13, AIRQ)
                }

                Return (BUFB)
            }
            Else
            {
                ShiftLeft (0x01, Arg0, ICRS)
                Return (BUFA)
            }
        }

        Method (LCRO, 1, NotSerialized)
        {
            If (PICM)
            {
                Name (BUFB, ResourceTemplate ()
                {
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
                    {
                        0x00000014,
                    }
                })
                CreateByteField (BUFB, 0x05, AIRQ)
                Store (Arg0, AIRQ)
                If (LEqual (Arg0, 0x01))
                {
                    Store (0x17, AIRQ)
                }

                If (LEqual (Arg0, 0x02))
                {
                    Store (0x16, AIRQ)
                }

                If (LEqual (Arg0, 0x08))
                {
                    Store (0x14, AIRQ)
                }

                If (LEqual (Arg0, 0x0D))
                {
                    Store (0x15, AIRQ)
                }

                Return (BUFB)
            }
            Else
            {
                ShiftLeft (0x01, Arg0, ICRS)
                Return (BUFA)
            }
        }

        Method (LSRS, 1, NotSerialized)
        {
            If (PICM)
            {
                CreateByteField (Arg0, 0x05, SAIR)
                Store (SAIR, Local0)
                If (LEqual (Local0, 0x10))
                {
                    Store (0x08, Local0)
                }

                If (LEqual (Local0, 0x11))
                {
                    Store (0x01, Local0)
                }

                If (LEqual (Local0, 0x12))
                {
                    Store (0x02, Local0)
                }

                If (LEqual (Local0, 0x13))
                {
                    Store (0x0D, Local0)
                }

                Return (Local0)
            }
            Else
            {
                CreateWordField (Arg0, 0x01, ISRS)
                FindSetRightBit (ISRS, Local0)
                Return (Decrement (Local0))
            }
        }

        Method (LSRO, 1, NotSerialized)
        {
            If (PICM)
            {
                CreateByteField (Arg0, 0x05, SAIR)
                Store (SAIR, Local0)
                If (LEqual (Local0, 0x14))
                {
                    Store (0x08, Local0)
                }

                If (LEqual (Local0, 0x15))
                {
                    Store (0x0D, Local0)
                }

                If (LEqual (Local0, 0x16))
                {
                    Store (0x02, Local0)
                }

                If (LEqual (Local0, 0x17))
                {
                    Store (0x01, Local0)
                }

                Return (Local0)
            }
            Else
            {
                CreateWordField (Arg0, 0x01, ISRS)
                FindSetRightBit (ISRS, Local0)
                Return (Decrement (Local0))
            }
        }

        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x01)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PIRA))
            }

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

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

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRS (PIRA))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRS (Arg0), PIRA)
            }
        }

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

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

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

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRS (PIRB))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRS (Arg0), PIRB)
            }
        }

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

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

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

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRS (PIRC))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRS (Arg0), PIRC)
            }
        }

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

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

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

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRS (PIRD))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRS (Arg0), PIRD)
            }
        }

        Device (LUB0)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x05)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PIU0))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSB0, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PIU0)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PIU0))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PIU0)
            }
        }

        Device (LUB2)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x07)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PIU2))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSB2, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PIU2)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PIU2))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PIU2)
            }
        }

        Device (LMAC)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x08)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PILN))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSAC, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PILN)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PILN))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PILN)
            }
        }

        Device (LACI)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x09)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PAUI))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSCI, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PAUI)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PAUI))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PAUI)
            }
        }

        Device (LMC9)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x0A)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PIMO))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSC9, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PIMO)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PIMO))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PIMO)
            }
        }

        Device (LSMB)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x0B)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PIRM))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSMB, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PIRM)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PIRM))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PIRM)
            }
        }

        Device (LSA0)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x0C)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PIID))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSA0, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PIID)
                Store (0x00, PIRG)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (PIID))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), Local0)
                Store (Local0, PIID)
                Store (Local0, PIRG)
            }
        }

        Device (LSA1)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x0D)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (SIID))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSA1, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, SIID)
                Store (0x00, PIRF)
            }

            Method (_CRS, 0, NotSerialized)
            {
                Return (LCRO (SIID))
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), Local0)
                Store (Local0, SIID)
                Store (Local0, PIRF)
            }
        }

        Device (LATA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x0E)
            Method (_STA, 0, NotSerialized)
            {
                Return (LSTA (PR0E))
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (LPRS (RSTA, RSII))
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x00, PR0E)
                Store (0x00, PR0F)
            }

            Method (_CRS, 0, NotSerialized)
            {
                If (OSFL ())
                {
                    Return (0x00)
                }
                Else
                {
                    Return (LCRO (PR0E))
                }
            }

            Method (_SRS, 1, NotSerialized)
            {
                Store (LSRO (Arg0), PR0E)
                Store (LSRO (Arg0), PR0F)
            }
        }
    }

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

            Release (MUTE)
            Return (XCFG)
        }

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

            Release (MUTE)
            Return (XCFG)
        }

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

            Release (MUTE)
            Return (XCFG)
        }

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

            Store (Arg1, XCFG)
            Release (MUTE)
        }

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

            Store (Arg1, XCFG)
            Release (MUTE)
        }

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

            Store (Arg1, XCFG)
            Release (MUTE)
        }

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

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

        Method (RPME, 1, NotSerialized)
        {
            Add (Arg0, 0x84, Local0)
            Store (\_SB.RDPE (Local0), Local1)
            If (LEqual (Local1, 0xFFFFFFFF))
            {
                Return (0x00)
            }
            Else
            {
                If (LAnd (Local1, 0x00010000))
                {
                    \_SB.WDPE (Local0, And (Local1, 0x00010000))
                    Return (0x01)
                }

                Return (0x00)
            }
        }
    }

    Scope (\_SB.PCI0.SBRG.SIOR)
    {
        Device (IT87)
        {
            Name (_HID, EisaId ("PNP0C02"))
            Name (_UID, 0x00)
            Method (HWV0, 0, NotSerialized)
            {
                Return (Multiply (VIV0, 0x10))
            }

            Method (HWV1, 0, NotSerialized)
            {
                Return (Multiply (VIV1, 0x10))
            }

            Method (HWV2, 0, NotSerialized)
            {
                Return (Multiply (VIV2, 0x10))
            }

            Method (HWV3, 0, NotSerialized)
            {
                Return (Multiply (VIV3, 0x10))
            }

            Method (HWV4, 0, NotSerialized)
            {
                Return (Multiply (VIV4, 0x10))
            }

            Method (HWV5, 0, NotSerialized)
            {
                Return (Multiply (VIV5, 0x10))
            }

            Method (HWV6, 0, NotSerialized)
            {
                Return (Multiply (VIV6, 0x10))
            }

            Method (HWV7, 0, NotSerialized)
            {
                Return (Multiply (VIV7, 0x10))
            }

            Method (HWT1, 0, NotSerialized)
            {
                Store (TPI1, Local0)
                If (LGreater (Local0, 0x80))
                {
                    Subtract (0x0100, Local0, Local0)
                }

                Return (Multiply (Local0, 0x0A))
            }

            Method (HWT2, 0, NotSerialized)
            {
                Store (TPI2, Local0)
                If (LGreater (Local0, 0x80))
                {
                    Subtract (0x0100, Local0, Local0)
                }

                Return (Multiply (Local0, 0x0A))
            }

            Method (HWT3, 0, NotSerialized)
            {
                Store (TPI3, Local0)
                If (LGreater (Local0, 0x80))
                {
                    Subtract (0x0100, Local0, Local0)
                }

                Return (Multiply (Local0, 0x0A))
            }

            Method (HWF1, 0, NotSerialized)
            {
                And (ETDE, 0x01, Local0)
                While (0x01)
                {
                    ShiftLeft (0x01, FTD1, Local1)
                    If (LEqual (Local0, 0x01))
                    {
                        Add (Multiply (EFN1, 0x0100), FTC1, Local2)
                    }
                    Else
                    {
                        Store (FTC1, Local2)
                    }

                    If (LEqual (Local0, 0x01))
                    {
                        If (LNot (LLess (Local2, 0xF000)))
                        {
                            If (LNot (LEqual (Local1, 0x80)))
                            {
                                Add (FTD1, 0x01, FTD1)
                                Sleep (0x64)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            If (LNot (LGreater (Local2, 0x1000)))
                            {
                                If (LNot (LEqual (Local1, 0x01)))
                                {
                                    Subtract (FTD1, 0x01, FTD1)
                                    Sleep (0x64)
                                }
                                Else
                                {
                                    Return (0xFFFF)
                                }
                            }
                            Else
                            {
                                Divide (0x00149970, Multiply (Local1, Local2), , Local1)
                                Return (Local1)
                            }
                        }
                    }
                    Else
                    {
                        If (LNot (LLess (Local2, 0xF0)))
                        {
                            If (LNot (LEqual (Local1, 0x80)))
                            {
                                Add (FTD1, 0x01, FTD1)
                                Sleep (0x64)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            If (LNot (LGreater (Local2, 0x32)))
                            {
                                If (LNot (LEqual (Local1, 0x01)))
                                {
                                    Subtract (FTD1, 0x01, FTD1)
                                    Sleep (0x64)
                                }
                                Else
                                {
                                    Return (0xFFFF)
                                }
                            }
                            Else
                            {
                                Divide (0x00149970, Multiply (Local1, Local2), , Local1)
                                Return (Local1)
                            }
                        }
                    }
                }
            }

            Method (HWF2, 0, NotSerialized)
            {
                And (ETDE, 0x02, Local0)
                While (0x01)
                {
                    ShiftLeft (0x01, FTD2, Local1)
                    If (LEqual (Local0, 0x02))
                    {
                        Add (Multiply (EFN2, 0x0100), FTC2, Local2)
                    }
                    Else
                    {
                        Store (FTC2, Local2)
                    }

                    If (LEqual (Local0, 0x02))
                    {
                        If (LNot (LLess (Local2, 0xF000)))
                        {
                            If (LNot (LEqual (Local1, 0x80)))
                            {
                                Add (FTD2, 0x01, FTD2)
                                Sleep (0x64)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            If (LNot (LGreater (Local2, 0x1000)))
                            {
                                If (LNot (LEqual (Local1, 0x01)))
                                {
                                    Subtract (FTD2, 0x01, FTD2)
                                    Sleep (0x64)
                                }
                                Else
                                {
                                    Return (0xFFFF)
                                }
                            }
                            Else
                            {
                                Divide (0x00149970, Multiply (Local1, Local2), , Local1)
                                Return (Local1)
                            }
                        }
                    }
                    Else
                    {
                        If (LNot (LLess (Local2, 0xF0)))
                        {
                            If (LNot (LEqual (Local1, 0x80)))
                            {
                                Add (FTD2, 0x01, FTD2)
                                Sleep (0x64)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            If (LNot (LGreater (Local2, 0x32)))
                            {
                                If (LNot (LEqual (Local1, 0x01)))
                                {
                                    Subtract (FTD2, 0x01, FTD2)
                                    Sleep (0x64)
                                }
                                Else
                                {
                                    Return (0xFFFF)
                                }
                            }
                            Else
                            {
                                Divide (0x00149970, Multiply (Local1, Local2), , Local1)
                                Return (Local1)
                            }
                        }
                    }
                }
            }

            Method (HWF3, 0, NotSerialized)
            {
                And (ETDE, 0x04, Local0)
                While (0x01)
                {
                    If (LEqual (FTD3, 0x01))
                    {
                        Store (0x08, Local1)
                    }
                    Else
                    {
                        Store (0x02, Local1)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        Add (Multiply (EFN3, 0x0100), FTC3, Local2)
                    }
                    Else
                    {
                        Store (FTC3, Local2)
                    }

                    If (LEqual (Local0, 0x04))
                    {
                        If (LNot (LLess (Local2, 0xF000)))
                        {
                            If (LNot (LEqual (Local1, 0x08)))
                            {
                                Add (FTD3, 0x01, FTD3)
                                Sleep (0x64)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            If (LNot (LGreater (Local2, 0x1000)))
                            {
                                If (LNot (LEqual (Local1, 0x00)))
                                {
                                    Subtract (FTD3, 0x01, FTD3)
                                    Sleep (0x64)
                                }
                                Else
                                {
                                    Return (0xFFFF)
                                }
                            }
                            Else
                            {
                                Divide (0x00149970, Multiply (Local1, Local2), , Local1)
                                Return (Local1)
                            }
                        }
                    }
                    Else
                    {
                        If (LNot (LLess (Local2, 0xF0)))
                        {
                            If (LNot (LEqual (Local1, 0x08)))
                            {
                                Add (FTD3, 0x01, FTD3)
                                Sleep (0x64)
                            }
                            Else
                            {
                                Return (0x00)
                            }
                        }
                        Else
                        {
                            If (LNot (LGreater (Local2, 0x10)))
                            {
                                If (LNot (LEqual (Local1, 0x00)))
                                {
                                    Subtract (FTD3, 0x01, FTD3)
                                    Sleep (0x64)
                                }
                                Else
                                {
                                    Return (0xFFFF)
                                }
                            }
                            Else
                            {
                                Divide (0x00149970, Multiply (Local1, Local2), , Local1)
                                Return (Local1)
                            }
                        }
                    }
                }
            }

            OperationRegion (ECRE, SystemIO, IOEB, 0x20)
            Field (ECRE, ByteAcc, NoLock, Preserve)
            {
                Offset (0x05), 
                HIDX,   8, 
                HDAT,   8
            }

            IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
            {
                Offset (0x0B), 
                FTD1,   3, 
                FTD2,   3, 
                FTD3,   1, 
                Offset (0x0C), 
                ETDE,   8, 
                FTC1,   8, 
                FTC2,   8, 
                FTC3,   8, 
                Offset (0x18), 
                EFN1,   8, 
                EFN2,   8, 
                EFN3,   8, 
                Offset (0x20), 
                VIV0,   8, 
                VIV1,   8, 
                VIV2,   8, 
                VIV3,   8, 
                VIV4,   8, 
                VIV5,   8, 
                VIV6,   8, 
                VIV7,   8, 
                Offset (0x29), 
                TPI1,   8, 
                TPI2,   8, 
                TPI3,   8
            }
        }
    }

    Scope (\)
    {
        Field (\RAMW, ByteAcc, NoLock, Preserve)
        {
            Offset (0x20), 
            CPUQ,   8, 
            CPVL,   16, 
            CPVH,   16, 
            CPVC,   1
        }
    }

    Scope (\_SB.PCI0.SBRG.ASOC)
    {
        Name (CORV, Package (0x05)
        {
            0x06020000, 
            "Vcore Voltage", 
            0x0320, 
            0x0708, 
            0x01
        })
        Name (V3VV, Package (0x05)
        {
            0x06020001, 
            " +3.3 Voltage", 
            0x0B9A, 
            0x0E2E, 
            0x01
        })
        Name (V5VV, Package (0x05)
        {
            0x06020002, 
            " +5 Voltage", 
            0x1194, 
            0x157C, 
            0x01
        })
        Name (VV12, Package (0x05)
        {
            0x06020003, 
            " +12 Voltage", 
            0x27D8, 
            0x35E8, 
            0x01
        })
        Name (VPAR, Package (0x04)
        {
            Package (0x03)
            {
                0x00, 
                0x01, 
                0x00
            }, 

            Package (0x03)
            {
                0x00, 
                0x01, 
                0x00
            }, 

            Package (0x03)
            {
                0x22, 
                0x32, 
                0x00
            }, 

            Package (0x03)
            {
                0x0F, 
                0x05, 
                0x00
            }
        })
        Name (VBUF, Package (0x05)
        {
            0x04, 
            CORV, 
            V3VV, 
            V5VV, 
            VV12
        })
        Method (VGET, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x00))
            {
                Return (^^SIOR.IT87.HWV0 ())
            }

            If (LEqual (Arg0, 0x01))
            {
                Return (^^SIOR.IT87.HWV2 ())
            }

            If (LEqual (Arg0, 0x02))
            {
                Return (^^SIOR.IT87.HWV3 ())
            }

            If (LEqual (Arg0, 0x03))
            {
                Return (^^SIOR.IT87.HWV4 ())
            }
        }

        Name (CPUT, Package (0x05)
        {
            0x06030000, 
            "CPU Temperature", 
            0x0258, 
            0x03B6, 
            0x00010001
        })
        Name (MBTP, Package (0x05)
        {
            0x06030001, 
            "MB Temperature", 
            0x01C2, 
            0x03B6, 
            0x00010001
        })
        Name (TBUF, Package (0x03)
        {
            0x02, 
            CPUT, 
            MBTP
        })
        Method (TGET, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x00))
            {
                Return (^^SIOR.IT87.HWT1 ())
            }

            If (LEqual (Arg0, 0x01))
            {
                Return (^^SIOR.IT87.HWT2 ())
            }
        }

        Name (CPUF, Package (0x05)
        {
            0x06040000, 
            "CPU FAN Speed", 
            0x0320, 
            0x1C20, 
            0x00010001
        })
        Name (CHA1, Package (0x05)
        {
            0x06040001, 
            "CHASSIS FAN Speed", 
            0x0320, 
            0x1C20, 
            0x00010001
        })
        Name (PWRF, Package (0x05)
        {
            0x06040002, 
            "POWER FAN Speed", 
            0x0320, 
            0x1C20, 
            0x00010001
        })
        Name (FBUF, Package (0x04)
        {
            0x03, 
            CPUF, 
            CHA1, 
            PWRF
        })
        Method (FGET, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x00))
            {
                Return (^^SIOR.IT87.HWF1 ())
            }

            If (LEqual (Arg0, 0x01))
            {
                Return (^^SIOR.IT87.HWF2 ())
            }

            If (LEqual (Arg0, 0x02))
            {
                Return (^^SIOR.IT87.HWF3 ())
            }
        }

        Name (QBUF, Package (0x01)
        {
            0x00
        })
        Method (VSIF, 0, NotSerialized)
        {
            Return (VBUF)
        }

        Method (RVLT, 1, NotSerialized)
        {
            And (Arg0, 0xFFFF, Local0)
            Store (VGET (Local0), Local1)
            Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x00)), Local2)
            Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x01)), Local3)
            Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)), Local4)
            Multiply (Local1, Add (Local2, Local3), Local5)
            Divide (Local5, Local3, , Local5)
            Add (Local5, Local4, Local5)
            Return (Local5)
        }

        Method (SVLT, 1, NotSerialized)
        {
            And (DerefOf (Index (Arg0, 0x00)), 0xFFFF, Local0)
            Store (DerefOf (Index (VBUF, 0x00)), Local1)
            If (LNot (LLess (Local0, Local1)))
            {
                Return (0x00)
            }

            Increment (Local0)
            Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (VBUF, Local0)), 0x01))
            Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF, Local0)), 0x02))
            Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF, Local0)), 0x03))
            Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF, Local0)), 0x04))
            Return (0x01)
        }

        Method (TSIF, 0, NotSerialized)
        {
            Return (TBUF)
        }

        Method (RTMP, 1, NotSerialized)
        {
            And (Arg0, 0xFFFF, Local0)
            Store (TGET (Local0), Local1)
            Return (Local1)
        }

        Method (STMP, 1, NotSerialized)
        {
            Store (And (DerefOf (Index (Arg0, 0x00)), 0xFFFF), Local0)
            Store (DerefOf (Index (TBUF, 0x00)), Local1)
            If (LNot (LLess (Local0, Local1)))
            {
                Return (0x00)
            }

            Increment (Local0)
            Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (TBUF, Local0)), 0x01))
            Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF, Local0)), 0x02))
            Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF, Local0)), 0x03))
            Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF, Local0)), 0x04))
            Return (0x01)
        }

        Method (FSIF, 0, NotSerialized)
        {
            Return (FBUF)
        }

        Method (RFAN, 1, NotSerialized)
        {
            And (Arg0, 0xFFFF, Local0)
            Store (FGET (Local0), Local1)
            Return (Local1)
        }

        Method (SFAN, 1, NotSerialized)
        {
            And (DerefOf (Index (Arg0, 0x00)), 0xFFFF, Local0)
            Store (DerefOf (Index (FBUF, 0x00)), Local1)
            If (LNot (LLess (Local0, Local1)))
            {
                Return (0x00)
            }

            Increment (Local0)
            Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (FBUF, Local0)), 0x01))
            Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (FBUF, Local0)), 0x02))
            Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (FBUF, Local0)), 0x03))
            Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (FBUF, Local0)), 0x04))
            Return (0x01)
        }

        Method (QFIF, 0, NotSerialized)
        {
            If (LEqual (CPUQ, 0x00))
            {
                And (DerefOf (Index (QCFN, 0x05)), 0xFFFDFFFF, Local0)
                Store (Local0, Index (QCFN, 0x05))
            }
            Else
            {
                Or (DerefOf (Index (QCFN, 0x05)), 0x00020000, Local0)
                Store (Local0, Index (QCFN, 0x05))
            }

            Return (QBUF)
        }

        Method (GCQV, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x00))
            {
                Return (CPVL)
            }

            If (LEqual (Arg0, 0x01))
            {
                Return (CPVH)
            }

            If (LEqual (Arg0, 0x02))
            {
                Return (CPVC)
            }

            Return (0x00)
        }

        Method (QFST, 1, NotSerialized)
        {
            If (LEqual (Arg0, DerefOf (Index (QCFN, 0x00))))
            {
                Return (CQST)
            }

            Return (0x00)
        }
    }

    Scope (\_SB)
    {
        Scope (PCI0)
        {
            Name (CRS, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,
                    0x0000,
                    0x00FF,
                    0x0000,
                    0x0100)
                IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0000,
                    0x0CF7,
                    0x0000,
                    0x0CF8)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0D00,
                    0xFFFF,
                    0x0000,
                    0xF300)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x000A0000,
                    0x000BFFFF,
                    0x00000000,
                    0x00020000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x000C0000,
                    0x000DFFFF,
                    0x00000000,
                    0x00020000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x00000000,
                    0x00000000,
                    0x00000000,
                    0x00000000)
            })
            CreateDWordField (CRS, 0x5C, MIN5)
            CreateDWordField (CRS, 0x60, MAX5)
            CreateDWordField (CRS, 0x68, LEN5)
            CreateDWordField (CRS, 0x76, MIN6)
            CreateDWordField (CRS, 0x7A, MAX6)
            CreateDWordField (CRS, 0x82, LEN6)
            Method (_CRS, 0, NotSerialized)
            {
                Store (MG1L, Local0)
                If (Local0)
                {
                    Store (MG1B, MIN5)
                    Store (MG1L, LEN5)
                    Add (MIN5, Decrement (Local0), MAX5)
                }

                Store (MG2B, MIN6)
                Store (MG2L, LEN6)
                Store (MG2L, Local0)
                Add (MIN6, Decrement (Local0), MAX6)
                Return (CRS)
            }
        }
    }

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

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

    Method (_WAK, 1, NotSerialized)
    {
        ShiftLeft (Arg0, 0x04, DBG8)
        WAK (Arg0)
        If (ASSB)
        {
            Store (WSSB, ASSB)
            Store (WOTB, AOTB)
            Store (WAXB, AAXB)
        }

        If (DerefOf (Index (WAKP, 0x00)))
        {
            Store (0x00, Index (WAKP, 0x01))
        }
        Else
        {
            Store (Arg0, Index (WAKP, 0x01))
        }

        Return (WAKP)
    }

    Name (\_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    If (SS1)
    {
        Name (\_S1, Package (0x04)
        {
            0x01, 
            0x00, 
            0x00, 
            0x00
        })
    }

    If (SS3)
    {
        Name (\_S3, Package (0x04)
        {
            0x05, 
            0x00, 
            0x00, 
            0x00
        })
    }

    If (SS4)
    {
        Name (\_S4, Package (0x04)
        {
            0x06, 
            0x00, 
            0x00, 
            0x00
        })
    }

    Name (\_S5, Package (0x04)
    {
        0x07, 
        0x00, 
        0x00, 
        0x00
    })
    Method (PTS, 1, NotSerialized)
    {
        If (Arg0)
        {
            \_SB.PCI0.SBRG.SIOS (Arg0)
            \_SB.PCI0.NB2N.NPTS (Arg0)
            \_SB.PCI0.SBRG.SPTS (Arg0)
        }
    }

    Method (WAK, 1, NotSerialized)
    {
        \_SB.PCI0.SBRG.SIOW (Arg0)
        \_SB.PCI0.NB2N.NWAK (Arg0)
        \_SB.PCI0.SBRG.SWAK (Arg0)
    }
}


--------------020604070307000805050105
Content-Type: application/octet-stream;
 name="acpi_p4p800.bin"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="acpi_p4p800.bin"

RFNEVC04AAABelA0UDgxAFA0UDgxMTA2BgEAAElOVEwmIAACW4BCSU9TAAxkAPR/Cv9bgT9C
SU9TAVNTMV8BU1MyXwFTUzNfAVNTNF8BAARJT1NUEFRPUE0gUk9NUyBNRzFCIE1HMUwgTUcy
QiBNRzJMIAhIV01CC5ACCElPMUILgAYISU8xTAqACFNQSU8KLghQTTMwCzAICEFDUEgK3ghT
VVNXCv8IUE1CUwsACAhQTUxOCoAIR1BCUwuABAhHUExOCkAIU01CUwoACFNNQkwKIAhBUENC
DAAAwP4IQVBDTAsAEBQPUlJJTwRwDVJSSU8AWzEUD1JETUEDcA1yRE1BAFsxCFBJQ00KABQf
X1BJQwGgCWhwCqpEQkc4oQhwCqxEQkc4cGhQSUNNCE9TVlL/FEYJT1NGTACgDZKTT1NWUv+k
T1NWUqAPk1BJQ00KAHAKrERCRzhwCgFPU1ZSoCdNQ1RIXF9PU18NTWljcm9zb2Z0IFdpbmRv
d3MgTlQAcAoAT1NWUqE8oDpNQ1RIXF9PU18NTWljcm9zb2Z0IFdpbmRvd3NNRTogTWlsbGVu
bml1bSBFZGl0aW9uAHAKAk9TVlKkT1NWUhRPBE1DVEgCoAiVh2iHaaQAcodoCgFgCEJVRjAR
AmAIQlVGMRECYHBoQlVGMHBpQlVGMaIaYHZgoBWSk4OIQlVGMGAAg4hCVUYxYACkAKQBFEQJ
R1BSVwIIUFJXUBIGAgoACgBwaIhQUldQCgAAcGmIUFJXUAoBAHAKAGB9YHlTUzFfCgEAYH1g
eVNTMl8KAgBgfWB5U1MzXwoDAGB9YHlTUzRfCgQAYKAJe3kKAWkAYAChLXpgCgFgoBqRk09T
RkwKAZNPU0ZMCgKBYIhQUldQCgEAoQuCYIhQUldQCgEApFBSV1AIV0FLUBIGAgoACgBbgERF
QjABCoAKAVuBC0RFQjABREJHOAhbgERFQjEBCpAKAluBC0RFQjECREJHORAQIFxfUFJfW4ML
Q1BVMQEAAAAAAFuDC0NQVTICAAAAAAAQjq4CXF9TQl8IUFIwNBJDGBgSDwQM//8IAAoATE5L
RQoAEg8EDP//CQAKAExOS0YKABIPBAz//wkACgFMTktHCgASDwQM//8JAAoCTE5LSAoAEg8E
DP//CQAKA0xOS0UKABIPBAz//woACgBMTktHCgASDwQM//8KAAoBTE5LSAoAEg8EDP//CgAK
AkxOS0UKABIPBAz//woACgNMTktGCgASDwQM//8LAAoATE5LSAoAEg8EDP//CwAKAUxOS0UK
ABIPBAz//wsACgJMTktGCgASDwQM//8LAAoDTE5LRwoAEg8EDP//DAAKAExOS0UKABIPBAz/
/wwACgFMTktGCgASDwQM//8MAAoCTE5LRwoAEg8EDP//DAAKA0xOS0gKABIPBAz//w0ACgBM
TktGCgASDwQM//8NAAoBTE5LRwoAEg8EDP//DQAKAkxOS0gKABIPBAz//w0ACgNMTktFCgAS
DwQM//8FAAoATE5LRwoAEg8EDP//AwAKAExOS0UKABIPBAz//wQACgBMTktICgAIQVIwNBJD
FRgSDQQM//8IAAoACgAKFBINBAz//wkACgAKAAoVEg0EDP//CQAKAQoAChYSDQQM//8JAAoC
CgAKFxINBAz//wkACgMKAAoUEg0EDP//CgAKAAoAChYSDQQM//8KAAoBCgAKFxINBAz//woA
CgIKAAoUEg0EDP//CgAKAwoAChUSDQQM//8LAAoACgAKFxINBAz//wsACgEKAAoUEg0EDP//
CwAKAgoAChUSDQQM//8LAAoDCgAKFhINBAz//wwACgAKAAoUEg0EDP//DAAKAQoAChUSDQQM
//8MAAoCCgAKFhINBAz//wwACgMKAAoXEg0EDP//DQAKAAoAChUSDQQM//8NAAoBCgAKFhIN
BAz//w0ACgIKAAoXEg0EDP//DQAKAwoAChQSDQQM//8FAAoACgAKFhINBAz//wMACgAKAAoU
Eg0EDP//BAAKAAoAChcIUFIwMBJDDAwSDwQM//8fAAoATE5LQwoAEg8EDP//HwAKAUxOS0IK
ABIPBAz//x0ACgBMTktBCgASDwQM//8dAAoBTE5LRAoAEg8EDP//HQAKAkxOS0MKABIPBAz/
/x0ACgNMTktICgASDwQM//8BAAoATE5LQQoAEg8EDP//AQAKAUxOS0IKABIPBAz//wMACgBM
TktBCgASDwQM//8DAAoBTE5LQgoAEg8EDP//AwAKAkxOS0MKABIPBAz//wMACgNMTktECgAI
QVIwMBJLCgwSDQQM//8fAAoACgAKEhINBAz//x8ACgEKAAoREg0EDP//HQAKAAoAChASDQQM
//8dAAoBCgAKExINBAz//x0ACgIKAAoSEg0EDP//HQAKAwoAChcSDQQM//8BAAoACgAKEBIN
BAz//wEACgEKAAoREg0EDP//AwAKAAoAChASDQQM//8DAAoBCgAKERINBAz//wMACgIKAAoS
Eg0EDP//AwAKAwoAChMIUFIwMhISARIPBAz//wEACgBMTktDCgAIQVIwMhIQARINBAz//wEA
CgAKAAoSCFBSU0ERCQoGI/jcGHkABlBSU0FQUlNCBlBSU0FQUlNDBlBSU0FQUlNEBlBSU0FQ
UlNFBlBSU0FQUlNGBlBSU0FQUlNHBlBSU0FQUlNIW4KESgJQQ0kwCF9ISUQMQdAKAwhfQURS
CgAIX0JCTgoACF9VSUQKABQWX1BSVACgClBJQ02kQVIwMKRQUjAwW4I2UDBQNAhfQURSDAAA
HgAUD19QUlcApEdQUlcKCwoEFBZfUFJUAKAKUElDTaRBUjA0pFBSMDRbgkvQSURFMAhfQURS
DAEAHwAIUkVHRgoBFBJfUkVHAqALk2gKAnBpUkVHRghUSU0wEkgGCBILBAp4CrQK8AuEAxIK
BAojCiEKEAoAEgoECgsKCQoECgASDgYKcApJCjYKJwoZCg8SDgYKAAoBCgIKAQoCCgESDgYK
AAoACgAKAQoBCgESCgQKBAoDCgIKABIKBAoCCgEKAAoACFRNRDARAwoUilRNRDAKAFBJTzCK
VE1EMAoERE1BMIpUTUQwCghQSU8xilRNRDAKDERNQTGKVE1EMAoQQ0hORluAQ0ZHMgIKQAog
W4FICkNGRzIDUE1QVARQU1BUBFBNUkkGAAJTTVBUBFNTUFQEU01SSQYAAlBTUkkEU1NSSQQA
GFBNM0UBUFMzRQFTTTNFAVNTM0UBAAxQTVVUAgACUFNVVAIAAlNNVVQCAAJTU1VUAgACAEAE
UE02RQFQUzZFAVNNNkUBU1M2RQFQTUNSAVBTQ1IBU01DUgFTU0NSAQAEUE1BRQFQU0FFAVNN
QUUBU1NBRQEIR01QVAoACEdNVUUKAAhHTVVUCgAIR01DUgoACEdTUFQKAAhHU1VFCgAIR1NV
VAoACEdTQ1IKAFuCRyRDSE4wCF9BRFIKABRMB19HVE0AeVBTQ1IKAWF9UE1DUmFgeVBNQUUK
AmN5UE02RQoBZH1jZGN9UE0zRWNheVBNUFQKBGN9YWNheVBTQUUKAmN5UFM2RQoBZH1jZGN9
UFMzRWNieVBTUFQKBGN9YmNipEdUTV9QTVJJYVBNVVRQU1JJYlBTVVRgFEAYX1NUTQNwaFsx
cGhUTUQweVBNQUUKAmN5UE02RQoBZH1jZGN9UE0zRWNgeVBNUFQKBGN9YGNgeVBTQUUKAmN5
UFM2RQoBZH1jZGN9UFMzRWNheVBTUFQKBGN9YWNhcFBNUklHTVBUcGBHTVVFcFBNVVRHTVVU
cFBNQ1JHTUNScFBTUklHU1BUcGFHU1VFcFBTVVRHU1VUcFBTQ1JHU0NSU1RNX3BHTVBUUE1S
SXBHTVVFYHBHTVVUUE1VVHBHTUNSUE1DUnBHU1VFYXBHU1VUUFNVVHBHU0NSUFNDUqANe2AK
AQBwCgFQTTNFoQhwCgBQTTNFoA17YAoCAHAKAVBNNkWhCHAKAFBNNkWgDXtgCgQAcAoBUE1B
RaEIcAoAUE1BRaANe2EKAQBwCgFQUzNFoQhwCgBQUzNFoA17YQoCAHAKAVBTNkWhCHAKAFBT
NkWgDXthCgQAcAoBUFNBRaEIcAoAUFNBRXBHVEZfCgBpQVRBMHBHVEZfCgFqQVRBMVuCHERS
VjAIX0FEUgoAFA9fR1RGAKRSQVRBQVRBMFuCHERSVjEIX0FEUgoBFA9fR1RGAKRSQVRBQVRB
MVuCRyRDSE4xCF9BRFIKARRMB19HVE0AeVNTQ1IKAWF9U01DUmFgeVNNQUUKAmN5U002RQoB
ZH1jZGN9U00zRWNheVNNUFQKBGN9YWNheVNTQUUKAmN5U1M2RQoBZH1jZGN9U1MzRWNieVNT
UFQKBGN9YmNipEdUTV9TTVJJYVNNVVRTU1JJYlNTVVRgFEAYX1NUTQNwaFsxcGhUTUQweVNN
QUUKAmN5U002RQoBZH1jZGN9U00zRWNgeVNNUFQKBGN9YGNgeVNTQUUKAmN5U1M2RQoBZH1j
ZGN9U1MzRWNheVNTUFQKBGN9YWNhcFNNUklHTVBUcGBHTVVFcFNNVVRHTVVUcFNNQ1JHTUNS
cFNTUklHU1BUcGFHU1VFcFNTVVRHU1VUcFNTQ1JHU0NSU1RNX3BHTVBUU01SSXBHTVVFYHBH
TVVUU01VVHBHTUNSU01DUnBHU1VFYXBHU1VUU1NVVHBHU0NSU1NDUqANe2AKAQBwCgFTTTNF
oQhwCgBTTTNFoA17YAoCAHAKAVNNNkWhCHAKAFNNNkWgDXtgCgQAcAoBU01BRaEIcAoAU01B
RaANe2EKAQBwCgFTUzNFoQhwCgBTUzNFoA17YQoCAHAKAVNTNkWhCHAKAFNTNkWgDXthCgQA
cAoBU1NBRaEIcAoAU1NBRXBHVEZfCgBpQVRBMnBHVEZfCgFqQVRBM1uCHERSVjAIX0FEUgoA
FA9fR1RGAKRSQVRBQVRBMluCHERSVjEIX0FEUgoBFA9fR1RGAKRSQVRBQVRBMxRNE0dUTV8P
cP9QSU8wcP9QSU8xcP9ETUEwcP9ETUExcAoQQ0hORqAFUkVHRqEGpFRNRDCgEXtpCiAAfUNI
TkYKAkNITkZwiYOIVElNMAoBAAFoAAoACgBmcIOIg4hUSU0wCgAAZgBncGdETUEwcGdQSU8w
oBF7bAogAH1DSE5GCghDSE5GcImDiFRJTTAKAgABawAKAAoAZnCDiIOIVElNMAoAAGYAZ3Bn
RE1BMXBnUElPMaA+e2kKBwBwamWgC3tpCgIAcmUKAmWgC3tpCgQAcmUKBGVwg4iDiFRJTTAK
AwBlAERNQTB9Q0hORgoBQ0hORqA+e2wKBwBwbWWgC3tsCgIAcmUKAmWgC3tsCgQAcmUKBGVw
g4iDiFRJTTAKAwBlAERNQTF9Q0hORgoEQ0hORnBUTUQwWzGkVE1EMBRAI1NUTV8IoAVSRUdG
oQakVE1EMHAKAEdNVUVwCgBHTVVUcAoAR1NVRXAKAEdTVVSgRAd7Q0hORgoBAHCJg4hUSU0w
CgMAAkRNQTAACgAKAGCgCZRgCgVwCgVgcIOIg4hUSU0wCgQAYABHTVVUfUdNVUUKAUdNVUWg
EJRgCgJ9R01VRQoCR01VRaAblGAKBHtHTVVFCv1HTVVFfUdNVUUKBEdNVUWhN6A1fZNQSU8w
/5NQSU8wCgAAoCR7lURNQTD/lERNQTAKAABwRE1BMFBJTzB9R01VRQqAR01VRaBEB3tDSE5G
CgQAcImDiFRJTTAKAwACRE1BMQAKAAoAYKAJlGAKBXAKBWBwg4iDiFRJTTAKBABgAEdTVVR9
R1NVRQoBR1NVRaAQlGAKAn1HU1VFCgJHU1VFoBuUYAoEe0dTVUUK/UdTVUV9R1NVRQoER1NV
RaE3oDV9k1BJTzH/k1BJTzEKAACgJHuVRE1BMf+URE1BMQoAAHBETUExUElPMX1HU1VFCoBH
U1VFoBR7Q0hORgoCAH1HTVVFCiBHTVVFoBR7Q0hORgoIAH1HU1VFCiBHU1VFe4mDiFRJTTAK
AAAEUElPMAAKAAoACgdgcIOIg4hUSU0wCgEAYABhcGFHTVBUoBCVYAoDfUdNVUUKUEdNVUV7
iYOIVElNMAoAAARQSU8xAAoACgAKB2Bwg4iDiFRJTTAKAgBgAGFwYUdTUFSgEJVgCgN9R1NV
RQpQR1NVRQhBVDAxEQoKBwMAAAAAAO8IQVQwMhEKCgcAAAAAAACQCEFUMDMRCgoHAAAAAAAA
xghBVDA0EQoKBwAAAAAAAJEIQVRBMBEDCh0IQVRBMREDCh0IQVRBMhEDCh0IQVRBMxEDCh0I
QVRBQhEDCh2MQVRBQgoAQ01EQxRMBUdURkILd0NNREMKOGByYAoIYVsTQVRBQmEKOENNRFh3
Q01EQwoHYIxBVEFCcmAKAgBBMDAxjEFUQUJyYAoGAEEwMDVwaENNRFhwaUEwMDFwakEwMDV1
Q01EQxRCJEdURl8KcGlbMXAKAENNREMISUQ0OQsADAhJRDU5CgAISUQ1MwoECElENjMLAA8I
SUQ4OAsADwhJUkRZCgEIUElPVAoACERNQVQKAKBNBZOHaQsAAotpCmJJVzQ5cElXNDlJRDQ5
i2kKaklXNTNwSVc1M0lENTOLaQp+SVc2M3BJVzYzSUQ2M4tpCnZJVzU5cElXNTlJRDU5i2kK
sElXODhwSVc4OElEODhwCqBnoEgFaHAKsGd7Q0hORgoISVJEWaASe0NITkYKEABwUElPMVBJ
T1ShCnBQSU8wUElPVKAne0NITkYKBACgEntDSE5GChAAcERNQTFETUFUoQpwRE1BMERNQVSh
KHtDSE5GCgJJUkRZcFBJTzBQSU9UoBJ7Q0hORgoBAHBETUEwRE1BVKBHBJCQe0lENTMKBAB7
SUQ4OAsA/wBETUFUcImDiFRJTTAKAwACRE1BVAAKAAoAYaAJlGEKBXAKBWFHVEZCQVQwMX0K
QGEAZ6FGBKBDBJB7SUQ2MwsA/wBQSU9Ue4mDiFRJTTAKAAAEUElPVAAKAAoACgNgfQogg4iD
iFRJTTAKBwBgAGFHVEZCQVQwMWFnoDhJUkRZe4mDiFRJTTAKAAAEUElPVAAKAAoACgdgfQoI
g4iDiFRJTTAKBgBgAGFHVEZCQVQwMWFnoRegFXtJRDQ5CwAEAEdURkJBVDAxCgFnoCSQe0lE
NTkLAAEAe0lENTkK/wBHVEZCQVQwM3tJRDU5Cv8AZ3BBVEFCWzGkQVRBQhQsUkFUQQGMaAoA
Q01ETndDTUROCjhgWxNoCghgUkVUQnBSRVRCWzGkUkVUQluCD0lERTEIX0FEUgwCAB8AW4If
TUM5NwhfQURSDAYAHwAUD19QUlcApEdQUlcKBQoEW4IfVVNCMQhfQURSDAAAHQAUD19QUlcA
pEdQUlcKAwoEW4IfVVNCMghfQURSDAEAHQAUD19QUlcApEdQUlcKBAoEW4IfVVNCMwhfQURS
DAIAHQAUD19QUlcApEdQUlcKDAoEW4IfVVNCNAhfQURSDAMAHQAUD19QUlcApEdQUlcKDgoE
W4IfRVVTQghfQURSDAcAHQAUD19QUlcApEdQUlcKDQoEW4KOXgFTQlJHCF9BRFIMAAAfAFuC
K1BJQ18IX0hJRAtB0AhfQ1JTERgKFUcBIAAgAAACRwGgAKAAAAIiBAB5AFuCTgRETUFECF9I
SUQMQdACAAhfQ1JTETgKNSoQBEcBAAAAAAAQRwGBAIEAAANHAYcAhwAAAUcBiQCJAAADRwGP
AI8AAAFHAcAAwAAAIHkAW4IlVE1SXwhfSElEDEHQAQAIX0NSUxEQCg1HAUAAQAAABCIBAHkA
W4IlUlRDMAhfSElEDEHQCwAIX0NSUxEQCg1HAXAAcAAAAiIAAXkAW4JEBVBTMksIX0hJRAxB
0AMDCF9DSUQMQdADCxQbX1NUQQB5CgEKCmCgC3tJT1NUYACkCg+kCgAIX0NSUxEYChVHAWAA
YAAAAUcBZABkAAABIgIAeQAUFC5QUzJLX1BSVwCkR1BSVwodCgRbgkQIUFMyTQhfSElEDEHQ
DwMIX0NJRAxB0A8TFBtfU1RBAHkKAQoMYKALe0lPU1RgAKQKD6QKAAhDUlMxEQgKBSIAEHkA
CENSUzIRGAoVRwFgAGAAAAFHAWQAZAAAASIAEHkAFCFfQ1JTAHkKAQoKYKANe0lPU1RgAKRD
UlMxoQakQ1JTMhQULlBTMk1fUFJXAKRHUFJXCh0KBFuCIlNQS1IIX0hJRAxB0AgACF9DUlMR
DQoKRwFhAGEAAAF5AFuCJUNPUFIIX0hJRAxB0AwECF9DUlMREAoNRwHwAPAAABAiACB5AFuC
QBxVQVIxCF9VSUQKAQhfSElEDEHQBQEUDV9TVEEApERTVEEKABQOX0RJUwBEQ05UCgAKABQR
X0NSUwCkUENSUwoACgEKCBQNX1NSUwFQU1JTaAoAFAtfUFJTAKRDTVBSCENNUFIRRAQKQDEA
RwH4A/gDBAgiEAAwRwH4A/gDAQgi+BwwRwH4AvgCAQgi+BwwRwHoA+gDAQgi+BwwRwHoAugC
AQgi+Bw4eQAIUEJVRhEQCg1HAQAAAAABCCIBAHkAFEwKUENSUwOMUEJVRgoCSU9MT4xQQlVG
CgNJT0hJi1BCVUYKAklPSEyLUEJVRgoESU9STIxQQlVGCgZBTE1OjFBCVUYKB0xFTkeMUEJV
RgoJSVJRTEVORkdDR0xEaHBJT0FISU9ISXBJT0FMSU9MT3BJT0hMSU9STHBpQUxNTqAPk0lP
TE8KvHAKBExFTkehB3BqTEVOR3ABYHlgSU5UUklSUUxFWEZHpFBCVUYUQgVQU1JTAoxoCgJQ
T0xCjGgKA1BPSEKLaAoJUElSUUVORkdDR0xEaXBQT0xCSU9BTHBQT0hCSU9BSIJQSVJRYHRg
CgFJTlRScAFBQ1RSRVhGR1uCSwlVQVIyCF9VSUQKAghfSElEDEHQBQEUDV9TVEEApERTVEEK
ARQOX0RJUwBEQ05UCgEKABQNX0NSUwCkRENSUwoBFA1fU1JTAURTUlNoCgEUC19QUlMApENN
UFIIQ01QUhE5CjYi+BwwKgAARwH4A/gDAQgwKgAARwH4AvgCAQgwKgAARwHoA+gDAQgwKgAA
RwHoAugCAQg4eQBbgkkPRkRDXwhfSElEDEHQBwAIX0ZERRIMBQoBCgAKAgoCCgIUDV9TVEEA
pERTVEEKAxQOX0RJUwBEQ05UCgMKABRIBV9DUlMARENSUwoDcElSUU1JUlFFcERNQU1ETUFF
cElPMTFJTzIxcElPMTJJTzIycAoGTEVOMnJJTzIxCgdJTzMxcElPMzFJTzMycAoBTEVOM6RD
UlMyFA1fU1JTAURTUlNoCgMIX1BSUxFNBApJMQAiQAAqBABHAfAD8AMBBkcB9wP3AwEBMCL4
HCoOAEcB8APwAwEGRwH3A/cDAQEwIvgcKg4ARwFwA3ADAQZHAXcDdwMBATh5AFuCQTxMUFRF
CF9VSUQKARQcX0hJRACgDUxQVE0KAqQMQdAEAaEHpAxB0AQAFA1fU1RBAKREU1RBCgIUDl9E
SVMARENOVAoCCgAUDV9DUlMApEVDUlMKAhQNX1NSUwFFU1JTaAoCFBpfUFJTAKAMTFBUTQoC
pEVQUFKhBqRMUFBSCExQUFIRNwo0MQBHAXgDeAMBCCKAADBHAXgDeAMBCCL4HDBHAXgCeAIB
CCL4HDBHAbwDvAMBBCL4HDh5AAhFUFBSEUQGCmAxAEcBeAN4AwEIRwF4B3gHAQQigAAqCAAw
RwF4A3gDAQhHAXgHeAcBBCL4HCoLADBHAXgCeAIBCEcBeAZ4BgEEIvgcKgsAMEcBvAO8AwEE
RwG8B7wHAQQi+BwqCwA4eQAIRUJVRhEbChhHAXgDeAMBCEcBeAd4BwEEIoAAKgAAeQCMRUJV
RgoCRVBMT4xFQlVGCgNFUEhJi0VCVUYKAkVQSEyLRUJVRgoERVBSTItFQlVGCgZBTE0xi0VC
VUYKCkU0TE+LRUJVRgoMRTRSTItFQlVGCg5FTE5Hi0VCVUYKEUVJUlGMRUJVRgoURURNQQhQ
QlVGERAKDUcBeAN4AwEIIoAAeQCMUEJVRgoCUFBMT4xQQlVGCgNQUEhJi1BCVUYKAlBQSEyL
UEJVRgoEUFBSTItQQlVGCgZBTE0wi1BCVUYKCVBJUlEUQw5FQ1JTAUVORkdDR0xEaHBJT0FI
RVBISXBJT0FMRVBMT3BJT0FIUFBISXBJT0FMUFBMT3BFUEhMRVBSTHBQUEhMUFBSTHtPUFQw
CgJgoBdgckVQSEwLAARFNExPcEU0TE9FNFJMoBmTRVBITAu8A3ALAQRBTE0xcAsBBEFMTTCh
EXALAQhBTE0xcAsBCEFMTTBwAWBwSU5UUmF5YGFFSVJReWBhUElSUXBETUNIYaAMlGEKA3AK
AEVETUGhC3ABYHlgYUVETUF7T1BUMAoCYEVYRkegB2CkRUJVRqEGpFBCVUYUQA1FU1JTAkVO
RkdDR0xEaYxoCgJMT0VQjGgKA0hJRVB7T1BUMAoCYKASYItoChFJUlFFjGgKFERNQUWhCYto
CglJUlFQcExPRVBJT0FMcEhJRVBJT0FIe09QVDAKAmCgH2CgE0lSUUWCSVJRRWB0YAoBSU5U
UqEIcAoASU5UUqEeoBNJUlFQgklSUVBgdGAKAUlOVFKhCHAKAElOVFJ7T1BUMAoCYKAfYKAT
RE1BRYJETUFFYHRgCgFETUNIoQhwCgRETUNIcAFBQ1RSRVhGR1uCQBBHQU1FCF9ISUQMQdCw
LxQNX1NUQQCkRFNUQQoIFA5fRElTAERDTlQKCAoACEdNQ1IRDQoKRwEAAgACAQh5ABRBBl9D
UlMAjEdNQ1IKAklPTE+MR01DUgoDSU9ISYtHTUNSCgJJT0hMi0dNQ1IKBElPUkxFTkZHQ0dM
RAoIcElPQUhJT0hJcElPQUxJT0xPcElPSExJT1JMRVhGR6RHTUNSFD5fU1JTAYxoCgJQT0xC
jGgKA1BPSEJFTkZHQ0dMRAoIcFBPTEJJT0FMcFBPSEJJT0FIRENOVAoICgFFWEZHCF9QUlMR
GQoWMQBHAQACAAIBCDBHAQgCCAIBCDh5AFuCQhNNSURJCF9ISUQMQdCwBhQNX1NUQQCkRFNU
QQoFFA5fRElTAERDTlQKBQoACE1EQ1IREAoNRwEAAwADAQIiIAB5ABRHB19DUlMAjE1EQ1IK
AklPTE+MTURDUgoDSU9ISYtNRENSCgJJT0hMi01EQ1IKBElPUkyLTURDUgoJTUlSUUVORkdD
R0xECgVwSU9IMklPSElwSU9MMklPTE9wSU9ITElPUkx5CgFJTlRSTUlSUUVYRkekTURDUhRF
BV9TUlMBjGgKAlBPTEKMaAoDUE9IQotoCglNSVJRRU5GR0NHTEQKBXBQT0xCSU9MMnBQT0hC
SU9IMoJNSVJRYHRgCgFJTlRSRENOVAoFCgFFWEZHCF9QUlMRGwoYMEcBAAMAAwECMEcBMAMw
AwECOCIgDnkAW4JNDVNJT1IIX0hJRAxB0AwCFAtfVUlEAKRTUElPCENSU18RHQoaRwEAAAAA
AABHAQAAAAAAAEcBkAKQAgAIeQAUTQlfQ1JTAKBNBJCSk1NQSU8L8AOUU1BJTwrwi0NSU18K
AkdQMTCLQ1JTXwoER1AxMYxDUlNfCgdHUEwxcFNQSU9HUDEwcFNQSU9HUDExcAoCR1BMMaBC
BElPMUKLQ1JTXwoKR1AyMItDUlNfCgxHUDIxjENSU18KD0dQTDJwSU8xQkdQMjBwSU8xQkdQ
MjFwSU8xTEdQTDKkQ1JTXwhEQ0FUEiwVCgIKAwoBCgAK/woHCv8K/woHCv8K/wr/Cv8K/wr/
Cv8KBgoICgkK/wr/FBpFTkZHAXAKh0lORFhwCodJTkRYcGhMRE5fFA1FWEZHAHAKqklORFgU
HUxQVE0BRU5GR0NHTERoe09QVDAKAmBFWEZHpGAUMFVISUQBoCOTaAoBRU5GR0NHTERoe09Q
VDEKOGBFWEZHoAhgpAxB0AUQpAxB0AUBFEoHU0lPSwFFTkZHCgp7Cv9PUFQzT1BUM3toCjBg
e09QVDYKz09QVDZ9T1BUNmBPUFQ2cGhhe2gKBWB7T1BUOQr6T1BUOX1PUFQ5YE9QVDmgHZNo
AHAKAEFDVFJwCghMRE5fe09QVDUKP09QVDWhCHAKAUFDVFJFWEZHFC4uUFMyS19QU1cBRU5G
RwoKe09QVDYK709QVDagDWh9T1BUNgoQT1BUNkVYRkcULi5QUzJNX1BTVwFFTkZHCgp7T1BU
NgrfT1BUNqANaH1PUFQ2CiBPUFQ2RVhGRxQUU0lPUwFwDVNJT1MAWzFTSU9L/xQUU0lPVwFw
DVNJT1cAWzFTSU9LABQ8U0lPSABwDVNJT0gAWzFFTkZHCgqgEHtPUFQzChAAhlBTMksKAqAQ
e09QVDMKIACGUFMyTQoCU0lPSwBbgElPSUQBU1BJTwoCW4EQSU9JRAFJTkRYCERBVEEIW4ZP
CUlORFhEQVRBAQA4TEROXwgAQA1GRENQAQACTFBUUAFVUkFQAVVSQlABAEoGQUNUUggASBdJ
T0FICElPQUwISU9IMghJT0wyCABABklOVFIIABhETUNICABINUNSRTAIQ1JFMQhDUkUyCENS
RTMIQ1JFNAgASAVPUFQwCE9QVDEIT1BUMghPUFQzCAAIT1BUNQhPUFQ2CAAQT1BUOQgUD0NH
TEQBpIOIRENBVGgAFEgGRFNUQQFFTkZHQ0dMRGhwQUNUUmBFWEZHoAiTYAr/pAoAoAqTaAoF
emAKAmCgCpNoCgh6YAoBYHtgCgFgfUlPU1R5YGgASU9TVKAFYKQKD6EWoA97eQoBaABJT1NU
AKQKDaEEpAoAFEgIRENOVAJFTkZHQ0dMRGh5SU9BSAoIYX1JT0FMYWFSUklPaGlhCgigHZCV
RE1DSAoEkpN7RE1DSAoDYQoAUkRNQWhpdWFwaWFwCgFioA+TaAoFeWkKAmF5YgoCYqAPk2gK
CHlpCgFheWIKAWJwQUNUUmCAYmN7YGNgfWBhYHBgQUNUUkVYRkcIQ1JTMRETChAiAAAqAABH
AQAAAAABAHkAi0NSUzEKAUlSUU2MQ1JTMQoERE1BTYtDUlMxCghJTzExi0NSUzEKCklPMTKM
Q1JTMQoNTEVOMQhDUlMyERsKGCJAACoEAEcBAAAAAAEARwEAAAAAAQB5AItDUlMyCgFJUlFF
jENSUzIKBERNQUWLQ1JTMgoISU8yMYtDUlMyCgpJTzIyjENSUzIKDUxFTjKLQ1JTMgoQSU8z
MYtDUlMyChJJTzMyjENSUzIKFUxFTjMUTQhEQ1JTAUVORkdDR0xEaHlJT0FICghJTzExfUlP
QUxJTzExSU8xMXBJTzExSU8xMnSCSU8xMQAKAWB5CgFgTEVOMaAQSU5UUnkKAUlOVFJJUlFN
oQhwCgBJUlFNoBx9lERNQ0gKA5N7RE1DSAoDYQoAAHAKAERNQU2hCXkKAWFETUFNRVhGR6RD
UlMxFEMIRFNSUwKLaAoBSVJRTYxoCgRETUFNi2gKCElPMTFFTkZHQ0dMRGl7SU8xMQr/SU9B
THpJTzExCghJT0FIoBNJUlFNgklSUU1gdGAKAUlOVFKhCHAKAElOVFKgE0RNQU2CRE1BTWB0
YAoBRE1DSKEIcAoERE1DSEVYRkdEQ05UaQoBW4JCGVJNU0MIX0hJRAxB0AwCCF9VSUQKEAhD
UlNfEUYKCqJHARAAEAAAEEcBIgAiAAAeRwFEAEQAABxHAWIAYgAAAkcBZQBlAAALRwFyAHIA
AA5HAYAAgAAAAUcBhACEAAADRwGIAIgAAAFHAYwAjAAAA0cBkACQAAAQRwGiAKIAAB5HAeAA
4AAAEEcB0ATQBAACRwEAAAAAAABHAQAAAAAAAEcBAAAAAAAAhgkAAQAA0v4AAAcAhgkAAQAA
sP8AABAAeQAUTgxfQ1JTAItDUlNfCnJHUDAwi0NSU18KdEdQMDGMQ1JTXwp3R1AwTHBQTUJT
R1AwMHBQTUJTR1AwMXBQTUxOR1AwTKBCBFNNQlOLQ1JTXwp6R1AxMItDUlNfCnxHUDExjENS
U18Kf0dQMUxwU01CU0dQMTBwU01CU0dQMTFwU01CTEdQMUygQgRHUEJTi0NSU18KgkdQMjCL
Q1JTXwqER1AyMYxDUlNfCodHUDJMcEdQQlNHUDIwcEdQQlNHUDIxcEdQTE5HUDJMpENSU19b
gkMIUDNGNghfSElEDEHQDAIIX1VJRAv2AxRLBF9TVEEAcAoPYXBcLwRfU0JfUENJMElERTBQ
QU1EYKAJk2AKinAKAGFwXC8EX1NCX1BDSTBJREUxU0FNRGCgCZNgCopwCgBhpGEIQ1JTXxEN
CgpHAfYD9gMAAXkAFAtfQ1JTAKRDUlNfW4JOCU9NU0MIX0hJRAxB0AwCCF9VSUQKAAhDUlNf
ER0KGoYJAAAAAAAAAAAAAIYJAAAAAAAAAAAAAHkAFEMGX0NSUwCgRgVBUENCikNSU18KCE1M
MDGKQ1JTXwoETUIwMYpDUlNfChRNTDAyikNSU18KEE1CMDJwQVBDQk1CMDFwQVBDTE1MMDFw
DAAA4P5NQjAycAsAEE1MMDKkQ1JTX1uCTRRcLl9TQl9STUVNCF9ISUQMQdAMAQhfVUlECgEI
Q1JTXxFCBAo+hgkAAQAAAAAAAAoAhgkAAAAAAAAAAAAAhgkAAAAADgAAAAIAhgkAAQAAEAAA
AAAAhgkAAAAAAAAAAAAAeQAURw5fQ1JTAIpDUlNfChBCQVMxikNSU18KFExFTjGKQ1JTXwoc
QkFTMopDUlNfCiBMRU4yikNSU18KLExFTjOKQ1JTXwo0QkFTNIpDUlNfCjhMRU40oAVPU0ZM
oUEGoChNRzFCoCKUTUcxQgwAAAwAcAwAAAwAQkFTMXRNRzFCQkFTMUxFTjGhFXAMAAAMAEJB
UzFwDAAAAgBMRU4xoB9yTUcxQk1HMUxgcGBCQVMydAwAABAAQkFTMkxFTjJ0TUcyQgwAABAA
TEVOM3JNRzJCTUcyTEJBUzR0CgBCQVM0TEVONKRDUlNfW4IPUDBQMQhfQURSDAAAAQBbgkgE
UDBQMghfQURSDAAAAwAUFl9QUlQAoApQSUNNpEFSMDKkUFIwMluCH0lMQU4IX0FEUgwAAAEA
FA9fUFJXAKRHUFJXChgKBBBIFFxfR1BFFCVfTDBCAIZcLwNfU0JfUENJMFAwUDQKAoZcLl9T
Ql9QV1JCCgIUJV9MMDUAhlwvA19TQl9QQ0kwTUM5NwoChlwuX1NCX1BXUkIKAhQlX0wwMwCG
XC8DX1NCX1BDSTBVU0IxCgKGXC5fU0JfUFdSQgoCFCVfTDA0AIZcLwNfU0JfUENJMFVTQjIK
AoZcLl9TQl9QV1JCCgIUJV9MMEMAhlwvA19TQl9QQ0kwVVNCMwoChlwuX1NCX1BXUkIKAhQl
X0wwRQCGXC8DX1NCX1BDSTBVU0I0CgKGXC5fU0JfUFdSQgoCFCVfTDBEAIZcLwNfU0JfUENJ
MEVVU0IKAoZcLl9TQl9QV1JCCgIUGV9MMUQAXC8EX1NCX1BDSTBTQlJHU0lPSBQcX0wxOACG
XC8EX1NCX1BDSTBQMFAySUxBTgoCW4IdUFdSQghfSElEDEHQDAwIX1VJRAqqCF9TVEEKC1uA
XC8EX1NCX1BDSTBTQlJHUElYMAIKYAoMW4E/XC8EX1NCX1BDSTBTQlJHUElYMAFQSVJBCFBJ
UkIIUElSQwhQSVJECAAgUElSRQhQSVJGCFBJUkcIUElSSAgQQUdcX1NCXwhCVUZBEQkKBiMA
gBh5AItCVUZBCgFJUkEwW4JICExOS0EIX0hJRAxB0AwPCF9VSUQKARQZX1NUQQB7UElSQQqA
YKAFYKQKCaEEpAoLFAtfUFJTAKRQUlNBFBFfRElTAH1QSVJBCoBQSVJBFBtfQ1JTAHtQSVJB
Cg9geQoBYElSQTCkQlVGQRQcX1NSUwGLaAoBSVJBX4JJUkFfYHZgcGBQSVJBW4JICExOS0II
X0hJRAxB0AwPCF9VSUQKAhQZX1NUQQB7UElSQgqAYKAFYKQKCaEEpAoLFAtfUFJTAKRQUlNC
FBFfRElTAH1QSVJCCoBQSVJCFBtfQ1JTAHtQSVJCCg9geQoBYElSQTCkQlVGQRQcX1NSUwGL
aAoBSVJBX4JJUkFfYHZgcGBQSVJCW4JICExOS0MIX0hJRAxB0AwPCF9VSUQKAxQZX1NUQQB7
UElSQwqAYKAFYKQKCaEEpAoLFAtfUFJTAKRQUlNDFBFfRElTAH1QSVJDCoBQSVJDFBtfQ1JT
AHtQSVJDCg9geQoBYElSQTCkQlVGQRQcX1NSUwGLaAoBSVJBX4JJUkFfYHZgcGBQSVJDW4JI
CExOS0QIX0hJRAxB0AwPCF9VSUQKBBQZX1NUQQB7UElSRAqAYKAFYKQKCaEEpAoLFAtfUFJT
AKRQUlNEFBFfRElTAH1QSVJECoBQSVJEFBtfQ1JTAHtQSVJECg9geQoBYElSQTCkQlVGQRQc
X1NSUwGLaAoBSVJBX4JJUkFfYHZgcGBQSVJEW4JICExOS0UIX0hJRAxB0AwPCF9VSUQKBRQZ
X1NUQQB7UElSRQqAYKAFYKQKCaEEpAoLFAtfUFJTAKRQUlNFFBFfRElTAH1QSVJFCoBQSVJF
FBtfQ1JTAHtQSVJFCg9geQoBYElSQTCkQlVGQRQcX1NSUwGLaAoBSVJBX4JJUkFfYHZgcGBQ
SVJFW4JICExOS0YIX0hJRAxB0AwPCF9VSUQKBhQZX1NUQQB7UElSRgqAYKAFYKQKCaEEpAoL
FAtfUFJTAKRQUlNGFBFfRElTAH1QSVJGCoBQSVJGFBtfQ1JTAHtQSVJGCg9geQoBYElSQTCk
QlVGQRQcX1NSUwGLaAoBSVJBX4JJUkFfYHZgcGBQSVJGW4JICExOS0cIX0hJRAxB0AwPCF9V
SUQKBxQZX1NUQQB7UElSRwqAYKAFYKQKCaEEpAoLFAtfUFJTAKRQUlNHFBFfRElTAH1QSVJH
CoBQSVJHFBtfQ1JTAHtQSVJHCg9geQoBYElSQTCkQlVGQRQcX1NSUwGLaAoBSVJBX4JJUkFf
YHZgcGBQSVJHW4JICExOS0gIX0hJRAxB0AwPCF9VSUQKCBQZX1NUQQB7UElSSAqAYKAFYKQK
CaEEpAoLFAtfUFJTAKRQUlNIFBFfRElTAH1QSVJICoBQSVJIFBtfQ1JTAHtQSVJICg9geQoB
YElSQTCkQlVGQRQcX1NSUwGLaAoBSVJBX4JJUkFfYHZgcGBQSVJIEEsEXF9TQl8QQwRQQ0kw
W4BJT0IyAQqyCgJbgRBJT0IyAVNNSUMIU01JUwgUH19JTkkAoA9bEl9PU0lgcApYU01JQ6EI
cAqFU01JQxBMIVxfU0JfEE0gUENJMAhDUlNfEUwICoiIDQACDAAAAAAA/wAAAAABRwH4DPgM
AQiIDQABDAMAAAAA9wwAAPgMiA0AAQwDAAAADf//AAAA84cXAAAMAwAAAAAAAAoA//8LAAAA
AAAAAAIAhxcAAAwDAAAAAAAAAAAAAAAAAAAAAAAAAACHFwAADAMAAAAAAAAAAAAAAAAAAAAA
AAAAAHkAikNSU18KXE1JTjWKQ1JTXwpgTUFYNYpDUlNfCmhMRU41ikNSU18Kdk1JTjaKQ1JT
Xwp6TUFYNopDUlNfCoJMRU42FEEHX0NSUwBwTUcxQk1JTjVwTUcxTExFTjVwTUcxTGCgDWBy
TUlONXZgTUFYNXBNRzJCTUlONnJNSU42DAAAAQBNSU42cE1HMkxMRU42dExFTjYMAAABAExF
TjZwTEVONmByTUlONnZgTUFYNqRDUlNfFB9fUzNEAKATkZNPU0ZMCgGTT1NGTAoCpAoCoQSk
CgMUJC5VU0IxX1MzRACgE5GTT1NGTAoBk09TRkwKAqQKAqEEpAoDFCQuVVNCMl9TM0QAoBOR
k09TRkwKAZNPU0ZMCgKkCgKhBKQKAxQkLlVTQjNfUzNEAKATkZNPU0ZMCgGTT1NGTAoCpAoC
oQSkCgMUJC5VU0I0X1MzRACgE5GTT1NGTAoBk09TRkwKAqQKAqEEpAoDCE5BVEESBwEMAQAf
AAhTTFBTCgAIV1IwMAoACFdSMDEKAAhXUjAyCgAUTQdfUFRTAXBoREJHOFBUU19ocAoAiFdB
S1AKAABwCgCIV0FLUAoBAKASkJNoCgSTT1NGTAoCWyILuAtwQVBXUldSMDBwU1BMVldSMDFw
T1NGR1dSMDJwaFNQTFZwT1NGTE9TRkdwAVBTMVNwAVBTMUVwAVwuX1NCX1NMUFMUSglfV0FL
AXloCgREQkc4cABQUzFFoAVJT1dLoQ6GXC5fU0JfUFdSQgoCoBZ7QVBXUgoCAIZcLl9TQl9Q
V1JCCgJwAVBXQlRwV1IwMEFQV1JwV1IwMVNQTFZwV1IwMk9TRkdwAFwuX1NCX1NMUFNXQUtf
aKAVg4hXQUtQCgAAcAoAiFdBS1AKAQChC3BoiFdBS1AKAQCkV0FLUFuAUE1TMAFQTUJTCgRb
gSRQTVMwAQAKUlRDUwEABFdBS1MBAAhQV0JUAQABUlRDRQEABVuAU01JRQFQTTMwCghbgRZT
TUlFAQAEUFMxRQEAH1BTMVMBABtbgFwvA19TQl9QQ0kwU0tQRAJBQ1BICgJbgSJcLwNfU0Jf
UENJMFNLUEQBQVBXUghTUExWA09TRkcCAANbgENNT1MBCnAKAluBEENNT1MBQ0lEWAhDREFU
CFuGEkNJRFhDREFUAQBAN1dLVFAIW4BJT1JLAQqzCgFbgQtJT1JLAUlPV0sIEChcLwNfU0Jf
UENJMElERTBbgFBBUjkCCgkKAVuBC1BBUjkBUEFNRAgQKFwvA19TQl9QQ0kwSURFMVuAU0FS
OQIKCQoBW4ELU0FSOQFTQU1ECAhcX1MwXxIKBAoACgAKAAoAoBZTUzFfCFxfUzFfEgoECgEK
AAoACgCgFlNTM18IXF9TM18SCgQKBQoACgAKAKAWU1M0XwhcX1M0XxIKBAoGCgAKAAoACFxf
UzVfEgoECgcKAAoACgAUHVBUU18BoBZoXC8EX1NCX1BDSTBTQlJHU0lPU2gUGldBS18BXC8E
X1NCX1BDSTBTQlJHU0lPV2g=
--------------020604070307000805050105
Content-Type: text/plain;
 name="acpi_p4p800.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="acpi_p4p800.txt"

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20041119
 *
 * Disassembly of /tmp/acpidump.BjPuWc, Mon Oct 23 18:49:27 2006
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "P4P81", "P4P81106", 262)
{
    OperationRegion (BIOS, SystemMemory, 0x7FF40064, 0xFF)
    Field (BIOS, ByteAcc, NoLock, Preserve)
    {
        SS1,    1, 
        SS2,    1, 
        SS3,    1, 
        SS4,    1, 
        Offset (0x01), 
        IOST,   16, 
        TOPM,   32, 
        ROMS,   32, 
        MG1B,   32, 
        MG1L,   32, 
        MG2B,   32, 
        MG2L,   32
    }

    Name (HWMB, 0x0290)
    Name (IO1B, 0x0680)
    Name (IO1L, 0x80)
    Name (SPIO, 0x2E)
    Name (PM30, 0x0830)
    Name (ACPH, 0xDE)
    Name (SUSW, 0xFF)
    Name (PMBS, 0x0800)
    Name (PMLN, 0x80)
    Name (GPBS, 0x0480)
    Name (GPLN, 0x40)
    Name (SMBS, 0x00)
    Name (SMBL, 0x20)
    Name (APCB, 0xFEC00000)
    Name (APCL, 0x1000)
    Method (RRIO, 4, NotSerialized)
    {
        Store ("RRIO", Debug)
    }

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

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

        Store (Arg0, PICM)
    }

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

        If (LEqual (PICM, 0x00))
        {
            Store (0xAC, DBG8)
        }

        Store (0x01, OSVR)
        If (MCTH (\_OS, "Microsoft Windows NT"))
        {
            Store (0x00, OSVR)
        }
        Else
        {
            If (MCTH (\_OS, "Microsoft WindowsME: Millennium Edition"))
            {
                Store (0x02, OSVR)
            }
        }

        Return (OSVR)
    }

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

        Add (SizeOf (Arg0), 0x01, Local0)
        Name (BUF0, Buffer (Local0) {})
        Name (BUF1, Buffer (Local0) {})
        Store (Arg0, BUF0)
        Store (Arg1, BUF1)
        While (Local0)
        {
            Decrement (Local0)
            If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))))
            {
                Return (Zero)
            }
        }

        Return (One)
    }

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

        Return (PRWP)
    }

    Name (WAKP, Package (0x02)
    {
        0x00, 
        0x00
    })
    OperationRegion (DEB0, SystemIO, 0x80, 0x01)
    Field (DEB0, ByteAcc, NoLock, Preserve)
    {
        DBG8,   8
    }

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

    Scope (\_PR)
    {
        Processor (CPU1, 0x01, 0x00000000, 0x00) {}
        Processor (CPU2, 0x02, 0x00000000, 0x00) {}
    }

    Scope (\_SB)
    {
        Name (PR04, Package (0x18)
        {
            Package (0x04)
            {
                0x0008FFFF, 
                0x00, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x00, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x01, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x02, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x03, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x00, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x01, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x02, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x03, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x00, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x01, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x02, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x03, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x00, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x01, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x02, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x03, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x00, 
                LNKF, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x01, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x02, 
                LNKH, 
                0x00
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x03, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x00, 
                LNKG, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                LNKE, 
                0x00
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                0x00, 
                LNKH, 
                0x00
            }
        })
        Name (AR04, Package (0x18)
        {
            Package (0x04)
            {
                0x0008FFFF, 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x00, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x01, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x02, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                0x03, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x00, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x01, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x02, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                0x03, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x00, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x01, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x02, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                0x03, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x01, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x02, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                0x03, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x00, 
                0x00, 
                0x15
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x01, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x02, 
                0x00, 
                0x17
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                0x03, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x00, 
                0x00, 
                0x16
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                0x00, 
                0x14
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                0x00, 
                0x00, 
                0x17
            }
        })
        Name (PR00, Package (0x0C)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                0x00, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x001DFFFF, 
                0x01, 
                LNKD, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                LNKH, 
                0x00
            }, 

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

            Package (0x04)
            {
                0x0001FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                LNKA, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x01, 
                LNKB, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x02, 
                LNKC, 
                0x00
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x03, 
                LNKD, 
                0x00
            }
        })
        Name (AR00, Package (0x0C)
        {
            Package (0x04)
            {
                0x001FFFFF, 
                0x00, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0x001FFFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

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

            Package (0x04)
            {
                0x001DFFFF, 
                0x01, 
                0x00, 
                0x13
            }, 

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

            Package (0x04)
            {
                0x001DFFFF, 
                0x03, 
                0x00, 
                0x17
            }, 

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

            Package (0x04)
            {
                0x0001FFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x00, 
                0x00, 
                0x10
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x01, 
                0x00, 
                0x11
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x02, 
                0x00, 
                0x12
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                0x03, 
                0x00, 
                0x13
            }
        })
        Name (PR02, Package (0x01)
        {
            Package (0x04)
            {
                0x0001FFFF, 
                0x00, 
                LNKC, 
                0x00
            }
        })
        Name (AR02, Package (0x01)
        {
            Package (0x04)
            {
                0x0001FFFF, 
                0x00, 
                0x00, 
                0x12
            }
        })
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,12,14,15}
        })
        Alias (PRSA, PRSB)
        Alias (PRSA, PRSC)
        Alias (PRSA, PRSD)
        Alias (PRSA, PRSE)
        Alias (PRSA, PRSF)
        Alias (PRSA, PRSG)
        Alias (PRSA, PRSH)
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, 0x00)
            Name (_BBN, 0x00)
            Name (_UID, 0x00)
            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR00)
                }

                Return (PR00)
            }

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

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

                    Return (PR04)
                }
            }

            Device (IDE0)
            {
                Name (_ADR, 0x001F0001)
                Name (REGF, 0x01)
                Method (_REG, 2, NotSerialized)
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (Arg1, REGF)
                    }
                }

                Name (TIM0, Package (0x08)
                {
                    Package (0x04)
                    {
                        0x78, 
                        0xB4, 
                        0xF0, 
                        0x0384
                    }, 

                    Package (0x04)
                    {
                        0x23, 
                        0x21, 
                        0x10, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0x0B, 
                        0x09, 
                        0x04, 
                        0x00
                    }, 

                    Package (0x06)
                    {
                        0x70, 
                        0x49, 
                        0x36, 
                        0x27, 
                        0x19, 
                        0x0F
                    }, 

                    Package (0x06)
                    {
                        0x00, 
                        0x01, 
                        0x02, 
                        0x01, 
                        0x02, 
                        0x01
                    }, 

                    Package (0x06)
                    {
                        0x00, 
                        0x00, 
                        0x00, 
                        0x01, 
                        0x01, 
                        0x01
                    }, 

                    Package (0x04)
                    {
                        0x04, 
                        0x03, 
                        0x02, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0x02, 
                        0x01, 
                        0x00, 
                        0x00
                    }
                })
                Name (TMD0, Buffer (0x14) {})
                CreateDWordField (TMD0, 0x00, PIO0)
                CreateDWordField (TMD0, 0x04, DMA0)
                CreateDWordField (TMD0, 0x08, PIO1)
                CreateDWordField (TMD0, 0x0C, DMA1)
                CreateDWordField (TMD0, 0x10, CHNF)
                OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
                Field (CFG2, DWordAcc, NoLock, Preserve)
                {
                    PMPT,   4, 
                    PSPT,   4, 
                    PMRI,   6, 
                    Offset (0x02), 
                    SMPT,   4, 
                    SSPT,   4, 
                    SMRI,   6, 
                    Offset (0x04), 
                    PSRI,   4, 
                    SSRI,   4, 
                    Offset (0x08), 
                    PM3E,   1, 
                    PS3E,   1, 
                    SM3E,   1, 
                    SS3E,   1, 
                    Offset (0x0A), 
                    PMUT,   2, 
                        ,   2, 
                    PSUT,   2, 
                    Offset (0x0B), 
                    SMUT,   2, 
                        ,   2, 
                    SSUT,   2, 
                    Offset (0x0C), 
                    Offset (0x14), 
                    PM6E,   1, 
                    PS6E,   1, 
                    SM6E,   1, 
                    SS6E,   1, 
                    PMCR,   1, 
                    PSCR,   1, 
                    SMCR,   1, 
                    SSCR,   1, 
                        ,   4, 
                    PMAE,   1, 
                    PSAE,   1, 
                    SMAE,   1, 
                    SSAE,   1
                }

                Name (GMPT, 0x00)
                Name (GMUE, 0x00)
                Name (GMUT, 0x00)
                Name (GMCR, 0x00)
                Name (GSPT, 0x00)
                Name (GSUE, 0x00)
                Name (GSUT, 0x00)
                Name (GSCR, 0x00)
                Device (CHN0)
                {
                    Name (_ADR, 0x00)
                    Method (_GTM, 0, NotSerialized)
                    {
                        ShiftLeft (PSCR, 0x01, Local1)
                        Or (PMCR, Local1, Local0)
                        ShiftLeft (PMAE, 0x02, Local3)
                        ShiftLeft (PM6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PM3E, Local3, Local1)
                        ShiftLeft (PMPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        ShiftLeft (PSAE, 0x02, Local3)
                        ShiftLeft (PS6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PS3E, Local3, Local2)
                        ShiftLeft (PSPT, 0x04, Local3)
                        Or (Local2, Local3, Local2)
                        Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        ShiftLeft (PMAE, 0x02, Local3)
                        ShiftLeft (PM6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PM3E, Local3, Local0)
                        ShiftLeft (PMPT, 0x04, Local3)
                        Or (Local0, Local3, Local0)
                        ShiftLeft (PSAE, 0x02, Local3)
                        ShiftLeft (PS6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (PS3E, Local3, Local1)
                        ShiftLeft (PSPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        Store (PMRI, GMPT)
                        Store (Local0, GMUE)
                        Store (PMUT, GMUT)
                        Store (PMCR, GMCR)
                        Store (PSRI, GSPT)
                        Store (Local1, GSUE)
                        Store (PSUT, GSUT)
                        Store (PSCR, GSCR)
                        STM ()
                        Store (GMPT, PMRI)
                        Store (GMUE, Local0)
                        Store (GMUT, PMUT)
                        Store (GMCR, PMCR)
                        Store (GSUE, Local1)
                        Store (GSUT, PSUT)
                        Store (GSCR, PSCR)
                        If (And (Local0, 0x01))
                        {
                            Store (0x01, PM3E)
                        }
                        Else
                        {
                            Store (0x00, PM3E)
                        }

                        If (And (Local0, 0x02))
                        {
                            Store (0x01, PM6E)
                        }
                        Else
                        {
                            Store (0x00, PM6E)
                        }

                        If (And (Local0, 0x04))
                        {
                            Store (0x01, PMAE)
                        }
                        Else
                        {
                            Store (0x00, PMAE)
                        }

                        If (And (Local1, 0x01))
                        {
                            Store (0x01, PS3E)
                        }
                        Else
                        {
                            Store (0x00, PS3E)
                        }

                        If (And (Local1, 0x02))
                        {
                            Store (0x01, PS6E)
                        }
                        Else
                        {
                            Store (0x00, PS6E)
                        }

                        If (And (Local1, 0x04))
                        {
                            Store (0x01, PSAE)
                        }
                        Else
                        {
                            Store (0x00, PSAE)
                        }

                        Store (GTF (0x00, Arg1), ATA0)
                        Store (GTF (0x01, Arg2), ATA1)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA0))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA1))
                        }
                    }
                }

                Device (CHN1)
                {
                    Name (_ADR, 0x01)
                    Method (_GTM, 0, NotSerialized)
                    {
                        ShiftLeft (SSCR, 0x01, Local1)
                        Or (SMCR, Local1, Local0)
                        ShiftLeft (SMAE, 0x02, Local3)
                        ShiftLeft (SM6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SM3E, Local3, Local1)
                        ShiftLeft (SMPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        ShiftLeft (SSAE, 0x02, Local3)
                        ShiftLeft (SS6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SS3E, Local3, Local2)
                        ShiftLeft (SSPT, 0x04, Local3)
                        Or (Local2, Local3, Local2)
                        Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        Store (Arg0, TMD0)
                        ShiftLeft (SMAE, 0x02, Local3)
                        ShiftLeft (SM6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SM3E, Local3, Local0)
                        ShiftLeft (SMPT, 0x04, Local3)
                        Or (Local0, Local3, Local0)
                        ShiftLeft (SSAE, 0x02, Local3)
                        ShiftLeft (SS6E, 0x01, Local4)
                        Or (Local3, Local4, Local3)
                        Or (SS3E, Local3, Local1)
                        ShiftLeft (SSPT, 0x04, Local3)
                        Or (Local1, Local3, Local1)
                        Store (SMRI, GMPT)
                        Store (Local0, GMUE)
                        Store (SMUT, GMUT)
                        Store (SMCR, GMCR)
                        Store (SSRI, GSPT)
                        Store (Local1, GSUE)
                        Store (SSUT, GSUT)
                        Store (SSCR, GSCR)
                        STM ()
                        Store (GMPT, SMRI)
                        Store (GMUE, Local0)
                        Store (GMUT, SMUT)
                        Store (GMCR, SMCR)
                        Store (GSUE, Local1)
                        Store (GSUT, SSUT)
                        Store (GSCR, SSCR)
                        If (And (Local0, 0x01))
                        {
                            Store (0x01, SM3E)
                        }
                        Else
                        {
                            Store (0x00, SM3E)
                        }

                        If (And (Local0, 0x02))
                        {
                            Store (0x01, SM6E)
                        }
                        Else
                        {
                            Store (0x00, SM6E)
                        }

                        If (And (Local0, 0x04))
                        {
                            Store (0x01, SMAE)
                        }
                        Else
                        {
                            Store (0x00, SMAE)
                        }

                        If (And (Local1, 0x01))
                        {
                            Store (0x01, SS3E)
                        }
                        Else
                        {
                            Store (0x00, SS3E)
                        }

                        If (And (Local1, 0x02))
                        {
                            Store (0x01, SS6E)
                        }
                        Else
                        {
                            Store (0x00, SS6E)
                        }

                        If (And (Local1, 0x04))
                        {
                            Store (0x01, SSAE)
                        }
                        Else
                        {
                            Store (0x00, SSAE)
                        }

                        Store (GTF (0x00, Arg1), ATA2)
                        Store (GTF (0x01, Arg2), ATA3)
                    }

                    Device (DRV0)
                    {
                        Name (_ADR, 0x00)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA2))
                        }
                    }

                    Device (DRV1)
                    {
                        Name (_ADR, 0x01)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Return (RATA (ATA3))
                        }
                    }
                }

                Method (GTM, 7, Serialized)
                {
                    Store (Ones, PIO0)
                    Store (Ones, PIO1)
                    Store (Ones, DMA0)
                    Store (Ones, DMA1)
                    Store (0x10, CHNF)
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    If (And (Arg1, 0x20))
                    {
                        Or (CHNF, 0x02, CHNF)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA0)
                    Store (Local7, PIO0)
                    If (And (Arg4, 0x20))
                    {
                        Or (CHNF, 0x08, CHNF)
                    }

                    Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
                    Store (Local7, DMA1)
                    Store (Local7, PIO1)
                    If (And (Arg1, 0x07))
                    {
                        Store (Arg2, Local5)
                        If (And (Arg1, 0x02))
                        {
                            Add (Local5, 0x02, Local5)
                        }

                        If (And (Arg1, 0x04))
                        {
                            Add (Local5, 0x04, Local5)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0)
                        Or (CHNF, 0x01, CHNF)
                    }

                    If (And (Arg4, 0x07))
                    {
                        Store (Arg5, Local5)
                        If (And (Arg4, 0x02))
                        {
                            Add (Local5, 0x02, Local5)
                        }

                        If (And (Arg4, 0x04))
                        {
                            Add (Local5, 0x04, Local5)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1)
                        Or (CHNF, 0x04, CHNF)
                    }

                    Store (TMD0, Debug)
                    Return (TMD0)
                }

                Method (STM, 0, Serialized)
                {
                    If (REGF) {}
                    Else
                    {
                        Return (TMD0)
                    }

                    Store (0x00, GMUE)
                    Store (0x00, GMUT)
                    Store (0x00, GSUE)
                    Store (0x00, GSUT)
                    If (And (CHNF, 0x01))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
                        If (LGreater (Local0, 0x05))
                        {
                            Store (0x05, Local0)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT)
                        Or (GMUE, 0x01, GMUE)
                        If (LGreater (Local0, 0x02))
                        {
                            Or (GMUE, 0x02, GMUE)
                        }

                        If (LGreater (Local0, 0x04))
                        {
                            And (GMUE, 0xFD, GMUE)
                            Or (GMUE, 0x04, GMUE)
                        }
                    }
                    Else
                    {
                        If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
                        {
                            If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
                            {
                                Store (DMA0, PIO0)
                                Or (GMUE, 0x80, GMUE)
                            }
                        }
                    }

                    If (And (CHNF, 0x04))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
                        If (LGreater (Local0, 0x05))
                        {
                            Store (0x05, Local0)
                        }

                        Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT)
                        Or (GSUE, 0x01, GSUE)
                        If (LGreater (Local0, 0x02))
                        {
                            Or (GSUE, 0x02, GSUE)
                        }

                        If (LGreater (Local0, 0x04))
                        {
                            And (GSUE, 0xFD, GSUE)
                            Or (GSUE, 0x04, GSUE)
                        }
                    }
                    Else
                    {
                        If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
                        {
                            If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
                            {
                                Store (DMA1, PIO1)
                                Or (GSUE, 0x80, GSUE)
                            }
                        }
                    }

                    If (And (CHNF, 0x02))
                    {
                        Or (GMUE, 0x20, GMUE)
                    }

                    If (And (CHNF, 0x08))
                    {
                        Or (GSUE, 0x20, GSUE)
                    }

                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x07, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
                    Store (Local1, GMPT)
                    If (LLess (Local0, 0x03))
                    {
                        Or (GMUE, 0x50, GMUE)
                    }

                    And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x07, Local0)
                    Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1)
                    Store (Local1, GSPT)
                    If (LLess (Local0, 0x03))
                    {
                        Or (GSUE, 0x50, GSUE)
                    }
                }

                Name (AT01, Buffer (0x07)
                {
                    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                })
                Name (AT02, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
                })
                Name (AT03, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                })
                Name (AT04, Buffer (0x07)
                {
                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
                })
                Name (ATA0, Buffer (0x1D) {})
                Name (ATA1, Buffer (0x1D) {})
                Name (ATA2, Buffer (0x1D) {})
                Name (ATA3, Buffer (0x1D) {})
                Name (ATAB, Buffer (0x1D) {})
                CreateByteField (ATAB, 0x00, CMDC)
                Method (GTFB, 3, Serialized)
                {
                    Multiply (CMDC, 0x38, Local0)
                    Add (Local0, 0x08, Local1)
                    CreateField (ATAB, Local1, 0x38, CMDX)
                    Multiply (CMDC, 0x07, Local0)
                    CreateByteField (ATAB, Add (Local0, 0x02), A001)
                    CreateByteField (ATAB, Add (Local0, 0x06), A005)
                    Store (Arg0, CMDX)
                    Store (Arg1, A001)
                    Store (Arg2, A005)
                    Increment (CMDC)
                }

                Method (GTF, 2, Serialized)
                {
                    Store (Arg1, Debug)
                    Store (0x00, CMDC)
                    Name (ID49, 0x0C00)
                    Name (ID59, 0x00)
                    Name (ID53, 0x04)
                    Name (ID63, 0x0F00)
                    Name (ID88, 0x0F00)
                    Name (IRDY, 0x01)
                    Name (PIOT, 0x00)
                    Name (DMAT, 0x00)
                    If (LEqual (SizeOf (Arg1), 0x0200))
                    {
                        CreateWordField (Arg1, 0x62, IW49)
                        Store (IW49, ID49)
                        CreateWordField (Arg1, 0x6A, IW53)
                        Store (IW53, ID53)
                        CreateWordField (Arg1, 0x7E, IW63)
                        Store (IW63, ID63)
                        CreateWordField (Arg1, 0x76, IW59)
                        Store (IW59, ID59)
                        CreateWordField (Arg1, 0xB0, IW88)
                        Store (IW88, ID88)
                    }

                    Store (0xA0, Local7)
                    If (Arg0)
                    {
                        Store (0xB0, Local7)
                        And (CHNF, 0x08, IRDY)
                        If (And (CHNF, 0x10))
                        {
                            Store (PIO1, PIOT)
                        }
                        Else
                        {
                            Store (PIO0, PIOT)
                        }

                        If (And (CHNF, 0x04))
                        {
                            If (And (CHNF, 0x10))
                            {
                                Store (DMA1, DMAT)
                            }
                            Else
                            {
                                Store (DMA0, DMAT)
                            }
                        }
                    }
                    Else
                    {
                        And (CHNF, 0x02, IRDY)
                        Store (PIO0, PIOT)
                        If (And (CHNF, 0x01))
                        {
                            Store (DMA0, DMAT)
                        }
                    }

                    If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
                    {
                        Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, 0x00, 0x00), Local1)
                        If (LGreater (Local1, 0x05))
                        {
                            Store (0x05, Local1)
                        }

                        GTFB (AT01, Or (0x40, Local1), Local7)
                    }
                    Else
                    {
                        If (LAnd (And (ID63, 0xFF00), PIOT))
                        {
                            And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)
                            Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1)
                            GTFB (AT01, Local1, Local7)
                        }
                    }

                    If (IRDY)
                    {
                        And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x07, Local0)
                        Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), Local1)
                        GTFB (AT01, Local1, Local7)
                    }
                    Else
                    {
                        If (And (ID49, 0x0400))
                        {
                            GTFB (AT01, 0x01, Local7)
                        }
                    }

                    If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                    {
                        GTFB (AT03, And (ID59, 0xFF), Local7)
                    }

                    Store (ATAB, Debug)
                    Return (ATAB)
                }

                Method (RATA, 1, NotSerialized)
                {
                    CreateByteField (Arg0, 0x00, CMDN)
                    Multiply (CMDN, 0x38, Local0)
                    CreateField (Arg0, 0x08, Local0, RETB)
                    Store (RETB, Debug)
                    Return (RETB)
                }
            }

            Device (IDE1)
            {
                Name (_ADR, 0x001F0002)
            }

            Device (MC97)
            {
                Name (_ADR, 0x001F0006)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x05, 0x04))
                }
            }

            Device (USB1)
            {
                Name (_ADR, 0x001D0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x03, 0x04))
                }
            }

            Device (USB2)
            {
                Name (_ADR, 0x001D0001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x04, 0x04))
                }
            }

            Device (USB3)
            {
                Name (_ADR, 0x001D0002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0C, 0x04))
                }
            }

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

            Device (EUSB)
            {
                Name (_ADR, 0x001D0007)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0D, 0x04))
                }
            }

            Device (SBRG)
            {
                Name (_ADR, 0x001F0000)
                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0020, 0x0020, 0x00, 0x02)
                        IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x02)
                        IRQNoFlags () {2}
                    })
                }

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

                Device (TMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0040, 0x0040, 0x00, 0x04)
                        IRQNoFlags () {0}
                    })
                }

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0070, 0x0070, 0x00, 0x02)
                        IRQNoFlags () {8}
                    })
                }

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

                        Return (0x00)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        IRQNoFlags () {1}
                    })
                }

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

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

                        Return (0x00)
                    }

                    Name (CRS1, ResourceTemplate ()
                    {
                        IRQNoFlags () {12}
                    })
                    Name (CRS2, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
                        IRQNoFlags () {12}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        ShiftLeft (0x01, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (CRS1)
                        }
                        Else
                        {
                            Return (CRS2)
                        }
                    }
                }

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

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0061, 0x0061, 0x00, 0x01)
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x10)
                        IRQNoFlags () {13}
                    })
                }

                Device (UAR1)
                {
                    Name (_UID, 0x01)
                    Name (_HID, EisaId ("PNP0501"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x00))
                    }

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

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (PCRS (0x00, 0x01, 0x08))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        PSRS (Arg0, 0x00)
                    }

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

                    Name (CMPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x04, 0x08)
                            IRQNoFlags () {4}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        EndDependentFn ()
                    })
                    Name (PBUF, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                        IRQNoFlags () {0}
                    })
                    Method (PCRS, 3, NotSerialized)
                    {
                        CreateByteField (PBUF, 0x02, IOLO)
                        CreateByteField (PBUF, 0x03, IOHI)
                        CreateWordField (PBUF, 0x02, IOHL)
                        CreateWordField (PBUF, 0x04, IORL)
                        CreateByteField (PBUF, 0x06, ALMN)
                        CreateByteField (PBUF, 0x07, LENG)
                        CreateByteField (PBUF, 0x09, IRQL)
                        ENFG (CGLD (Arg0))
                        Store (IOAH, IOHI)
                        Store (IOAL, IOLO)
                        Store (IOHL, IORL)
                        Store (Arg1, ALMN)
                        If (LEqual (IOLO, 0xBC))
                        {
                            Store (0x04, LENG)
                        }
                        Else
                        {
                            Store (Arg2, LENG)
                        }

                        Store (One, Local0)
                        ShiftLeft (Local0, INTR, IRQL)
                        EXFG ()
                        Return (PBUF)
                    }

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

                Device (UAR2)
                {
                    Name (_UID, 0x02)
                    Name (_HID, EisaId ("PNP0501"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x01))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x01, 0x00)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (DCRS (0x01))
                    }

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

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

                    Name (CMPR, ResourceTemplate ()
                    {
                        IRQNoFlags () {3,4,5,6,7,10,11,12}
                        StartDependentFnNoPri ()
                        {
                            DMA (Compatibility, NotBusMaster, Transfer8) {}
                            IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
                        }
                        StartDependentFnNoPri ()
                        {
                            DMA (Compatibility, NotBusMaster, Transfer8) {}
                            IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
                        }
                        StartDependentFnNoPri ()
                        {
                            DMA (Compatibility, NotBusMaster, Transfer8) {}
                            IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
                        }
                        StartDependentFnNoPri ()
                        {
                            DMA (Compatibility, NotBusMaster, Transfer8) {}
                            IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
                        }
                        EndDependentFn ()
                    })
                }

                Device (FDC)
                {
                    Name (_HID, EisaId ("PNP0700"))
                    Name (_FDE, Package (0x05)
                    {
                        0x01, 
                        0x00, 
                        0x02, 
                        0x02, 
                        0x02
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x03))
                    }

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

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

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

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

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

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

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

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (ECRS (0x02))
                    }

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

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

                    Name (LPPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                            IRQNoFlags () {7}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                        }
                        EndDependentFn ()
                    })
                    Name (EPPR, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                            IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
                            IRQNoFlags () {7}
                            DMA (Compatibility, NotBusMaster, Transfer8) {3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                            IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                            IO (Decode16, 0x0678, 0x0678, 0x01, 0x04)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                            IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
                            IRQNoFlags () {3,4,5,6,7,10,11,12}
                            DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
                        }
                        EndDependentFn ()
                    })
                    Name (EBUF, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
                        IRQNoFlags () {7}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    })
                    CreateByteField (EBUF, 0x02, EPLO)
                    CreateByteField (EBUF, 0x03, EPHI)
                    CreateWordField (EBUF, 0x02, EPHL)
                    CreateWordField (EBUF, 0x04, EPRL)
                    CreateWordField (EBUF, 0x06, ALM1)
                    CreateWordField (EBUF, 0x0A, E4LO)
                    CreateWordField (EBUF, 0x0C, E4RL)
                    CreateWordField (EBUF, 0x0E, ELNG)
                    CreateWordField (EBUF, 0x11, EIRQ)
                    CreateByteField (EBUF, 0x14, EDMA)
                    Name (PBUF, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                        IRQNoFlags () {7}
                    })
                    CreateByteField (PBUF, 0x02, PPLO)
                    CreateByteField (PBUF, 0x03, PPHI)
                    CreateWordField (PBUF, 0x02, PPHL)
                    CreateWordField (PBUF, 0x04, PPRL)
                    CreateWordField (PBUF, 0x06, ALM0)
                    CreateWordField (PBUF, 0x09, PIRQ)
                    Method (ECRS, 1, NotSerialized)
                    {
                        ENFG (CGLD (Arg0))
                        Store (IOAH, EPHI)
                        Store (IOAL, EPLO)
                        Store (IOAH, PPHI)
                        Store (IOAL, PPLO)
                        Store (EPHL, EPRL)
                        Store (PPHL, PPRL)
                        And (OPT0, 0x02, Local0)
                        If (Local0)
                        {
                            Add (EPHL, 0x0400, E4LO)
                            Store (E4LO, E4RL)
                        }

                        If (LEqual (EPHL, 0x03BC))
                        {
                            Store (0x0401, ALM1)
                            Store (0x0401, ALM0)
                        }
                        Else
                        {
                            Store (0x0801, ALM1)
                            Store (0x0801, ALM0)
                        }

                        Store (One, Local0)
                        Store (INTR, Local1)
                        ShiftLeft (Local0, Local1, EIRQ)
                        ShiftLeft (Local0, Local1, PIRQ)
                        Store (DMCH, Local1)
                        If (LGreater (Local1, 0x03))
                        {
                            Store (0x00, EDMA)
                        }
                        Else
                        {
                            Store (One, Local0)
                            ShiftLeft (Local0, Local1, EDMA)
                        }

                        And (OPT0, 0x02, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            Return (EBUF)
                        }
                        Else
                        {
                            Return (PBUF)
                        }
                    }

                    Method (ESRS, 2, NotSerialized)
                    {
                        ENFG (CGLD (Arg1))
                        CreateByteField (Arg0, 0x02, LOEP)
                        CreateByteField (Arg0, 0x03, HIEP)
                        And (OPT0, 0x02, Local0)
                        If (Local0)
                        {
                            CreateWordField (Arg0, 0x11, IRQE)
                            CreateByteField (Arg0, 0x14, DMAE)
                        }
                        Else
                        {
                            CreateWordField (Arg0, 0x09, IRQP)
                        }

                        Store (LOEP, IOAL)
                        Store (HIEP, IOAH)
                        And (OPT0, 0x02, Local0)
                        If (Local0)
                        {
                            If (IRQE)
                            {
                                FindSetRightBit (IRQE, Local0)
                                Subtract (Local0, 0x01, INTR)
                            }
                            Else
                            {
                                Store (0x00, INTR)
                            }
                        }
                        Else
                        {
                            If (IRQP)
                            {
                                FindSetRightBit (IRQP, Local0)
                                Subtract (Local0, 0x01, INTR)
                            }
                            Else
                            {
                                Store (0x00, INTR)
                            }
                        }

                        And (OPT0, 0x02, Local0)
                        If (Local0)
                        {
                            If (DMAE)
                            {
                                FindSetRightBit (DMAE, Local0)
                                Subtract (Local0, 0x01, DMCH)
                            }
                            Else
                            {
                                Store (0x04, DMCH)
                            }
                        }

                        Store (One, ACTR)
                        EXFG ()
                    }
                }

                Device (GAME)
                {
                    Name (_HID, EisaId ("PNPB02F"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x08))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x08, 0x00)
                    }

                    Name (GMCR, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0200, 0x0200, 0x01, 0x08)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateByteField (GMCR, 0x02, IOLO)
                        CreateByteField (GMCR, 0x03, IOHI)
                        CreateWordField (GMCR, 0x02, IOHL)
                        CreateWordField (GMCR, 0x04, IORL)
                        ENFG (CGLD (0x08))
                        Store (IOAH, IOHI)
                        Store (IOAL, IOLO)
                        Store (IOHL, IORL)
                        EXFG ()
                        Return (GMCR)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, POLB)
                        CreateByteField (Arg0, 0x03, POHB)
                        ENFG (CGLD (0x08))
                        Store (POLB, IOAL)
                        Store (POHB, IOAH)
                        DCNT (0x08, 0x01)
                        EXFG ()
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFn (0x00, 0x00)
                        {
                            IO (Decode16, 0x0200, 0x0200, 0x01, 0x08)
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0208, 0x0208, 0x01, 0x08)
                        }
                        EndDependentFn ()
                    })
                }

                Device (MIDI)
                {
                    Name (_HID, EisaId ("PNPB006"))
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (0x05))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (0x05, 0x00)
                    }

                    Name (MDCR, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
                        IRQNoFlags () {5}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateByteField (MDCR, 0x02, IOLO)
                        CreateByteField (MDCR, 0x03, IOHI)
                        CreateWordField (MDCR, 0x02, IOHL)
                        CreateWordField (MDCR, 0x04, IORL)
                        CreateWordField (MDCR, 0x09, MIRQ)
                        ENFG (CGLD (0x05))
                        Store (IOH2, IOHI)
                        Store (IOL2, IOLO)
                        Store (IOHL, IORL)
                        ShiftLeft (0x01, INTR, MIRQ)
                        EXFG ()
                        Return (MDCR)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateByteField (Arg0, 0x02, POLB)
                        CreateByteField (Arg0, 0x03, POHB)
                        CreateWordField (Arg0, 0x09, MIRQ)
                        ENFG (CGLD (0x05))
                        Store (POLB, IOL2)
                        Store (POHB, IOH2)
                        FindSetRightBit (MIRQ, Local0)
                        Subtract (Local0, 0x01, INTR)
                        DCNT (0x05, 0x01)
                        EXFG ()
                    }

                    Name (_PRS, ResourceTemplate ()
                    {
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
                        }
                        StartDependentFnNoPri ()
                        {
                            IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
                        }
                        EndDependentFn ()
                        IRQNoFlags () {5,9,10,11}
                    })
                }

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

                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0290, 0x0290, 0x00, 0x08)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0)))
                        {
                            CreateWordField (CRS, 0x02, GP10)
                            CreateWordField (CRS, 0x04, GP11)
                            CreateByteField (CRS, 0x07, GPL1)
                            Store (SPIO, GP10)
                            Store (SPIO, GP11)
                            Store (0x02, GPL1)
                        }

                        If (IO1B)
                        {
                            CreateWordField (CRS, 0x0A, GP20)
                            CreateWordField (CRS, 0x0C, GP21)
                            CreateByteField (CRS, 0x0F, GPL2)
                            Store (IO1B, GP20)
                            Store (IO1B, GP21)
                            Store (IO1L, GPL2)
                        }

                        Return (CRS)
                    }
                }

                Name (DCAT, Package (0x15)
                {
                    0x02, 
                    0x03, 
                    0x01, 
                    0x00, 
                    0xFF, 
                    0x07, 
                    0xFF, 
                    0xFF, 
                    0x07, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0x06, 
                    0x08, 
                    0x09, 
                    0xFF, 
                    0xFF
                })
                Method (ENFG, 1, NotSerialized)
                {
                    Store (0x87, INDX)
                    Store (0x87, INDX)
                    Store (Arg0, LDN)
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0xAA, INDX)
                }

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

                Method (UHID, 1, NotSerialized)
                {
                    If (LEqual (Arg0, 0x01))
                    {
                        ENFG (CGLD (Arg0))
                        And (OPT1, 0x38, Local0)
                        EXFG ()
                        If (Local0)
                        {
                            Return (0x1005D041)
                        }
                    }

                    Return (0x0105D041)
                }

                Method (SIOK, 1, NotSerialized)
                {
                    ENFG (0x0A)
                    And (0xFF, OPT3, OPT3)
                    And (Arg0, 0x30, Local0)
                    And (OPT6, 0xCF, OPT6)
                    Or (OPT6, Local0, OPT6)
                    Store (Arg0, Local1)
                    And (Arg0, 0x05, Local0)
                    And (OPT9, 0xFA, OPT9)
                    Or (OPT9, Local0, OPT9)
                    If (LEqual (Arg0, Zero))
                    {
                        Store (0x00, ACTR)
                        Store (0x08, LDN)
                        And (OPT5, 0x3F, OPT5)
                    }
                    Else
                    {
                        Store (0x01, ACTR)
                    }

                    EXFG ()
                }

                Method (PS2K._PSW, 1, NotSerialized)
                {
                    ENFG (0x0A)
                    And (OPT6, 0xEF, OPT6)
                    If (Arg0)
                    {
                        Or (OPT6, 0x10, OPT6)
                    }

                    EXFG ()
                }

                Method (PS2M._PSW, 1, NotSerialized)
                {
                    ENFG (0x0A)
                    And (OPT6, 0xDF, OPT6)
                    If (Arg0)
                    {
                        Or (OPT6, 0x20, OPT6)
                    }

                    EXFG ()
                }

                Method (SIOS, 1, NotSerialized)
                {
                    Store ("SIOS", Debug)
                    SIOK (Ones)
                }

                Method (SIOW, 1, NotSerialized)
                {
                    Store ("SIOW", Debug)
                    SIOK (Zero)
                }

                Method (SIOH, 0, NotSerialized)
                {
                    Store ("SIOH", Debug)
                    ENFG (0x0A)
                    If (And (OPT3, 0x10))
                    {
                        Notify (PS2K, 0x02)
                    }

                    If (And (OPT3, 0x20))
                    {
                        Notify (PS2M, 0x02)
                    }

                    SIOK (Zero)
                }

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

                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x07), 
                    LDN,    8, 
                    Offset (0x22), 
                    FDCP,   1, 
                        ,   2, 
                    LPTP,   1, 
                    URAP,   1, 
                    URBP,   1, 
                    Offset (0x30), 
                    ACTR,   8, 
                    Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    IOH2,   8, 
                    IOL2,   8, 
                    Offset (0x70), 
                    INTR,   8, 
                    Offset (0x74), 
                    DMCH,   8, 
                    Offset (0xE0), 
                    CRE0,   8, 
                    CRE1,   8, 
                    CRE2,   8, 
                    CRE3,   8, 
                    CRE4,   8, 
                    Offset (0xF0), 
                    OPT0,   8, 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8, 
                    Offset (0xF5), 
                    OPT5,   8, 
                    OPT6,   8, 
                    Offset (0xF9), 
                    OPT9,   8
                }

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

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

                    If (LEqual (Arg0, 0x05))
                    {
                        ShiftRight (Local0, 0x02, Local0)
                    }

                    If (LEqual (Arg0, 0x08))
                    {
                        ShiftRight (Local0, 0x01, Local0)
                    }

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

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

                    Store (Arg1, Local1)
                    Store (0x01, Local2)
                    If (LEqual (Arg0, 0x05))
                    {
                        ShiftLeft (Arg1, 0x02, Local1)
                        ShiftLeft (Local2, 0x02, Local2)
                    }

                    If (LEqual (Arg0, 0x08))
                    {
                        ShiftLeft (Arg1, 0x01, Local1)
                        ShiftLeft (Local2, 0x01, Local2)
                    }

                    Store (ACTR, Local0)
                    Not (Local2, Local3)
                    And (Local0, Local3, Local0)
                    Or (Local0, Local1, Local0)
                    Store (Local0, ACTR)
                    EXFG ()
                }

                Name (CRS1, ResourceTemplate ()
                {
                    IRQNoFlags () {}
                    DMA (Compatibility, NotBusMaster, Transfer8) {}
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                })
                CreateWordField (CRS1, 0x01, IRQM)
                CreateByteField (CRS1, 0x04, DMAM)
                CreateWordField (CRS1, 0x08, IO11)
                CreateWordField (CRS1, 0x0A, IO12)
                CreateByteField (CRS1, 0x0D, LEN1)
                Name (CRS2, ResourceTemplate ()
                {
                    IRQNoFlags () {6}
                    DMA (Compatibility, NotBusMaster, Transfer8) {2}
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                    IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                })
                CreateWordField (CRS2, 0x01, IRQE)
                CreateByteField (CRS2, 0x04, DMAE)
                CreateWordField (CRS2, 0x08, IO21)
                CreateWordField (CRS2, 0x0A, IO22)
                CreateByteField (CRS2, 0x0D, LEN2)
                CreateWordField (CRS2, 0x10, IO31)
                CreateWordField (CRS2, 0x12, IO32)
                CreateByteField (CRS2, 0x15, LEN3)
                Method (DCRS, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, IO11)
                    Or (IOAL, IO11, IO11)
                    Store (IO11, IO12)
                    Subtract (FindSetRightBit (IO11), 0x01, Local0)
                    ShiftLeft (0x01, Local0, LEN1)
                    If (INTR)
                    {
                        ShiftLeft (0x01, INTR, IRQM)
                    }
                    Else
                    {
                        Store (0x00, IRQM)
                    }

                    If (Or (LGreater (DMCH, 0x03), LEqual (And (DMCH, 0x03, Local1), 0x00)))
                    {
                        Store (0x00, DMAM)
                    }
                    Else
                    {
                        ShiftLeft (0x01, Local1, DMAM)
                    }

                    EXFG ()
                    Return (CRS1)
                }

                Method (DSRS, 2, NotSerialized)
                {
                    CreateWordField (Arg0, 0x01, IRQM)
                    CreateByteField (Arg0, 0x04, DMAM)
                    CreateWordField (Arg0, 0x08, IO11)
                    ENFG (CGLD (Arg1))
                    And (IO11, 0xFF, IOAL)
                    ShiftRight (IO11, 0x08, IOAH)
                    If (IRQM)
                    {
                        FindSetRightBit (IRQM, Local0)
                        Subtract (Local0, 0x01, INTR)
                    }
                    Else
                    {
                        Store (0x00, INTR)
                    }

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

                    EXFG ()
                    DCNT (Arg1, 0x01)
                }

                Device (RMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x10)
                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
                        IO (Decode16, 0x0022, 0x0022, 0x00, 0x1E)
                        IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
                        IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
                        IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
                        IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E)
                        IO (Decode16, 0x0080, 0x0080, 0x00, 0x01)
                        IO (Decode16, 0x0084, 0x0084, 0x00, 0x03)
                        IO (Decode16, 0x0088, 0x0088, 0x00, 0x01)
                        IO (Decode16, 0x008C, 0x008C, 0x00, 0x03)
                        IO (Decode16, 0x0090, 0x0090, 0x00, 0x10)
                        IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
                        IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
                        IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
                        Memory32Fixed (ReadWrite, 0xFED20000, 0x00070000)
                        Memory32Fixed (ReadWrite, 0xFFB00000, 0x00100000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (CRS, 0x72, GP00)
                        CreateWordField (CRS, 0x74, GP01)
                        CreateByteField (CRS, 0x77, GP0L)
                        Store (PMBS, GP00)
                        Store (PMBS, GP01)
                        Store (PMLN, GP0L)
                        If (SMBS)
                        {
                            CreateWordField (CRS, 0x7A, GP10)
                            CreateWordField (CRS, 0x7C, GP11)
                            CreateByteField (CRS, 0x7F, GP1L)
                            Store (SMBS, GP10)
                            Store (SMBS, GP11)
                            Store (SMBL, GP1L)
                        }

                        If (GPBS)
                        {
                            CreateWordField (CRS, 0x82, GP20)
                            CreateWordField (CRS, 0x84, GP21)
                            CreateByteField (CRS, 0x87, GP2L)
                            Store (GPBS, GP20)
                            Store (GPBS, GP21)
                            Store (GPLN, GP2L)
                        }

                        Return (CRS)
                    }
                }

                Device (P3F6)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x03F6)
                    Method (_STA, 0, NotSerialized)
                    {
                        Store (0x0F, Local1)
                        Store (\_SB.PCI0.IDE0.PAMD, Local0)
                        If (LEqual (Local0, 0x8A))
                        {
                            Store (0x00, Local1)
                        }

                        Store (\_SB.PCI0.IDE1.SAMD, Local0)
                        If (LEqual (Local0, 0x8A))
                        {
                            Store (0x00, Local1)
                        }

                        Return (Local1)
                    }

                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x03F6, 0x03F6, 0x00, 0x01)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (CRS)
                    }
                }

                Device (OMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x00)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (APCB)
                        {
                            CreateDWordField (CRS, 0x08, ML01)
                            CreateDWordField (CRS, 0x04, MB01)
                            CreateDWordField (CRS, 0x14, ML02)
                            CreateDWordField (CRS, 0x10, MB02)
                            Store (APCB, MB01)
                            Store (APCL, ML01)
                            Store (0xFEE00000, MB02)
                            Store (0x1000, ML02)
                        }

                        Return (CRS)
                    }
                }

                Device (\_SB.RMEM)
                {
                    Name (_HID, EisaId ("PNP0C01"))
                    Name (_UID, 0x01)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                        Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
                        Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
                        Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, 0x10, BAS1)
                        CreateDWordField (CRS, 0x14, LEN1)
                        CreateDWordField (CRS, 0x1C, BAS2)
                        CreateDWordField (CRS, 0x20, LEN2)
                        CreateDWordField (CRS, 0x2C, LEN3)
                        CreateDWordField (CRS, 0x34, BAS4)
                        CreateDWordField (CRS, 0x38, LEN4)
                        If (OSFL ()) {}
                        Else
                        {
                            If (MG1B)
                            {
                                If (LGreater (MG1B, 0x000C0000))
                                {
                                    Store (0x000C0000, BAS1)
                                    Subtract (MG1B, BAS1, LEN1)
                                }
                            }
                            Else
                            {
                                Store (0x000C0000, BAS1)
                                Store (0x00020000, LEN1)
                            }

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

                        Subtract (MG2B, 0x00100000, LEN3)
                        Add (MG2B, MG2L, BAS4)
                        Subtract (0x00, BAS4, LEN4)
                        Return (CRS)
                    }
                }
            }

            Device (P0P1)
            {
                Name (_ADR, 0x00010000)
            }

            Device (P0P2)
            {
                Name (_ADR, 0x00030000)
                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR02)
                    }

                    Return (PR02)
                }

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

        Scope (\_GPE)
        {
            Method (_L0B, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.P0P4, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L05, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.MC97, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

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

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

            Method (_L0C, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB3, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0E, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.USB4, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0D, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.EUSB, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L1D, 0, NotSerialized)
            {
                \_SB.PCI0.SBRG.SIOH ()
            }

            Method (_L18, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.P0P2.ILAN, 0x02)
            }
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
            Name (_UID, 0xAA)
            Name (_STA, 0x0B)
        }
    }

    OperationRegion (\_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C)
    Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve)
    {
        PIRA,   8, 
        PIRB,   8, 
        PIRC,   8, 
        PIRD,   8, 
        Offset (0x08), 
        PIRE,   8, 
        PIRF,   8, 
        PIRG,   8, 
        PIRH,   8
    }

    Scope (\_SB)
    {
        Name (BUFA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared) {15}
        })
        CreateWordField (BUFA, 0x01, IRA0)
        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x01)
            Method (_STA, 0, NotSerialized)
            {
                And (PIRA, 0x80, Local0)
                If (Local0)
                {
                    Return (0x09)
                }
                Else
                {
                    Return (0x0B)
                }
            }

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRA, 0x80, PIRA)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRA, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRB, 0x80, PIRB)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRB, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRC, 0x80, PIRC)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRC, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRD, 0x80, PIRD)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRD, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRE, 0x80, PIRE)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRE, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRF, 0x80, PIRF)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRF, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRG, 0x80, PIRG)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRG, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

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

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

            Method (_DIS, 0, NotSerialized)
            {
                Or (PIRH, 0x80, PIRH)
            }

            Method (_CRS, 0, NotSerialized)
            {
                And (PIRH, 0x0F, Local0)
                ShiftLeft (0x01, Local0, IRA0)
                Return (BUFA)
            }

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

    Scope (\_SB)
    {
        Scope (PCI0)
        {
            OperationRegion (IOB2, SystemIO, 0xB2, 0x02)
            Field (IOB2, ByteAcc, NoLock, Preserve)
            {
                SMIC,   8, 
                SMIS,   8
            }

            Method (_INI, 0, NotSerialized)
            {
                If (CondRefOf (_OSI, Local0))
                {
                    Store (0x58, SMIC)
                }
                Else
                {
                    Store (0x85, SMIC)
                }
            }
        }
    }

    Scope (\_SB)
    {
        Scope (PCI0)
        {
            Name (CRS, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,
                    0x0000,
                    0x00FF,
                    0x0000,
                    0x0100)
                IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0000,
                    0x0CF7,
                    0x0000,
                    0x0CF8)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0D00,
                    0xFFFF,
                    0x0000,
                    0xF300)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x000A0000,
                    0x000BFFFF,
                    0x00000000,
                    0x00020000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x00000000,
                    0x00000000,
                    0x00000000,
                    0x00000000)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                    0x00000000,
                    0x00000000,
                    0x00000000,
                    0x00000000,
                    0x00000000)
            })
            CreateDWordField (CRS, 0x5C, MIN5)
            CreateDWordField (CRS, 0x60, MAX5)
            CreateDWordField (CRS, 0x68, LEN5)
            CreateDWordField (CRS, 0x76, MIN6)
            CreateDWordField (CRS, 0x7A, MAX6)
            CreateDWordField (CRS, 0x82, LEN6)
            Method (_CRS, 0, NotSerialized)
            {
                Store (MG1B, MIN5)
                Store (MG1L, LEN5)
                Store (MG1L, Local0)
                If (Local0)
                {
                    Add (MIN5, Decrement (Local0), MAX5)
                }

                Store (MG2B, MIN6)
                Add (MIN6, 0x00010000, MIN6)
                Store (MG2L, LEN6)
                Subtract (LEN6, 0x00010000, LEN6)
                Store (LEN6, Local0)
                Add (MIN6, Decrement (Local0), MAX6)
                Return (CRS)
            }

            Method (_S3D, 0, NotSerialized)
            {
                If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (USB1._S3D, 0, NotSerialized)
            {
                If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (USB2._S3D, 0, NotSerialized)
            {
                If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (USB3._S3D, 0, NotSerialized)
            {
                If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Method (USB4._S3D, 0, NotSerialized)
            {
                If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Name (NATA, Package (0x01)
            {
                0x001F0001
            })
        }

        Name (SLPS, 0x00)
    }

    Name (WR00, 0x00)
    Name (WR01, 0x00)
    Name (WR02, 0x00)
    Method (_PTS, 1, NotSerialized)
    {
        Store (Arg0, DBG8)
        PTS (Arg0)
        Store (0x00, Index (WAKP, 0x00))
        Store (0x00, Index (WAKP, 0x01))
        If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
        {
            Sleep (0x0BB8)
        }

        Store (APWR, WR00)
        Store (SPLV, WR01)
        Store (OSFG, WR02)
        Store (Arg0, SPLV)
        Store (OSFL (), OSFG)
        Store (One, PS1S)
        Store (One, PS1E)
        Store (One, \_SB.SLPS)
    }

    Method (_WAK, 1, NotSerialized)
    {
        ShiftLeft (Arg0, 0x04, DBG8)
        Store (Zero, PS1E)
        If (IOWK) {}
        Else
        {
            Notify (\_SB.PWRB, 0x02)
        }

        If (And (APWR, 0x02))
        {
            Notify (\_SB.PWRB, 0x02)
        }

        Store (One, PWBT)
        Store (WR00, APWR)
        Store (WR01, SPLV)
        Store (WR02, OSFG)
        Store (Zero, \_SB.SLPS)
        WAK (Arg0)
        If (DerefOf (Index (WAKP, 0x00)))
        {
            Store (0x00, Index (WAKP, 0x01))
        }
        Else
        {
            Store (Arg0, Index (WAKP, 0x01))
        }

        Return (WAKP)
    }

    OperationRegion (PMS0, SystemIO, PMBS, 0x04)
    Field (PMS0, ByteAcc, NoLock, Preserve)
    {
            ,   10, 
        RTCS,   1, 
            ,   4, 
        WAKS,   1, 
        Offset (0x03), 
        PWBT,   1, 
            ,   1, 
        RTCE,   1, 
        Offset (0x04)
    }

    OperationRegion (SMIE, SystemIO, PM30, 0x08)
    Field (SMIE, ByteAcc, NoLock, Preserve)
    {
            ,   4, 
        PS1E,   1, 
            ,   31, 
        PS1S,   1, 
        Offset (0x08)
    }

    OperationRegion (\_SB.PCI0.SKPD, PCI_Config, ACPH, 0x02)
    Field (\_SB.PCI0.SKPD, ByteAcc, NoLock, Preserve)
    {
        APWR,   8, 
        SPLV,   3, 
        OSFG,   2, 
        Offset (0x02)
    }

    OperationRegion (CMOS, SystemIO, 0x70, 0x02)
    Field (CMOS, ByteAcc, NoLock, Preserve)
    {
        CIDX,   8, 
        CDAT,   8
    }

    IndexField (CIDX, CDAT, ByteAcc, NoLock, Preserve)
    {
        Offset (0x6E), 
        WKTP,   8
    }

    OperationRegion (IORK, SystemIO, 0xB3, 0x01)
    Field (IORK, ByteAcc, NoLock, Preserve)
    {
        IOWK,   8
    }

    Scope (\_SB.PCI0.IDE0)
    {
        OperationRegion (PAR9, PCI_Config, 0x09, 0x01)
        Field (PAR9, ByteAcc, NoLock, Preserve)
        {
            PAMD,   8
        }
    }

    Scope (\_SB.PCI0.IDE1)
    {
        OperationRegion (SAR9, PCI_Config, 0x09, 0x01)
        Field (SAR9, ByteAcc, NoLock, Preserve)
        {
            SAMD,   8
        }
    }

    Name (\_S0, Package (0x04)
    {
        0x00, 
        0x00, 
        0x00, 
        0x00
    })
    If (SS1)
    {
        Name (\_S1, Package (0x04)
        {
            0x01, 
            0x00, 
            0x00, 
            0x00
        })
    }

    If (SS3)
    {
        Name (\_S3, Package (0x04)
        {
            0x05, 
            0x00, 
            0x00, 
            0x00
        })
    }

    If (SS4)
    {
        Name (\_S4, Package (0x04)
        {
            0x06, 
            0x00, 
            0x00, 
            0x00
        })
    }

    Name (\_S5, Package (0x04)
    {
        0x07, 
        0x00, 
        0x00, 
        0x00
    })
    Method (PTS, 1, NotSerialized)
    {
        If (Arg0)
        {
            \_SB.PCI0.SBRG.SIOS (Arg0)
        }
    }

    Method (WAK, 1, NotSerialized)
    {
        \_SB.PCI0.SBRG.SIOW (Arg0)
    }
}


--------------020604070307000805050105--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?453CF36E.6000201>