Subject: amd64 on ZMAXdp
To: None <current-users@NetBSD.org>
From: Chavdar Ivanov <ci4ic4@gmail.com>
List: current-users
Date: 02/24/2005 10:51:52
------=_Part_1819_22724616.1109242312688
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

A few observations on the installation of NetBSD on the above computer
follow. I am not
going to use this system more than a couple of weeks, so I don't
really need any help, as
the machine is quite functional now and I can use it to build a few
packages (maybe
more than a few...), but they may be useful to someone.

AMD64 

Nvidia nForce3 250 chipset (Iwill ZMAXdp SFF, 2xOpteron250 CPUs, 4GB memory)

NetBSD 2.0_Release(AMD64) does not recognize the Opteron250 CPU; 2.99.16 is OK.

GENERIC.MP on both does not recognize the second CPU; created GENERIC.MPACPI as
attached; which does. I don't know how correct is my GENERIC.MPACPI
file, but seems to
be working. The dmesg from both are attached (the amd64 version
contains both the
output from GENERIC.MP and GENERIC.MPACPI).

src/xsrc cvs updated two days ago. 

build.sh release was succesful. My usual method of upgrading is to
then create an iso
image using 'cd /usr/src/etc; make iso-image' and then perform an
upgrade from this.
The resulting iso image had one excessive level of directory as follows:  
.......

/mnt/cdrom
/mnt/cdrom/amd64
/mnt/cdrom/amd64/amd64
/mnt/cdrom/amd64/amd64/binary
/mnt/cdrom/amd64/amd64/binary/kernel
/mnt/cdrom/amd64/amd64/binary/kernel/BSDSUM
/mnt/cdrom/amd64/amd64/binary/kernel/CKSUM
/mnt/cdrom/amd64/amd64/binary/kernel/MD5
/mnt/cdrom/amd64/amd64/binary/kernel/netbsd-GENERIC.gz
/mnt/cdrom/amd64/amd64/binary/kernel/netbsd-GENERIC.MP.gz
/mnt/cdrom/amd64/amd64/binary/kernel/netbsd-INSTALL.gz
/mnt/cdrom/amd64/amd64/binary/kernel/netbsd-INSTALL.symbols.gz
/mnt/cdrom/amd64/amd64/binary/kernel/SYSVSUM
/mnt/cdrom/amd64/amd64/binary/kernel/TRANS.TBL
/mnt/cdrom/amd64/amd64/binary/sets
/mnt/cdrom/amd64/amd64/binary/sets/base.tgz
/mnt/cdrom/amd64/amd64/binary/sets/BSDSUM
/mnt/cdrom/amd64/amd64/binary/sets/CKSUM
/mnt/cdrom/amd64/amd64/binary/sets/comp.tgz
/mnt/cdrom/amd64/amd64/binary/sets/etc.tgz
/mnt/cdrom/amd64/amd64/binary/sets/games.tgz
/mnt/cdrom/amd64/amd64/binary/sets/kern-GENERIC.tgz
/mnt/cdrom/amd64/amd64/binary/sets/kern-GENERIC.MP.tgz
/mnt/cdrom/amd64/amd64/binary/sets/man.tgz
/mnt/cdrom/amd64/amd64/binary/sets/MD5
/mnt/cdrom/amd64/amd64/binary/sets/misc.tgz
/mnt/cdrom/amd64/amd64/binary/sets/SYSVSUM
/mnt/cdrom/amd64/amd64/binary/sets/text.tgz
/mnt/cdrom/amd64/amd64/binary/sets/TRANS.TBL
/mnt/cdrom/amd64/amd64/binary/sets/xbase.tgz
/mnt/cdrom/amd64/amd64/binary/sets/xcomp.tgz
/mnt/cdrom/amd64/amd64/binary/sets/xetc.tgz
/mnt/cdrom/amd64/amd64/binary/sets/xfont.tgz
/mnt/cdrom/amd64/amd64/binary/sets/xserver.tgz
/mnt/cdrom/amd64/amd64/binary/TRANS.TBL
/mnt/cdrom/amd64/amd64/installation
/mnt/cdrom/amd64/amd64/installation/floppy
/mnt/cdrom/amd64/amd64/installation/floppy/boot1.fs
/mnt/cdrom/amd64/amd64/installation/floppy/boot2.fs
/mnt/cdrom/amd64/amd64/installation/floppy/boot-big.fs
/mnt/cdrom/amd64/amd64/installation/floppy/boot-com1.fs
/mnt/cdrom/amd64/amd64/installation/floppy/boot-com2.fs
/mnt/cdrom/amd64/amd64/installation/floppy/BSDSUM
/mnt/cdrom/amd64/amd64/installation/floppy/CKSUM
/mnt/cdrom/amd64/amd64/installation/floppy/MD5
/mnt/cdrom/amd64/amd64/installation/floppy/SYSVSUM
/mnt/cdrom/amd64/amd64/installation/floppy/TRANS.TBL
/mnt/cdrom/amd64/amd64/installation/TRANS.TBL
/mnt/cdrom/amd64/amd64/TRANS.TBL
/mnt/cdrom/amd64/installation
/mnt/cdrom/amd64/installation/cdrom
/mnt/cdrom/amd64/installation/TRANS.TBL
/mnt/cdrom/amd64/TRANS.TBL

.......
This doesn't happen with i386 (using the same src tree). 

As a result, obviously, the CD is not bootable. I was able to boot from
the 2.0_RELEASE CD, swap them and perform the upgrade; this resulted in three
.core files during the postinstall phase, which I then repeated after booting. 


There was no 'etc/release' in the etc.tgz set; therefore 'postinstall
fix etc_release'
failed, but the 'destdir/.../etc/release' has been properly created,
so I manually
copied it to the local expansion of etc.tgz, before running the above command. 


The sound 

auich0 at pci0 dev 6 function 0: nForce3 250 MCP-T AC-97 Audio
auich0: interrupting at ioapic0 pin 9 (irq 9)
auich0: ac97: Avance Logic ALC655 codec; no 3D stereo
auich0: ac97: ext id 9c4<AC97_23,LDAC,SDAC,CDAC,SPDIF>
audio0 at auich0: full duplex, independent

is recognized by 2.0_RELEASE with GENERIC.MP, but when logging into KDE3.3
starting of artsd results in a crash; I guess this is not too
important, as the sound works
just fine under 2.99.16 GENERIC.MPACPI. 

No support for NVRaid, the onboard Gigabit i/f and the Firewire (not
unexpected).

Cheers.

------=_Part_1819_22724616.1109242312688
Content-Type: text/plain; name="2.99.16_i386-dmesg.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="2.99.16_i386-dmesg.txt"

NetBSD 2.99.16 (GENERIC.MPACPI) #0: Wed Feb 16 22:05:48 GMT 2005
=09root@loan8:/d/obj1/netbsd-builds/2_0/i386/obj/sys/arch/i386/compile/GENE=
RIC.MPACPI
total memory =3D 3262 MB
avail memory =3D 3183 MB
BIOS32 rev. 0 found at 0xf0010
mainbus0 (root)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Unknown K7 (Athlon) (686-class), 2400.14 MHz, id 0xf5a
cpu0: features 78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 78bfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,MMX>
cpu0: features 78bfbff<FXSR,SSE,SSE2>
cpu0: "AMD Opteron(tm) Processor 250"
cpu0: calibrating local timer
cpu0: apic clock running at 200 MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: AMD Unknown K7 (Athlon) (686-class), 2400.00 MHz, id 0xf5a
cpu1: features 78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 78bfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,MMX>
cpu1: features 78bfbff<FXSR,SSE,SSE2>
cpu1: "AMD Opteron(tm) Processor 250"
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 1
ioapic0: remapped to apic 2
acpi0 at mainbus0
acpi0: using Intel ACPI CA subsystem version 20040211
acpi0: X/RSDT: OemId <A M I ,OEMXSDT ,12000415>, AslId <MSFT,00000097>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
PNP0A03 [PCI Bus] at acpi0 not configured
PNP0000 [AT Interrupt Controller] at acpi0 not configured
PNP0200 [AT DMA Controller] at acpi0 not configured
PNP0100 [AT Timer] at acpi0 not configured
PNP0B00 [AT Real-Time Clock] at acpi0 not configured
PNP0800 [AT-style speaker sound] at acpi0 not configured
npx0 at acpi0 (PNP0C04)
npx0: io 0xf0-0xff irq 13
npx0: using exception 16
com0 at acpi0 (PNP0501-1)
com0: io 0x3f8-0x3ff irq 4
com0: ns16550a, working fifo
com1 at acpi0 (PNP0501-2)
com1: io 0x2f8-0x2ff irq 3
com1: ns16550a, working fifo
fdc0 at acpi0 (PNP0700)
fdc0: io 0x3f0-0x3f5,0x3f7 irq 6 drq 2
fdc0: expected BUFFER, got 4
lpt0 at acpi0 (PNP0400)
lpt0: io 0x378-0x37f irq 7
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configu=
red
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configu=
red
pckbc0 at acpi0 (PNP0303): kbd port
pckbc0: io 0x60,0x64 irq 1
pckbc1 at acpi0 (PNP0F03): aux port
pckbc1: irq 12
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configu=
red
PNP0C01 [System Board] at acpi0 not configured
acpibut0 at acpi0 (PNP0C0C-170): ACPI Power Button
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Nvidia nForce3 250 Host-PCI bridge (rev. 0xa1)
agp at pchb0 not configured
pcib0 at pci0 dev 1 function 0
pcib0: Nvidia nForce3 250 PCI-ISA bridge (rev. 0xa2)
Nvidia nForce3 250 SMBus Controller (SMBus serial bus, revision 0xa1) at pc=
i0 dev 1 function 1 not configured
ohci0 at pci0 dev 2 function 0: Nvidia nForce3 250 USB Host Controller (rev=
. 0xa1)
ohci0: interrupting at ioapic0 pin 11 (irq 11)
ohci0: OHCI version 1.0, legacy support
ohci0: SMM does not respond, resetting
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Nvidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ohci1 at pci0 dev 2 function 1: Nvidia nForce3 250 USB Host Controller (rev=
. 0xa1)
ohci1: interrupting at ioapic0 pin 11 (irq 11)
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: Nvidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
ehci0 at pci0 dev 2 function 2: Nvidia nForce3 250 USB2 Host Controller (re=
v. 0xa2)
ehci0: interrupting at ioapic0 pin 9 (irq 9)
ehci0: EHCI version 1.0
ehci0: companion controllers, 4 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
uhub2 at usb2
uhub2: Nvidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: single transaction translator
uhub2: 8 ports with 8 removable, self powered
Nvidia product 0x00df (miscellaneous bridge, revision 0xa2) at pci0 dev 5 f=
unction 0 not configured
auich0 at pci0 dev 6 function 0: nForce3 250 MCP-T AC-97 Audio
auich0: interrupting at ioapic0 pin 9 (irq 9)
auich0: ac97: Avance Logic ALC655 codec; no 3D stereo
auich0: ac97: ext id 9c4<AC97_23,LDAC,SDAC,CDAC,SPDIF>
viaide0 at pci0 dev 8 function 0
viaide0: NVIDIA nForce3 250 IDE Controller (rev. 0xa2)
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at ioapic0 pin 15 (irq 15)
atabus1 at viaide0 channel 1
viaide1 at pci0 dev 10 function 0
viaide1: NVIDIA nForce3 250 Serial ATA Controller (rev. 0xa2)
viaide1: bus-master DMA support present
viaide1: primary channel wired to native-PCI mode
viaide1: using ioapic0 pin 10 (irq 10) for native-PCI interrupt
atabus2 at viaide1 channel 0
viaide1: secondary channel wired to native-PCI mode
atabus3 at viaide1 channel 1
ppb0 at pci0 dev 11 function 0: Nvidia nForce3 250 AGP (rev. 0xa2)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: Nvidia Quadro FX 500 (rev. 0xa1)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
ppb1 at pci0 dev 14 function 0: Nvidia nForce3 250 PCI-PCI bridge (rev. 0xa=
2)
pci2 at ppb1 bus 1
pci2: i/o space, memory space enabled
Texas Instruments TSB43AA22/A IEEE 1394 Host Controller (Firewire serial bu=
s, interface 0x10) at pci2 dev 6 function 0 not configured
rtk0 at pci2 dev 7 function 0: Realtek 8139 10/100BaseTX
rtk0: interrupting at ioapic0 pin 11 (irq 11)
rtk0: Ethernet address 00:40:f4:98:eb:85
ukphy0 at rtk0 phy 7: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000000, model 0x0000, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pchb1 at pci0 dev 24 function 0
pchb1: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00=
)
pchb2 at pci0 dev 24 function 1
pchb2: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb3 at pci0 dev 24 function 2
pchb3: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb4 at pci0 dev 24 function 3
pchb4: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
pchb5 at pci0 dev 25 function 0
pchb5: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00=
)
pchb6 at pci0 dev 25 function 1
pchb6: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb7 at pci0 dev 25 function 2
pchb7: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb8 at pci0 dev 25 function 3
pchb8: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
isa0 at pcib0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: no ISA Plug 'n Play devices found
ioapic0: enabling
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
audio0 at auich0: full duplex, independent
Kernelized RAIDframe activated
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 1: <FREECOM_DVD+/-RW16B9, , 2.46> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide0:1:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
uhub3 at uhub2 port 5
uhub3: Cypress Semiconductor USB2 Hub, class 9/0, rev 2.00/0.09, addr 2
uhub3: multiple transaction translators
uhub3: 4 ports with 4 removable, self powered
wd0 at atabus2 drive 0: <ST3120827AS>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 111 GB, 232581 cyl, 16 head, 63 sec, 512 bytes/sect x 234441648 sector=
s
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA=
)
wd1 at atabus3 drive 0: <ST3120827AS>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 111 GB, 232581 cyl, 16 head, 63 sec, 512 bytes/sect x 234441648 sector=
s
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(viaide1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA=
)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
cpu1: CPU 1 running
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

------=_Part_1819_22724616.1109242312688
Content-Type: text/plain; name="2.99.16_amd64-dmesg.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="2.99.16_amd64-dmesg.txt"

NetBSD 2.99.16 (GENERIC.MP) #0: Wed Feb 23 17:51:54 GMT 2005
=09root@o370n64:/usr/obj1/netbsd-builds/2_0/amd64/obj/sys/arch/amd64/compil=
e/GENERIC.MP
total memory =3D 3262 MB
avail memory =3D 3119 MB
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Opteron(tm) Processor 250, 2400.14 MHz
cpu0: features: e7dbfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features: e7dbfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,NOX,MMXX,MMX>
cpu0: features: e7dbfbff<FXSR,SSE,SSE2,LONG,3DNOW2,3DNOW>
cpu0: I-cache 64 KB 64B/line 2-way, D-cache 64 KB 64B/line 2-way
cpu0: L2 cache 1 MB 64B/line 16-way
cpu0: ITLB 32 4 KB entries fully associative, 8 4 MB entries fully associat=
ive
cpu0: DTLB 32 4 KB entries fully associative, 8 4 MB entries fully associat=
ive
cpu0: 16 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Nvidia nForce3 250 Host-PCI bridge (rev. 0xa1)
pcib0 at pci0 dev 1 function 0
pcib0: Nvidia nForce3 250 PCI-ISA bridge (rev. 0xa2)
Nvidia nForce3 250 SMBus Controller (SMBus serial bus, revision 0xa1) at pc=
i0 dev 1 function 1 not configured
ohci0 at pci0 dev 2 function 0: Nvidia nForce3 250 USB Host Controller (rev=
. 0xa1)
ohci0: interrupting at irq 11
ohci0: OHCI version 1.0, legacy support
ohci0: SMM does not respond, resetting
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Nvidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ohci1 at pci0 dev 2 function 1: Nvidia nForce3 250 USB Host Controller (rev=
. 0xa1)
ohci1: interrupting at irq 11
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: Nvidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
Nvidia nForce3 250 USB2 Host Controller (USB serial bus, interface 0x20, re=
vision 0xa2) at pci0 dev 2 function 2 not configured
Nvidia product 0x00df (miscellaneous bridge, revision 0xa2) at pci0 dev 5 f=
unction 0 not configured
auich0 at pci0 dev 6 function 0: nForce3 250 MCP-T AC-97 Audio
auich0: interrupting at irq 9
auich0: ac97: Avance Logic ALC655 codec; no 3D stereo
auich0: ac97: ext id 9c4<AC97_23,LDAC,SDAC,CDAC,SPDIF>
viaide0 at pci0 dev 8 function 0
viaide0: NVIDIA nForce3 250 IDE Controller (rev. 0xa2)
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at irq 14
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at irq 15
atabus1 at viaide0 channel 1
viaide1 at pci0 dev 10 function 0
viaide1: NVIDIA nForce3 250 Serial ATA Controller (rev. 0xa2)
viaide1: bus-master DMA support present
viaide1: primary channel wired to native-PCI mode
viaide1: using irq 10 for native-PCI interrupt
atabus2 at viaide1 channel 0
viaide1: secondary channel wired to native-PCI mode
atabus3 at viaide1 channel 1
ppb0 at pci0 dev 11 function 0: Nvidia nForce3 250 AGP (rev. 0xa2)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: Nvidia Quadro FX 500 (rev. 0xa1)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
ppb1 at pci0 dev 14 function 0: Nvidia nForce3 250 PCI-PCI bridge (rev. 0xa=
2)
pci2 at ppb1 bus 1
pci2: i/o space, memory space enabled
Texas Instruments TSB43AA22/A IEEE 1394 Host Controller (Firewire serial bu=
s, interface 0x10) at pci2 dev 6 function 0 not configured
rtk0 at pci2 dev 7 function 0: Realtek 8139 10/100BaseTX
rtk0: interrupting at irq 11
rtk0: Ethernet address 00:40:f4:98:eb:85
ukphy0 at rtk0 phy 7: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000000, model 0x0000, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pchb1 at pci0 dev 24 function 0
pchb1: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00=
)
pchb2 at pci0 dev 24 function 1
pchb2: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb3 at pci0 dev 24 function 2
pchb3: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb4 at pci0 dev 24 function 3
pchb4: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
pchb5 at pci0 dev 25 function 0
pchb5: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00=
)
pchb6 at pci0 dev 25 function 1
pchb6: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb7 at pci0 dev 25 function 2
pchb7: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb8 at pci0 dev 25 function 3
pchb8: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
isa0 at pcib0
lpt0 at isa0 port 0x378-0x37b irq 7
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
audio0 at auich0: full duplex, independent
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
Kernelized RAIDframe activated
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 1: <FREECOM_DVD+/-RW16B9, , 2.46> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide0:1:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
uhub2 at uhub0 port 3
uhub2: Cypress Semiconductor USB2 Hub, class 9/0, rev 2.00/0.09, addr 2
uhub2: 4 ports with 4 removable, self powered
wd0 at atabus2 drive 0: <ST3120827AS>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 111 GB, 232581 cyl, 16 head, 63 sec, 512 bytes/sect x 234441648 sector=
s
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA=
)
wd1 at atabus3 drive 0: <ST3120827AS>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 111 GB, 232581 cyl, 16 head, 63 sec, 512 bytes/sect x 234441648 sector=
s
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(viaide1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA=
)
boot device: wd1
root on wd1a dumps on wd1b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
syncing disks... done
unmounting file systems...


NetBSD 2.99.16 (GENERIC.MPACPI) #0: Wed Feb 23 21:57:25 GMT 2005
=09root@o370n64:/usr/src/sys/arch/amd64/compile/GENERIC.MPACPI
total memory =3D 3262 MB
avail memory =3D 3119 MB
mainbus0 (root)
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Opteron(tm) Processor 250, 2400.09 MHz
cpu0: features: e7dbfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features: e7dbfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,NOX,MMXX,MMX>
cpu0: features: e7dbfbff<FXSR,SSE,SSE2,LONG,3DNOW2,3DNOW>
cpu0: I-cache 64 KB 64B/line 2-way, D-cache 64 KB 64B/line 2-way
cpu0: L2 cache 1 MB 64B/line 16-way
cpu0: ITLB 32 4 KB entries fully associative, 8 4 MB entries fully associat=
ive
cpu0: DTLB 32 4 KB entries fully associative, 8 4 MB entries fully associat=
ive
cpu0: calibrating local timer
cpu0: apic clock running at 199 MHz
cpu0: 16 page colors
cpu1 at mainbus0: apid 1 (application processor)
cpu1: starting
cpu1: AMD Opteron(tm) Processor 250, 2400.00 MHz
cpu1: features: e7dbfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features: e7dbfbff<PGE,MCA,CMOV,PAT,PSE36,MPC,NOX,MMXX,MMX>
cpu1: features: e7dbfbff<FXSR,SSE,SSE2,LONG,3DNOW2,3DNOW>
cpu1: I-cache 64 KB 64B/line 2-way, D-cache 64 KB 64B/line 2-way
cpu1: L2 cache 1 MB 64B/line 16-way
cpu1: ITLB 32 4 KB entries fully associative, 8 4 MB entries fully associat=
ive
cpu1: DTLB 32 4 KB entries fully associative, 8 4 MB entries fully associat=
ive
ioapic0 at mainbus0 apid 2 (I/O APIC)
ioapic0: pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 1
ioapic0: remapped to apic 2
acpi0 at mainbus0
acpi0: using Intel ACPI CA subsystem version 20040211
acpi0: X/RSDT: OemId <A M I ,OEMXSDT ,12000415>, AslId <MSFT,00000097>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
PNP0A03 [PCI Bus] at acpi0 not configured
PNP0000 [AT Interrupt Controller] at acpi0 not configured
PNP0200 [AT DMA Controller] at acpi0 not configured
PNP0100 [AT Timer] at acpi0 not configured
PNP0B00 [AT Real-Time Clock] at acpi0 not configured
PNP0800 [AT-style speaker sound] at acpi0 not configured
PNP0C04 [Math Coprocessor] at acpi0 not configured
com2 at acpi0 (PNP0501-1)
com2: io 0x3f8-0x3ff irq 4
com2: ns16550a, working fifo
com3 at acpi0 (PNP0501-2)
com3: io 0x2f8-0x2ff irq 3
com3: ns16550a, working fifo
fdc1 at acpi0 (PNP0700)
fdc1: io 0x3f0-0x3f5,0x3f7 irq 6 drq 2
fdc1: expected BUFFER, got 4
lpt2 at acpi0 (PNP0400)
lpt2: io 0x378-0x37f irq 7
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configu=
red
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configu=
red
pckbc1 at acpi0 (PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (PNP0F03): aux port
pckbc2: irq 12
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configu=
red
PNP0C01 [System Board] at acpi0 not configured
acpibut0 at acpi0 (PNP0C0C-170): ACPI Power Button
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Nvidia nForce3 250 Host-PCI bridge (rev. 0xa1)
pcib0 at pci0 dev 1 function 0
pcib0: Nvidia nForce3 250 PCI-ISA bridge (rev. 0xa2)
Nvidia nForce3 250 SMBus Controller (SMBus serial bus, revision 0xa1) at pc=
i0 dev 1 function 1 not configured
ohci0 at pci0 dev 2 function 0: Nvidia nForce3 250 USB Host Controller (rev=
. 0xa1)
ohci0: interrupting at ioapic0 pin 11 (irq 11)
ohci0: OHCI version 1.0, legacy support
ohci0: SMM does not respond, resetting
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Nvidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ohci1 at pci0 dev 2 function 1: Nvidia nForce3 250 USB Host Controller (rev=
. 0xa1)
ohci1: interrupting at ioapic0 pin 11 (irq 11)
ohci1: OHCI version 1.0, legacy support
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: Nvidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 4 ports with 4 removable, self powered
Nvidia nForce3 250 USB2 Host Controller (USB serial bus, interface 0x20, re=
vision 0xa2) at pci0 dev 2 function 2 not configured
Nvidia product 0x00df (miscellaneous bridge, revision 0xa2) at pci0 dev 5 f=
unction 0 not configured
auich0 at pci0 dev 6 function 0: nForce3 250 MCP-T AC-97 Audio
auich0: interrupting at ioapic0 pin 9 (irq 9)
auich0: ac97: Avance Logic ALC655 codec; no 3D stereo
auich0: ac97: ext id 9c4<AC97_23,LDAC,SDAC,CDAC,SPDIF>
viaide0 at pci0 dev 8 function 0
viaide0: NVIDIA nForce3 250 IDE Controller (rev. 0xa2)
viaide0: bus-master DMA support present
viaide0: primary channel configured to compatibility mode
viaide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at viaide0 channel 0
viaide0: secondary channel configured to compatibility mode
viaide0: secondary channel interrupting at ioapic0 pin 15 (irq 15)
atabus1 at viaide0 channel 1
viaide1 at pci0 dev 10 function 0
viaide1: NVIDIA nForce3 250 Serial ATA Controller (rev. 0xa2)
viaide1: bus-master DMA support present
viaide1: primary channel wired to native-PCI mode
viaide1: using ioapic0 pin 10 (irq 10) for native-PCI interrupt
atabus2 at viaide1 channel 0
viaide1: secondary channel wired to native-PCI mode
atabus3 at viaide1 channel 1
ppb0 at pci0 dev 11 function 0: Nvidia nForce3 250 AGP (rev. 0xa2)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled
vga0 at pci1 dev 0 function 0: Nvidia Quadro FX 500 (rev. 0xa1)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
ppb1 at pci0 dev 14 function 0: Nvidia nForce3 250 PCI-PCI bridge (rev. 0xa=
2)
pci2 at ppb1 bus 1
pci2: i/o space, memory space enabled
Texas Instruments TSB43AA22/A IEEE 1394 Host Controller (Firewire serial bu=
s, interface 0x10) at pci2 dev 6 function 0 not configured
rtk0 at pci2 dev 7 function 0: Realtek 8139 10/100BaseTX
rtk0: interrupting at ioapic0 pin 11 (irq 11)
rtk0: Ethernet address 00:40:f4:98:eb:85
ukphy0 at rtk0 phy 7: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000000, model 0x0000, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pchb1 at pci0 dev 24 function 0
pchb1: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00=
)
pchb2 at pci0 dev 24 function 1
pchb2: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb3 at pci0 dev 24 function 2
pchb3: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb4 at pci0 dev 24 function 3
pchb4: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
pchb5 at pci0 dev 25 function 0
pchb5: Advanced Micro Devices AMD64 HyperTransport configuration (rev. 0x00=
)
pchb6 at pci0 dev 25 function 1
pchb6: Advanced Micro Devices AMD64 Address Map configuration (rev. 0x00)
pchb7 at pci0 dev 25 function 2
pchb7: Advanced Micro Devices AMD64 DRAM configuration (rev. 0x00)
pchb8 at pci0 dev 25 function 3
pchb8: Advanced Micro Devices AMD64 Miscellaneous configuration (rev. 0x00)
isa0 at pcib0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
ioapic0: enabling
fd0 at fdc1 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
audio0 at auich0: full duplex, independent
Kernelized RAIDframe activated
atapibus0 at atabus1: 2 targets
cd0 at atapibus0 drive 1: <FREECOM_DVD+/-RW16B9, , 2.46> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(viaide0:1:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
uhub2 at uhub0 port 3
uhub2: Cypress Semiconductor USB2 Hub, class 9/0, rev 2.00/0.09, addr 2
uhub2: 4 ports with 4 removable, self powered
wd0 at atabus2 drive 0: <ST3120827AS>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 111 GB, 232581 cyl, 16 head, 63 sec, 512 bytes/sect x 234441648 sector=
s
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA=
)
wd1 at atabus3 drive 0: <ST3120827AS>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 111 GB, 232581 cyl, 16 head, 63 sec, 512 bytes/sect x 234441648 sector=
s
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(viaide1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA=
)
boot device: wd1
root on wd1a dumps on wd1b
root file system type: ffs
cpu1: CPU 1 running
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

------=_Part_1819_22724616.1109242312688
Content-Type: application/octet-stream; name="GENERIC.MPACPI"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="GENERIC.MPACPI"

IyAkTmV0QlNEOiBHRU5FUklDLHYgMS40MSAyMDA1LzAyLzIwIDE4OjQ5OjI2IGpkb2xlY2VrIEV4
cCAkCiMKIyBHRU5FUklDIG1hY2hpbmUgZGVzY3JpcHRpb24gZmlsZQojIAojIFRoaXMgbWFjaGlu
ZSBkZXNjcmlwdGlvbiBmaWxlIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGRlZmF1bHQgTmV0QlNE
CiMga2VybmVsLiAgVGhlIGdlbmVyaWMga2VybmVsIGRvZXMgbm90IGluY2x1ZGUgYWxsIG9wdGlv
bnMsIHN1YnN5c3RlbXMKIyBhbmQgZGV2aWNlIGRyaXZlcnMsIGJ1dCBzaG91bGQgYmUgdXNlZnVs
IGZvciBtb3N0IGFwcGxpY2F0aW9ucy4KIwojIFRoZSBtYWNoaW5lIGRlc2NyaXB0aW9uIGZpbGUg
Y2FuIGJlIGN1c3RvbWlzZWQgZm9yIHlvdXIgc3BlY2lmaWMKIyBtYWNoaW5lIHRvIHJlZHVjZSB0
aGUga2VybmVsIHNpemUgYW5kIGltcHJvdmUgaXRzIHBlcmZvcm1hbmNlLgojCiMgRm9yIGZ1cnRo
ZXIgaW5mb3JtYXRpb24gb24gY29tcGlsaW5nIE5ldEJTRCBrZXJuZWxzLCBzZWUgdGhlIGNvbmZp
Zyg4KQojIG1hbiBwYWdlLgojCiMgRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24gb24gaGFyZHdhcmUg
c3VwcG9ydCBmb3IgdGhpcyBhcmNoaXRlY3R1cmUsIHNlZQojIHRoZSBpbnRybyg0KSBtYW4gcGFn
ZS4gIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIGFib3V0IGtlcm5lbCBvcHRpb25zCiMgZm9yIHRo
aXMgYXJjaGl0ZWN0dXJlLCBzZWUgdGhlIG9wdGlvbnMoNCkgbWFuIHBhZ2UuICBGb3IgYW4gZXhw
bGFuYXRpb24KIyBvZiBlYWNoIGRldmljZSBkcml2ZXIgaW4gdGhpcyBmaWxlIHNlZSB0aGUgc2Vj
dGlvbiA0IG1hbiBwYWdlIGZvciB0aGUKIyBkZXZpY2UuCgppbmNsdWRlCSJhcmNoL2FtZDY0L2Nv
bmYvc3RkLmFtZDY0IgoKb3B0aW9ucyAJSU5DTFVERV9DT05GSUdfRklMRQkjIGVtYmVkIGNvbmZp
ZyBmaWxlIGluIGtlcm5lbCBiaW5hcnkKCiNpZGVudCAJCSJHRU5FUklDLSRSZXZpc2lvbjogMS40
MSAkIgoKbWF4dXNlcnMJMzIJCSMgZXN0aW1hdGVkIG51bWJlciBvZiB1c2VycwoKIyBkZWxheSBi
ZXR3ZWVuICJyZWJvb3RpbmcgLi4uIiBtZXNzYWdlIGFuZCBoYXJkd2FyZSByZXNldCwgaW4gbWls
bGlzZWNvbmRzCm9wdGlvbnMgCUNQVVJFU0VUX0RFTEFZPTIwMDAKCiMgVGhpcyBvcHRpb24gYWxs
b3dzIHlvdSB0byBmb3JjZSBhIHNlcmlhbCBjb25zb2xlIGF0IHRoZSBzcGVjaWZpZWQKIyBJL08g
YWRkcmVzcy4gICBzZWUgY29uc29sZSg0KSBmb3IgZGV0YWlscy4KI29wdGlvbnMgCUNPTlNERVZO
QU1FPSJcImNvbVwiIixDT05BRERSPTB4MmY4LENPTlNQRUVEPTU3NjAwCiMJeW91IGRvbid0IHdh
bnQgdGhlIG9wdGlvbiBiZWxvdyBPTiBpZmYgeW91IGFyZSB1c2luZyB0aGUKIwlzZXJpYWwgY29u
c29sZSBvcHRpb24gb2YgdGhlIG5ldyBib290IHN0cmFwIGNvZGUuCiNvcHRpb25zIAlDT05TX09W
RVJSSURFCSMgQWx3YXlzIHVzZSBhYm92ZSEgaW5kZXBlbmRlbnQgb2YgYm9vdCBpbmZvCgojIFRo
ZSBmb2xsb3dpbmcgb3B0aW9ucyBvdmVycmlkZSB0aGUgbWVtb3J5IHNpemVzIHBhc3NlZCBpbiBm
cm9tIHRoZSBib290CiMgYmxvY2suICBVc2UgdGhlbSAqb25seSogaWYgdGhlIGJvb3QgYmxvY2sg
aXMgdW5hYmxlIHRvIGRldGVybWluZSB0aGUgY29ycmVjdAojIHZhbHVlcy4gIE5vdGUgdGhhdCB0
aGUgQklPUyBtYXkgKmNvcnJlY3RseSogcmVwb3J0IGxlc3MgdGhhbiA2NDBrIG9mIGJhc2UKIyBt
ZW1vcnkgaWYgdGhlIGV4dGVuZGVkIEJJT1MgZGF0YSBhcmVhIGlzIGxvY2F0ZWQgYXQgdGhlIHRv
cCBvZiBiYXNlIG1lbW9yeQojIChhcyBpcyB0aGUgY2FzZSBvbiBtb3N0IHJlY2VudCBzeXN0ZW1z
KS4KI29wdGlvbnMgCVJFQUxCQVNFTUVNPTYzOQkJIyBzaXplIG9mIGJhc2UgbWVtb3J5IChpbiBL
QikKI29wdGlvbnMgCVJFQUxFWFRNRU09MTUzNjAJIyBzaXplIG9mIGV4dGVuZGVkIG1lbW9yeSAo
aW4gS0IpCgojIFN0YW5kYXJkIHN5c3RlbSBvcHRpb25zCgpvcHRpb25zIAlJTlNFQ1VSRQkjIGRp
c2FibGUga2VybmVsIHNlY3VyaXR5IGxldmVscyAtIFggbmVlZHMgdGhpcwoKb3B0aW9ucyAJUlRD
X09GRlNFVD0wCSMgaGFyZHdhcmUgY2xvY2sgaXMgdGhpcyBtYW55IG1pbnMuIHdlc3Qgb2YgR01U
Cm9wdGlvbnMgCU5UUAkJIyBOVFAgcGhhc2UvZnJlcXVlbmN5IGxvY2tlZCBsb29wCgpvcHRpb25z
IAlLVFJBQ0UJCSMgc3lzdGVtIGNhbGwgdHJhY2luZyB2aWEga3RyYWNlKDEpCm9wdGlvbnMgCVNZ
U1RSQUNFCSMgc3lzdGVtIGNhbGwgdmV0dGluZyB2aWEgc3lzdHJhY2UoMSkKCm9wdGlvbnMgCVNZ
U1ZNU0cJCSMgU3lzdGVtIFYtbGlrZSBtZXNzYWdlIHF1ZXVlcwpvcHRpb25zIAlTWVNWU0VNCQkj
IFN5c3RlbSBWLWxpa2Ugc2VtYXBob3JlcwpvcHRpb25zIAlTRU1NTkk9MjAJIyBudW1iZXIgb2Yg
c2VtYXBob3JlIGlkZW50aWZpZXJzCm9wdGlvbnMgCVNFTU1OUz0xMjAJIyBudW1iZXIgb2Ygc2Vt
YXBob3JlcyBpbiBzeXN0ZW0Kb3B0aW9ucyAJU0VNVU1FPTIwCSMgbWF4IG51bWJlciBvZiB1bmRv
IGVudHJpZXMgcGVyIHByb2Nlc3MKb3B0aW9ucyAJU0VNTU5VPTYwCSMgbnVtYmVyIG9mIHVuZG8g
c3RydWN0dXJlcyBpbiBzeXN0ZW0Kb3B0aW9ucyAJU1lTVlNITQkJIyBTeXN0ZW0gVi1saWtlIG1l
bW9yeSBzaGFyaW5nCm9wdGlvbnMgCVNITU1BWFBHUz04MTk2CSMgMjA0OCBwYWdlcyBpcyB0aGUg
ZGVmYXVsdApvcHRpb25zIAlQMTAwM18xQl9TRU1BUEhPUkUKCm9wdGlvbnMgCUxLTQkJIyBsb2Fk
YWJsZSBrZXJuZWwgbW9kdWxlcwoKb3B0aW9ucyAJVVNFUkNPTkYJIyB1c2VyY29uZig0KSBzdXBw
b3J0CiNvcHRpb25zIAlQSVBFX1NPQ0tFVFBBSVIJIyBzbWFsbGVyLCBidXQgc2xvd2VyIHBpcGUo
MikKb3B0aW9ucyAJU1lTQ1RMX0lOQ0xVREVfREVTQ1IJIyBJbmNsdWRlIHN5c2N0bCBkZXNjcmlw
dGlvbnMgaW4ga2VybmVsCgojIEVuYWJsZSBleHBlcmltZW50YWwgYnVmZmVyIHF1ZXVlIHN0cmF0
ZWd5IGZvciBiZXR0ZXIgcmVzcG9uc2l2ZW5lc3MgdW5kZXIgCiMgaGlnaCBkaXNrIEkvTyBsb2Fk
LiBVc2UgaXQgd2l0aCBjYXV0aW9uIC0gaXQncyBub3QgcHJvdmVuIHRvIGJlIHN0YWJsZSB5ZXQu
CiNvcHRpb25zIAlORVdfQlVGUV9TVFJBVEVHWQoKIyBEaWFnbm9zdGljL2RlYnVnZ2luZyBzdXBw
b3J0IG9wdGlvbnMKI29wdGlvbnMgCURJQUdOT1NUSUMJIyBleHBlbnNpdmUga2VybmVsIGNvbnNp
c3RlbmN5IGNoZWNrcwojb3B0aW9ucyAJREVCVUcJCSMgZXhwZW5zaXZlIGRlYnVnZ2luZyBjaGVj
a3Mvc3VwcG9ydAojb3B0aW9ucyAJS01FTVNUQVRTCSMga2VybmVsIG1lbW9yeSBzdGF0aXN0aWNz
ICh2bXN0YXQgLW0pCgojCiMgQmVjYXVzZSBnY2Mgb21pdHMgdGhlIGZyYW1lIHBvaW50ZXIgZm9y
IGFueSAtTyBsZXZlbCwgdGhlIGxpbmUgYmVsb3cKIyBpcyBuZWVkZWQgdG8gbWFrZSBiYWNrdHJh
Y2VzIGluIEREQiB3b3JrLgojCiNtYWtlb3B0aW9ucyAJQ09QVFM9Ii1PMiAtZm5vLW9taXQtZnJh
bWUtcG9pbnRlciIKI29wdGlvbnMgCUREQgkJIyBpbi1rZXJuZWwgZGVidWdnZXIKI29wdGlvbnMg
CUREQl9ISVNUT1JZX1NJWkU9NTEyCSMgZW5hYmxlIGhpc3RvcnkgZWRpdGluZyBpbiBEREIKI29w
dGlvbnMgCUtHREIJCSMgcmVtb3RlIGRlYnVnZ2VyCiNvcHRpb25zIAlLR0RCX0RFVk5BTUU9Ilwi
Y29tXCIiLEtHREJfREVWQUREUj0weDNmOCxLR0RCX0RFVlJBVEU9OTYwMAojbWFrZW9wdGlvbnMJ
REVCVUc9Ii1nIgkjIGNvbXBpbGUgZnVsbCBzeW1ib2wgdGFibGUKCiMgQ29tcGF0aWJpbGl0eSBv
cHRpb25zCm9wdGlvbnMgCUNPTVBBVF8xNQkjIE5ldEJTRCAxLjUsCm9wdGlvbnMgCUNPTVBBVF8x
NgpvcHRpb25zIAlDT01QQVRfNDMJIyBhbmQgNC4zQlNECm9wdGlvbnMgCUNPTVBBVF8zODZCU0Rf
TUJSUEFSVCAjIHJlY29nbml6ZSBvbGQgcGFydGl0aW9uIElECgpvcHRpb25zIAlDT01QQVRfTkVU
QlNEMzIKb3B0aW9ucyAJRVhFQ19FTEYzMgpvcHRpb25zCQlDT01QQVRfQlNEUFRZCSMgL2Rldi9b
cHRddHk/PyBwdHlzLgoKIyBGaWxlIHN5c3RlbXMKZmlsZS1zeXN0ZW0gCUZGUwkJIyBVRlMKZmls
ZS1zeXN0ZW0gCUVYVDJGUwkJIyBzZWNvbmQgZXh0ZW5kZWQgZmlsZSBzeXN0ZW0gKGxpbnV4KQpm
aWxlLXN5c3RlbSAJTEZTCQkjIGxvZy1zdHJ1Y3R1cmVkIGZpbGUgc3lzdGVtCmZpbGUtc3lzdGVt
IAlNRlMJCSMgbWVtb3J5IGZpbGUgc3lzdGVtCmZpbGUtc3lzdGVtIAlORlMJCSMgTmV0d29yayBG
aWxlIFN5c3RlbSBjbGllbnQKZmlsZS1zeXN0ZW0gCU5URlMJCSMgV2luZG93cy9OVCBmaWxlIHN5
c3RlbSAoZXhwZXJpbWVudGFsKQpmaWxlLXN5c3RlbSAJQ0Q5NjYwCQkjIElTTyA5NjYwICsgUm9j
ayBSaWRnZSBmaWxlIHN5c3RlbQpmaWxlLXN5c3RlbSAJTVNET1NGUwkJIyBNUy1ET1MgZmlsZSBz
eXN0ZW0KZmlsZS1zeXN0ZW0gCUZERVNDCQkjIC9kZXYvZmQKZmlsZS1zeXN0ZW0gCUtFUk5GUwkJ
IyAva2VybgpmaWxlLXN5c3RlbSAJTlVMTEZTCQkjIGxvb3BiYWNrIGZpbGUgc3lzdGVtCmZpbGUt
c3lzdGVtIAlPVkVSTEFZCQkjIG92ZXJsYXkgZmlsZSBzeXN0ZW0KZmlsZS1zeXN0ZW0gCVBPUlRB
TAkJIyBwb3J0YWwgZmlsZXN5c3RlbSAoc3RpbGwgZXhwZXJpbWVudGFsKQpmaWxlLXN5c3RlbSAJ
UFJPQ0ZTCQkjIC9wcm9jCmZpbGUtc3lzdGVtIAlVTUFQRlMJCSMgTlVMTEZTICsgdWlkIGFuZCBn
aWQgcmVtYXBwaW5nCmZpbGUtc3lzdGVtIAlVTklPTgkJIyB1bmlvbiBmaWxlIHN5c3RlbQpmaWxl
LXN5c3RlbQlDT0RBCQkjIENvZGEgRmlsZSBTeXN0ZW07IGFsc28gbmVlZHMgdmNvZGEgKGJlbG93
KQoKIyBGaWxlIHN5c3RlbSBvcHRpb25zCm9wdGlvbnMgCVFVT1RBCQkjIFVGUyBxdW90YXMKI29w
dGlvbnMgCUZGU19FSQkJIyBGRlMgRW5kaWFuIEluZGVwZW5kZW50IHN1cHBvcnQKb3B0aW9ucyAJ
U09GVERFUAkJIyBGRlMgc29mdCB1cGRhdGVzIHN1cHBvcnQuCiNvcHRpb25zCVVGU19ESVJIQVNI
CSMgVUZTIExhcmdlIERpcmVjdG9yeSBIYXNoaW5nIC0gRXhwZXJpbWVudGFsCm9wdGlvbnMgCU5G
U1NFUlZFUgkjIE5ldHdvcmsgRmlsZSBTeXN0ZW0gc2VydmVyCiNvcHRpb25zIAlFWFQyRlNfU1lT
VEVNX0ZMQUdTICMgbWFrZXMgZXh0MmZzIGZpbGUgZmxhZ3MgKGFwcGVuZCBhbmQKCQkJCSMgaW1t
dXRhYmxlKSBiZWhhdmUgYXMgc3lzdGVtIGZsYWdzLgojb3B0aW9ucyAJRkZTX05PX1NOQVBTSE9U
CSMgZmZzIHNuYXBzaG90cwoKIyBOZXR3b3JraW5nIG9wdGlvbnMKI29wdGlvbnMgCUdBVEVXQVkJ
CSMgcGFja2V0IGZvcndhcmRpbmcKb3B0aW9ucyAJSU5FVAkJIyBJUCArIElDTVAgKyBUQ1AgKyBV
RFAKb3B0aW9ucyAJSU5FVDYJCSMgSVBWNgojb3B0aW9ucyAJSVBTRUMJCSMgSVAgc2VjdXJpdHkK
I29wdGlvbnMgCUlQU0VDX0VTUAkjIElQIHNlY3VyaXR5IChlbmNyeXB0aW9uIHBhcnQ7IGRlZmlu
ZSB3L0lQU0VDKQojb3B0aW9ucyAJSVBTRUNfREVCVUcJIyBkZWJ1ZyBmb3IgSVAgc2VjdXJpdHkK
I29wdGlvbnMgCU1ST1VUSU5HCSMgSVAgbXVsdGljYXN0IHJvdXRpbmcKI29wdGlvbnMgCVBJTQkJ
IyBQcm90b2NvbCBJbmRlcGVuZGVudCBNdWx0aWNhc3QKb3B0aW9ucyAJTlMJCSMgWE5TCiNvcHRp
b25zIAlOU0lQCQkjIFhOUyB0dW5uZWxpbmcgb3ZlciBJUApvcHRpb25zIAlJU08sVFBJUAkjIE9T
SQojb3B0aW9ucyAJRU9OCQkjIE9TSSB0dW5uZWxpbmcgb3ZlciBJUApvcHRpb25zIAlDQ0lUVCxM
TEMsSERMQwkjIFguMjUKb3B0aW9ucyAJTkVUQVRBTEsJIyBBcHBsZVRhbGsgbmV0d29ya2luZyBw
cm90b2NvbHMKb3B0aW9ucyAJUFBQX0JTRENPTVAJIyBCU0QtQ29tcHJlc3MgY29tcHJlc3Npb24g
c3VwcG9ydCBmb3IgUFBQCm9wdGlvbnMgCVBQUF9ERUZMQVRFCSMgRGVmbGF0ZSBjb21wcmVzc2lv
biBzdXBwb3J0IGZvciBQUFAKb3B0aW9ucyAJUFBQX0ZJTFRFUgkjIEFjdGl2ZSBmaWx0ZXIgc3Vw
cG9ydCBmb3IgUFBQIChyZXF1aXJlcyBicGYpCm9wdGlvbnMgCVBGSUxfSE9PS1MJIyBwZmlsKDkp
IHBhY2tldCBmaWx0ZXIgaG9va3MKb3B0aW9ucyAJSVBGSUxURVJfTE9HCSMgaXBtb24oOCkgbG9n
IHN1cHBvcnQKI29wdGlvbnMgCUlQRklMVEVSX0RFRkFVTFRfQkxPQ0sJIyBibG9jayBhbGwgcGFj
a2V0cyBieSBkZWZhdWx0CiNvcHRpb25zIAlUQ1BfREVCVUcJIyBSZWNvcmQgbGFzdCBUQ1BfTkRF
QlVHIHBhY2tldHMgd2l0aCBTT19ERUJVRwoKI29wdGlvbnMgCUFMVFEJCSMgTWFuaXB1bGF0ZSBu
ZXR3b3JrIGludGVyZmFjZXMnIG91dHB1dCBxdWV1ZXMKI29wdGlvbnMgCUFMVFFfQkxVRQkjIFN0
b2NoYXN0aWMgRmFpciBCbHVlCiNvcHRpb25zIAlBTFRRX0NCUQkjIENsYXNzLUJhc2VkIFF1ZXVl
aW5nCiNvcHRpb25zIAlBTFRRX0NETlIJIyBEaWZmc2VydiBUcmFmZmljIENvbmRpdGlvbmVyCiNv
cHRpb25zIAlBTFRRX0ZJRk9RCSMgRmlyc3QtSW4gRmlyc3QtT3V0IFF1ZXVlCiNvcHRpb25zIAlB
TFRRX0ZMT1dWQUxWRQkjIFJFRC9mbG93LXZhbHZlIChyZWQtcGVuYWx0eS1ib3gpCiNvcHRpb25z
IAlBTFRRX0hGU0MJIyBIaWVyYXJjaGljYWwgRmFpciBTZXJ2aWNlIEN1cnZlCiNvcHRpb25zIAlB
TFRRX0xPQ0FMUQkjIExvY2FsIHF1ZXVlaW5nIGRpc2NpcGxpbmUKI29wdGlvbnMgCUFMVFFfUFJJ
UQkjIFByaW9yaXR5IFF1ZXVlaW5nCiNvcHRpb25zIAlBTFRRX1JFRAkjIFJhbmRvbSBFYXJseSBE
ZXRlY3Rpb24KI29wdGlvbnMgCUFMVFFfUklPCSMgUkVEIHdpdGggSU4vT1VUCiNvcHRpb25zIAlB
TFRRX1dGUQkjIFdlaWdodGVkIEZhaXIgUXVldWVpbmcKCiMgVGhlc2Ugb3B0aW9ucyBlbmFibGUg
dmVyYm9zZSBtZXNzYWdlcyBmb3Igc2V2ZXJhbCBzdWJzeXN0ZW1zLgojIFdhcm5pbmcsIHRoZXNl
IG1heSBjb21waWxlIGxhcmdlIHN0cmluZyB0YWJsZXMgaW50byB0aGUga2VybmVsIQpvcHRpb25z
CQlBQ1BJVkVSQk9TRQkjIHZlcmJvYXNlIEFDUEkgY29uZmlndXJhdGlvbiBtZXNzYWdlcwpvcHRp
b25zIAlNSUlWRVJCT1NFCSMgdmVyYm9zZSBQSFkgYXV0b2NvbmZpZyBtZXNzYWdlcwpvcHRpb25z
IAlQQ0lWRVJCT1NFCSMgdmVyYm9zZSBQQ0kgZGV2aWNlIGF1dG9jb25maWcgbWVzc2FnZXMKI29w
dGlvbnMgCVBDSV9DT05GSUdfRFVNUAkjIHZlcmJvc2VseSBkdW1wIFBDSSBjb25maWcgc3BhY2UK
I29wdGlvbnMgCVBDTUNJQVZFUkJPU0UJIyB2ZXJib3NlIFBDTUNJQSBjb25maWd1cmF0aW9uIG1l
c3NhZ2VzCm9wdGlvbnMgCVNDU0lWRVJCT1NFCSMgaHVtYW4gcmVhZGFibGUgU0NTSSBlcnJvciBt
ZXNzYWdlcwpvcHRpb25zIAlVU0JWRVJCT1NFCSMgdmVyYm9zZSBVU0IgZGV2aWNlIGF1dG9jb25m
aWcgbWVzc2FnZXMKb3B0aW9ucyAJSTJPVkVSQk9TRQkjIHZlcmJvc2UgSTJPIGRyaXZlciBtZXNz
YWdlcwoKb3B0aW9ucyAJTkZTX0JPT1RfREhDUCxORlNfQk9PVF9CT09UUEFSQU0KCiMKIyB3c2Nv
bnMgb3B0aW9ucwojCiMgYnVpbHRpbiB0ZXJtaW5hbCBlbXVsYXRpb25zCiNvcHRpb25zIAlXU0VN
VUxfU1VOCQkjIHN1biB0ZXJtaW5hbCBlbXVsYXRpb24Kb3B0aW9ucyAJV1NFTVVMX1ZUMTAwCQkj
IFZUMTAwIC8gVlQyMjAgZW11bGF0aW9uCiMgZGlmZmVyZW50IGtlcm5lbCBvdXRwdXQgLSBzZWUg
ZGV2L3dzY29ucy93c2Rpc3BsYXl2YXIuaApvcHRpb25zIAlXU19LRVJORUxfRkc9V1NDT0xfQkxV
RQpvcHRpb25zIAlXU19LRVJORUxfQkc9V1NDT0xfV0hJVEUKIyBjb21wYXRpYmlsaXR5IHRvIG90
aGVyIGNvbnNvbGUgZHJpdmVycwpvcHRpb25zIAlXU0RJU1BMQVlfQ09NUEFUX1BDVlQJCSMgZW11
bGF0ZSBzb21lIGlvY3RscwpvcHRpb25zIAlXU0RJU1BMQVlfQ09NUEFUX1NZU0NPTlMJIyBlbXVs
YXRlIHNvbWUgaW9jdGxzCm9wdGlvbnMgCVdTRElTUExBWV9DT01QQVRfVVNMCQkjIFZUIGhhbmRs
aW5nCm9wdGlvbnMgCVdTRElTUExBWV9DT01QQVRfUkFXS0JECQkjIGNhbiBnZXQgcmF3IHNjYW5j
b2RlcwojIHNlZSBkZXYvcGNrYmMvd3NrYmRtYXBfbWZpaS5jIGZvciBpbXBsZW1lbnRlZCBsYXlv
dXRzCiNvcHRpb25zIAlQQ0tCRF9MQVlPVVQ9IihLQl9ERSB8IEtCX05PREVBRCkiCiMgYWxsb2Nh
dGUgYSBudW1iZXIgb2YgdmlydHVhbCBzY3JlZW5zIGF0IGF1dG9jb25maWd1cmF0aW9uIHRpbWUK
I29wdGlvbnMgCVdTRElTUExBWV9ERUZBVUxUU0NSRUVOUz00CiMgdXNlIGEgbGFyZ2Ugc29mdHdh
cmUgY3Vyc29yIHRoYXQgZG9lc24ndCBibGluawpvcHRpb25zIAlQQ0RJU1BMQVlfU09GVENVUlNP
UgojIG1vZGlmeSB0aGUgc2NyZWVuIHR5cGUgb2YgdGhlIGNvbnNvbGU7IGRlZmF1bHRzIHRvICI4
MHgyNSIKI29wdGlvbnMgCVZHQV9DT05TT0xFX1NDUkVFTlRZUEU9IlwiODB4MjRcIiIKIyB3b3Jr
IGFyb3VuZCBhIGhhcmR3YXJlIGJ1ZyB0aGF0IGxvYWRlZCBmb250cyBkb24ndCB3b3JrOyBmb3Vu
ZCBvbiBBVEkgY2FyZHMKI29wdGlvbnMgCVZHQV9DT05TT0xFX0FUSV9CUk9LRU5fRk9OVFNFTAoj
IHRoZSBmb2xsb3dpbmcgZW5hYmxlcyBzb21lIGZ1bmN0aW9ucyB0byBnZXQgbW91c2UgY29uc29s
ZSBzdXBwb3J0LgojIGlmIHlvdSB3YW50IGEgcmVhbGx5IHNlY3VyZSBzeXN0ZW0sIGl0IG1heSBi
ZSBiZXR0ZXIgbm90IHRvIGVuYWJsZSB0aGVtLAojIHNlZSB3c21vdXNlZCg4KSwgc2VjdGlvbiBT
RUNVUklUWSBDT05TSURFUkFUSU9OUyBmb3IgbW9yZSBpbmZvLgojb3B0aW9ucyAJV1NESVNQTEFZ
X0NIQVJGVU5DUwkJIyBtb3VzZSBjb25zb2xlIHN1cHBvcnQKIyBlbmFibGUgVkdBIHJhc3RlciBt
b2RlIGNhcGFibGUgb2YgZGlzcGxheWluZyBtdWx0aWxpbmd1YWwgdGV4dCBvbiBjb25zb2xlCiNv
cHRpb25zIAlWR0FfUkFTVEVSQ09OU09MRQoKIyBLZXJuZWwgcm9vdCBmaWxlIHN5c3RlbSBhbmQg
ZHVtcCBjb25maWd1cmF0aW9uLgpjb25maWcJCW5ldGJzZAlyb290IG9uID8gdHlwZSA/CiNjb25m
aWcJCW5ldGJzZAlyb290IG9uIHNkMGEgdHlwZSBmZnMKI2NvbmZpZwkJbmV0YnNkCXJvb3Qgb24g
PyB0eXBlIG5mcwoKIwojIERldmljZSBjb25maWd1cmF0aW9uCiMKCm1haW5idXMwIGF0IHJvb3QK
CmFjcGkwIGF0IG1haW5idXMwCgphY3BpMCAJCWF0IG1haW5idXMwCm9wdGlvbnMgCU1QQUNQSQpv
cHRpb25zIAlNUEFDUElfU0NBTlBDSQkJIyBNUEJJT1MgY29uZmlndXJlcyBQQ0kgcm9vdHMKI29w
dGlvbnMgCUFDUElfUENJX0ZJWFVQCQkjIFBDSSBpbnRlcnJ1cHQgcm91dGluZyB2aWEgQUNQSQoj
b3B0aW9ucyAJQUNQSV9BQ1RJVkFURV9ERVYJIyBJZiBzZXQsIGFjdGl2YXRlIGluYWN0aXZlIGRl
dmljZXMKI29wdGlvbnMJQUNQSUNBX1BFREFOVElDCQkjIGZvcmNlIHN0cmljdCBjb25mb3JtYW5j
ZSB0byB0aGUgU3BlYy4KI29wdGlvbnMJQUNQSV9ESVNBQkxFX09OX1BPV0VST0ZGCSMgZGlzYWJs
ZSBhY3BpIG9uIHBvd2VyIG9mZgoKIyBBQ1BJIGRldmljZXMKYWNwaWFjYWQqIAlhdCBhY3BpPwkJ
IyBBQ1BJIEFDIEFkYXB0ZXIKYWNwaWJhdCogCWF0IGFjcGk/CQkjIEFDUEkgQmF0dGVyeQphY3Bp
YnV0KiAJYXQgYWNwaT8JCSMgQUNQSSBCdXR0b24KYWNwaWVjKiAJYXQgYWNwaT8JCSMgQUNQSSBF
bWJlZGRlZCBDb250cm9sbGVyCmFjcGlsaWQqIAlhdCBhY3BpPwkJIyBBQ1BJIExpZCBTd2l0Y2gK
YWNwaXR6KiAJYXQgYWNwaT8JCSMgQUNQSSBUaGVybWFsIFpvbmUKCiMgTWFpbmJvYXJkIGRldmlj
ZXMKY29tKiAJCWF0IGFjcGk/CQkjIFNlcmlhbCBjb21tdW5pY2F0aW9ucyBpbnRlcmZhY2UKZmRj
KiAJCWF0IGFjcGk/CQkjIEZsb3BweSBkaXNrIGNvbnRyb2xsZXIKam95KgkJYXQgYWNwaT8JCSMg
Sm95c3RpY2svR2FtZSBwb3J0CmxwdCogCQlhdCBhY3BpPwkJIyBQYXJhbGxlbCBwb3J0Cm1wdSoJ
CWF0IGFjcGk/CQkjIFJvbGFuZCBNUFUtNDAxIE1JREkgVUFSVApwY2tiYyogIAlhdCBhY3BpPwkJ
IyBQQyBrZXlib2FyZCBjb250cm9sbGVyCndzcyogCQlhdCBhY3BpPwkJIyBOZW9NYWdpYyAyNTZB
ViBpbiB3c3MgbW9kZQoKb3B0aW9ucyAJTVBCSU9TCm9wdGlvbnMgCU1QQklPU19TQ0FOUENJCQkj
IE1QQklPUyBjb25maWd1cmVzIFBDSSByb290cwpjcHUqIAkJYXQgbWFpbmJ1cz8KaW9hcGljKiAJ
YXQgbWFpbmJ1cz8gYXBpZCA/CgojYXBtMAlhdCBtYWluYnVzMAkJCSMgQWR2YW5jZWQgcG93ZXIg
bWFuYWdlbWVudAoKIyBUdW5pbmcgZm9yIHBvd2VyIG1hbmFnZW1lbnQsIHNlZSBhcG0oNCkgZm9y
IG1vcmUgZGV0YWlscy4KI29wdGlvbnMgCUFQTV9OT19JRExFCQkjIERvbid0IGNhbGwgQklPUyBD
UFUgaWRsZSBmdW5jdGlvbgojb3B0aW9ucyAJQVBNX1YxMF9PTkxZCQkjIFVzZSBvbmx5IHRoZSBB
UE0gMS4wIGNhbGxzCiNvcHRpb25zIAlBUE1fTk9fUE9XRVJPRkYJCSMgRG9uJ3QgcG93ZXIgb2Zm
IG9uIGhhbHQoOCkKI29wdGlvbnMgCUFQTV9QT1dFUl9QUklOVAkJIyBQcmludCBzdGF0cyBvbiB0
aGUgY29uc29sZQojb3B0aW9ucyAJQVBNX0RJU0FCTEVfSU5URVJSVVBUUz0wICMgRG9uJ3QgZGlz
YWJsZSBpbnRlcnJ1cHRzCgoKIyBCYXNpYyBCdXMgU3VwcG9ydAoKIyBQQ0kgYnVzIHN1cHBvcnQK
cGNpKglhdCBtYWluYnVzPyBidXMgPwpwY2kqCWF0IHBjaGI/IGJ1cyA/CnBjaSoJYXQgcHBiPyBi
dXMgPwoKIyBQQ0kgYnJpZGdlcwpwY2hiKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBQQ0kt
SG9zdCBicmlkZ2VzCnBjaWIqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBDSS1JU0EgYnJp
ZGdlcwpwcGIqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBDSS1QQ0kgYnJpZGdlcwojIFhY
WCAncHVjJ3MgYXJlbid0IHJlYWxseSBicmlkZ2VzLCBidXQgdGhlcmUncyBubyBiZXR0ZXIgcGxh
Y2UgZm9yIHRoZW0gaGVyZQpwdWMqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBDSSAidW5p
dmVyc2FsIiBjb21tLiBjYXJkcwoKYWFwaWMqIAlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBB
TUQgODEzMSBJTyBhcGljCgojYWdwKiAJYXQgcGNoYj8KCiMKCiMgSVNBIGJ1cyBzdXBwb3J0Cmlz
YTAJYXQgbWFpbmJ1cz8KaXNhMAlhdCBwY2liPwoKIyBDYXJkQnVzIGJyaWRnZSBzdXBwb3J0CiNj
YmIqCQlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8KI2NhcmRzbG90KglhdCBjYmI/CgojIENhcmRC
dXMgYnVzIHN1cHBvcnQKI2NhcmRidXMqCWF0IGNhcmRzbG90PwojcGNtY2lhKiAJYXQgY2FyZHNs
b3Q/CgojIENvcHJvY2Vzc29yIFN1cHBvcnQKCiMgQ29uc29sZSBEZXZpY2VzCgojIHdzY29ucwpw
Y2tiYzAJCWF0IGlzYT8JCQkjIHBjIGtleWJvYXJkIGNvbnRyb2xsZXIKcGNrYmQqCQlhdCBwY2ti
Yz8JCSMgUEMga2V5Ym9hcmQKcG1zKgkJYXQgcGNrYmM/CQkjIFBTLzIgbW91c2UgZm9yIHdzbW91
c2UKI29wdGlvbnMgCVBNU19ESVNBQkxFX1BPV0VSSE9PSwkjIERpc2FibGUgUFMvMiByZXNldCBv
biByZXN1bWUKI29wdGlvbnMgCVBNU19TWU5BUFRJQ1NfVE9VQ0hQQUQJIyBFbmFibGUgc3VwcG9y
dCBmb3IgU3luYXB0aWNzIFRvdWNocGFkcwp2Z2EqCQlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8K
d3NkaXNwbGF5KglhdCB2Z2E/IGNvbnNvbGUgPwp3c2tiZCoJCWF0IHBja2JkPyBjb25zb2xlID8K
d3Ntb3VzZSoJYXQgcG1zPyBtdXggMAoKcGNwcGkwCQlhdCBpc2E/CnN5c2JlZXAwCWF0IHBjcHBp
PwoKIyBDcnlwdG9ncmFwaGljIERldmljZXMKCiMgUENJIGNyeXB0b2dyYXBoaWMgZGV2aWNlcwpo
aWZuKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBIaWZuIDc3NTUvNzgxMS83OTV4CnVic2Vj
KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBCcm9hZGNvbSA1NTAxLzU2MDEvNTgweC81ODJ4
CgojIFNlcmlhbCBEZXZpY2VzCgojIFBDSSBzZXJpYWwgaW50ZXJmYWNlcwpjb20qCWF0IHB1Yz8g
cG9ydCA/CQkJIyAxNng1MHMgb24gInVuaXZlcnNhbCIgY29tbSBib2FyZHMKY3kqCWF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwkjIEN5Y2xhZGVzIEN5Y2xvbS1ZIHNlcmlhbCBib2FyZHMKY3oqCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEN5Y2xhZGVzLVogbXVsdGktcG9ydCBzZXJpYWwgYm9h
cmRzCgojIFBDTUNJQSBzZXJpYWwgaW50ZXJmYWNlcwojY29tKglhdCBwY21jaWE/IGZ1bmN0aW9u
ID8JCSMgTW9kZW1zIGFuZCBzZXJpYWwgY2FyZHMKCiNwY21jb20qCWF0IHBjbWNpYT8gZnVuY3Rp
b24gPwkJIyBQQ01DSUEgbXVsdGktcG9ydCBzZXJpYWwgY2FyZHMKI2NvbSoJYXQgcGNtY29tPyBz
bGF2ZSA/CQkjIC4uLmFuZCB0aGUgc2xhdmUgZGV2aWNlcwoKIyBDYXJkQnVzIHNlcmlhbCBpbnRl
cmZhY2VzCiNjb20qCWF0IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9uID8JIyBNb2RlbXMgYW5kIHNl
cmlhbCBjYXJkcwoKIyBJU0Egc2VyaWFsIGludGVyZmFjZXMKI29wdGlvbnMgCUNPTV9IQVlFU1AJ
CSMgYWRkcyBIYXllcyBFU1Agc2VyaWFsIGJvYXJkIHN1cHBvcnQKY29tMAlhdCBpc2E/IHBvcnQg
MHgzZjggaXJxIDQJIyBTdGFuZGFyZCBQQyBzZXJpYWwgcG9ydHMKY29tMQlhdCBpc2E/IHBvcnQg
MHgyZjggaXJxIDMKCiMgUGFyYWxsZWwgUHJpbnRlciBJbnRlcmZhY2VzCgojIFBDSSBwYXJhbGxl
bCBwcmludGVyIGludGVyZmFjZXMKbHB0KglhdCBwdWM/IHBvcnQgPwkJCSMgfHwgcG9ydHMgb24g
InVuaXZlcnNhbCIgY29tbSBib2FyZHMKCiMgSVNBIHBhcmFsbGVsIHByaW50ZXIgaW50ZXJmYWNl
cwpscHQwCWF0IGlzYT8gcG9ydCAweDM3OCBpcnEgNwkjIHN0YW5kYXJkIFBDIHBhcmFsbGVsIHBv
cnRzCmxwdDEJYXQgaXNhPyBwb3J0IDB4Mjc4CgojIEhhcmR3YXJlIG1vbml0b3JzCgojIExNN1s4
OV0gYW5kIGNvbXBhdGlibGUgaGFyZHdhcmUgbW9uaXRvcnMKI2xtMAlhdCBpc2E/CXBvcnQgMHgy
OTAJCSMgb3RoZXIgY29tbW9uIHBvcnRzOiAweDI4MCwgMHgzMTAKCiMgSTJPIGRldmljZXMKaW9w
KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBJL08gcHJvY2Vzc29yCmlvcHNwKglhdCBpb3A/
IHRpZCA/CQkJIyBTQ1NJL0ZDLUFMIHBvcnRzCmxkKglhdCBpb3A/IHRpZCA/CQkJIyBibG9jayBk
ZXZpY2VzCiMgWFhYIGRwdGkuYyB3YW50cyBhIHByb2Nlc3NvciB0eXBlIHRoYXQgaXMgbm90IGFz
c2lnbmVkIGZvciB4ODYtNjQKI2RwdGkqCWF0IGlvcD8gdGlkIDAJCQkjIERQVC9BZGFwdGVjIGNv
bnRyb2wgaW50ZXJmYWNlCgoKIyBTQ1NJIENvbnRyb2xsZXJzIGFuZCBEZXZpY2VzCgojIFBDSSBT
Q1NJIGNvbnRyb2xsZXJzCmFkdioJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQWR2YW5TeXMg
MTIwMFtBLEJdLCA5eHhbVSxVQV0gU0NTSQphZHcqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkj
IEFkdmFuU3lzIDl4MFVXW0RdLCAzOTQwVVsyLDNdVyBTQ1NJCmFoYyoJYXQgcGNpPyBkZXYgPyBm
dW5jdGlvbiA/CSMgQWRhcHRlYyBbMjNdOTR4LCBhaWM3OHgwIFNDU0kKYWhkKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBBZGFwdGVjIGFpYzc5MHggU0NTSQpiaGEqCWF0IHBjaT8gZGV2ID8g
ZnVuY3Rpb24gPwkjIEJ1c0xvZ2ljIDl4eCBTQ1NJCmRwdCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlv
biA/CSMgRFBUIFNtYXJ0Q2FjaGUvU21hcnRSQUlECmloYSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlv
biA/CSMgSW5pdGlvIElOSUMtOTQwLzk1MCBTQ1NJCmlzcCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlv
biA/CSMgUWxvZ2ljIElTUCBbMTJdMHgwIFNDU0kvRmlicmVDaGFubmVsCm1seSoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgTXlsZXggQWNjZWxlUkFJRCBhbmQgZVh0cmVtZVJBSUQKbXB0Kglh
dCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBMU0lMb2dpYyA5eDkgYW5kIDUzYzEwMzAKcGNzY3Aq
CWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFNRCA1M2M5NzQgUENzY3NpLVBDSSBTQ1NJCnNp
b3AqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFN5bWJpb3MgNTNjOHh4IFNDU0kKZXNpb3Aq
CWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFN5bWJpb3MgNTNjODc1IGFuZCBuZXdlciBTQ1NJ
CiNvcHRpb25zIAlTSU9QX1NZTUxFRAkJIyBkcml2ZSB0aGUgYWN0LiBMRUQgaW4gc29mdHdhcmUK
dHJtKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBUZWtyYW0gREMtMzk1VS9VVy9GLCBEQy0z
MTUvVSBTQ1NJCgojIFBDTUNJQSBTQ1NJIGNvbnRyb2xsZXJzCiNhaWMqCWF0IHBjbWNpYT8gZnVu
Y3Rpb24gPwkJIyBBZGFwdGVjIEFQQS0xNDYwIFNDU0kKI2VzcCoJYXQgcGNtY2lhPyBmdW5jdGlv
biA/CQkjIFFsb2dpYyBFU1A0MDYvRkFTNDA4IFNDU0kKCiMgQ2FyZEJ1cyBTQ1NJIGNhcmRzCiNh
ZHYqCWF0IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9uID8JIyBBZHZhblN5cyAxMjAwW0EsQl0sIDl4
eFtVLFVBXSBTQ1NJCiNhaGMqCWF0IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9uID8JIyBBZGFwdGVj
IEFEUC0xNDgwCgojIFNDU0kgYnVzIHN1cHBvcnQKc2NzaWJ1cyogYXQgc2NzaT8KCiMgU0NTSSBk
ZXZpY2VzCnNkKglhdCBzY3NpYnVzPyB0YXJnZXQgPyBsdW4gPwkjIFNDU0kgZGlzayBkcml2ZXMK
c3QqCWF0IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CSMgU0NTSSB0YXBlIGRyaXZlcwpjZCoJYXQg
c2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JIyBTQ1NJIENELVJPTSBkcml2ZXMKY2gqCWF0IHNjc2li
dXM/IHRhcmdldCA/IGx1biA/CSMgU0NTSSBhdXRvY2hhbmdlcnMKc2VzKglhdCBzY3NpYnVzPyB0
YXJnZXQgPyBsdW4gPwkjIFNDU0kgRW5jbG9zdXJlIFNlcnZpY2VzIGRldmljZXMKc3MqCWF0IHNj
c2lidXM/IHRhcmdldCA/IGx1biA/CSMgU0NTSSBzY2FubmVycwp1ayoJYXQgc2NzaWJ1cz8gdGFy
Z2V0ID8gbHVuID8JIyBTQ1NJIHVua25vd24KCgojIFJBSUQgY29udHJvbGxlcnMgYW5kIGRldmlj
ZXMKI2FhYyoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQnJva2VuIC0tIDMyYml0IGFzc3Vt
cHRpb25zLgpjYWMqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIENvbXBhcSBQQ0kgYXJyYXkg
Y29udHJvbGxlcnMKaWNwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBJQ1AtVm9ydGV4IEdE
VCAmIEludGVsIFJBSUQKbWx4KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBNeWxleCBEQUM5
NjAgJiBERUMgU1dYQ1IgZmFtaWx5CnR3ZSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgM3dh
cmUgRXNjYWxhZGUgUkFJRCBjb250cm9sbGVycwoKbGQqCWF0IGNhYz8gdW5pdCA/CmxkKglhdCBp
Y3A/IHVuaXQgPwpsZCoJYXQgdHdlPyB1bml0ID8KbGQqCWF0IG1seD8gdW5pdCA/CgppY3BzcCoJ
YXQgaWNwPyB1bml0ID8JCQkjIFNDU0kgcGFzcy10aHJvdWdoCgojIElERSBhbmQgcmVsYXRlZCBk
ZXZpY2VzCiMgUENJIElERSBjb250cm9sbGVycyAtIHNlZSBwY2lpZGUoNCkgZm9yIHN1cHBvcnRl
ZCBoYXJkd2FyZS4KIyBUaGUgMHgwMDAxIGZsYWcgZm9yY2UgdGhlIGRyaXZlciB0byB1c2UgRE1B
LCBldmVuIGlmIHRoZSBkcml2ZXIgZG9lc24ndCBrbm93CiMgaG93IHRvIHNldCB1cCBETUEgbW9k
ZXMgZm9yIHRoaXMgY2hpcC4gVGhpcyBtYXkgd29yaywgb3IgbWF5IGNhdXNlCiMgYSBtYWNoaW5l
IGhhbmcgd2l0aCBzb21lIGNvbnRyb2xsZXJzLgpwY2lpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rp
b24gPyBmbGFncyAweDAwMDAJIyBHRU5FUklDIHBjaWlkZSBkcml2ZXIKYWNhcmRpZGUqIGF0IHBj
aT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFjYXJkIElERSBjb250cm9sbGVycwphY2VyaWRlKiBhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBY2VyIExhYiBJREUgY29udHJvbGxlcnMKYXJ0c2F0YSog
YXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgSW50ZWwgaTMxMjQ0IFNBVEEgY29udHJvbGxlcgpj
bWRpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIENNRCB0ZWNoIElERSBjb250cm9sbGVy
cwpjeXBpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEN5cHJlc3MgSURFIGNvbnRyb2xs
ZXJzCmhwdGlkZSogYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgVHJpb25lcy9IaWdoUG9pbnQg
SURFIGNvbnRyb2xsZXJzCm9wdGlpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIE9wdGkg
SURFIGNvbnRyb2xsZXJzCnBpaXhpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEludGVs
IElERSBjb250cm9sbGVycwpwZGNpZGUqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFByb21p
c2UgSURFIGNvbnRyb2xsZXJzCnBkY3NhdGEqIGF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBy
b21pc2UgU0FUQTE1MCBjb250cm9sbGVycwpzYXRhbGluayogYXQgcGNpPyBkZXYgPyBmdW5jdGlv
biA/CSMgU2lJIFNBVEFMaW5rIGNvbnRyb2xsZXJzCnNpc2lkZSogYXQgcGNpPyBkZXYgPyBmdW5j
dGlvbiA/CSMgU2lTIElERSBjb250cm9sbGVycwpzbGlkZSogIGF0IHBjaT8gZGV2ID8gZnVuY3Rp
b24gPwkjIFN5bXBob255IExhYnMgSURFIGNvbnRyb2xsZXJzCnZpYWlkZSogYXQgcGNpPyBkZXYg
PyBmdW5jdGlvbiA/CSMgVklBL0FNRC9OdmlkaWEgSURFIGNvbnRyb2xsZXJzCgojIFBDTUNJQSBJ
REUgY29udHJvbGxlcnMKI3dkYyoJYXQgcGNtY2lhPyBmdW5jdGlvbiA/CgojIElTQSBTVDUwNiwg
RVNESSwgYW5kIElERSBjb250cm9sbGVycwojIFVzZSBmbGFncyAweDAxIGlmIHlvdSB3YW50IHRv
IHRyeSB0byB1c2UgMzJiaXRzIGRhdGEgSS9PICh0aGUgZHJpdmVyIHdpbGwKIyBmYWxsIGJhY2sg
dG8gMTZiaXRzIEkvTyBpZiAzMmJpdHMgSS9PIGFyZSBub3QgZnVuY3Rpb25hbCkuCiMgU29tZSBj
b250cm9sbGVycyBwYXNzIHRoZSBpbml0aWFsIDMyYml0IHRlc3QsIGJ1dCB3aWxsIGZhaWwgbGF0
ZXIuCndkYzAJYXQgaXNhPyBwb3J0IDB4MWYwIGlycSAxNCBmbGFncyAweDAwCndkYzEJYXQgaXNh
PyBwb3J0IDB4MTcwIGlycSAxNSBmbGFncyAweDAwCgojIEFUQSAoSURFKSBidXMgc3VwcG9ydAph
dGFidXMqIGF0IGF0YT8KCiMgSURFIGRyaXZlcwojIEZsYWdzIGFyZSB1c2VkIG9ubHkgd2l0aCBj
b250cm9sbGVycyB0aGF0IHN1cHBvcnQgRE1BIG9wZXJhdGlvbnMKIyBhbmQgbW9kZSBzZXR0aW5n
cyAoZS5nLiBzb21lIHBjaWlkZSBjb250cm9sbGVycykKIyBUaGUgbG93ZXN0IG9yZGVyIGZvdXIg
Yml0cyAocmlnaHRtb3N0IGRpZ2l0KSBvZiB0aGUgZmxhZ3MgZGVmaW5lIHRoZSBQSU8KIyBtb2Rl
IHRvIHVzZSwgdGhlIG5leHQgc2V0IG9mIGZvdXIgYml0cyB0aGUgRE1BIG1vZGUgYW5kIHRoZSB0
aGlyZCBzZXQgdGhlCiMgVWx0cmFETUEgbW9kZS4gRm9yIGVhY2ggc2V0IG9mIGZvdXIgYml0cywg
dGhlIDMgbG93ZXIgYml0cyBkZWZpbmUgdGhlIG1vZGUKIyB0byB1c2UsIGFuZCB0aGUgbGFzdCBi
aXQgbXVzdCBiZSAxIGZvciB0aGlzIHNldHRpbmcgdG8gYmUgdXNlZC4KIyBGb3IgRE1BIGFuZCBV
RE1BLCAweGYgKDExMTEpIG1lYW5zICdkaXNhYmxlJy4KIyAweDBmYWMgbWVhbnMgJ3VzZSBQSU8g
bW9kZSA0LCBETUEgbW9kZSAyLCBkaXNhYmxlIFVsdHJhRE1BJy4KIyAoMHhjPTExMDAsIDB4YT0x
MDEwLCAweGY9MTExMSkKIyAweDAwMDAgbWVhbnMgInVzZSB3aGF0ZXZlciB0aGUgZHJpdmUgY2xh
aW1zIHRvIHN1cHBvcnQiLgp3ZCoJYXQgYXRhYnVzPyBkcml2ZSA/IGZsYWdzIDB4MDAwMAoKIyBB
VEFQSSBidXMgc3VwcG9ydAphdGFwaWJ1cyogYXQgYXRhcGk/CgojIEFUQSBSQUlEIGNvbmZpZ3Vy
YXRpb24gc3VwcG9ydCwgYXMgZm91bmQgb24gc29tZSBQcm9taXNlIGNvbnRyb2xsZXJzLiAgCnBz
ZXVkby1kZXZpY2UgYXRhcmFpZCAgCmxkKiAgICAgYXQgYXRhcmFpZD8gdmVuZHR5cGUgPyB1bml0
ID8KCiMgQVRBUEkgZGV2aWNlcwojIGZsYWdzIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBhcyBmb3Ig
SURFIGRyaXZlcy4KY2QqCWF0IGF0YXBpYnVzPyBkcml2ZSA/IGZsYWdzIDB4MDAwMAkjIEFUQVBJ
IENELVJPTSBkcml2ZXMKc2QqCWF0IGF0YXBpYnVzPyBkcml2ZSA/IGZsYWdzIDB4MDAwMAkjIEFU
QVBJIGRpc2sgZHJpdmVzCnN0KglhdCBhdGFwaWJ1cz8gZHJpdmUgPyBmbGFncyAweDAwMDAJIyBB
VEFQSSB0YXBlIGRyaXZlcwp1ayoJYXQgYXRhcGlidXM/IGRyaXZlID8gZmxhZ3MgMHgwMDAwCSMg
QVRBUEkgdW5rbm93bgoKCiMgTWlzY2VsbGFuZW91cyBtYXNzIHN0b3JhZ2UgZGV2aWNlcwoKIyBJ
U0EgZmxvcHB5CmZkYzAJYXQgaXNhPyBwb3J0IDB4M2YwIGlycSA2IGRycSAyCSMgc3RhbmRhcmQg
UEMgZmxvcHB5IGNvbnRyb2xsZXJzCiNmZGMxCWF0IGlzYT8gcG9ydCAweDM3MCBpcnEgPyBkcnEg
PwpmZCoJYXQgZmRjPyBkcml2ZSA/CQkJIyB0aGUgZHJpdmVzIHRoZW1zZWx2ZXMKIyBzb21lIG1h
Y2hpbmVzIG5lZWQgeW91IHRvIGRvIHRoaXMgaW5zdGVhZCBvZiBmZCoKI2ZkMAlhdCBmZGMwIGRy
aXZlIDAKCiMgTmV0d29yayBJbnRlcmZhY2VzCgojIFBDSSBuZXR3b3JrIGludGVyZmFjZXMKYW4q
CWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFpcm9uZXQgUEM0NTAwL1BDNDgwMCAoODAyLjEx
KQpiZ2UqIAlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBCcm9hZGNvbSA1NzB4IGdpZ2FiaXQg
RXRoZXJuZXQKYmNlKiAJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQnJvYWRjb20gNDQweCAx
MC8xMDAgRXRoZXJuZXIKZW4qCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEVOSS9BZGFwdGVj
IEFUTQplcCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgM0NvbSAzYzU5eAplcGljKglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBTTUMgRVBJQy8xMDAgRXRoZXJuZXQKZXNoKglhdCBwY2k/
IGRldiA/IGZ1bmN0aW9uID8JIyBFc3NlbnRpYWwgSElQUEkgY2FyZApleCoJYXQgcGNpPyBkZXYg
PyBmdW5jdGlvbiA/CSMgM0NvbSA5MHhbQkNdCmZwYSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/
CSMgREVDIERFRlBBIEZEREkKZnhwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBJbnRlbCBF
dGhlckV4cHJlc3MgUFJPIDEwKy8xMDBCCmdzaXAqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkj
IE5TODM4MjAgR2lnYWJpdCBFdGhlcm5ldAojaG1lKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8J
IyBTdW4gTWljcm9lbGVjdHJvbmljcyBTVFAyMDAyLVNUUQpsZSoJYXQgcGNpPyBkZXYgPyBmdW5j
dGlvbiA/CSMgUENuZXQtUENJIEV0aGVybmV0CmxtYyoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/
CSMgTGFuIE1lZGlhIENvcnAgU1NJL0hTU0kvRFMzCm10ZCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlv
biA/CSMgTXlzb24gTVREODAzIDMtaW4tMSBFdGhlcm5ldApuZSoJYXQgcGNpPyBkZXYgPyBmdW5j
dGlvbiA/CSMgTkUyMDAwLWNvbXBhdGlibGUgRXRoZXJuZXQKbnR3b2MqCWF0IHBjaT8gZGV2ID8g
ZnVuY3Rpb24gPwkjIFJpc2NvbS9OMiBQQ0kgU3luYyBTZXJpYWwKcGNuKglhdCBwY2k/IGRldiA/
IGZ1bmN0aW9uID8JIyBBTUQgUENuZXQtUENJIEV0aGVybmV0CnJlKglhdCBwY2k/IGRldiA/IGZ1
bmN0aW9uID8JIyBSZWFsdGVrIDgxMzlDKy84MTY5LzgxNjlTLzgxMTBTCnJ0ayoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgUmVhbHRlayA4MTI5LzgxMzkKc2tjKiAJYXQgcGNpPyBkZXYgPyBm
dW5jdGlvbiA/CSMgU3lzS29ubmVjdCBTSzk4MjEgR2lnYWJpdCBFdGhlcm5ldApzayogCWF0IHNr
Yz8JCQkJIyBTeXNLb25uZWN0IFNLOTgyMSBHaWdhYml0IEV0aGVybmV0CnNmKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBBZGFwdGVjIEFJQy02OTE1IEV0aGVybmV0CnNpcCoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgU2lTIDkwMC9EUDgzODE1IEV0aGVybmV0CnN0ZSoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgU3VuZGFuY2UgU1QtMjAxIEV0aGVybmV0CnN0Z2UqCWF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwkjIFN1bmRhbmNlL1RhbWFyYWNrIFRDOTAyMSBHaWdhYml0CnRpKglh
dCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBbHRlb24gQUNFbmljIGdpZ2FiaXQgRXRoZXJuZXQK
dGwqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFRodW5kZXJMQU4tYmFzZWQgRXRoZXJuZXQK
dGxwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBERUNjaGlwIDIxeDR4IGFuZCBjbG9uZXMK
dmdlKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBWSUFUZWNoIFZUNjEyWCBHaWdhYml0IEV0
aGVybmV0CnZyKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBWSUEgUmhpbmUgRmFzdCBFdGhl
cm5ldAp3aSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgSW50ZXJzaWwgUHJpc20gTWluaS1Q
Q0kgKDgwMi4xMWIpCndtKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBJbnRlbCA4MjU0My84
MjU0NCBnaWdhYml0CgojIFBDTUNJQSBuZXR3b3JrIGludGVyZmFjZXMKI2FuKglhdCBwY21jaWE/
IGZ1bmN0aW9uID8JCSMgQWlyb25ldCBQQzQ1MDAvUEM0ODAwICg4MDIuMTEpCiNhd2kqCWF0IHBj
bWNpYT8gZnVuY3Rpb24gPwkJIyBCYXlTdGFjayA2NTAvNjYwICg4MDIuMTFGSC9EUykKI2NudyoJ
YXQgcGNtY2lhPyBmdW5jdGlvbiA/CQkjIFhpcmNvbS9OZXR3YXZlIEFpclN1cmZlcgojZXAqCWF0
IHBjbWNpYT8gZnVuY3Rpb24gPwkJIyAzQ29tIDNjNTg5IGFuZCAzYzU2MiBFdGhlcm5ldAojbWJl
KglhdCBwY21jaWE/IGZ1bmN0aW9uID8JCSMgTUI4Njk2eCBiYXNlZCBFdGhlcm5ldAojbmUqCWF0
IHBjbWNpYT8gZnVuY3Rpb24gPwkJIyBORTIwMDAtY29tcGF0aWJsZSBFdGhlcm5ldAojcmF5Kglh
dCBwY21jaWE/IGZ1bmN0aW9uID8JCSMgUmF5dGhlb24gUmF5bGluayAoODAyLjExKQojc20qCWF0
IHBjbWNpYT8gZnVuY3Rpb24gPwkJIyBNZWdhaGVydHogRXRoZXJuZXQKIyB0ciBhdCBwY21jaWEg
aGFzIHByb2JsZW1zIHdpdGggQ2FyZGJ1cyBicmlkZ2VzCiN0cioJYXQgcGNtY2lhPyBmdW5jdGlv
biA/CQkjIFRST1BJQyBiYXNlZCBUb2tlbi1SaW5nCiN3aSoJYXQgcGNtY2lhPyBmdW5jdGlvbiA/
CQkjIEx1Y2VudC9JbnRlcnNpbCBXYXZlTGFuIElFRUUgKDgwMi4xMSkKI3hpKglhdCBwY21jaWE/
IGZ1bmN0aW9uID8JCSMgWGlyY29tIENyZWRpdENhcmQgRXRoZXJuZXQKCiNtaHpjKglhdCBwY21j
aWE/IGZ1bmN0aW9uID8JCSMgTWVnYWhlcnR6IEV0aGVybmV0L01vZGVtIGNvbWJvIGNhcmRzCiNj
b20qCWF0IG1oemM/CiNzbSoJYXQgbWh6Yz8KCiMgQ2FyZEJ1cyBuZXR3b3JrIGNhcmRzCiNleCoJ
YXQgY2FyZGJ1cz8gZGV2ID8gZnVuY3Rpb24gPwkjIDNDb20gM0M1NzVUWAojZnhwKglhdCBjYXJk
YnVzPyBkZXYgPyBmdW5jdGlvbiA/CSMgSW50ZWwgaTgyNTV4CiNydGsqCWF0IGNhcmRidXM/IGRl
diA/IGZ1bmN0aW9uID8JIyBSZWFsdGVrIDgxMjkvODEzOQojdGxwKglhdCBjYXJkYnVzPyBkZXYg
PyBmdW5jdGlvbiA/CSMgREVDY2hpcCAyMTE0MwoKIyBNSUkvUEhZIHN1cHBvcnQKYWNwaHkqCWF0
IG1paT8gcGh5ID8JCQkjIERBbHRpbWEgQUMxMDEgYW5kIEFNRCBBbTc5Yzg3NCBQSFlzCmFtaHBo
eSoJYXQgbWlpPyBwaHkgPwkJCSMgQU1EIDc5YzkwMSBFdGhlcm5ldCBQSFlzCmJtdHBoeSoJYXQg
bWlpPyBwaHkgPwkJCSMgQnJvYWRjb20gQkNNNTIwMSBhbmQgQkNNNTIwMiBQSFlzCmJyZ3BoeSoJ
YXQgbWlpPyBwaHkgPwkJCSMgQnJvYWRjb20gQkNNNTQwMC1mYW1pbHkgUEhZcwpjaXBoeSoJYXQg
bWlpPyBwaHkgPwkJCSMgQ2ljYWRhIENTODIwMSBHaWctRSBQSFlzCmRtcGh5KglhdCBtaWk/IHBo
eSA/CQkJIyBEYXZpY29tIERNOTEwMSBQSFlzCmV4cGh5KglhdCBtaWk/IHBoeSA/CQkJIyAzQ29t
IGludGVybmFsIFBIWXMKZ2x4dHBoeSogYXQgbWlpPyBwaHkgPwkJCSMgTGV2ZWwgT25lIExYVC0x
MDAwIFBIWXMKZ3BoeXRlciogYXQgbWlpPyBwaHkgPwkJCSMgTlM4Mzg2MSBHaWctRSBQSFkKaWNz
cGh5KglhdCBtaWk/IHBoeSA/CQkJIyBJbnRlZ3JhdGVkIENpcmN1aXQgU3lzdGVtcyBJQ1MxODl4
CmlucGh5KglhdCBtaWk/IHBoeSA/CQkJIyBJbnRlbCA4MjU1NSBQSFlzCmlncGh5KiAJYXQgbWlp
PyBwaHkgPwkJCSMgSW50ZWwgSUdQMDFFMTAwMAppb3BoeSoJYXQgbWlpPyBwaHkgPwkJCSMgSW50
ZWwgODI1NTMgUEhZcwpseHRwaHkqCWF0IG1paT8gcGh5ID8JCQkjIExldmVsIE9uZSBMWFQtOTcw
IFBIWXMKbWFrcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBNYXJ2ZWxsIFNlbWljb25kdWN0b3IgODhF
MTAwMCBQSFlzCm5zcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBOUzgzODQwIFBIWXMKbnNwaHl0ZXIq
IGF0IG1paT8gcGh5ID8JCQkjIE5TODM4NDMgUEhZcwpwbmFwaHkqCWF0IG1paT8gcGh5ID8JCQkj
IGdlbmVyaWMgSG9tZVBOQSBQSFlzCnFzcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBRdWFsaXR5IFNl
bWljb25kdWN0b3IgUVM2NjEyIFBIWXMKc3FwaHkqCWF0IG1paT8gcGh5ID8JCQkjIFNlZXEgODAy
MjAvODAyMjEvODAyMjMgUEhZcwp0bHBoeSoJYXQgbWlpPyBwaHkgPwkJCSMgVGh1bmRlckxBTiBQ
SFlzCnRxcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBUREsgU2VtaWNvbmR1Y3RvciBQSFlzCnVrcGh5
KglhdCBtaWk/IHBoeSA/CQkJIyBnZW5lcmljIHVua25vd24gUEhZcwp1cmxwaHkqIGF0IG1paT8g
cGh5ID8JCQkjIFJlYWx0ZWsgUlRMODE1MEwgaW50ZXJuYWwgUEhZcwoKCiMgVVNCIENvbnRyb2xs
ZXIgYW5kIERldmljZXMKCiMgUENJIFVTQiBjb250cm9sbGVycwojIFRoZSBFSENJIGlzIG5vdCBy
ZWFkeSBmb3IgcHJpbWUgdGltZS4KI2VoY2kqCWF0IHBjaT8JZGV2ID8gZnVuY3Rpb24gPwkjIEVu
aGFuY2VkIEhvc3QgQ29udHJvbGxlcgpvaGNpKglhdCBwY2k/CWRldiA/IGZ1bmN0aW9uID8JIyBP
cGVuIEhvc3QgQ29udHJvbGxlcgp1aGNpKglhdCBwY2k/CWRldiA/IGZ1bmN0aW9uID8JIyBVbml2
ZXJzYWwgSG9zdCBDb250cm9sbGVyIChJbnRlbCkKCiMgQ2FyZEJ1cyBVU0IgY29udHJvbGxlcnMK
I2VoY2kqCWF0IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9uID8JIyBFbmhhbmNlZCBIb3N0IENvbnRy
b2xsZXIKI29oY2kqCWF0IGNhcmRidXM/IGRldiA/IGZ1bmN0aW9uID8JIyBPcGVuIEhvc3QgQ29u
dHJvbGxlcgoKIyBJU0EgVVNCIGNvbnRyb2xsZXJzCiNzbGhjaTAJYXQgaXNhPyBwb3J0IDB4MzAw
IGlycSA1CSMgU2NhbkxvZ2ljIFNMODExSFMKCiMgVVNCIGJ1cyBzdXBwb3J0CiN1c2IqCWF0IGVo
Y2k/CnVzYioJYXQgb2hjaT8KdXNiKglhdCB1aGNpPwojdXNiKglhdCBzbGhjaT8KCiMgVVNCIEh1
YnMKdWh1YioJYXQgdXNiPwp1aHViKglhdCB1aHViPyBwb3J0ID8gY29uZmlndXJhdGlvbiA/IGlu
dGVyZmFjZSA/CgojIFVTQiBISUQgZGV2aWNlCnVoaWRldioJYXQgdWh1Yj8gcG9ydCA/IGNvbmZp
Z3VyYXRpb24gPyBpbnRlcmZhY2UgPwoKIyBVU0IgTWljZQp1bXMqCWF0IHVoaWRldj8gcmVwb3J0
aWQgPwp3c21vdXNlKiBhdCB1bXM/IG11eCAwCgojIFVTQiBLZXlib2FyZHMKdWtiZCoJYXQgdWhp
ZGV2PyByZXBvcnRpZCA/Cndza2JkKglhdCB1a2JkPyBjb25zb2xlID8gbXV4IDEKCiMgVVNCIEdl
bmVyaWMgSElEIGRldmljZXMKdWhpZCoJYXQgdWhpZGV2PyByZXBvcnRpZCA/CgojIFVTQiBQcmlu
dGVyCnVscHQqCWF0IHVodWI/IHBvcnQgPyBjb25maWd1cmF0aW9uID8gaW50ZXJmYWNlID8KCiMg
VVNCIE1vZGVtCnVtb2RlbSoJYXQgdWh1Yj8gcG9ydCA/IGNvbmZpZ3VyYXRpb24gPwp1Y29tKglh
dCB1bW9kZW0/CgojIFVTQiBNYXNzIFN0b3JhZ2UKdW1hc3MqCWF0IHVodWI/IHBvcnQgPyBjb25m
aWd1cmF0aW9uID8gaW50ZXJmYWNlID8Kd2QqIGF0IHVtYXNzPwoKIyBVU0IgYXVkaW8KdWF1ZGlv
KglhdCB1aHViPyBwb3J0ID8gY29uZmlndXJhdGlvbiA/CgojIFVTQiBNSURJCnVtaWRpKiBhdCB1
aHViPyBwb3J0ID8gY29uZmlndXJhdGlvbiA/CgojIFVTQiBJckRBCiMgVVNCLUlyREEgYnJpZGdl
IHNwZWMKdWlyZGEqIGF0IHVodWI/IHBvcnQgPyBjb25maWd1cmF0aW9uID8gaW50ZXJmYWNlID8K
aXJmcmFtZSogYXQgdWlyZGE/CgojIFNpZ21hVGVsIFNUSXI0MjAwIFVTQi9JckRBIEJyaWRnZQp1
c3RpciogYXQgdWh1Yj8gcG9ydCA/CmlyZnJhbWUqIGF0IHVzdGlyPwoKIyBVU0IgRXRoZXJuZXQg
YWRhcHRlcnMKYXVlKglhdCB1aHViPyBwb3J0ID8JCSMgQURNdGVrIEFOOTg2IFBlZ2FzdXMgYmFz
ZWQgYWRhcHRlcnMKYXhlKglhdCB1aHViPyBwb3J0ID8JCSMgQVNJWCBBWDg4MTcyIGJhc2VkIGFk
YXB0ZXJzCmN1ZSoJYXQgdWh1Yj8gcG9ydCA/CQkjIENBVEMgVVNCLUVMMTIwMUEgYmFzZWQgYWRh
cHRlcnMKa3VlKglhdCB1aHViPyBwb3J0ID8JCSMgS2F3YXNha2kgTFNJIEtMNUtVU0IxMDFCIGJh
c2VkIGFkYXB0ZXJzCnVybCoJYXQgdWh1Yj8gcG9ydCA/CQkjIFJlYWx0ZWsgUlRMODE1MEwgYmFz
ZWQgYWRhcHRlcnMKdWRhdioJYXQgdWh1Yj8gcG9ydCA/CQkjIERhdmljb20gRE05NjAxIGJhc2Vk
IGFkYXB0ZXJzCgojIFByb2xpZmljIFBMMjMwMS9QTDIzMDIgaG9zdC10by1ob3N0IGFkYXB0ZXIK
dXBsKglhdCB1aHViPyBwb3J0ID8KCiMgU2VyaWFsIGFkYXB0ZXJzCnVic2EqCWF0IHVodWI/IHBv
cnQgPwkJIyBCZWxraW4gc2VyaWFsIGFkYXB0ZXIKdWNvbSoJYXQgdWJzYT8gcG9ydG5vID8KCnVm
dGRpKglhdCB1aHViPyBwb3J0ID8JCSMgRlRESSBGVDhVMTAwQVggc2VyaWFsIGFkYXB0ZXIKdWNv
bSoJYXQgdWZ0ZGk/IHBvcnRubyA/Cgp1bWN0KglhdCB1aHViPyBwb3J0ID8JCSMgTUNUIFVTQi1S
UzIzMiBzZXJpYWwgYWRhcHRlcgp1Y29tKglhdCB1bWN0PyBwb3J0bm8gPwoKdXBsY29tKglhdCB1
aHViPyBwb3J0ID8JCSMgSS9PIERBVEEgVVNCLVJTQVEyIHNlcmlhbCBhZGFwdGVyCnVjb20qCWF0
IHVwbGNvbT8gcG9ydG5vID8KCnV2c2NvbSoJYXQgdWh1Yj8gcG9ydCA/CQkjIFNVTlRBQyBTbGlw
cGVyIFUgVlMtMTBVIHNlcmlhbCBhZGFwdGVyCnVjb20qCWF0IHV2c2NvbT8gcG9ydG5vID8KCiMg
RGlhbW9uZCBNdWx0aW1lZGlhIFJpbyA1MDAKdXJpbyoJYXQgdWh1Yj8gcG9ydCA/CgojIFVTQiBI
YW5kc3ByaW5nIFZpc29yCnV2aXNvcioJYXQgdWh1Yj8gcG9ydCA/CnVjb20qCWF0IHV2aXNvcj8K
CiMgVVNCIHNjYW5uZXJzCnVzY2FubmVyKiBhdCB1aHViPyBwb3J0ID8KCiMgVVNCIHNjYW5uZXJz
IHRoYXQgdXNlIFNDU0kgZW11bGF0aW9uLCBlLmcuLCBIUDUzMDAKdXNzY2FubmVyKiBhdCB1aHVi
PyBwb3J0ID8KCiMgWUBQIGZpcm13YXJlIGxvYWRlcgp1eWFwKiBhdCB1aHViPyBwb3J0ID8KCiMg
RC1MaW5rIERTQi1SMTAwIFVTQiByYWRpbwp1ZHNicioJYXQgdWh1Yj8gcG9ydCA/CnJhZGlvKglh
dCB1ZHNicj8KCiMgVVNCIEdlbmVyaWMgZHJpdmVyCnVnZW4qCWF0IHVodWI/IHBvcnQgPwoKCiMg
SXJEQSBhbmQgQ29uc3VtZXIgSXIgZGV2aWNlcwoKIyBUb3NoaWJhIE9ib2UKI29ib2UqIAlhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBicm9rZW4gLS0gdnRvcGh5cwojaXJmcmFtZSogYXQgb2Jv
ZT8KCgojIEF1ZGlvIERldmljZXMKCiMgUENJIGF1ZGlvIGRldmljZXMKYXVpY2gqCWF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwkjIEludGVsL0FNRC9uVmlkaWEgQUMnOTcgQXVkaW8KYXV0cmkqCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFRyaWRlbnQgNERXQVZFIGJhc2VkIEFDJzk3IEF1ZGlv
CmF1dmlhKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBWSUEgQUMnOTcgYXVkaW8KY2xjcyoJ
YXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQ2lycnVzIExvZ2ljIENTNDI4MApjbGN0KglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBDaXJydXMgTG9naWMgQ1M0MjgxCmNtcGNpKglhdCBwY2k/
IGRldiA/IGZ1bmN0aW9uID8JIyBDLU1lZGlhIENNSTgzMzgvODczOAplYXAqCWF0IHBjaT8gZGV2
ID8gZnVuY3Rpb24gPwkjIEVuc29uaXEgQXVkaW9QQ0kKZW11eGtpKglhdCBwY2k/IGRldiA/IGZ1
bmN0aW9uID8JIyBDcmVhdGl2ZSBTQkxpdmUhIGFuZCBQQ0k1MTIKZXNhKglhdCBwY2k/IGRldiA/
IGZ1bmN0aW9uID8JIyBFU1MgQWxsZWdyby0xIC8gTWFlc3Ryby0zIFBDSSBBdWRpbwplc20qCWF0
IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEVTUyBNYWVzdHJvLTEvMi8yZSBQQ0kgQXVkaW8gQWNj
ZWxlcmF0b3IKZXNvKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBFU1MgU29sby0xIFBDSSBB
dWRpb0RyaXZlCmZtcyoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgRm9ydGUgTWVkaWEgRk04
MDEKbmVvKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBOZW9NYWdpYyAyNTYgQUMnOTcgQXVk
aW8Kc3YqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFMzIFNvbmljVmliZXMKeWRzKglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBZYW1haGEgRFMtMSBQQ0kgQXVkaW8KCiMgUENNQ0lBIGF1
ZGlvIGRldmljZXMKI2VzbCoJYXQgcGNtY2lhPyBmdW5jdGlvbiA/CQkJIyBFU1MgMTY4OCBBdWRp
b0RyaXZlCgojIE9QTFsyM10gRk0gc3ludGhlc2l6ZXJzCiNvcGwwCWF0IGlzYT8gcG9ydCAweDM4
OAkjIHVzZSBvbmx5IGlmIG5vdCBhdHRhY2hlZCB0byBzb3VuZCBjYXJkCm9wbCoJYXQgY21wY2k/
IGZsYWdzIDEKI29wbCoJYXQgZXNsPwpvcGwqCWF0IGVzbz8Kb3BsKglhdCBmbXM/Cm9wbCoJYXQg
c3Y/CgojIEF1ZGlvIHN1cHBvcnQKYXVkaW8qCWF0IGF1ZGlvYnVzPwoKIyBNUFUgNDAxIFVBUlRz
CiNtcHUqCWF0IGlzYT8gcG9ydCAweDMzMCBpcnEgOQkjIE1QVTQwMSBvciBjb21wYXRpYmxlIGNh
cmQKbXB1KglhdCBjbXBjaT8KbXB1KglhdCBlc28/Cm1wdSoJYXQgeWRzPwoKIyBNSURJIHN1cHBv
cnQKbWlkaSoJYXQgbWlkaWJ1cz8KbWlkaSoJYXQgcGNwcGk/CQkjIE1JREkgaW50ZXJmYWNlIHRv
IHRoZSBQQyBzcGVha2VyCgojIFRoZSBzcGtyIGRyaXZlciBwcm92aWRlcyBhIHNpbXBsZSB0b25l
IGludGVyZmFjZSB0byB0aGUgYnVpbHQgaW4gc3BlYWtlci4KI3Nwa3IwCWF0IHBjcHBpPwkJIyBQ
QyBzcGVha2VyCgoKIyBGTS1SYWRpbyBkZXZpY2VzCiMgUENJIHJhZGlvIGRldmljZXMKI2d0cCoJ
YXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/ICMgR3VpbGxlbW90IE1heGkgUmFkaW8gRk0gMjAwMCBS
YWRpbyBDYXJkCgojIFJhZGlvIHN1cHBvcnQKI3JhZGlvKglhdCBndHA/CgoKIyBUViBjYXJkcwoK
IyBCcm9va3RyZWUgODQ4Lzg0OS84NzgvODc5IGJhc2VkIFRWIGNhcmRzCmJrdHIqIGF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwpyYWRpbyogYXQgYmt0cj8KCgojIE1pY2UKCiMgTWlkZGxlIERpZ2l0
YWwsIEluYy4gUENJLVdlYXNlbCBzZXJpYWwgY29uc29sZSBib2FyZCBjb250cm9sCiMgZGV2aWNl
cyAod2F0Y2hkb2cgdGltZXIsIGV0Yy4pCndlYXNlbCogYXQgcGNpPwoKIyBQdWxsIGluIG9wdGlv
bmFsIGxvY2FsIGNvbmZpZ3VyYXRpb24KaW5jbHVkZQkiYXJjaC9hbWQ2NC9jb25mL0dFTkVSSUMu
bG9jYWwiCgojIFBzZXVkby1EZXZpY2VzCgpwc2V1ZG8tZGV2aWNlIAljcnlwdG8JCQkjIG9wZW5j
cnlwdG8gZnJhbWV3b3JrCgojIGRpc2svbWFzcyBzdG9yYWdlIHBzZXVkby1kZXZpY2VzCnBzZXVk
by1kZXZpY2UJY2NkCQk0CSMgY29uY2F0ZW5hdGVkL3N0cmlwZWQgZGlzayBkZXZpY2VzCiNwc2V1
ZG8tZGV2aWNlCWNnZAkJNAkjIGNyeXB0b2dyYXBoaWMgZGlzayBkZXZpY2VzCnBzZXVkby1kZXZp
Y2UJcmFpZAkJOAkjIFJBSURmcmFtZSBkaXNrIGRyaXZlcgpvcHRpb25zIAlSQUlEX0FVVE9DT05G
SUcJCSMgYXV0by1jb25maWd1cmF0aW9uIG9mIFJBSUQgY29tcG9uZW50cwojT3B0aW9ucyB0byBl
bmFibGUgdmFyaW91cyBvdGhlciBSQUlEZnJhbWUgUkFJRCB0eXBlcy4KI29wdGlvbnMgCVJGX0lO
Q0xVREVfRVZFTk9ERD0xCiNvcHRpb25zIAlSRl9JTkNMVURFX1JBSUQ1X1JTPTEKI29wdGlvbnMg
CVJGX0lOQ0xVREVfUEFSSVRZTE9HR0lORz0xCiNvcHRpb25zIAlSRl9JTkNMVURFX0NIQUlOREVD
TFVTVEVSPTEKI29wdGlvbnMgCVJGX0lOQ0xVREVfSU5URVJERUNMVVNURVI9MQojb3B0aW9ucyAJ
UkZfSU5DTFVERV9QQVJJVFlfREVDTFVTVEVSSU5HPTEKI29wdGlvbnMgCVJGX0lOQ0xVREVfUEFS
SVRZX0RFQ0xVU1RFUklOR19EUz0xCnBzZXVkby1kZXZpY2UJZnNzCQk0CSMgZmlsZSBzeXN0ZW0g
c25hcHNob3QgZGV2aWNlCgpwc2V1ZG8tZGV2aWNlCW1kCQkxCSMgbWVtb3J5IGRpc2sgZGV2aWNl
IChyYW1kaXNrKQpwc2V1ZG8tZGV2aWNlCXZuZAkJNAkjIGRpc2stbGlrZSBpbnRlcmZhY2UgdG8g
ZmlsZXMKCiMgbmV0d29yayBwc2V1ZG8tZGV2aWNlcwpwc2V1ZG8tZGV2aWNlCWJwZmlsdGVyCTgJ
IyBCZXJrZWxleSBwYWNrZXQgZmlsdGVyCnBzZXVkby1kZXZpY2UJaXBmaWx0ZXIJCSMgSVAgZmls
dGVyIChmaXJld2FsbCkgYW5kIE5BVApwc2V1ZG8tZGV2aWNlCWxvb3AJCQkjIG5ldHdvcmsgbG9v
cGJhY2sKcHNldWRvLWRldmljZQlwcHAJCTIJIyBQb2ludC10by1Qb2ludCBQcm90b2NvbApwc2V1
ZG8tZGV2aWNlCXBwcG9lCQkJIyBQUFAgb3ZlciBFdGhlcm5ldCAoUkZDIDI1MTYpCnBzZXVkby1k
ZXZpY2UJc2wJCTIJIyBTZXJpYWwgTGluZSBJUApwc2V1ZG8tZGV2aWNlCXN0cmlwCQkyCSMgU3Rh
cm1vZGUgUmFkaW8gSVAgKE1ldHJpY29tKQpwc2V1ZG8tZGV2aWNlCWlyZnJhbWV0dHkJCSMgSXJE
QSBmcmFtZSBsaW5lIGRpc2NpcGxpbmUKcHNldWRvLWRldmljZQl0dW4JCTIJIyBuZXR3b3JrIHR1
bm5lbGluZyBvdmVyIHR0eQpwc2V1ZG8tZGV2aWNlCXRhcAkJCSMgdmlydHVhbCBFdGhlcm5ldApw
c2V1ZG8tZGV2aWNlCWdyZQkJMgkjIGdlbmVyaWMgTDMgb3ZlciBJUCB0dW5uZWwKcHNldWRvLWRl
dmljZQlnaWYJCTQJIyBJUHZbNDZdIG92ZXIgSVB2WzQ2XSB0dW5uZWwgKFJGQzE5MzMpCiNwc2V1
ZG8tZGV2aWNlCWZhaXRoCQkxCSMgSVB2WzQ2XSB0Y3AgcmVsYXkgdHJhbnNsYXRpb24gaS9mCiNw
c2V1ZG8tZGV2aWNlCXN0ZgkJMQkjIDZ0bzQgSVB2NiBvdmVyIElQdjQgZW5jYXBzdWxhdGlvbgpw
c2V1ZG8tZGV2aWNlCXZsYW4JCQkjIElFRUUgODAyLjFxIGVuY2Fwc3VsYXRpb24KcHNldWRvLWRl
dmljZQlicmlkZ2UJCQkjIHNpbXBsZSBpbnRlci1uZXR3b3JrIGJyaWRnaW5nCiNvcHRpb25zCUJS
SURHRV9JUEYJCSMgYnJpZGdlIHVzZXMgSVAvSVB2NiBwZmlsIGhvb2tzIHRvbwoKIyBtaXNjZWxs
YW5lb3VzIHBzZXVkby1kZXZpY2VzCnBzZXVkby1kZXZpY2UJcHR5CQkJIyBwc2V1ZG8tdGVybWlu
YWxzCnBzZXVkby1kZXZpY2UJdGIJCTEJIyB0YWJsZXQgbGluZSBkaXNjaXBsaW5lCnBzZXVkby1k
ZXZpY2UJc2VxdWVuY2VyCTEJIyBNSURJIHNlcXVlbmNlcgojIHJuZCB3b3JrczsgUk5EX0NPTSBk
b2VzIG5vdCBvbiBwb3J0IGkzODYgeWV0Lgpwc2V1ZG8tZGV2aWNlCXJuZAkJCSMgL2Rldi9yYW5k
b20gYW5kIGluLWtlcm5lbCBnZW5lcmF0b3IKI29wdGlvbnMgCVJORF9DT00JCQkjIHVzZSAiY29t
IiByYW5kb21uZXNzIGFzIHdlbGwgKEJST0tFTikKcHNldWRvLWRldmljZQljbG9ja2N0bAkJIyB1
c2VyIGNvbnRyb2wgb2YgY2xvY2sgc3Vic3lzdGVtCnBzZXVkby1kZXZpY2UJa3N5bXMJCQkjIC9k
ZXYva3N5bXMKI3BzZXVkby1kZXZpY2UJcGYJCQkjIFBGIHBhY2tldCBmaWx0ZXIKI3BzZXVkby1k
ZXZpY2UJcGZsb2cJCQkjIFBGIGxvZyBpZgoKIyBhIHBzZXVkbyBkZXZpY2UgbmVlZGVkIGZvciBD
b2RhCSMgYWxzbyBuZWVkcyBDT0RBIChhYm92ZSkKcHNldWRvLWRldmljZQl2Y29kYQkJNAkjIGNv
ZGEgbWluaWNhY2hlIDwtPiB2ZW51cyBjb21tLgoKIyB3c2NvbnMgcHNldWRvLWRldmljZXMKcHNl
dWRvLWRldmljZQl3c211eAkJCSMgbW91c2UgJiBrZXlib2FyZCBtdWx0aXBsZXhvcgpwc2V1ZG8t
ZGV2aWNlCXdzZm9udApvcHRpb25zIAlNVUxUSVBST0NFU1NPUgpvcHRpb25zIAlDT01fTVBMT0NL
Cg==
------=_Part_1819_22724616.1109242312688--