NetBSD Problem Report #36838

From ryo@rf7.so-net.ne.jp  Sat Aug 25 17:11:41 2007
Return-Path: <ryo@rf7.so-net.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by narn.NetBSD.org (Postfix) with ESMTP id 85E7E63B8B4
	for <gnats-bugs@gnats.NetBSD.org>; Sat, 25 Aug 2007 17:11:41 +0000 (UTC)
Message-Id: <1188090950.772@chocolate.sweets.tetera.org>
Date: Sun, 26 Aug 2007 10:15:50 +0900
From: ryo@rf7.so-net.ne.jp
Reply-To: ryo@rf7.so-net.ne.jp
To: gnats-bugs@NetBSD.org
Subject: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
X-Send-Pr-Version: 3.95

>Number:         36838
>Category:       kern
>Synopsis:       pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    joerg
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 25 17:15:00 +0000 2007
>Closed-Date:    Wed Oct 10 15:26:17 +0000 2012
>Last-Modified:  Wed Oct 10 15:26:17 +0000 2012
>Originator:     ryo@rf7.so-net.ne.jp
>Release:        NetBSD 4.99.30
>Organization:

>Environment:


System: NetBSD chocolate.sweets.tetera.org 4.99.30 NetBSD 4.99.30 (GENERIC) #0: Sat Aug 25 21:50:33 JST 2007 root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
I cannot enable pci2 on GENERIC kernel.
And on GENERIC.NOACPI kerenl, pci2 is enabled.

I'll show 2 outputs of dmesg (GENERIC and GENERIC.NOACPI).

*** dmesg of GENERIC kernel***

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.30 (GENERIC) #0: Sat Aug 25 21:50:33 JST 2007
	root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC
total memory = 1013 MB
rbus: rbus_min_start set to 0x40000000
avail memory = 985 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfdc04
mainbus0 (root)
cpu0 at mainbus0 apid 0: (boot processor)
cpu0: Intel Pentium M (Yonah) (686-class), 1197.10 MHz, id 0x6ec
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 c1a9<SSE3,MONITOR,VMX,EST,TM2,xTPR,PDCM>
cpu0: "Intel(R) Core(TM) Solo CPU     U1400  @ 1.20GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: ITLB 128 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 128 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: using thermal monitor 1
cpu0: Enhanced SpeedStep (1052 mV) 1200 MHz
cpu0: unknown Enhanced SpeedStep CPU.
cpu0: Enhanced SpeedStep frequencies available (MHz): 1200 1067 933 800
cpu0: calibrating local timer
cpu0: apic clock running at 133 MHz
cpu0: 64 page colors
ioapic0 at mainbus0 apid 1
ioapic0: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Advanced Configuration and Power Interface
acpi0: using Intel ACPI CA subsystem version 20060217
acpi0: X/RSDT: OemId <FUJ   ,PC      ,01130000>, AslId <FUJ ,00000100>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
CPU0 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU1 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
MCFG (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
PCI0 (PNP0A08) [PCI Express/PCI-X Mode-2 Host Bridge] at acpi0 not configured
MBIO (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
com3 at acpi0 (DIGI, FUJ02E6)
com3: io 0x220-0x227 irq 4
com3: ns16550a, working fifo
BTNS (FUJ02BF) at acpi0 not configured
FJEX (FUJ02B1) at acpi0 not configured
CMBT (FUJ02E1) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): ACPI Embedded Controller
acpiec0: io 0x62,0x66
DMAC (PNP0200) [AT DMA Controller] at acpi0 not configured
attimer1 at acpi0 (TIME, PNP0100): AT Timer
attimer1: io 0x40-0x43 irq 0
PIC (PNP0000) [AT Interrupt Controller] at acpi0 not configured
RTC (PNP0B00) [AT Real-Time Clock] at acpi0 not configured
pcppi1 at acpi0 (SPKR, PNP0800)
pcppi1: io 0x61
midi0 at pcppi1: PC speaker (CPU-intensive output)
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04)
npx1: io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13): aux port
pckbc2: irq 12
hpet0 at acpi0 (HPET, PNP0103)
hpet0: mem 0xfed00000-0xfed003ff
hpet0: Found 64-bits HPET, will only use lowest 32-bits
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
LNKA (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKB (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKC (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKD (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKE (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKG (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKH (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
FEXT (FUJ02E3) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
acpitz0 at acpi0 (TZ00): ACPI Thermal Zone
acpitz0: unable to get polling interval; using default of 30.0s
acpitz0: passive cooling mode only
acpitz0: critical 100.0C passive 26.8C
acpitz1 at acpi0 (TZ01): ACPI Thermal Zone
acpitz1: unable to get polling interval; using default of 30.0s
acpitz1: critical 100.0C passive 26.8C
apm0 at acpi0: Power Management spec V1.2
acpiacad0: AC adapter online.
acpibat0: battery info: Fujitsu, LION, CP240502 1
pcppi1: attached to attimer1
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: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
direct rendering for vga1 unsupported
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 17 (irq 11)
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
azalia0: host: High Definition Audio rev. 1.0
ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16 (irq 11)
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
pci2 at ppb1 bus 5
pci2: no spaces enabled!
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23 (irq 11)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20 (irq 11)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18 (irq 11)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16 (irq 11)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23 (irq 11)
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0x8d)
Ricoh product 0x0822 (SD Host Controller system, revision 0x13) at pci3 dev 3 function 1 not configured
cbb0: interrupting at ioapic0 pin 16 (irq 11)
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19 (irq 11)
iic0 at ichsmb0: I2C bus
isa0 at pcib0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
azalia0: codec[0]: 0x8384/0x7616 (rev. 2.1)
azalia0: codec[0]: High Definition Audio rev. 1.0
azalia0: playback: max channels=2, encodings=1<PCM>
azalia0: playback: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: recording: max channels=2, encodings=1<PCM>
azalia0: recording: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0)
azalia0: codec[1]: High Definition Audio rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
Kernelized RAIDframe activated
ugen0 at uhub2 port 1
ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
boot device: wd0
root on wd0a dumps on wd0b
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)
mskc0: interrupt moderation is 1000 us

*** dmesg of GENERIC.NOACPI ***

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.30 (GENERIC.NOACPI) #0: Sun Aug 26 10:08:28 JST 2007
	root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC.NOACPI
total memory = 1013 MB
rbus: rbus_min_start set to 0x40000000
avail memory = 986 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfdc04
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Yonah) (686-class), 1197.08 MHz, id 0x6ec
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 c1a9<SSE3,MONITOR,VMX,EST,TM2,xTPR,PDCM>
cpu0: "Intel(R) Core(TM) Solo CPU     U1400  @ 1.20GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: ITLB 128 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 128 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: using thermal monitor 1
cpu0: Enhanced SpeedStep (1052 mV) 1200 MHz
cpu0: unknown Enhanced SpeedStep CPU.
cpu0: Enhanced SpeedStep frequencies available (MHz): 1200 1067 933 800
cpu0: 64 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: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
direct rendering for vga1 unsupported
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at irq 11
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
azalia0: host: High Definition Audio rev. 1.0
ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): irq 11
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
wpi0 at pci2 dev 0 function 0: Intel PRO/Wireless LAN 3945ABG Mini-PCI Adapter (rev. 0x02)
wpi0: interrupting at irq 11
, JPN, address 00:1b:77:0c:6f:4a
wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci1: interrupting at irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci2: interrupting at irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci3: interrupting at irq 11
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x02)
ehci0: interrupting at irq 11
ehci0: BIOS refuses to give up ownership, using force
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0x8d)
Ricoh product 0x0822 (SD Host Controller system, revision 0x13) at pci3 dev 3 function 1 not configured
cbb0: interrupting at irq 11
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
ichsmb0: interrupting at irq 11
iic0 at ichsmb0: I2C bus
isa0 at pcib0
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
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
pcppi0: attached to attimer0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
azalia0: codec[0]: 0x8384/0x7616 (rev. 2.1)
azalia0: codec[0]: High Definition Audio rev. 1.0
azalia0: playback: max channels=2, encodings=1<PCM>
azalia0: playback: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: recording: max channels=2, encodings=1<PCM>
azalia0: recording: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0)
azalia0: codec[1]: High Definition Audio rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
Kernelized RAIDframe activated
ugen0 at uhub2 port 1
ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
boot device: wd0
root on wd0a dumps on wd0b
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)

>How-To-Repeat:
boot with GENERIC kernel on Fujitsu FMV-BIBLO LOOX P70WN (FMVLP70WN).
>Fix:
I have no idea.

>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->feedback
State-Changed-By: jmcneill@NetBSD.org
State-Changed-When: Sat, 12 Apr 2008 16:41:03 +0000
State-Changed-Why:
Is this still an issue with -current?


From: Ryo ONODERA <ryo@rf7.so-net.ne.jp>
To: gnats-bugs@NetBSD.org, jmcneill@NetBSD.org
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Mon, 14 Apr 2008 00:20:04 +0900 (JST)

 From: jmcneill@NetBSD.org
 Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.)
 Date: Sat, 12 Apr 2008 16:41:04 +0000 (UTC)

 > Synopsis: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: jmcneill@NetBSD.org
 > State-Changed-When: Sat, 12 Apr 2008 16:41:03 +0000
 > State-Changed-Why:
 > Is this still an issue with -current?

 I update my kernel and userland to today's -current.
 pci2 is still disabled.

 Please check following dmesg.


 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 4.99.59 (GENERIC-jst) #0: Mon Apr 14 00:05:42 JST 2008
 	root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC-jst
 total memory = 1013 MB
 avail memory = 984 MB
 timecounter: Timecounters tick every 10.000 msec
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 FUJITSU FMVLP70WN ( )
 mainbus0 (root)
 ACPI: RSDP @ 0x0xf5820/0x0014 (v000 FUJ   )
 ACPI: RSDT @ 0x0x3f662688/0x0048 (v001 FUJ    PC       0x01130000 FUJ  0x00000100)
 ACPI: FACP @ 0x0x3f668f8c/0x0074 (v001 FUJ    PC       0x01130000 FUJ  0x00000100)
 ACPI: DSDT @ 0x0x3f6626d8/0x5A98 (v001 FUJ    FJNB1C5  0x01130000 MSFT 0x0100000E)
 ACPI: FACS @ 0x0x3f669fc0/0x0040
 ACPI: MCFG @ 0x0x3f668170/0x003C (v001 FUJ    FJNB1C5  0x01130000 FUJ  0x00000100)
 ACPI: SSDT @ 0x0x3f6681ac/0x04DC (v001 FUJ    FJNB1C5  0x01130000 INTL 0x20050624)
 ACPI: SSDT @ 0x0x3f668688/0x0164 (v001 FUJ    FJNB1C5  0x01130000 INTL 0x20050624)
 ACPI: SSDT @ 0x0x3f668b07/0x01D0 (v001 FUJ    FJNB1C5  0x01130000 INTL 0x20050624)
 ACPI: APIC @ 0x0x3f668d5c/0x005A (v001 FUJ    FJNB1C5  0x01130000  LTP 0x00000000)
 ACPI: HPET @ 0x0x3f668db6/0x0038 (v001 FUJ    FJNB1C5  0x01130000 FUJ  0x00000100)
 ACPI: BOOT @ 0x0x3f668dee/0x0028 (v001 FUJ    FJNB1C5  0x01130000 FUJ  0x00000100)
 ACPI: SLIC @ 0x0x3f668e16/0x0176 (v001 FUJ    PC       0x01130000 FUJ  0x00000100)
 cpu0 at mainbus0 apid 0: (boot processor)
 cpu0: Intel Pentium M (Yonah) (686-class), 1197.11 MHz, id 0x6ec
 cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
 cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
 cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
 cpu0: features2 c1a9<SSE3,MONITOR,VMX,EST,TM2,xTPR,PDCM>
 cpu0: features3 100000<XD>
 cpu0: "Intel(R) Core(TM) Solo CPU     U1400  @ 1.20GHz"
 cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
 cpu0: L2 cache 2 MB 64B/line 8-way
 cpu0: ITLB 128 4 KB entries 4-way, 2 4 MB entries fully associative
 cpu0: DTLB 128 4 KB entries 4-way, 8 4 MB entries 4-way
 cpu0: using thermal monitor 1
 cpu0: Initial APIC ID 0
 cpu0: Cluster/Package ID 0
 cpu0: Enhanced SpeedStep (1052 mV) 1200 MHz
 cpu0: Enhanced SpeedStep frequencies available (MHz): 1200 1067 933 800
 cpu0: calibrating local timer
 cpu0: apic clock running at 133 MHz
 cpu0: 64 page colors
 ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Advanced Configuration and Power Interface
 acpi0: using Intel ACPI CA subsystem version 20080321
 acpi0: X/RSDT: OemId <FUJ   ,PC      ,01130000>, AslId <FUJ ,00000100>
 ACPI: SSDT @ 0x0x3f66960c/0x084A (v001 FUJ    FJNB1C5  0x01130000 INTL 0x20050624)
 acpi0: SCI interrupting at int 9
 acpi0: fixed-feature power button present
 timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
 ACPI-Safe 24-bit timer
 CPU0 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
 CPU1 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
 MCFG (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
 PCI0 (PNP0A08) [PCI Express/PCI-X Mode-2 Host Bridge] at acpi0 not configured
 MBIO (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
 DIGI (FUJ02E6) at acpi0 not configured
 BTNS (FUJ02BF) at acpi0 not configured
 FJEX (FUJ02B1) at acpi0 not configured
 acpiec0 at acpi0 (EC, PNP0C09): ACPI Embedded Controller
 acpiec0: io 0x62,0x66
 DMAC (PNP0200) [AT DMA Controller] at acpi0 not configured
 attimer1 at acpi0 (TIME, PNP0100): AT Timer
 attimer1: io 0x40-0x43 irq 0
 PIC (PNP0000) [AT Interrupt Controller] at acpi0 not configured
 RTC (PNP0B00) [AT Real-Time Clock] at acpi0 not configured
 pcppi1 at acpi0 (SPKR, PNP0800)
 pcppi1: io 0x61
 midi0 at pcppi1: PC speaker (CPU-intensive output)
 sysbeep0 at pcppi1
 npx1 at acpi0 (MATH, PNP0C04)
 npx1: io 0xf0-0xfe irq 13
 npx1: reported by CPUID; using exception 16
 pckbc1 at acpi0 (KBC, PNP0320): kbd port
 pckbc1: io 0x60,0x64 irq 1
 pckbc2 at acpi0 (PS2M, PNP0F13): aux port
 pckbc2: irq 12
 hpet0 at acpi0 (HPET, PNP0103)
 hpet0: mem 0xfed00000-0xfed003ff
 timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
 LNKA (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 LNKB (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 LNKC (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 LNKD (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 LNKE (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 LNKG (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 LNKH (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
 FEXT (FUJ02E3) at acpi0 not configured
 acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
 acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
 acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
 apm0 at acpi0: Power Management spec V1.2
 attimer1: attached to pcppi1
 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: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
 agp0 at pchb0: detected 7932k stolen memory
 agp0: aperture at 0xe0000000, size 0x10000000
 vga1 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device (rev. 0x03)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 direct rendering for vga1 unsupported
 Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
 azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
 azalia0: interrupting at ioapic0 pin 17 (irq 11)
 azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
 azalia0: host: High Definition Audio rev. 1.0
 ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
 ppb0: disabling notification events
 pci1 at ppb0 bus 2
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
 , Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16 (irq 11)
 msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
 ukphy0 at msk0 phy 0: Generic IEEE 802.3u media interface
 ukphy0: OUI 0x000ac2, model 0x000b, rev. 1
 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
 ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
 ppb1: disabling notification events
 pci2 at ppb1 bus 5
 pci2: no spaces enabled!
 uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
 uhci0: interrupting at ioapic0 pin 23 (irq 11)
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
 uhci1: interrupting at ioapic0 pin 20 (irq 11)
 usb1 at uhci1: USB revision 1.0
 uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
 uhci2: interrupting at ioapic0 pin 18 (irq 11)
 usb2 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
 uhci3: interrupting at ioapic0 pin 16 (irq 11)
 usb3 at uhci3: USB revision 1.0
 ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x02)
 ehci0: interrupting at ioapic0 pin 23 (irq 11)
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
 usb4 at ehci0: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
 pci3 at ppb2 bus 8
 pci3: i/o space, memory space enabled
 cbb0 at pci3 dev 3 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0x8d)
 Ricoh 5C822 PCI-CardBus bridge/MS/SD/MMC/SC (SD Host Controller system, revision 0x13) at pci3 dev 3 function 1 not configured
 cbb0: cacheline 0x0 lattimer 0x40
 cbb0: bhlc 0x824000
 cbb0: interrupting at ioapic0 pin 16 (irq 11)
 cardslot0 at cbb0 slot 0 flags 0
 cardbus0 at cardslot0: bus 9
 pcmcia0 at cardslot0
 pcib0 at pci0 dev 31 function 0
 pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
 piixide0 at pci0 dev 31 function 1
 piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
 piixide0: bus-master DMA support present
 piixide0: primary channel configured to compatibility mode
 piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
 atabus0 at piixide0 channel 0
 piixide0: secondary channel configured to compatibility mode
 piixide0: secondary channel ignored (disabled)
 ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
 ichsmb0: interrupting at ioapic0 pin 19 (irq 11)
 iic0 at ichsmb0: I2C bus
 isa0 at pcib0
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 acpiacad0: AC adapter online.
 acpibat0: battery info: Fujitsu, LION, CP240502 1
 azalia0: codec[0]: Sigmatel STAC9228X (rev. 2.1)
 azalia0: codec[0]: High Definition Audio rev. 1.0
 azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0)
 azalia0: codec[1]: High Definition Audio rev. 1.0
 azalia0: codec[1]: No support for modem function groups
 azalia0: codec[1] has no audio function groups
 audio0 at azalia0: full duplex, independent
 uhub0 at usb0
 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1
 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2
 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhub3 at usb3
 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4
 uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 ugen0 at uhub2 port 1
 ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
 wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 Kernelized RAIDframe activated
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio1 at pad0: half duplex
 boot device: wd0
 root on wd0a dumps on wd0b
 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)
 mskc0: interrupt moderation is 1000 us

 -- 
 Ryo ONODERA // ryo@rf7.so-net.ne.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 13 Apr 2008 17:29:42 +0000
State-Changed-Why:
alas, problem still exists.


Responsible-Changed-From-To: kern-bug-people->joerg
Responsible-Changed-By: joerg@NetBSD.org
Responsible-Changed-When: Thu, 22 May 2008 20:56:58 +0000
Responsible-Changed-Why:
ACPI bug


State-Changed-From-To: open->feedback
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Thu, 22 May 2008 20:56:58 +0000
State-Changed-Why:
Can you please provide me the DSDT? acpidump will help.


From: Ryo ONODERA <ryo@rf7.so-net.ne.jp>
To: gnats-bugs@NetBSD.org, joerg@NetBSD.org
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Mon, 26 May 2008 00:20:56 +0900 (JST)

 ----Next_Part(Mon_May_26_00_20_56_2008_239)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit

 From: joerg@NetBSD.org
 Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.)
 Date: Thu, 22 May 2008 20:57:00 +0000 (UTC)

 > Synopsis: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
 > 
 > Responsible-Changed-From-To: kern-bug-people->joerg
 > Responsible-Changed-By: joerg@NetBSD.org
 > Responsible-Changed-When: Thu, 22 May 2008 20:56:58 +0000
 > Responsible-Changed-Why:
 > ACPI bug
 > 
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: joerg@NetBSD.org
 > State-Changed-When: Thu, 22 May 2008 20:56:58 +0000
 > State-Changed-Why:
 > Can you please provide me the DSDT? acpidump will help.

 DSDT and ASL are attached to this e-mail.
 DSDT and ASL are output of
 # acpidump -r -o looxp70wm.dsdt > looxp70wm.asl

 -- 
 Ryo ONODERA // ryo@rf7.so-net.ne.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

 ----Next_Part(Mon_May_26_00_20_56_2008_239)--
 Content-Type: Application/Octet-Stream
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="looxp70wm.dsdt"

 RFNEVJhaAAABJUZVSiAgIEZKTkIxQzUgAAATAU1TRlQOAAABCEJJRFQREwoQAAECAwAAAAAAAAAA
 AAAAAAhCTU5UEkEEBA1DUDIyOTcyMCAvIENQMjI5NzIxAA1DUDIyOTcyNSAvIENQMjI5NzI2AA1D
 UDI0MDUwMQANQ1AyNDA1MTcACEJNU1QSKgQNQ1AyMjk3MjAADUNQMjI5NzI1AA1DUDI0MDUwMQAN
 Q1AyNDA1MTcAECBcX1BSX1uDC0NQVTAAEBAAAAZbgwtDUFUxARAQAAAGEE0jXF9TQl8IT1NUQv9b
 gE9TVFkADPaeZj8MAQAAAFuBC09TVFkAVFBPUwgURRtPU1RQAKBHGpNeT1NUQv+gTgtbElxfT1NJ
 YKAkXF9PU0kNV2luZG93cyAyMDA2AHAKQF5PU1RCcApAXlRQT1OhTgigJlxfT1NJDVdpbmRvd3Mg
 MjAwMS4xAHAKIF5PU1RCcAogXlRQT1OhRAagKFxfT1NJDVdpbmRvd3MgMjAwMSBTUDEAcAoQXk9T
 VEJwChBeVFBPU6E4oCRcX09TSQ1XaW5kb3dzIDIwMDEAcAoIXk9TVEJwCgheVFBPU6ERcAoAXk9T
 VEJwCgBeVFBPU6FODaBJDFsSXF9PU19goC5eU0VRTFxfT1NfDU1pY3Jvc29mdCBXaW5kb3dzAHAK
 AV5PU1RCcAoBXlRQT1OhTwigRQReU0VRTFxfT1NfDU1pY3Jvc29mdCBXaW5kb3dzTUU6IE1pbGxl
 bm5pdW0gRWRpdGlvbgBwCgJeT1NUQnAKAl5UUE9ToUYEoDFeU0VRTFxfT1NfDU1pY3Jvc29mdCBX
 aW5kb3dzIE5UAHAKBF5PU1RCcAoEXlRQT1OhEXAKAF5PU1RCcAoAXlRQT1OhEXAKAF5PU1RCcAoA
 XlRQT1OkXk9TVEIUSwVTRVFMCnCHaGBwh2lhoAeSk2BhpAAIQlVGMBECYHBoQlVGMAhCVUYxEQJg
 cGlCVUYxcABioiKVYmBwg4hCVUYwYgBjcIOIQlVGMWIAZKAHkpNjZKQAdWKkAQhGV1NPAAhSUEVO
 AAhSUERTAAhFWElTCv8IUExXTQAIUFRBTAAIRUNDSQoDCEdJTlQACFJHU0kKGAhMSURTAAhWU1RI
 AAhIRFdBAAhcR1BJQwoAFA1cX1BJQwFwaEdQSUMQhegEXF9TQl9bgFBTSU8BDEAPAAAMAgAAAFuA
 UFNCRgAMZp5mPwyQAAAAW4BPRU1UAAycn2Y/DCAAAABbgFNZU0MADJKfZj8MCgAAAFuAVkRFWAAM
 Vp5mPwwQAAAAW4BUSFpOAAyCn2Y/DBAAAABbgEJUTkMADHKfZj8MEAAAAFuAVklTVAAMDJZmPwxK
 CAAAW4BRQkNfAAxmn2Y/DAwAAABbgFRDRzEADAiWZj8MBAAAAFuASU84MAEKgAoBEE4fXABbgRFc
 Ll9TQl9QU0lPAVNTTUkIW4EbXC5fU0JfUFNCRgFDTURfCERWSUQgUFNEVCBbgRNcLl9TQl9QU0JG
 AQAoSU5GXwhbgUUIXC5fU0JfT0VNVAFTUEFGAlNQQkYCUFBGXwNGRENGAVNJREYCSU1URgFCTEVO
 AVdMRU4BQlRFWAEAEldBUEIBAB9GV0hNAQABVFBNRgJGU0NNAVJQQ1ABVEJQQwFBUzM0AUJJRkwI
 RENMVwcAKUZEUzAERkRTMQQAOFVNU1QgVU1TWiBbgSVcLl9TQl9TWVNDAUJIS0YBAAJNSEtGAQAE
 QkxMTQhCTExUQARbgRFcLl9TQl9TWVNDAUFIS0YIW4FEBFwuX1NCX1ZERVgBQURPUwNDTENEAUFM
 Q0QBQ0NSVAFBQ1JUAUNUVl8BQVRWXwFDRFZJAUFEVkkBRFNXRgJCU1dGAluBOVwuX1NCX1RIWk4B
 RFRTMQhEVFMyCENSVFQIUFNWVAhUQzFWBFRDMlYEVFNQVgRNUEVOAURUU0UBW4EfXC5fU0JfQlRO
 QwFJUkJGAQAGTkdURgEAGElSQkMQW4EbXC5fU0JfUUJDXwFRQUcxIFFBRzIgUUFHMyBbgSBcLl9T
 Ql9UQ0cxAFBQUlEIUFBMTwhQUFJQCFBQT1IIW4ERXC5fU0JfSU84MAFQTzgwCBQgX0lOSQCgGZKV
 XC5fU0JfT1NUUApAWyBWSVNUVlNUSFuCNE1DRkcIX0hJRAxB0AwCCF9DUlMRHwochxcAAA0BAAAA
 AAAAAPj////7AAAAAAAAAAR5AFuCgP0DUENJMAhfSElEDEHQCggIX0NJRAxB0AoDCF9BRFIKAAhf
 QkJOCgBbgEhCVVMCCkAKwFuBRwdIQlVTAwBAKAAEUE0wSAIAAlBNMUwCAAJQTTFIAgACUE0yTAIA
 AlBNMkgCAAJQTTNMAgACUE0zSAIAAlBNNEwCAAJQTTRIAgACUE01TAIAAlBNNUgCAAJQTTZMAgAC
 UE02SAIAAgAHSEVOQQEAIAADVE9VRAUIQlVGMBFDHwvuAYgNAAIMAAAAAAD/AAAAAAGHFwABDAMA
 AAAAAAAAAPcMAAAAAAAA+AwAAEcB+Az4DAEIhxcAAQwDAAAAAAANAAD//wAAAAAAAADzAACHFwAA
 DAMAAAAAAAAKAP//CwAAAAAAAAACAIcXAAAMAwAAAAAAAAwA/z8MAAAAAAAAQAAAhxcAAAwDAAAA
 AABADAD/fwwAAAAAAABAAACHFwAADAMAAAAAAIAMAP+/DAAAAAAAAEAAAIcXAAAMAwAAAAAAwAwA
 //8MAAAAAAAAQAAAhxcAAAwDAAAAAAAADQD/Pw0AAAAAAABAAACHFwAADAMAAAAAAEANAP9/DQAA
 AAAAAEAAAIcXAAAMAwAAAAAAgA0A/78NAAAAAAAAQAAAhxcAAAwDAAAAAADADQD//w0AAAAAAABA
 AACHFwAADAMAAAAAAAAOAP8/DgAAAAAAAEAAAIcXAAAMAwAAAAAAQA4A/38OAAAAAAAAQAAAhxcA
 AAwDAAAAAACADgD/vw4AAAAAAABAAACHFwAADAMAAAAAAMAOAP//DgAAAAAAAEAAAIcXAAAMAwAA
 AAAAAA8A//8PAAAAAAAAAAEAhxcAAAwDAAAAAAAAAAD//7/+AAAAAAAAAACHFwAADAMAAAAAAADU
 /v9P1P4AAAAAAFAAAHkAFE0xX0NSUwigFlBNMUyKQlVGMAp8QzBMTnAAQzBMTqAak1BNMUwKAY1C
 VUYwC1gDQzBSV3AAQzBSV6AWUE0xSIpCVUYwCpZDNExOcABDNExOoBqTUE0xSAoBjUJVRjALKARD
 NFJXcABDNFJXoBZQTTJMikJVRjAKsEM4TE5wAEM4TE6gGpNQTTJMCgGNQlVGMAv4BEM4UldwAEM4
 UlegFlBNMkiKQlVGMArKQ0NMTnAAQ0NMTqAak1BNMkgKAY1CVUYwC8gFQ0NSV3AAQ0NSV6AWUE0z
 TIpCVUYwCuREMExOcABEMExOoBqTUE0zTAoBjUJVRjALmAZEMFJXcABEMFJXoBZQTTNIikJVRjAK
 /kQ0TE5wAEQ0TE6gGpNQTTNICgGNQlVGMAtoB0Q0UldwAEQ0UlegF1BNNEyKQlVGMAsYAUQ4TE5w
 AEQ4TE6gGpNQTTRMCgGNQlVGMAs4CEQ4UldwAEQ4UlegF1BNNEiKQlVGMAsyAURDTE5wAERDTE6g
 GpNQTTRICgGNQlVGMAsICURDUldwAERDUlegF1BNNUyKQlVGMAtMAUUwTE5wAEUwTE6gGpNQTTVM
 CgGNQlVGMAvYCUUwUldwAEUwUlegF1BNNUiKQlVGMAtmAUU0TE5wAEU0TE6gGpNQTTVICgGNQlVG
 MAuoCkU0UldwAEU0UlegF1BNNkyKQlVGMAuAAUU4TE5wAEU4TE6gGpNQTTZMCgGNQlVGMAt4C0U4
 UldwAEU4UlegF1BNNkiKQlVGMAuaAUVDTE5wAEVDTE6gGpNQTTZICgGNQlVGMAtIDEVDUldwAEVD
 UlegF1BNMEiKQlVGMAu0AUYwTE5wAEYwTE6gGpNQTTBICgGNQlVGMAsYDUYwUldwAEYwUleKQlVG
 MAvCAU0xTU6KQlVGMAvGAU0xTViKQlVGMAvOAU0xTE55VE9VRAobTTFNTnJ0TTFNWE0xTU4ACgFN
 MUxOikJVRjAL3AFUUE1OikJVRjAL4AFUUE1YikJVRjAL6AFUUE1MoBuSk1RQTUYKAnAAVFBNTnAA
 VFBNWHAAVFBNTKRCVUYwFEsuX1BSVACgSw5HUElDpBJDDhASDQQM//8BAAoACgAKEBINBAz//wIA
 CgAKAAoQEg0EDP//BwAKAwoAChASDQQM//8bAAoACgAKERINBAz//xwACgAKAAoWEg0EDP//HAAK
 AQoAChUSDQQM//8cAAoCCgAKFBINBAz//xwACgMKAAoTEg0EDP//HQAKAAoAChcSDQQM//8dAAoB
 CgAKFBINBAz//x0ACgIKAAoSEg0EDP//HQAKAwoAChASDQQM//8eAAoACgAKEBINBAz//x4ACgEK
 AAoREg0EDP//HwAKAAoAChISDQQM//8fAAoBCgAKE6FHH6QSQx8QEh4EDP//AQAKAFwvBF9TQl9Q
 Q0kwTFBDQkxOS0EKABIeBAz//wIACgBcLwRfU0JfUENJMExQQ0JMTktBCgASHgQM//8HAAoDXC8E
 X1NCX1BDSTBMUENCTE5LQQoAEh4EDP//GwAKAFwvBF9TQl9QQ0kwTFBDQkxOS0IKABIeBAz//xwA
 CgBcLwRfU0JfUENJMExQQ0JMTktHCgASHgQM//8cAAoBXC8EX1NCX1BDSTBMUENCTE5LRgoAEh4E
 DP//HAAKAlwvBF9TQl9QQ0kwTFBDQkxOS0UKABIeBAz//xwACgNcLwRfU0JfUENJMExQQ0JMTktE
 CgASHgQM//8dAAoAXC8EX1NCX1BDSTBMUENCTE5LSAoAEh4EDP//HQAKAVwvBF9TQl9QQ0kwTFBD
 QkxOS0UKABIeBAz//x0ACgJcLwRfU0JfUENJMExQQ0JMTktDCgASHgQM//8dAAoDXC8EX1NCX1BD
 STBMUENCTE5LQQoAEh4EDP//HgAKAFwvBF9TQl9QQ0kwTFBDQkxOS0cKABIeBAz//x4ACgFcLwRf
 U0JfUENJMExQQ0JMTktFCgASHgQM//8fAAoAXC8EX1NCX1BDSTBMUENCTE5LQwoAEh4EDP//HwAK
 AVwvBF9TQl9QQ0kwTFBDQkxOS0QKAFuCSSVNQklPCF9ISUQMQdAMAhQJX1NUQQCkCg8IUlNSQxFL
 GgumAUcBEAAQAAEQRwEkACQAAQJHASgAKAABAkcBLAAsAAECRwEuAC4AAQJHATAAMAABAkcBNAA0
 AAECRwE4ADgAAQJHATwAPAABAkcBUABQAAEERwFyAHIAAQZHAYAAgAABAUcBkACQAAEQRwGkAKQA
 AQJHAagAqAABAkcBrACsAAECRwGwALAAAQJHAbIAsgABAkcBtAC0AAECRwG4ALgAAQJHAbwAvAAB
 AkcB0ATQBAECRwEACAAIARBHAQAQABABgEcBgBCAEAGARwEAEQARASBHAYARgBEBQEcBAPgA+AGA
 RwGA+ID4AYBHAQD8APwBgEcBgPyA/AGARwEM/Qz9AWRHAQD+AP4BAoYJAAEAAAD4AAAABIYJAAEA
 QNH+AEAAAIYJAAEAgNH+ABAAAIYJAAEAkNH+ABAAAIYJAAEAwNH+AEAAAIYJAAEAANL+AAACAIYJ
 AAEAUNT+ALAEAIYJAAEAAMD+ABAAAIYJAAEAAOD+ABAAAIYJAAEAAPD+AAAQAIYJAAEA8AwAABAA
 AIYJAAEAALD/AAAQAIYJAAEAANT+AFAAAHkAFE0IX0NSUwiKUlNSQwuEAU1CQlOKUlNSQwuIAU1C
 TE6KUlNSQwuQAUZXQlOKUlNSQwuUAUZXTE6KUlNSQwucAVRQTUKKUlNSQwugAVRQTUxwVU1TVE1C
 QlNwVU1TWk1CTE6gEUZXSE1wAEZXQlNwAEZXTE6gFJNUUE1GCgJwAFRQTUJwAFRQTUykUlNSQ1uC
 Q0xHRlgwCF9BRFIMAAACABQIWExDRACkARQIWENSVACkARQOWFRWXwCkf1NPVVQBABQIWERWSQCk
 ABAbXAAIV0xDRAAIV0NSVAAIV1RWXwAIV0RWSQAUDFBIVEsAcABEU1dGCEYxMFQSFgoKAQoCCgMK
 BAoFCgEKAgoDCgQKBRRJHUFIVEsAoEEdkJN7QURPUwoDAABEU1dGVVBERKBMEJNEU1dGCgF9eUNE
 VkkKAgB9eUNDUlQKAQBDTENEAGB9eUFEVkkKAgB9eUFDUlQKAQBBTENEAGFwAGJwCv9joi2QlWIK
 CpNjCv+gIJODiEYxMFRiAGCgDZBDVFZfQVRWX3BiY6EGcmIKAWN1YnAK/2KgM5KTYwr/oiyQlWMK
 CpNiCv+gH5N7g4hGMTBUYwBhAIOIRjEwVGMAcIOIRjEwVGMAYnVjoC2TYgr/oAlBTENEcAoBYqEd
 oAlBQ1JUcAoCYqERoAlBRFZJcAoEYqEFcAoCYntiCgFXTENEentiCgIACgFXQ1JUentiCgQACgJX
 RFZJcABXVFZfhlwvA19TQl9QQ0kwR0ZYMAqAoU4KoEsKk0RTV0YKAntDTENEQUxDRFdMQ0R7Q0NS
 VEFDUlRXQ1JUe0NEVklBRFZJV0RWSXt/Q1RWXwoBAEFUVl9XVFZfoEkGkZFXVFZfV0RWSZFXQ1JU
 V0xDRKAVkJBXTENEV0NSVFdUVl9wAFdDUlSgFZCQV0xDRFdEVklXVFZfcABXRFZJoBWQkFdDUlRX
 RFZJV1RWX3AAV0RWSYZcLwNfU0JfUENJMEdGWDAKgBRBBVVQREQAoBySlVwuX1NCX09TVFAKCIZc
 Ll9TQl9QQ0kwCgChE4ZcLwNfU0JfUENJMEdGWDAKAFsiC+4CcAr/RFZJRHAKjkNNRF9wAFNTTUkU
 Dl9ET1MBe2gKB0FET1MUHl9ET0QApBIWBAwAAQEADBABAQAMAAIBAAwAAwEAW4JBBUNSVF8UCl9B
 RFIApAsAARQrX0RDUwCgIFhDUlRVUEREpH0KDX15QUNSVAoEAHlDQ1JUCgEAAAChA6QAFAtfREdT
 AKRXQ1JUFAdfRFNTAaNbgkEFTENEXxQKX0FEUgCkCxABFCtfRENTAKAgWExDRFVQRESkfQoNfXlB
 TENECgQAeUNMQ0QKAQAAAKEDpAAUC19ER1MApFdMQ0QUB19EU1MBo1uCQQVUVl9fFApfQURSAKQL
 AAIUK19EQ1MAoCBYVFZfVVBERKR9Cg19eUFUVl8KBAB5Q1RWXwoBAAAAoQOkABQLX0RHUwCkV1RW
 XxQHX0RTUwGjW4JBBURWSV8UCl9BRFIApAsAAxQrX0RDUwCgIFhEVklVUEREpH0KDX15QURWSQoE
 AHlDRFZJCgEAAAChA6QAFAtfREdTAKRXRFZJFAdfRFNTAaMQTQlMQ0RfFA1fUFMwAHAKAExJRFMU
 DV9QUzMAcAoBTElEUxRJBF9CQ0wAoCeSlVwuX1NCX09TVFAKQKQSFgoKZAorCgAKDwodCisKOQpH
 ClUKZKEZpBIWCgpkCiwKAAoQCh4KLAo6CkgKVgpkFDBfQkNNAaApkJKVaAoAkpRoCmRcLwVfU0Jf
 UENJMExQQ0JGSkVYU0JMTHhoCg4AAFuCRwlQQ0lCCF9BRFIMAAAeABRDB19QUlQAoCVHUElDpBIe
 AhINBAz//wMACgAKAAoQEg0EDP//AwAKAQoAChGhRQSkEkEEAhIeBAz//wMACgBcLwRfU0JfUENJ
 MExQQ0JMTktBCgASHgQM//8DAAoBXC8EX1NCX1BDSTBMUENCTE5LQgoAFAZfSU5JAAhfUFJXEgYC
 CgsKBFuCg9kBTFBDQghfQURSDAAAHwBbgExQQzACCkAKwFuBRgRMUEMwAABAEFBBUkMIUEJSQwhQ
 Q1JDCFBEUkMIACBQRVJDCFBGUkMIUEdSQwhQSFJDCABACklPRDAISU9EMQhDQUVOAVuAU0lPXwEK
 LgoCW4BGSklPAQtg/QoXEEEGXABbgUsFXC8EX1NCX1BDSTBMUENCRkpJTwFBSURDCEFEVEMIQUlE
 QghBRFRCCEFJREEIQURUQQhBSURECEFEVEQIAEAEUE1JRAgACFBNRFIIAAhQTURUCAAIUE1DUghb
 gFBNSU8BCwAQCoBbgE9HSU8BC4ARCjwQTAVcAFuBH1wvBF9TQl9QQ0kwTFBDQlBNSU8BAEAhAAFH
 UEVDAVuBNVwvBF9TQl9QQ0kwTFBDQk9HSU8BAEAWAAhMUE9MAQAERVhQTAEAQgUAAVBYUlMBUFhD
 TAFbgE9QSU8BCwAQCmcQJFwAW4EfXC8EX1NCX1BDSTBMUENCT1BJTwEAQAgACEZPQ1QBFEwFX0lO
 SQBcLl9TQl9PU1RQXC8FX1NCX1BDSTBMUENCQ01CVFNXQ0ZBSU5JoBRSUENQcAFSUEVOcEIyVENS
 UERToBqSlVwuX1NCX09TVFAKQH1SR1NJCgFSR1NJEEQeXABbhkQLQUlEQUFEVEEBAEgEUkkxTQFS
 STJNAVJJM00BUkk0TQFSSTFfAVJJMl8BUkkzXwFSSTRfAQACQ1ZDTAEAA0JMQ1QCAEgKRzVQMAhH
 NUMwCEczUDAIRzNDMAgAQA5TU0YwCFNTRjEIU1NNMAhTU00xCFNTSTAIU1NUTQhTU0YyCFNTTTII
 U1NJMQgASARHM1AxCEczQzEIRzNQMghHM0MyCFFTV0MIAEgEU1NTMAhTU1MxCFuGHkFJREJBRFRC
 AQBIFEJSQ0wITENEQggAKExDREMIW4ZCCkFJRENBRFRDAVRBU0YBVEJTRgFCMVNVAUIxU0QBQjJT
 VQFCMlNEAQAKAARWU1RCAQATAAZBQ1BXAQBBDUJDVEwIABBUQUZfAVRBU00BAAJUQkZfAVRCU00B
 AAJUSU1BCFRJTUIIABBDRExQCEhETFAIRkRMUAgASBFCMVVNAUIxRE0BAAFCMVRDAUIyVU0BQjJE
 TQEAAUIyVEMBQkFQQwZbhg9BSURDQURUQwFTVEFFCFuGQwVBSUREQURURAEAQEBHSURJCEdJREMI
 R0lETwgASAZHM1NJCEczU0MIRzNTTwhHM1NNCABABldPWEYIV09YRQhXT1hECFdPWFMIAEAGQU1Q
 VgYQTxdcAFuGRRZQTUlEUE1EVAEAQFBVUFBSAUVSUk8BUEFTUwFQU09LAVBTTkcBVE9VVAFTSVJO
 AVNUU0MBT1ZGTAFMV01EAVRBTE0BRU1HQwFPQ05UBFREVEMBAARBRVJSAVBFUlIBQUJTWQEACFBE
 QVQIAEgNAAhCMVBfAUIyUF8BQjFDXwFCMkNfAUIxRVIBQjJFUgFQS1NIAUNNQl8BQjFDUAhCMkNQ
 CEJBVkcIQjFWSAhCMVZMCEIyVkgIQjJWTAhCMVRNCEIyVE0IQjFDSAhCMUNMCEIyQ0gIQjJDTAhC
 VE1ICEJUTUwIQjFMSAhCMUxMCEIyTEgIQjJMTAhCMUlEBEIxTk8EQjJJRARCMk5PBEIxRFYIQjJE
 VghCMURICEIxREwIQjJESAhCMkRMCFRCU0kIVEJTSAhUQlNMCEJIREQBQk9QVAEABUFCTEMBADhU
 QkNNCFRCTUQIVEJJTghEQ09MB1MzRU4BW4YSUE1JRFBNRFQBAEBRVENTVAgQL1wAW4YUQUlEQUFE
 VEEBAEARAARTT1VUAVuGFFBNSURQTURUAQBAdgABREtFVgEURw1BSU5JAHtTU00xCs9TU00xcABU
 QlNNcExXTURQTFdNcFRBTE1QVEFMcAqVQ01EX31QTFdNeVBUQUwKAQBEVklEcABTU01JoBGQVEFM
 TZJBQ1BXcAFGT0NUoQdwAEZPQ1SgN5KVXC5fU0JfT1NUUApAcFBNRFJgcFBNRFJgcAoCVEJDTXAK
 AFRCTURwCgVUQklOcAoAUE1DUqA8kVRCUEOSlVwuX1NCX09TVFAKQKAMQVMzNHAKAVMzRU6gD5NE
 Q0xXCn9wCgFEQ09MoQpwRENMV0RDT0xbgksGVFBNXwhfSElEDCTYAQIIX0NJRAxB0AwxCF9VSUQK
 AQhfQ1JTESEKHkcBTgBOAAECRwEA/QD9AQyGCQABAADU/gBQAAB5ABQiX1NUQQCgFlRQTUagC5NU
 UE1GCgKkCg+hBKQKAKEEpAoAW4JLC0RJR0kIX0hJRAwaqgLmFCNfU1RBAKAXkVRCUEOSlVwuX1NC
 X09TVFAKQKQKD6EEpAoAFEAHX0lOSQCgSAaSlVwuX1NCX09TVFAKQFwvBF9TQl9QQ0kwTFBDQkVO
 VFJwCgFVMVBfcAqIVTFBX3AKBFUxSV9cLwRfU0JfUENJMExQQ0JFWElUe0lPRDAK+ElPRDB9SU9E
 MAoCSU9EMHAKAUNBRU4IX0NSUxEQCg1HASACIAIBCCIQAHkAW4JCBkJUTlMIX0hJRA1GVUowMkJG
 ABQJX1NUQQCkCg8ULF9JTkkAcFBNQ1JgcABhohyQe2ABAJVhCgpwUE1EUmBbIgoKcFBNQ1JgdWEI
 X0NSUxERCg5HAXD9cP0BECMgAAF5AFuCRSFGSkVYCF9ISUQNRlVKMDJCMQAUCV9TVEEApAoPFAtS
 QkxMAKRCTExNEBBcAAhMQkxMCgAITExDRP8UQQdHQkxMAHBMQkxMYnBMQ0RCYaBHBJKTTExDRGFw
 YUxMQ0QIQkJDVBEFQkxMTXBCTExUQkJDVHBCTExNYKIdYHZgoBiTR0JVRkJCQ1RgYXBgYnBgTEJM
 THAAYKATQkhLRnAAQkhLRn1iDAAAAIBipGIUSwZHQkxTAHBMQkxMYnBMQ0RCYaBHBJKTTExDRGFw
 YUxMQ0QIQkJDVBEFQkxMTXBCTExUQkJDVHBCTExNYKIdYHZgoBiTR0JVRkJCQ1RgYXBgYnBgTEJM
 THAAYKANQkhLRn1iDAAAAIBipGIUSAVTQkxMAaANTkdURnBoTFNCTKQAoEIElWhCTExNCEJCQ1QR
 BUJMTE1wQkxMVEJCQ1SMQkJDVGhCTEwwcEJMTDBMQ0RCcGhEVklEcAqCQ01EX3AAU1NNSRQSR0JV
 RgKMaGlCTEwwpEJMTDAUNkdNT1UAcAoCRFZJRHAKkUNNRF9wAFNTTUlwRFZJRGCgE01IS0ZwAE1I
 S0Z9YAwAAACAYKRgFB9TTU9VAaAYkpRoAXBoRFZJRHAKkUNNRF9wAFNTTUkUC0dIS1MApEFIS0YU
 LEdTSUYAoBBJTVRGfVJHU0kKCFJHU0mhD3tSR1NJDPf///9SR1NJpFJHU0kIQlRGMQqaCEJURjIK
 mBBFBVwACEJUQkwACEJUU1QAW4YoQUlEQUFEVEEBAEAQAAVBQkVYAQBKEQACV0xTVwEATQYAAVdM
 UjIBW4YZQUlEREFEVEQBAEBJAAJXTFJGAUFCT04BW4JCJkNNQlQIX0hJRA1GVUowMkUxABQ1X1NU
 QQCgEpKVXC5fU0JfT1NUUApApAoAoRugCZJCVEVYpAoAoQ+gCEJMRU6kCg+hBKQKDRQMX0lOSQBw
 AEJUQkwUJElORk8AoA6TX1NUQQoPcEJURjFgoQdwQlRGMmB9YAoIYKRgFDhTVEFUAHAKAGCgCkFC
 T059YAoCYKAKV0xSRn1gCghgoApBQk9OfWAKEGCgCkJUQkx9YAqAYKRgFEMHQ05UTAKgJHtoCgIA
 oB2TX1NUQQoPoAx7aQoCAHABQUJPTqEHcABBQk9OoBeQe2gKCABXTEVOentpCggACgNXTFJGoC57
 aAqAAHp7aQqAAAoHQlRCTKAbQlRCTKAMV0xTV4ZDTUJUCoGhCIZDTUJUCoIUSwhTV0NGAKALV0xT
 V3ABV0xSMqEHcABXTFIyoBtCVEJMoAxXTFNXhkNNQlQKgaEIhkNNQlQKgqFDBaBCBFdMU1egH0JM
 RU5wAUFCT06gC1dMRU5wAVdMUkahB3AAV0xSRqEbcABBQk9OoAtXTEVOcAFXTFJGoQdwAFdMUkah
 DXAAQUJPTnAAV0xSRhRFBUJQVFMBoEcEkZNoCgOTaAoEcFdMUkZCVFNUfXlXTFNXCgEAQlRTVEJU
 U1R9eUFCT04KAgBCVFNUQlRTVH15V0xSMgoDAEJUU1RCVFNUcABBQk9OFEYFQldBSwGgTgSRk2gK
 A5NoCgRwe0JUU1QKAQBXTFJGentCVFNUCgQACgJBQk9OentCVFNUCggACgNXTFIyoBeSk3p7QlRT
 VAoCAAoBAFdMU1dTV0NGW4JICkVDX18IX0hJRAxB0AwJCF9DUlMRFQoSRwFiAGIAAQFHAWYAZgAB
 AXkACF9HUEUKFxAJXAAIRUNPSwAUEl9SRUcCoAuTaAoDcGlFQ09LW4BTTUJfAwoACv8QTQRcAFuB
 RwRcLwVfU0JfUENJMExQQ0JFQ19fU01CXxEAIEVDQ00IRUNEMQhFQ0QyCEVDRDMIAEB4RUNHTQhF
 Q0cxCEVDRzIIRUNHMwhbgj9ETUFDCF9ISUQMQdACABQJX1NUQQCkCg8IX0NSUxEgCh1HAQAAAAAB
 EEcBgQCBAAEPRwHAAMAAASAqEAJ5AFuCL1RJTUUIX0hJRAxB0AEAFAlfU1RBAKQKDwhfQ1JTERAK
 DUcBQABAAAEEIgEAeQBbgjVQSUNfCF9ISUQLQdAUCV9TVEEApAoPCF9DUlMRGAoVRwEgACAAAQJH
 AaAAoAABAiIEAHkAW4IvUlRDXwhfSElEDEHQCwAUCV9TVEEApAoPCF9DUlMREAoNRwFwAHAAAQIi
 AAF5AFuCLFNQS1IIX0hJRAxB0AgAFAlfU1RBAKQKDwhfQ1JTEQ0KCkcBYQBhAAEBeQBbgi9NQVRI
 CF9ISUQMQdAMBBQJX1NUQQCkCg8IX0NSUxEQCg1HAfAA8AABDyIAIHkAW4JLBUtCQ18IUjEwMQxB
 0AMDCFIxMDYMQdADIBQYX0hJRACgClNJREakUjEwMaEGpFIxMDYUCV9TVEEApAoPCF9DUlMRGAoV
 RwFgAGAAAQFHAWQAZAABASICAHkAW4InUFMyTQhfSElEDEHQDxMUCV9TVEEApAoPCF9DUlMRCAoF
 IgAQeQBbgjtGV0hfCF9ISUQMJdQIABQUX1NUQQCgCEZXSE2kCg+hBKQKAAhfQ1JTEREKDoYJAAEA
 ALD/AAAQAHkAW4JODUhQRVQIX0hJRAxB0AEDCF9DSUQMQdAMAQhCVUYwEREKDoYJAAAAAND+AAQA
 AHkAW4BSQ1JCAAwAwNH+CwBAW4EWUkNSQhMAgAIaSFBBUwIABUhQQUUBFC1fU1RBAKAYkpVcLl9T
 Ql9PU1RQCgigCEhQQUWkCg+hCqAISFBBRaQKC6QKABRHBV9DUlMIoEoESFBBRYpCVUYwCgRIUFQw
 oBKTSFBBUwoBcAwAEND+SFBUMKASk0hQQVMKAnAMACDQ/khQVDCgEpNIUEFTCgNwDAAw0P5IUFQw
 pEJVRjAQPVwvA19TQl9QQ0kwTFBDQluATElPRAIKgAoKW4BNQkFSAAwAQNH+CwBAW4ERTUJBUhMA
 gIQHAARDMlNMAVuBRQRMSU9EAENBRFIDAAFDQkRSAwABTFBEUgIAAkZERFIBAANDQUxFAUNCTEUB
 TFBMRQFGRExFAQAsR0QyRQEAA0dEMkIMCFRDT00SGggL+AML+AILIAILKAILOAIL6AILOAML6AMI
 VExQVBILAwt4Awt4Agu8AwhURkREEggCC/ADC3ADFEgOREVOQQugJZNoCgBwiVRDT00BaQAKAAoA
 YKARkpNg/3BgQ0FEUnABQ0FMRaFKC6AqkZNoCgGTaAoCcIlUQ09NAWkACgAKAGCgEZKTYP9wYENC
 RFJwAUNCTEWhTAigM5NoCgNwiVRDT00BaQAKAAoAYKAfkpNg/3BgQ0JEUnABQ0JMRXpqCgRHRDJC
 cAFHRDJFoUUFoCqRk2gKBJNoCgVwiVRMUFQBaQAKAAoAYKARkpNg/3BgTFBEUnABTFBMRaEnoCWT
 aAoHcIlURkREAWkACgAKAGCgEZKTYP9wYEZERFJwAUZETEUUTAVERElTCaALk2gKAHAAQ0FMRaFI
 BKAQkZNoCgGTaAoCcABDQkxFoTSgEZNoCgNwAENCTEVwAEdEMkWhIKAQkZNoCgSTaAoFcABMUExF
 oQ2gC5NoCgdwAEZETEVbgRBTSU9fAVNJSUQIU0lEVAhbhk8IU0lJRFNJRFQBAANGRENQAQAEAAJQ
 UFBfAVBQTV8BAAQAA1UxUF8BAANVMlBfAQAIUFBFTQIALkVGVE0IAAhVMk1EBgBKCUZEQV8IAAJF
 VE9TAQANUFBBXwhVMUFfCFUyQV8IUFBEXwRGRERfBFBQSV8ERkRJXwRVMklfBFUxSV8EABBJUkFf
 CElSRF8EWwFNVFhTABQVRU5UUgBbI01UWFP//3AKVVNJSUQUE0VYSVQAcAqqU0lJRFsnTVRYUxRK
 EFNFVFIFRU5UUqAIa3SCawABYKEEcABgoAhsdIJsAAFhoQVwCg9hoBOTaAoAemkKAlUxQV9wYFUx
 SV+hQQqgE5NoCgF6aQoCVTJBX3BgVTJJX6FKCKATk2gKAnppCgJVMkFfcGBVMklfoUMHoCGTaAoD
 emkKAlUyQV96agoDSVJBX3BgVTJJX3BhSVJEX6FOBKATk2gKBHppCgJQUEFfcGBQUElfoTegGZNo
 CgV6aQoCUFBBX3BgUFBJX3BhUFBEX6EboBmTaAoHemkKAkZEQV9wYEZESV9wYUZERF9FWElUoBdp
 oA9bEkRFTkFgREVOQWhpalNFVE1ooQ+gDVsSRERJU2BERElTaBRIDkdFVFIFRU5UUnAAYHAKD2Gg
 E5NoCgB5VTFBXwoCaXBVMUlfYKFBCqATk2gKAXlVMkFfCgJpcFUySV9goUoIoBOTaAoCeVUyQV8K
 AmlwVTJJX2ChQwegIZNoCgN5VTJBXwoCaXlJUkFfCgNqcFUySV9gcElSRF9hoU4EoBOTaAoEeVBQ
 QV8KAmlwUFBJX2ChN6AZk2gKBXlQUEFfCgJpcFBQSV9gcFBQRF9hoRugGZNoCgd5RkRBXwoCaXBG
 RElfYHBGRERfYaAGYHkBYGuhBHAAa6AKkpNhCg95AWFsoQRwAGxFWElUFEMKU0VUTQFFTlRSoAuT
 aAoAcAFVMVBfoUcIoBKTaAoBcAoGVTJNRHABVTJQX6FBB6ASk2gKAnAKDlUyTURwAVUyUF+hSwWg
 EpNoCgNwCg5VMk1EcAFVMlBfoUUEoCeTaAoEoA2TUFBGXwFwAVBQTV+hDXAAUFBNX3AAUFBFTXAB
 UFBQX6EaoBiTaAoFcABQUE1fcAoCUFBFTXABUFBQX0VYSVQUQgZTRVRQAkVOVFKgC5NoCgBwaVUx
 UF+hRgSgC5NoCgFwaVUyUF+hN6ALk2gKAnBpVTJQX6EpoAuTaAoDcGlVMlBfoRugC5NoCgRwaVBQ
 UF+hDaALk2gKBXBpUFBQX0VYSVQURwZHRVRQAXAAYEVOVFKgC5NoCgBwVTFQX2ChRgSgC5NoCgFw
 VTJQX2ChN6ALk2gKAnBVMlBfYKEpoAuTaAoDcFUyUF9goRugC5NoCgRwUFBQX2ChDaALk2gKBXBQ
 UFBfYEVYSVSkYBRPCENIS00BoA2TaAoAoAdTUEFGpAGhRwegEJNoCgGgCpNTUEJGCgOkAaFDBqAP
 k2gKAqAJk1NQQkYBpAGhQAWgEJNoCgOgCpNTUEJGCgKkAaE8oBeTaAoEoBGRk1BQRl8Bk1BQRl8K
 AqQBoSKgEJNoCgWgCpNQUEZfCgOkAaEPoA2TaAoHoAdGRENGpAGkAFuCSBRVQVIxCF9ISUQMQdAF
 AQhfVUlECgEIUlNSQxEQCg1HAfgD+AMBCCIQAHkACF9QUlMRNwo0MQRHAfgD+AMBCCIQADBHAfgC
 +AIBCCIIADBHAegD6AMBCCIQADBHAegC6AIBCCIIADh5ABRCBF9TVEEAoBKSlVwuX1NCX09TVFAK
 QKQKAKEnoCBDSEtNCgBHRVRSCgBxYHFhcWJxY6AFYKQKD6EEpAoNoQSkCgAUTQRfQ1JTAItSU1JD
 CgJJTzExi1JTUkMKBElPMTKLUlNSQwoJSVJRMUdFVFIKAHFgcWFxYnFjcGBJTzExcGBJTzEycGJJ
 UlExpFJTUkMUJl9TUlMBi2gKBElPMTGLaAoJSVJRMVNFVFIKAElPMTEASVJRMQAUEF9ESVMAU0VU
 UgoAAAAAABQUX0lOSQCgDUNIS00KAFNFVE0KAFuCRQpMTktBCF9ISUQMQdAMDwhfVUlECgEUDV9E
 SVMIcAqAUEFSQwhfUFJTEQkKBiP61Bh5ABQ6X0NSUwgIUlRMQREJCgYjAAAYeQCLUlRMQQoBSVJR
 MHAASVJRMHkKAXtQQVJDCg8ASVJRMKRSVExBFBxfU1JTCYtoCgFJUlEwgklSUTBgdmBwYFBBUkMU
 GF9TVEEIoAx7UEFSQwqAAKQKCaEEpAoLW4JFCkxOS0IIX0hJRAxB0AwPCF9VSUQKAhQNX0RJUwhw
 CoBQQlJDCF9QUlMRCQoGI/rYGHkAFDpfQ1JTCAhSVExCEQkKBiMAABh5AItSVExCCgFJUlEwcABJ
 UlEweQoBe1BCUkMKDwBJUlEwpFJUTEIUHF9TUlMJi2gKAUlSUTCCSVJRMGB2YHBgUEJSQxQYX1NU
 QQigDHtQQlJDCoAApAoJoQSkCgtbgkUKTE5LQwhfSElEDEHQDA8IX1VJRAoDFA1fRElTCHAKgFBD
 UkMIX1BSUxEJCgYj+tQYeQAUOl9DUlMICFJUTEMRCQoGIwAAGHkAi1JUTEMKAUlSUTBwAElSUTB5
 CgF7UENSQwoPAElSUTCkUlRMQxQcX1NSUwmLaAoBSVJRMIJJUlEwYHZgcGBQQ1JDFBhfU1RBCKAM
 e1BDUkMKgACkCgmhBKQKC1uCRQpMTktECF9ISUQMQdAMDwhfVUlECgQUDV9ESVMIcAqAUERSQwhf
 UFJTEQkKBiP62Bh5ABQ6X0NSUwgIUlRMRBEJCgYjAAAYeQCLUlRMRAoBSVJRMHAASVJRMHkKAXtQ
 RFJDCg8ASVJRMKRSVExEFBxfU1JTCYtoCgFJUlEwgklSUTBgdmBwYFBEUkMUGF9TVEEIoAx7UERS
 QwqAAKQKCaEEpAoLW4JFCkxOS0UIX0hJRAxB0AwPCF9VSUQKBRQNX0RJUwhwCoBQRVJDCF9QUlMR
 CQoGI/rUGHkAFDpfQ1JTCAhSVExFEQkKBiMAABh5AItSVExFCgFJUlEwcABJUlEweQoBe1BFUkMK
 DwBJUlEwpFJUTEUUHF9TUlMJi2gKAUlSUTCCSVJRMGB2YHBgUEVSQxQYX1NUQQigDHtQRVJDCoAA
 pAoJoQSkCgtbgkUKTE5LRghfSElEDEHQDA8IX1VJRAoGFA1fRElTCHAKgFBGUkMIX1BSUxEJCgYj
 +tgYeQAUOl9DUlMICFJUTEYRCQoGIwAAGHkAi1JUTEYKAUlSUTBwAElSUTB5CgF7UEZSQwoPAElS
 UTCkUlRMRhQcX1NSUwmLaAoBSVJRMIJJUlEwYHZgcGBQRlJDFBhfU1RBCKAMe1BGUkMKgACkCgmh
 BKQKC1uCRQpMTktHCF9ISUQMQdAMDwhfVUlECgcUDV9ESVMIcAqAUEdSQwhfUFJTEQkKBiP61Bh5
 ABQ6X0NSUwgIUlRMRxEJCgYjAAAYeQCLUlRMRwoBSVJRMHAASVJRMHkKAXtQR1JDCg8ASVJRMKRS
 VExHFBxfU1JTCYtoCgFJUlEwgklSUTBgdmBwYFBHUkMUGF9TVEEIoAx7UEdSQwqAAKQKCaEEpAoL
 W4JFCkxOS0gIX0hJRAxB0AwPCF9VSUQKCBQNX0RJUwhwCoBQSFJDCF9QUlMRCQoGI/jYGHkAFDpf
 Q1JTCAhSVExIEQkKBiMAABh5AItSVExICgFJUlEwcABJUlEweQoBe1BIUkMKDwBJUlEwpFJUTEgU
 HF9TUlMJi2gKAUlSUTCCSVJRMGB2YHBgUEhSQxQYX1NUQQigDHtQSFJDCoAApAoJoQSkCgtbgky7
 UEFUQQhfQURSDAEAHwAIUE1NThEDCigIUFNNThEDCihbgEFUSU8BC/cBCgFbgQtBVElPAVNUU1II
 W4BQQ0lfAgpAChhbgUcJUENJXwFQVEkwAVBJRTABUFBQMAFQRFQwAVBUSTEBUElFMQFQUFAxAVBE
 VDEBUFJDVAIAAlBJU1ACUFNJVAFQSURFAQAQUFJDMQJQSVMxAgAcUFNEMAFQU0QxAQAOUENUMAIA
 AlBDVDECAEoEUENCMAFQQ0IxAQACUE1DQwFQU0NDAQAGRlBDMAFGUEMxAQACUFNNRAJbgkKlUFJJ
 TQhfQURSCgBbgkQVTUFTVAhfQURSCgAURhRfR1RGAAhHVEZCERgKFQMAAAAAoO8DAAAAAKDvAAAA
 AACg9YxHVEZCCgFTUElPjEdURkIKCFNETUGMR1RGQgoUU0NNRKANklNTVVBwCgBTQ01EoA2SUElF
 MHAKAVNQSU+hTgSgEpFQRFQwklBUSTBwCghTUElPoTigFZVyUElTUFBSQ1QACgNwCgpTUElPoSCg
 FZVyUElTUFBSQ1QACgVwCgtTUElPoQhwCgxTUElPoE4GUFNEMKASe0ZQQzBQTUNDAHAKRVNETUGh
 RAWgJHtQQ0IwUE1DQwCgD5NQQ1QwCgJwCkRTRE1BoQhwCkNTRE1BoSygD5NQQ1QwCgJwCkJTRE1B
 oRqgD5NQQ1QwCgFwCkFTRE1BoQhwCkBTRE1BoSCgFZVyUElTUFBSQ1QACgVwCiFTRE1BoQhwCiJT
 RE1BpEdURkJbgkwbU0xBVghfQURSCgEUThpfR1RGAAhHVEZCERgKFQMAAAAAsO8DAAAAALDvAAAA
 AACw9YxHVEZCCgFTUElPjEdURkIKCFNETUGMR1RGQgoUU0NNRKANklNTVVBwCgBTQ01EoA2SUElF
 MXAKAVNQSU+hTgigEpFQRFQxklBUSTFwCghTUElPoUgHoDxQU0lUoBWVclBJUzFQUkMxAAoDcAoK
 U1BJT6EgoBWVclBJUzFQUkMxAAoFcAoLU1BJT6EIcAoMU1BJT6E4oBWVclBJU1BQUkNUAAoDcAoK
 U1BJT6EgoBWVclBJU1BQUkNUAAoFcAoLU1BJT6EIcAoMU1BJT6BOBlBTRDGgEntGUEMxUFNDQwBw
 CkVTRE1BoUQFoCR7UENCMVBTQ0MAoA+TUENUMQoCcApEU0RNQaEIcApDU0RNQaEsoA+TUENUMQoC
 cApCU0RNQaEaoA+TUENUMQoBcApBU0RNQaEIcApAU0RNQaFIBKAkUFNJVKAVlXJQSVMxUFJDMQAK
 BXAKIVNETUGhCHAKIlNETUGhIKAVlXJQSVNQUFJDVAAKBXAKIVNETUGhCHAKIlNETUGkR1RGQhRE
 GV9HVE0ACEdUTUIRAwoUikdUTUIKAFBJTzCKR1RNQgoERE1BMIpHVE1CCghQSU8xikdUTUIKDERN
 QTGKR1RNQgoQRkxBR3AKEEZMQUd9RkxBR315UElFMQoDAHlQSUUwCgEAAEZMQUegE5FQRFQwklBU
 STBwC4QDUElPMKEWd3QKCXJQUkNUUElTUAAACh5QSU8woA+SUFNEMHBQSU8wRE1BMKFOBH1GTEFH
 CgFGTEFHoBJ7RlBDMFBNQ0MAcAoURE1BMKEtoBp7UENCMFBNQ0MAd3QKBFBDVDAACg9ETUEwoRB3
 dAoEUENUMAAKHkRNQTCgE5FQRFQxklBUSTFwC4QDUElPMaEooA+SUFNJVHBQSU8wUElPMaEWd3QK
 CXJQUkMxUElTMQAACh5QSU8xoA+SUFNEMXBQSU8xRE1BMaFOBH1GTEFHCgRGTEFHoBJ7RlBDMVBT
 Q0MAcAoURE1BMaEtoBp7UENCMVBTQ0MAd3QKBFBDVDEACg9ETUExoRB3dAoEUENUMQAKHkRNQTGk
 R1RNQhRLWV9TVE0DimgKAFBJTzCKaAoERE1BMIpoCghQSU8ximgKDERNQTGKaAoQRkxBR3AKAFBT
 SVSgSyiQTVNNRpOHaQsAAlsTaQuwAQtAAU1CVUZwTUJVRlBNTU6LaQpiVzQ5MItpCmZXNTEwi2kK
 alc1MzCLaQp8VzYyMItpCn5XNjMwi2kKgFc2NDCLaQqwVzg4MHAKAFBJU1BwCgBQUkNUcAoAUERU
 MHAKAFBJRTBwCgBQVEkwcAoAUFNEMHAKAFBDVDBwCgBQQ0IwcAoAUE1DQ3AKAEZQQzCgGpB7RkxB
 RwoCAHtXNDkwCwAIAHAKAVBJRTCgMJCSlFBJTzAKeJB7VzUzMAoCAHtXNjQwCgIAcAoCUElTUHAK
 A1BSQ1RwCgFQVEkwoUoFoDCQkpRQSU8wCrSQe1c1MzAKAgB7VzY0MAoBAHAKAlBJU1BwCgFQUkNU
 cAoBUFRJMKEmoCGQkpRQSU8wCvCSlVc1MTALAAJwCgFQSVNQcAoBUFRJMKECo6BCFJKTRE1BMAz/
 ////oEwNkHtGTEFHCgEAkHtXNTMwCgQAe1c4ODAKPwBwCgFQU0QwoCeQkpRETUEwChR7Vzg4MAog
 AHAKAVBDVDBwCgFQTUNDcAoBRlBDMKFACaAnkJKURE1BMAoee1c4ODAKEABwCgJQQ1QwcAoBUE1D
 Q3AKAVBDQjChRQagJ5CSlERNQTAKLXtXODgwCggAcAoBUENUMHAKAVBNQ0NwCgFQQ0IwoTqgGZCS
 lERNQTAKPHtXODgwCgQAcAoCUENUMKEeoBmQkpRETUEwClp7Vzg4MAoCAHAKAVBDVDChAqOhRwWg
 J5CSlERNQTAKeHtXNjMwCgQAcAoCUElTUHAKA1BSQ1RwCgFQVEkwoSygJ5CSlERNQTAKtHtXNjMw
 CgIAcAoCUElTUHAKAVBSQ1RwCgFQVEkwoQKjoEEtkFNTTUaTh2oLAAJbE2oLsAELQAFTQlVGcFNC
 VUZQU01Oi2oKYlc0OTGLagpmVzUxMYtqCmpXNTMxi2oKfFc2MjGLagp+VzYzMYtqCoBXNjQxi2oK
 sFc4ODFwCgBQSVMxcAoAUFJDMXAKAFBEVDFwCgBQSUUxcAoAUFRJMXAKAFBTRDFwCgBQQ1QxcAoA
 UENCMXAKAFBTQ0NwCgBGUEMxoBqQe0ZMQUcKCAB7VzQ5MQsACABwCgFQSUUxoEQLkHtGTEFHChAA
 kJKTUElPMQz/////kpNQSU8xUElPMHAKAVBTSVSgMJCSlFBJTzEKeJB7VzUzMQoCAHtXNjQxCgIA
 cAoCUElTMXAKA1BSQzFwCgFQVEkxoUoFoDCQkpRQSU8xCrSQe1c1MzEKAgB7VzY0MQoBAHAKAlBJ
 UzFwCgFQUkMxcAoBUFRJMaEmoCGQkpRQSU8xCvCSlVc1MTELAAJwCgFQSVMxcAoBUFRJMaECo6BP
 FZKTRE1BMQz/////oEwNkHtGTEFHCgQAkHtXNTMxCgQAe1c4ODEKPwBwCgFQU0QxoCeQkpRETUEx
 ChR7Vzg4MQogAHAKAVBDVDFwCgFQU0NDcAoBRlBDMaFACaAnkJKURE1BMQoee1c4ODEKEABwCgJQ
 Q1QxcAoBUFNDQ3AKAVBDQjGhRQagJ5CSlERNQTEKLXtXODgxCggAcAoBUENUMXAKAVBTQ0NwCgFQ
 Q0IxoTqgGZCSlERNQTEKPHtXODgxCgQAcAoCUENUMaEeoBmQkpRETUExClp7Vzg4MQoCAHAKAVBD
 VDGhAqOhRAegQQeQe0ZMQUcKEACSk0RNQTFETUEwcAoBUFNJVKAnkJKURE1BMQp4e1c2MzEKBABw
 CgJQSVMxcAoDUFJDMXAKAVBUSTGhLKAnkJKURE1BMQq0e1c2MzEKAgBwCgJQSVMxcAoBUFJDMXAK
 AVBUSTGhAqNwCgFQSURFEDBcLwRfU0JfUENJMFBBVEFQUklNFAlfU1RBAKQKDxQITVNNRgCkARQI
 U1NNRgCkABArXC8FX1NCX1BDSTBQQVRBUFJJTU1BU1QUCV9TVEEApAoPFAhTU1VQAKQBECtcLwVf
 U0JfUENJMFBBVEFQUklNU0xBVhQJX1NUQQCkCgAUCFNTVVAApABbgg9VU0IxCF9BRFIMAAAdAFuC
 D1VTQjIIX0FEUgwBAB0AW4IPVVNCMwhfQURSDAIAHQBbgg9VU0I0CF9BRFIMAwAdAFuCD1VTQjcI
 X0FEUgwHAB0AW4IPU0JVUwhfQURSDAMAHwBbgg9BVUQwCF9BRFIMAgAeAFuCG01PRE0IX0FEUgwD
 AB4ACF9QUlcSBgIKBQoDW4JPBUhERUYIX0FEUgwAABsACF9QUlcSBgIKBQoDCF9QU0MKABQtX1BT
 MABwCgBfUFNDoB+QSERXQZKVXC5fU0JfT1NUUApAcABIRFdBWyIL9AEUDV9QUzMAcAoDX1BTQ1uC
 TxFSUDAxCF9BRFIMAAAcAFuAUDFDUwIKQAsAAVuBNFAxQ1NAAEANQUJQMQEAAlBEQzEBAAJQRFMx
 AQApABBQU1AxAQBPPAAeSFBDUwFQTUNTAVuCDFBYUzEIX0FEUgoAFE4LX1BSVACgOlxHUElDpBIy
 BBILBAv//woACgAKEBILBAv//woBCgAKERILBAv//woCCgAKEhILBAv//woDCgAKE6FLB6QSRwcE
 EhwEC///CgBcLwRfU0JfUENJMExQQ0JMTktBCgASHAQL//8KAVwvBF9TQl9QQ0kwTFBDQkxOS0IK
 ABIcBAv//woCXC8EX1NCX1BDSTBMUENCTE5LQwoAEhwEC///CgNcLwRfU0JfUENJMExQQ0JMTktE
 CgBbgk8RUlAwMghfQURSDAEAHABbgFAyQ1MCCkALAAFbgTRQMkNTQABADUFCUDIBAAJQREMyAQAC
 UERTMgEAKQAQUFNQMgEATzwAHkhQQ1MBUE1DUwFbggxQWFMyCF9BRFIKABROC19QUlQAoDpcR1BJ
 Q6QSMgQSCwQL//8KAAoAChESCwQL//8KAQoAChISCwQL//8KAgoAChMSCwQL//8KAwoAChChSwek
 EkcHBBIcBAv//woAXC8EX1NCX1BDSTBMUENCTE5LQgoAEhwEC///CgFcLwRfU0JfUENJMExQQ0JM
 TktDCgASHAQL//8KAlwvBF9TQl9QQ0kwTFBDQkxOS0QKABIcBAv//woDXC8EX1NCX1BDSTBMUENC
 TE5LQQoAW4JPEVJQMDMIX0FEUgwCABwAW4BQM0NTAgpACwABW4E0UDNDU0AAQA1BQlAzAQACUERD
 MwEAAlBEUzMBACkAEFBTUDMBAE88AB5IUENTAVBNQ1MBW4IMUFhTMwhfQURSCgAUTgtfUFJUAKA6
 XEdQSUOkEjIEEgsEC///CgAKAAoSEgsEC///CgEKAAoTEgsEC///CgIKAAoQEgsEC///CgMKAAoR
 oUsHpBJHBwQSHAQL//8KAFwvBF9TQl9QQ0kwTFBDQkxOS0MKABIcBAv//woBXC8EX1NCX1BDSTBM
 UENCTE5LRAoAEhwEC///CgJcLwRfU0JfUENJMExQQ0JMTktBCgASHAQL//8KA1wvBF9TQl9QQ0kw
 TFBDQkxOS0IKAFuCTxFSUDA0CF9BRFIMAwAcAFuAUDRDUwIKQAsAAVuBNFA0Q1NAAEANQUJQNAEA
 AlBEQzQBAAJQRFM0AQApABBQU1A0AQBPPAAeSFBDUwFQTUNTAVuCDFBYUzQIX0FEUgoAFE4LX1BS
 VACgOlxHUElDpBIyBBILBAv//woACgAKExILBAv//woBCgAKEBILBAv//woCCgAKERILBAv//woD
 CgAKEqFLB6QSRwcEEhwEC///CgBcLwRfU0JfUENJMExQQ0JMTktECgASHAQL//8KAVwvBF9TQl9Q
 Q0kwTFBDQkxOS0EKABIcBAv//woCXC8EX1NCX1BDSTBMUENCTE5LQgoAEhwEC///CgNcLwRfU0Jf
 UENJMExQQ0JMTktDCgAQIFwvBF9TQl9QQ0kwUlAwMVBYUzEIX1BSVxIGAgoJCgQQSQdcLwRfU0Jf
 UENJMFJQMDJQWFMyFBRfU1RBAKAIUFhSU6QKD6EEpAoACF9QUlcSBgIKCQoEFAhfUk1WAKQBFCBF
 WElOAFsiCmRwAFBYQ0xbIgoBcAFQWFJTcABFWFBMFBhFWFJNAHAAUFhSU3ABUFhDTHABRVhQTAhM
 RURJAAhCVE5JAAhOR1RJCgYQMFwACFdCVE4ACE5HVE0ACExTQkwACEJOQkYRAwogCEJOU1AACEJO
 R1AACEJOQ1QAW4JORkZFWFQIX0hJRA1GVUowMkUzABQJX1NUQQCkCg8UJF9JTkkAcABCTlNQcABC
 TkdQcABCTkNUcABJUkJDcABJUkJGFEQGRlVOQwxwDAAAAIBgoA+TaAsBEHBTMDAxaWprYKEjoA+T
 aAsCEHBTMDAyaWprYKERoA+TaAsEEHBTMDA0aWprYKAPk2gLBhBwUzAwNmlqa2CgD5NoCwgQcFMw
 MDhpamtgpGAURghTMDAxA3AMAAAAgGCgCpNoAHBMRURJYKFKBqAzk2gBe2oKA2GgJpB7aUxFREkA
 YXAKm0NNRF96e2oMAAADAAAKCERWSURwAFNTTUlwAGChM6Axk2gKAqAme2lMRURJAHAKm0NNRF9w
 AURWSURwAFNTTUl9eURWSUQKEAABYKEEcABgpGAUTghTMDAyA3AMAAAAgGCgCpNoAHBCVE5JYKFC
 B6AKk2gBcEdJUkJgoUQGoB+TaAoCcAqbQ01EX3AKAkRWSURwAFNTTUlwRFZJRGChQQSgPpNoCgOg
 MmmAaWF7amlifXtXQlROYQBiV0JUTnAKm0NNRF99eVdCVE4KCAAKA0RWSURwAFNTTUlwV0JUTmCk
 YBRDBFNJUkIBoDuVQk5DVAoQi0JOQkZCTlNQQk5QMXBoQk5QMXVCTkNUckJOU1AKAkJOU1CgD5KV
 Qk5TUAogcABCTlNQFEAFR0lSQgCgQQRCTkNUi0JOQkZCTkdQQk5QMnBCTlAyYH1gDAAAAEBgdkJO
 Q1RyQk5HUAoCQk5HUKAPkpVCTkdQCiBwAEJOR1ChBHAAYKRgFEIKUzAwNANwDAAAAIBgoAqTaABw
 TkdUSWChRgigRgaTaAGgQAaQk2kKBHtOR1RJCgQAe2oKA2GgKZGTYQoDk2EKAqAQkk5HVEZTVkJM
 cAFOR1RGU0JMQ2FwYU5HVE1wAGCgIZJhoBROR1RGcABOR1RGUlNCTFNCTEMAcABOR1RNcABgoRyg
 GpNoCgKgFJCTaQoEe05HVEkKBABwTkdUTWCkYBRHF1MwMDgDcAwAAACAYKBKBpNoCgCgQwaQkpVp
 CgCSlGkKBaAHk2kAcABgoU0EoB2TaQGgE5KVXC5fU0JfT1NUUApAcAoCYKEEcABgoSxwCqRDTURf
 cGhRQUcxcGlRQUcycGpRQUczcABEVklEcABTU01JcERWSURgoUsPoD2TaAoBoDeQkpVpCgCSlGkK
 AXAKpENNRF9waFFBRzFwaVFBRzJwalFBRzNwAERWSURwAFNTTUlwRFZJRGChSgugPZNoCgKgN5CS
 lWkKAJKUaQoBcAqkQ01EX3BoUUFHMXBpUUFHMnBqUUFHM3AARFZJRHAAU1NNSXBEVklEYKFJB6A2
 k2gKA6Awk2kKAHAKpENNRF9waFFBRzFwaVFBRzJwalFBRzNwAERWSURwAFNTTUlwRFZJRGChP6A9
 k2gKBKA3kJKVaQoAkpRpCgFwCqRDTURfcGhRQUcxcGlRQUcycGpRQUczcABEVklEcABTU01JcERW
 SURgpGAQTiJcLl9TQl9GRVhUFEsHU0JMQwGgCZJocABCTENUoUkGoAuTaAoDcAFCTENUoUoFoEcF
 k2gKAghCQkNUEQVCTExNcEJMTFRCQkNUjEJCQ1QAQkxMMHBCTEwwTENEQnAMAAAAAURWSUR9RFZJ
 REJMTDBEVklEcAqCQ01EX3AAU1NNSXAAQkxDVBQnU1ZCTAB7XC8FX1NCX1BDSTBMUENCRkpFWEdC
 TEwM////f0xTQkwUIVJTQkwAXC8FX1NCX1BDSTBMUENCRkpFWFNCTExMU0JMFEsVUzAwNgNwDAAA
 AIBgoEoURUNPS6AKk2gAcEVDQ0lgoUgToEIFk2gKEKBEBGl7aQr/RUNHMXAKI0VDR01wAGGiEJBF
 Q0dNlWEKZFsiCgF1YaANkpVhCmRwDAEAAIBgoQ99eUVDRzIKCABFQ0czYKEGcAtw/WChQg6gQQWT
 aAoRe2kK/0VDRzF6e2oLAP8ACghFQ0cye2oK/0VDRzNwCiJFQ0dNcABhohCQRUNHTZVhCmRbIgoB
 dWGgDZKVYQpkcAwBAACAYKEEcABgoU0IoBGTaAoScEdJTlRgcABHSU5UoUgHoEUHk2gKIHp7aQwA
 AAD/AAoYRUNEM3p7aQwAAP8AAAoQRUNEMnp7aQsA/wAKCEVDRDF7aQr/RUNDTXAAYaIQkEVDQ02V
 YQpkWyIKAXVhoA2SlWEKZHAMAQAAgGChGX19eUVDRDMKEAB5RUNEMgoIAABFQ0QxYKRgW4I2TElE
 XwhfSElEDEHQDA0UEl9MSUQAoAdDVkNMpAChA6QBCF9QUlcSBgIKGAoEFAdfUFNXAaNbghlQV1JC
 CF9ISUQMQdAMDBQJX1NUQQCkCg9bgksKQUNfXwhfSElEDUFDUEkwMDAzABAJXAAIQUNQU/8UD19J
 TkkAcEFDUFdBQ1BTFAlfU1RBAKQKDxQWX1BTUgBfSU5JoAdBQ1BXpAGhA6QACF9QQ0wSBwFcX1NC
 XxRNBEFDSEsAcEFDUFdgoD+Sk2BBQ1BTWyIKKIZcLl9TQl9BQ19fCoBwAERWSURwCo1DTURfcABT
 U01JhlwuX1BSX0NQVTAKgHBgQUNQU1uCRTlDTUIxCF9ISUQMQdAMCghfVUlEAQhfUENMEgcBXF9T
 Ql8QQgVcAAhCMVBT/whCMVJT/whCMUNT/whCMUxT/whCSUYxEigNCgEKAAoACgEKAAoACgAKAQoB
 DQANMQANTElPTgANRnVqaXRzdQAIQlNUMRICBBQwTUtXRAKgGntpCoAAfQwAAP//aGB9YHlpCggA
 YHQAYGChDHBoYH1geWkKCABgpGAUMl9JTkkAcEIxUF9CMVBTcEIxQ1BCMVJTcEIxQ19CMUNTcE1L
 V0RCMUxMQjFMSEIxTFMUQhdfQklGAAhCVUZGEQMKDHBCMU5PZYxCSURUQjFJREIxSVhwTUtXREIx
 RExCMURIiEJJRjEKAQBwTUtXREIxTExCMUxIiEJJRjEKAgBwd3J7QjFEVgrvAAoCAAsQDgCIQklG
 MQoEAKA2kVRCUEOSlVwuX1NCX09TVFAKQHh3cncKDAoKAAoEAIOIQklGMQoBAAAL6ANgiEJJRjEK
 BQCgQQaRVEJQQ5KVXC5fU0JfT1NUUApAoCSSlVwuX1NCX09TVFAKQKAMk0JJRkwK/3AKAmGhB3BC
 SUZMYaEFcAoBYXh3cndhCgoACgQAg4hCSUYxCgEAAAvoA2CIQklGMQoGAKBGBWVwg4hCTVNUQjFJ
 WABCVUZGcAoHYHBlYqIukGKSlWAKAnB0g4hCVUZGYAAKMABheHJhYgAKCmFicHJhCjAAiEJVRkZg
 AHZgcEJVRkaIQklGMQoJAKEVcIOIQk1OVEIxSVgAiEJJRjEKCQCkQklGMRRDCl9CU1QAX0lOSXAA
 YKArQjFQX6AKQjFDX31gCgJgoQygCpJBQ1BTfWABYKANkpRCMUNQAX1gCgRgcE1LV0RCMUNMQjFD
 SGF4d0IxQ1BNS1dEQjFMTEIxTEgAC+gDZGKgBGR1YndiCgpicE1LV0RCMVZMQjFWSGNwYIhCU1Qx
 AABwYYhCU1QxAQBwYohCU1QxCgIAcGOIQlNUMQoDAKRCU1QxFBJfU1RBAKAIQjFQX6QKH6QKDxRA
 CUJDSEsAoCGSk0IxUF9CMVBThlwuX1NCX0NNQjEKgXBCMVBfQjFQU6BGBkIxUFNwTUtXREIxTExC
 MUxIYKAVkpNgQjFMU4ZcLl9TQl9DTUIxCoGgI5GSk0IxQ19CMUNTkpNCMUNQQjFSU4ZcLl9TQl9D
 TUIxCoBwYEIxTFNwQjFDX0IxQ1NwQjFDUEIxUlNbgiRTTFBCCF9ISUQMQdAMDhQUX1NUQQCgCEZT
 Q02kCg+hBKQKABBGGF9UWl9bhU4LVFowMBQUX0NSVAikcgusCndDUlRUCgoAABQ0X1RNUAigJ0RU
 U0VwCpxDTURfcAoARFZJRHAAU1NNSaRyC6wKd0RUUzEKCgAAoQWkC7gLFDRfUFNMCKAdTVBFTqQS
 FgJcLl9QUl9DUFUwXC5fUFJfQ1BVMaEPpBIMAVwuX1BSX0NQVTAUFF9QU1YIpHILrAp3UFNWVAoK
 AAAUC19UQzEIpFRDMVYUC19UQzIIpFRDMlYUC19UU1AIpFRTUFZbhU4LVFowMRQUX0NSVAikcgus
 CndDUlRUCgoAABQ0X1RNUAigJ0RUU0VwCpxDTURfcAoBRFZJRHAAU1NNSaRyC6wKd0RUUzIKCgAA
 oQWkC7gLFDRfUFNMCKAdTVBFTqQSFgJcLl9QUl9DUFUwXC5fUFJfQ1BVMaEPpBIMAVwuX1BSX0NQ
 VTAUFF9QU1YIpHILrAp3UFNWVAoKAAAUC19UQzEIpFRDMVYUC19UQzIIpFRDMlYUC19UU1AIpFRT
 UFYQHVwAFBlUWlNNAXAKnENNRF9waERWSURwAFNTTUkQREdcX0dQRRQnX0wwMgBwCgBHUEVDhlwu
 X1RaX1RaMDAKgIZcLl9UWl9UWjAxCoAUGF9MMDUAhlwvA19TQl9QQ0kwSERFRgoCFAZfTDA4ABRH
 FV9MMDkAoEMFXC8EX1NCX1BDSTBSUDAxUFNQMXAKAVwvBF9TQl9QQ0kwUlAwMVBTUDFwCgFcLwRf
 U0JfUENJMFJQMDFQTUNThlwvA19TQl9QQ0kwUlAwMQoCoEMFXC8EX1NCX1BDSTBSUDAyUFNQMnAK
 AVwvBF9TQl9QQ0kwUlAwMlBTUDJwCgFcLwRfU0JfUENJMFJQMDJQTUNThlwvA19TQl9QQ0kwUlAw
 MgoCoEMFXC8EX1NCX1BDSTBSUDAzUFNQM3AKAVwvBF9TQl9QQ0kwUlAwM1BTUDNwCgFcLwRfU0Jf
 UENJMFJQMDNQTUNThlwvA19TQl9QQ0kwUlAwMwoCoEMFXC8EX1NCX1BDSTBSUDA0UFNQNHAKAVwv
 BF9TQl9QQ0kwUlAwNFBTUDRwCgFcLwRfU0JfUENJMFJQMDRQTUNThlwvA19TQl9QQ0kwUlAwNAoC
 FBhfTDBCAIZcLwNfU0JfUENJMFBDSUIKAhQ0X0wxOABbIgr6oBOSTElEU3AKl0NNRF9wAFNTTUmA
 TFBPTExQT0yGXC5fU0JfTElEXwqAFEsiX0wxOQBwU1NGMGBwYFNTRjB7YIBTU00wAGBwU1NGMWFw
 YVNTRjF7YYBTU00xAGFwU1NGMmJwYlNTRjJ7YoBTU00yAGKgRwh7YgoQAFwvA19TQl9BQ19fQUNI
 S1wvA19TQl9DTUIxQkNIS6BHBJGSk0xXTURQTFdNkpNUQUxNUFRBTHBMV01EUExXTXBUQUxNUFRB
 THAKlUNNRF99UExXTXlQVEFMCgEARFZJRHAAU1NNSaARkFRBTE2SQUNQV3ABRk9DVKEHcABGT0NU
 oEEMe2AKAQBcLwRfU0JfUENJMEdGWDBQSFRLcAqAQ01EX3AAU1NNSVwvBF9TQl9QQ0kwR0ZYMEFI
 VEugLEJTV0agJpKVXC5fU0JfT1NUUApAXC8FX1NCX1BDSTBHRlgwTENEX0JMTkagG0FIS0aGXC8E
 X1NCX1BDSTBMUENCRkpFWAqAoD1JUkJGoA+TSVJCQwsA/XABR0lOVKEUXC8DX1NCX0ZFWFRTSVJC
 SVJCQ4ZcLl9TQl9GRVhUCoBwAElSQkagHXthCjAAXC8FX1NCX1BDSTBMUENCQ01CVFNXQ0agTAd7
 YgoIAHBCMlNVZnBCMlNEZ3AAU1RBRaBCBpFmZ1siC+gDcABCMlNVcABCMlNEcH9ES0VWAQBES0VW
 oD9SUEVOoDmSk0IyVENSUERTcEIyVENSUERToBFSUERThlwuX1NCX1JFUEwAoRJbIgugD4ZcLl9T
 Ql9SRVBMARRCBV9MMUQAoBxFWFBMXC8FX1NCX1BDSTBSUDAyUFhTMkVYSU6hGFwvBV9TQl9QQ0kw
 UlAwMlBYUzJFWFJNWyIKZIZcLwNfU0JfUENJMFJQMDIACF9TMF8SCgQKAAoACgAKAAhfUzNfEgoE
 CgUKBQoACgAIX1M0XxIKBAoGCgYKAAoACF9TNV8SCgQKBwoHCgAKABRPB19QVFMBcgrdaFBPODCg
 QwSQkpVoAZKUaAoEoA5SUEVOcFJQRFNEQzFToB5cLwVfU0JfUENJMFJQMDJQWFMyX1NUQXAARVhJ
 U6EIcAr/RVhJU1wvBV9TQl9QQ0kwTFBDQkNNQlRCUFRTaHAAV0FQQnABSERXQXIK4GhQTzgwFEMc
 X1dBSwFyCu5oUE84MFwvBF9TQl9QQ0kwTFBDQkFJTklcLwRfU0JfUENJMFBDSUJfSU5JXC8DX1NC
 X0ZFWFRfSU5JoBmTaAoDcAqjQ01EX3AKAElORl9wAFNTTUmgGZNoCgNwCptDTURfcAoERFZJRHAA
 U1NNSaASV0FQQoZcLl9TQl9QV1JCCgKgHpNoCgRcLwNfU0JfRkVYVEZVTkMLAhAKA/9XQlROXC8F
 X1NCX1BDSTBMUENCQ01CVEJXQUtooEYPkJKVaAGSlGgKBKA6UlBFTqA0kpNCMlRDREMxU3BCMlRD
 UlBEU6ARUlBEU4ZcLl9TQl9SRVBMAKENhlwuX1NCX1JFUEwBoC9cLwVfU0JfUENJMFJQMDJQWFMy
 X1NUQaAWRVhJU4ZcLwNfU0JfUENJMFJQMDIAoRmgF5JFWElThlwvA19TQl9QQ0kwUlAwMgCgHU5H
 VE1cLwNfU0JfRkVYVEZVTkMLBBAKAQoECgCgL1wvBV9TQl9QQ0kwTFBDQkRJR0lfU1RBXC8FX1NC
 X1BDSTBMUENCRElHSV9JTklcLwVfU0JfUENJMExQQ0JCVE5TX0lOSXIK8GhQTzgwpAA=

 ----Next_Part(Mon_May_26_00_20_56_2008_239)--
 Content-Type: Text/Plain; charset=utf-8
 Content-Transfer-Encoding: base64
 Content-Disposition: inline; filename="looxp70wm.asl"

 LyoNClJTRCBQVFI6IENoZWNrc3VtPTczLCBPRU1JRD1GVUosIFJzZHRBZGRyZXNzPTB4M2Y2NjI2
 ODgNCiAqLw0KLyoNClJTRFQ6IExlbmd0aD03MiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjE1LA0K
 CU9FTUlEPUZVSiwgT0VNIFRhYmxlIElEPVBDLCBPRU0gUmV2aXNpb249MHgxMTMwMDAwLA0KCUNy
 ZWF0b3IgSUQ9RlVKLCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwDQogKi8NCi8qDQoJRW50cmllcz17
 IDB4M2Y2NjhmOGMsIDB4M2Y2NjgxNzAsIDB4M2Y2NjgxYWMsIDB4M2Y2Njg2ODgsIDB4M2Y2Njhi
 MDcsIDB4M2Y2NjhkNWMsIDB4M2Y2NjhkYjYsIDB4M2Y2NjhkZWUsIDB4M2Y2NjhlMTYgfQ0KICov
 DQovKg0KCURTRFQ9MHgzZjY2MjZkOA0KCUlOVF9NT0RFTD1QSUMNCglTQ0lfSU5UPTkNCglTTUlf
 Q01EPTB4YjIsIEFDUElfRU5BQkxFPTB4ZjAsIEFDUElfRElTQUJMRT0weGYxLCBTNEJJT1NfUkVR
 PTB4MA0KCVBNMWFfRVZUX0JMSz0weDEwMDAtMHgxMDAzDQoJUE0xYV9DTlRfQkxLPTB4MTAwNC0w
 eDEwMDUNCglQTTJfQ05UX0JMSz0weDEwMjAtMHgxMDIwDQoJUE0yX1RNUl9CTEs9MHgxMDA4LTB4
 MTAwYg0KCVBNMl9HUEUwX0JMSz0weDEwMjgtMHgxMDJmDQoJUF9MVkwyX0xBVD0xbXMsIFBfTFZM
 M19MQVQ9MTAwbXMNCglGTFVTSF9TSVpFPTAsIEZMVVNIX1NUUklERT0wDQoJRFVUWV9PRkZTRVQ9
 MCwgRFVUWV9XSURUSD0wDQoJREFZX0FMUk09MTMsIE1PTl9BTFJNPTAsIENFTlRVUlk9NTANCglG
 bGFncz17V0JJTlZELFBST0NfQzEsU0xQX0JVVFRPTixSVENfUzR9DQogKi8NCi8qDQpEU0RUOiBM
 ZW5ndGg9MjMxOTIsIFJldmlzaW9uPTEsIENoZWNrc3VtPTM3LA0KCU9FTUlEPUZVSiwgT0VNIFRh
 YmxlIElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAwMDAsDQoJQ3JlYXRvciBJRD1NU0ZU
 LCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwMDAwZQ0KICovDQpEZWZpbml0aW9uQmxvY2sgKCJhY3Bp
 X2RzdC5hbWwiLCAiRFNEVCIsIDB4MSwgIkZVSiIsICJGSk5CMUM1IiwgMHgxMTMwMDAwKQ0Kew0K
 TmFtZShCSURULCBCdWZmZXIoMHgxMCkgezB4MCwgMHgxLCAweDIsIDB4MywgMHgwLCAweDAsIDB4
 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCB9KQ0KTmFtZShC
 TU5ULCBQYWNrYWdlKDB4MDQpIHsNCiAgICAiQ1AyMjk3MjBceDIwXHgyZlx4MjBDUDIyOTcyMSIs
 DQogICAgIkNQMjI5NzI1XHgyMFx4MmZceDIwQ1AyMjk3MjYiLA0KICAgICJDUDI0MDUwMSIsDQog
 ICAgIkNQMjQwNTE3IiwNCn0pDQpOYW1lKEJNU1QsIFBhY2thZ2UoMHgwNCkgew0KICAgICJDUDIy
 OTcyMCIsDQogICAgIkNQMjI5NzI1IiwNCiAgICAiQ1AyNDA1MDEiLA0KICAgICJDUDI0MDUxNyIs
 DQp9KQ0KU2NvcGUoXF9QUikgew0KICAgIFByb2Nlc3NvcihDUFUwLCAwLCAweDEwMTAsIDB4Nikg
 ew0KICAgIH0NCiAgICBQcm9jZXNzb3IoQ1BVMSwgMSwgMHgxMDEwLCAweDYpIHsNCiAgICB9DQp9
 DQpTY29wZShcX1NCKSB7DQogICAgTmFtZShPU1RCLCBPbmVzKQ0KICAgIE9wZXJhdGlvblJlZ2lv
 bihPU1RZLCBTeXN0ZW1NZW1vcnksIDB4M2Y2NjllZjYsIDB4MDAwMDAwMDEpDQogICAgRmllbGQo
 T1NUWSwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgIFRQT1MsCTgNCiAgICB9
 DQogICAgTWV0aG9kKE9TVFApIHsNCiAgICAgICAgSWYoTEVxdWFsKF5PU1RCLCBPbmVzKSkgew0K
 ICAgICAgICAgICAgSWYoQ29uZFJlZk9mKFxfT1NJLCBMb2NhbDApKSB7DQogICAgICAgICAgICAg
 ICAgSWYoXF9PU0koIldpbmRvd3NceDIwMjAwNiIpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4NDAsIF5PU1RCKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQwLCBeVFBPUykN
 CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
 ICAgICAgIElmKFxfT1NJKCJXaW5kb3dzXHgyMDIwMDEuMSIpKSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICBTdG9yZSgweDIwLCBeT1NUQikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl
 KDB4MjAsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoXF9PU0koIldpbmRvd3NceDIwMjAw
 MVx4MjBTUDEiKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MTAsIF5P
 U1RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MTAsIF5UUE9TKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoXF9PU0koIldpbmRvd3NceDIwMjAwMSIpKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDgsIF5PU1RCKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDA4LCBeVFBPUykNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIF5PU1RCKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBeVFBPUykNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAg
 ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBJZihDb25kUmVmT2YoXF9PUywgTG9jYWwwKSkg
 ew0KICAgICAgICAgICAgICAgICAgICBJZiheU0VRTChcX09TLCAiTWljcm9zb2Z0XHgyMFdpbmRv
 d3MiKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgXk9TVEIpDQogICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBeVFBPUykNCiAgICAgICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 IElmKF5TRVFMKFxfT1MsICJNaWNyb3NvZnRceDIwV2luZG93c01FXHgzYVx4MjBNaWxsZW5uaXVt
 XHgyMEVkaXRpb24iKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDIs
 IF5PU1RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDIsIF5UUE9TKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoXlNFUUwoXF9PUywgIk1pY3Jvc29mdFx4
 MjBXaW5kb3dzXHgyME5UIikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoMHgwNCwgXk9TVEIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
 MDQsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoMHgwMCwgXk9TVEIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
 MDAsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgXk9T
 VEIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIF5UUE9TKQ0KICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBSZXR1cm4oXk9TVEIpDQog
 ICAgfQ0KICAgIE1ldGhvZChTRVFMLCAyLCBTZXJpYWxpemVkKSB7DQogICAgICAgIFN0b3JlKFNp
 emVPZihBcmcwKSwgTG9jYWwwKQ0KICAgICAgICBTdG9yZShTaXplT2YoQXJnMSksIExvY2FsMSkN
 CiAgICAgICAgSWYoTE5vdChMRXF1YWwoTG9jYWwwLCBMb2NhbDEpKSkgew0KICAgICAgICAgICAg
 UmV0dXJuKFplcm8pDQogICAgICAgIH0NCiAgICAgICAgTmFtZShCVUYwLCBCdWZmZXIoTG9jYWww
 KSB7IH0pDQogICAgICAgIFN0b3JlKEFyZzAsIEJVRjApDQogICAgICAgIE5hbWUoQlVGMSwgQnVm
 ZmVyKExvY2FsMCkgeyB9KQ0KICAgICAgICBTdG9yZShBcmcxLCBCVUYxKQ0KICAgICAgICBTdG9y
 ZShaZXJvLCBMb2NhbDIpDQogICAgICAgIFdoaWxlKExMZXNzKExvY2FsMiwgTG9jYWwwKSkgew0K
 ICAgICAgICAgICAgU3RvcmUoRGVyZWZPZihJbmRleChCVUYwLCBMb2NhbDIsICkpLCBMb2NhbDMp
 DQogICAgICAgICAgICBTdG9yZShEZXJlZk9mKEluZGV4KEJVRjEsIExvY2FsMiwgKSksIExvY2Fs
 NCkNCiAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExvY2FsMywgTG9jYWw0KSkpIHsNCiAgICAg
 ICAgICAgICAgICBSZXR1cm4oWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEluY3Jl
 bWVudChMb2NhbDIpDQogICAgICAgIH0NCiAgICAgICAgUmV0dXJuKE9uZSkNCiAgICB9DQp9DQpO
 YW1lKEZXU08sIFplcm8pDQpOYW1lKFJQRU4sIFplcm8pDQpOYW1lKFJQRFMsIFplcm8pDQpOYW1l
 KEVYSVMsIDB4ZmYpDQpOYW1lKFBMV00sIFplcm8pDQpOYW1lKFBUQUwsIFplcm8pDQpOYW1lKEVD
 Q0ksIDB4MDMpDQpOYW1lKEdJTlQsIFplcm8pDQpOYW1lKFJHU0ksIDB4MTgpDQpOYW1lKExJRFMs
 IFplcm8pDQpOYW1lKFZTVEgsIFplcm8pDQpOYW1lKEhEV0EsIFplcm8pDQpOYW1lKFxHUElDLCAw
 eDAwKQ0KTWV0aG9kKFxfUElDLCAxKSB7DQogICAgU3RvcmUoQXJnMCwgR1BJQykNCn0NClNjb3Bl
 KFxfU0IpIHsNCiAgICBPcGVyYXRpb25SZWdpb24oUFNJTywgU3lzdGVtSU8sIDB4MDAwMDBmNDAs
 IDB4MDAwMDAwMDIpDQogICAgT3BlcmF0aW9uUmVnaW9uKFBTQkYsIFN5c3RlbU1lbW9yeSwgMHgz
 ZjY2OWU2NiwgMHgwMDAwMDA5MCkNCiAgICBPcGVyYXRpb25SZWdpb24oT0VNVCwgU3lzdGVtTWVt
 b3J5LCAweDNmNjY5ZjljLCAweDAwMDAwMDIwKQ0KICAgIE9wZXJhdGlvblJlZ2lvbihTWVNDLCBT
 eXN0ZW1NZW1vcnksIDB4M2Y2NjlmOTIsIDB4MDAwMDAwMGEpDQogICAgT3BlcmF0aW9uUmVnaW9u
 KFZERVgsIFN5c3RlbU1lbW9yeSwgMHgzZjY2OWU1NiwgMHgwMDAwMDAxMCkNCiAgICBPcGVyYXRp
 b25SZWdpb24oVEhaTiwgU3lzdGVtTWVtb3J5LCAweDNmNjY5ZjgyLCAweDAwMDAwMDEwKQ0KICAg
 IE9wZXJhdGlvblJlZ2lvbihCVE5DLCBTeXN0ZW1NZW1vcnksIDB4M2Y2NjlmNzIsIDB4MDAwMDAw
 MTApDQogICAgT3BlcmF0aW9uUmVnaW9uKFZJU1QsIFN5c3RlbU1lbW9yeSwgMHgzZjY2OTYwYywg
 MHgwMDAwMDg0YSkNCiAgICBPcGVyYXRpb25SZWdpb24oUUJDLCBTeXN0ZW1NZW1vcnksIDB4M2Y2
 NjlmNjYsIDB4MDAwMDAwMGMpDQogICAgT3BlcmF0aW9uUmVnaW9uKFRDRzEsIFN5c3RlbU1lbW9y
 eSwgMHgzZjY2OTYwOCwgMHgwMDAwMDAwNCkNCiAgICBPcGVyYXRpb25SZWdpb24oSU84MCwgU3lz
 dGVtSU8sIDB4ODAsIDB4MDEpDQogICAgU2NvcGUoXCkgew0KICAgICAgICBGaWVsZChcX1NCLlBT
 SU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIFNTTUksCTgNCiAg
 ICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlBTQkYsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy
 dmUpIHsNCiAgICAgICAgICAgIENNRCwJOCwNCiAgICAgICAgICAgIERWSUQsCTMyLA0KICAgICAg
 ICAgICAgUFNEVCwJMzINCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlBTQkYsIEJ5dGVB
 Y2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIE9mZnNldCgweDUpLA0KICAgICAg
 ICAgICAgSU5GLAk4DQogICAgICAgIH0NCiAgICAgICAgRmllbGQoXF9TQi5PRU1ULCBCeXRlQWNj
 LCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICBTUEFGLAkyLA0KICAgICAgICAgICAg
 U1BCRiwJMiwNCiAgICAgICAgICAgIFBQRiwJMywNCiAgICAgICAgICAgIEZEQ0YsCTEsDQogICAg
 ICAgICAgICBTSURGLAkyLA0KICAgICAgICAgICAgSU1URiwJMSwNCiAgICAgICAgICAgIEJMRU4s
 CTEsDQogICAgICAgICAgICBXTEVOLAkxLA0KICAgICAgICAgICAgQlRFWCwJMSwNCiAgICAgICAg
 ICAgIE9mZnNldCgweDQpLA0KICAgICAgICAgICAgV0FQQiwJMSwNCiAgICAgICAgICAgIE9mZnNl
 dCgweDgpLA0KICAgICAgICAgICAgRldITSwJMSwNCiAgICAgICAgICAgICwJMSwNCiAgICAgICAg
 ICAgIFRQTUYsCTIsDQogICAgICAgICAgICBGU0NNLAkxLA0KICAgICAgICAgICAgUlBDUCwJMSwN
 CiAgICAgICAgICAgIFRCUEMsCTEsDQogICAgICAgICAgICBBUzM0LAkxLA0KICAgICAgICAgICAg
 QklGTCwJOCwNCiAgICAgICAgICAgIERDTFcsCTcsDQogICAgICAgICAgICBPZmZzZXQoMHgxMCks
 DQogICAgICAgICAgICBGRFMwLAk0LA0KICAgICAgICAgICAgRkRTMSwJNCwNCiAgICAgICAgICAg
 IE9mZnNldCgweDE4KSwNCiAgICAgICAgICAgIFVNU1QsCTMyLA0KICAgICAgICAgICAgVU1TWiwJ
 MzINCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlNZU0MsIEJ5dGVBY2MsIE5vTG9jaywg
 UHJlc2VydmUpIHsNCiAgICAgICAgICAgIEJIS0YsCTEsDQogICAgICAgICAgICAsCTIsDQogICAg
 ICAgICAgICBNSEtGLAkxLA0KICAgICAgICAgICAgT2Zmc2V0KDB4MSksDQogICAgICAgICAgICBC
 TExNLAk4LA0KICAgICAgICAgICAgQkxMVCwJNjQNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChc
 X1NCLlNZU0MsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIEFIS0Ys
 CTgNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlZERVgsIEJ5dGVBY2MsIE5vTG9jaywg
 UHJlc2VydmUpIHsNCiAgICAgICAgICAgIEFET1MsCTMsDQogICAgICAgICAgICBDTENELAkxLA0K
 ICAgICAgICAgICAgQUxDRCwJMSwNCiAgICAgICAgICAgIENDUlQsCTEsDQogICAgICAgICAgICBB
 Q1JULAkxLA0KICAgICAgICAgICAgQ1RWLAkxLA0KICAgICAgICAgICAgQVRWLAkxLA0KICAgICAg
 ICAgICAgQ0RWSSwJMSwNCiAgICAgICAgICAgIEFEVkksCTEsDQogICAgICAgICAgICBEU1dGLAky
 LA0KICAgICAgICAgICAgQlNXRiwJMg0KICAgICAgICB9DQogICAgICAgIEZpZWxkKFxfU0IuVEha
 TiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgRFRTMSwJOCwNCiAg
 ICAgICAgICAgIERUUzIsCTgsDQogICAgICAgICAgICBDUlRULAk4LA0KICAgICAgICAgICAgUFNW
 VCwJOCwNCiAgICAgICAgICAgIFRDMVYsCTQsDQogICAgICAgICAgICBUQzJWLAk0LA0KICAgICAg
 ICAgICAgVFNQViwJNCwNCiAgICAgICAgICAgIE1QRU4sCTEsDQogICAgICAgICAgICBEVFNFLAkx
 DQogICAgICAgIH0NCiAgICAgICAgRmllbGQoXF9TQi5CVE5DLCBCeXRlQWNjLCBOb0xvY2ssIFBy
 ZXNlcnZlKSB7DQogICAgICAgICAgICBJUkJGLAkxLA0KICAgICAgICAgICAgLAk2LA0KICAgICAg
 ICAgICAgTkdURiwJMSwNCiAgICAgICAgICAgIE9mZnNldCgweDQpLA0KICAgICAgICAgICAgSVJC
 QywJMTYNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlFCQywgQnl0ZUFjYywgTm9Mb2Nr
 LCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgUUFHMSwJMzIsDQogICAgICAgICAgICBRQUcyLAkz
 MiwNCiAgICAgICAgICAgIFFBRzMsCTMyDQogICAgICAgIH0NCiAgICAgICAgRmllbGQoXF9TQi5U
 Q0cxLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIFBQUlEsCTgsDQog
 ICAgICAgICAgICBQUExPLAk4LA0KICAgICAgICAgICAgUFBSUCwJOCwNCiAgICAgICAgICAgIFBQ
 T1IsCTgNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLklPODAsIEJ5dGVBY2MsIE5vTG9j
 aywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIFBPODAsCTgNCiAgICAgICAgfQ0KICAgIH0NCiAg
 ICBNZXRob2QoX0lOSSkgew0KICAgICAgICBJZihMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAweDQw
 KSkpIHsNCiAgICAgICAgICAgIExvYWQoVklTVCwgVlNUSCkNCiAgICAgICAgfQ0KICAgIH0NCiAg
 ICBEZXZpY2UoTUNGRykgew0KICAgICAgICBOYW1lKF9ISUQsIDB4MDIwY2QwNDEpDQogICAgICAg
 IE5hbWUoX0NSUywgQnVmZmVyKDB4MWMpIHsweDg3LCAweDE3LCAweDAsIDB4MCwgMHhkLCAweDEs
 IDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhmOCwgMHhmZiwgMHhmZiwgMHhm
 ZiwgMHhmYiwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDQsIDB4NzksIDB4
 MA0KICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgMHgwMDAwICBEV29y
 ZE1lbW9yeShSZXNvdXJjZUNvbnN1bWVyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwg
 Tm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhmODAwMDAwMCwgMHhmYmZmZmZmZiwgMHgw
 LCAweDQwMDAwMDAsIDEyMSwgJycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAg
 ICAgICAgfSAqLw0KICAgICAgICAgfSkNCiAgICB9DQogICAgRGV2aWNlKFBDSTApIHsNCiAgICAg
 ICAgTmFtZShfSElELCAweDA4MGFkMDQxKQ0KICAgICAgICBOYW1lKF9DSUQsIDB4MDMwYWQwNDEp
 DQogICAgICAgIE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgTmFtZShfQkJOLCAweDAwKQ0KICAg
 ICAgICBPcGVyYXRpb25SZWdpb24oSEJVUywgUENJX0NvbmZpZywgMHg0MCwgMHhjMCkNCiAgICAg
 ICAgRmllbGQoSEJVUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAg
 IE9mZnNldCgweDUwKSwNCiAgICAgICAgICAgICwJNCwNCiAgICAgICAgICAgIFBNMEgsCTIsDQog
 ICAgICAgICAgICBPZmZzZXQoMHg1MSksDQogICAgICAgICAgICBQTTFMLAkyLA0KICAgICAgICAg
 ICAgLAkyLA0KICAgICAgICAgICAgUE0xSCwJMiwNCiAgICAgICAgICAgIE9mZnNldCgweDUyKSwN
 CiAgICAgICAgICAgIFBNMkwsCTIsDQogICAgICAgICAgICAsCTIsDQogICAgICAgICAgICBQTTJI
 LAkyLA0KICAgICAgICAgICAgT2Zmc2V0KDB4NTMpLA0KICAgICAgICAgICAgUE0zTCwJMiwNCiAg
 ICAgICAgICAgICwJMiwNCiAgICAgICAgICAgIFBNM0gsCTIsDQogICAgICAgICAgICBPZmZzZXQo
 MHg1NCksDQogICAgICAgICAgICBQTTRMLAkyLA0KICAgICAgICAgICAgLAkyLA0KICAgICAgICAg
 ICAgUE00SCwJMiwNCiAgICAgICAgICAgIE9mZnNldCgweDU1KSwNCiAgICAgICAgICAgIFBNNUws
 CTIsDQogICAgICAgICAgICAsCTIsDQogICAgICAgICAgICBQTTVILAkyLA0KICAgICAgICAgICAg
 T2Zmc2V0KDB4NTYpLA0KICAgICAgICAgICAgUE02TCwJMiwNCiAgICAgICAgICAgICwJMiwNCiAg
 ICAgICAgICAgIFBNNkgsCTIsDQogICAgICAgICAgICBPZmZzZXQoMHg1NyksDQogICAgICAgICAg
 ICAsCTcsDQogICAgICAgICAgICBIRU5BLAkxLA0KICAgICAgICAgICAgT2Zmc2V0KDB4NWMpLA0K
 ICAgICAgICAgICAgLAkzLA0KICAgICAgICAgICAgVE9VRCwJNQ0KICAgICAgICB9DQogICAgICAg
 IE5hbWUoQlVGMCwgQnVmZmVyKDB4MDFlZSkgezB4ODgsIDB4ZCwgMHgwLCAweDIsIDB4YywgMHgw
 LCAweDAsIDB4MCwgMHgwLCAweDAsIDB4ZmYsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgxLCAweDg3
 LCAweDE3LCAweDAsIDB4MSwgMHhjLCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAs
 IDB4MCwgMHgwLCAweGY3LCAweGMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4Zjgs
 IDB4YywgMHgwLCAweDAsIDB4NDcsIDB4MSwgMHhmOCwgMHhjLCAweGY4LCAweGMsIDB4MSwgMHg4
 LCAweDg3LCAweDE3LCAweDAsIDB4MSwgMHhjLCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgw
 LCAweGQsIDB4MCwgMHgwLCAweGZmLCAweGZmLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgw
 LCAweDAsIDB4ZjMsIDB4MCwgMHgwLCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhjLCAweDMsIDB4
 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YSwgMHgwLCAweGZmLCAweGZmLCAweGIsIDB4
 MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgyLCAweDAsIDB4ODcsIDB4MTcsIDB4
 MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhjLCAweDAs
 IDB4ZmYsIDB4M2YsIDB4YywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwgMHgw
 LCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgw
 LCAweDAsIDB4NDAsIDB4YywgMHgwLCAweGZmLCAweDdmLCAweGMsIDB4MCwgMHgwLCAweDAsIDB4
 MCwgMHgwLCAweDAsIDB4NDAsIDB4MCwgMHgwLCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhjLCAw
 eDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDgwLCAweGMsIDB4MCwgMHhmZiwgMHhiZiwg
 MHhjLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDQwLCAweDAsIDB4MCwgMHg4Nywg
 MHgxNywgMHgwLCAweDAsIDB4YywgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhjMCwg
 MHhjLCAweDAsIDB4ZmYsIDB4ZmYsIDB4YywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwg
 MHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAs
 IDB4MCwgMHgwLCAweDAsIDB4MCwgMHhkLCAweDAsIDB4ZmYsIDB4M2YsIDB4ZCwgMHgwLCAweDAs
 IDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgw
 LCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4NDAsIDB4ZCwgMHgwLCAweGZm
 LCAweDdmLCAweGQsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4NDAsIDB4MCwgMHgw
 LCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhjLCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgw
 LCAweDgwLCAweGQsIDB4MCwgMHhmZiwgMHhiZiwgMHhkLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4
 MCwgMHgwLCAweDQwLCAweDAsIDB4MCwgMHg4NywgMHgxNywgMHgwLCAweDAsIDB4YywgMHgzLCAw
 eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhjMCwgMHhkLCAweDAsIDB4ZmYsIDB4ZmYsIDB4ZCwg
 MHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcs
 IDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhlLCAw
 eDAsIDB4ZmYsIDB4M2YsIDB4ZSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwg
 MHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwg
 MHgwLCAweDAsIDB4NDAsIDB4ZSwgMHgwLCAweGZmLCAweDdmLCAweGUsIDB4MCwgMHgwLCAweDAs
 IDB4MCwgMHgwLCAweDAsIDB4NDAsIDB4MCwgMHgwLCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhj
 LCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDgwLCAweGUsIDB4MCwgMHhmZiwgMHhi
 ZiwgMHhlLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDQwLCAweDAsIDB4MCwgMHg4
 NywgMHgxNywgMHgwLCAweDAsIDB4YywgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhj
 MCwgMHhlLCAweDAsIDB4ZmYsIDB4ZmYsIDB4ZSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4
 MCwgMHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAw
 eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhmLCAweDAsIDB4ZmYsIDB4ZmYsIDB4ZiwgMHgwLCAw
 eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDEsIDB4MCwgMHg4NywgMHgxNywgMHgwLCAw
 eDAsIDB4YywgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhm
 ZiwgMHhmZiwgMHhiZiwgMHhmZSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAw
 eDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAw
 eDAsIDB4MCwgMHhkNCwgMHhmZSwgMHhmZiwgMHg0ZiwgMHhkNCwgMHhmZSwgMHgwLCAweDAsIDB4
 MCwgMHgwLCAweDAsIDB4NTAsIDB4MCwgMHgwLCAweDc5LCAweDANCiAgICAgICAgLyogUmVzb3Vy
 Y2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgIDB4MDAwMCAgV29yZEJ1cyhSZXNvdXJjZVByb2R1Y2Vy
 LCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgMHgwLCAweDAsIDB4ZmYsIDB4MCwgMHgx
 MDAsIDEzNSwgJxcnKQ0KICAgICAgICAgMHgwMDEwICBEV29yZElPKFJlc291cmNlUHJvZHVjZXIs
 IE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwgMHgwLCAweDAsIDB4
 Y2Y3LCAweDAsIDB4Y2Y4LCA3MSwgJwH4DPgMAQjChxcnLCBUeXBlU3RhdGljLCBEZW5zZVRyYW5z
 bGF0aW9uKQ0KICAgICAgICAgMHgwMDJhICBJTyhEZWNvZGUxNiwgMHhjZjgsIDB4Y2Y4LCAweDEs
 IDB4OCkNCiAgICAgICAgIDB4MDAzMiAgRFdvcmRJTyhSZXNvdXJjZVByb2R1Y2VyLCBNaW5GaXhl
 ZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFuZ2UsIDB4MCwgMHhkMDAsIDB4ZmZmZiwg
 MHgwLCAweGYzMDAsIDEzNSwgJxcnLCBUeXBlU3RhdGljLCBEZW5zZVRyYW5zbGF0aW9uKQ0KICAg
 ICAgICAgMHgwMDRjICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p
 bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhhMDAwMCwgMHhi
 ZmZmZiwgMHgwLCAweDIwMDAwLCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3Rh
 dGljKQ0KICAgICAgICAgMHgwMDY2ICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NE
 ZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhj
 MDAwMCwgMHhjM2ZmZiwgMHgwLCAweDQwMDAsIDEzNSwgJxcnLCBBZGRyZXNzUmFuZ2VNZW1vcnks
 IFR5cGVTdGF0aWMpDQogICAgICAgICAweDAwODAgIERXb3JkTWVtb3J5KFJlc291cmNlUHJvZHVj
 ZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwg
 MHgwLCAweGM0MDAwLCAweGM3ZmZmLCAweDAsIDB4NDAwMCwgMTM1LCAnFycsIEFkZHJlc3NSYW5n
 ZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAgICAgICAgIDB4MDA5YSAgRFdvcmRNZW1vcnkoUmVzb3Vy
 Y2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVh
 ZFdyaXRlLCAweDAsIDB4YzgwMDAsIDB4Y2JmZmYsIDB4MCwgMHg0MDAwLCAxMzUsICcXJywgQWRk
 cmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAgICAgICAgMHgwMGI0ICBEV29yZE1lbW9y
 eShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVh
 YmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhjYzAwMCwgMHhjZmZmZiwgMHgwLCAweDQwMDAsIDEzNSwg
 JxcnLCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpDQogICAgICAgICAweDAwY2UgIERX
 b3JkTWVtb3J5KFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk
 LCBDYWNoZWFibGUsIFJlYWRXcml0ZSwgMHgwLCAweGQwMDAwLCAweGQzZmZmLCAweDAsIDB4NDAw
 MCwgMTM1LCAnFycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAgICAgICAgIDB4
 MDBlOCAgRFdvcmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwg
 TWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLCAweDAsIDB4ZDQwMDAsIDB4ZDdmZmYsIDB4
 MCwgMHg0MDAwLCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAg
 ICAgICAgMHgwMTAyICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p
 bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhkODAwMCwgMHhk
 YmZmZiwgMHgwLCAweDQwMDAsIDEzNSwgJxcnLCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0
 aWMpDQogICAgICAgICAweDAxMWMgIERXb3JkTWVtb3J5KFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl
 Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwgMHgwLCAweGRj
 MDAwLCAweGRmZmZmLCAweDAsIDB4NDAwMCwgMTM1LCAnFycsIEFkZHJlc3NSYW5nZU1lbW9yeSwg
 VHlwZVN0YXRpYykNCiAgICAgICAgIDB4MDEzNiAgRFdvcmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNl
 ciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLCAw
 eDAsIDB4ZTAwMDAsIDB4ZTNmZmYsIDB4MCwgMHg0MDAwLCAxMzUsICcXJywgQWRkcmVzc1Jhbmdl
 TWVtb3J5LCBUeXBlU3RhdGljKQ0KICAgICAgICAgMHgwMTUwICBEV29yZE1lbW9yeShSZXNvdXJj
 ZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFk
 V3JpdGUsIDB4MCwgMHhlNDAwMCwgMHhlN2ZmZiwgMHgwLCAweDQwMDAsIDEzNSwgJxcnLCBBZGRy
 ZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpDQogICAgICAgICAweDAxNmEgIERXb3JkTWVtb3J5
 KFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFi
 bGUsIFJlYWRXcml0ZSwgMHgwLCAweGU4MDAwLCAweGViZmZmLCAweDAsIDB4NDAwMCwgMTM1LCAn
 FycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAgICAgICAgIDB4MDE4NCAgRFdv
 cmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQs
 IENhY2hlYWJsZSwgUmVhZFdyaXRlLCAweDAsIDB4ZWMwMDAsIDB4ZWZmZmYsIDB4MCwgMHg0MDAw
 LCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAgICAgICAgMHgw
 MTllICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBN
 YXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhmMDAwMCwgMHhmZmZmZiwgMHgw
 LCAweDEwMDAwLCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAg
 ICAgICAgMHgwMWI4ICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p
 bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHgwLCAweGZlYmZm
 ZmZmLCAweDAsIDB4MCwgMTM1LCAnFycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykN
 CiAgICAgICAgIDB4MDFkMiAgRFdvcmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2Rl
 LCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLCAweDAsIDB4ZmVkNDAw
 MDAsIDB4ZmVkNDRmZmYsIDB4MCwgMHg1MDAwLCAxMjEsICcnLCBBZGRyZXNzUmFuZ2VNZW1vcnks
 IFR5cGVTdGF0aWMpDQogICAgICAgIH0gKi8NCiAgICAgICAgIH0pDQogICAgICAgIE1ldGhvZChf
 Q1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBJZihQTTFMKSB7DQogICAgICAgICAg
 ICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDdjLCBDMExOKQ0KICAgICAgICAgICAgICAg
 IFN0b3JlKFplcm8sIEMwTE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwo
 UE0xTCwgMHgwMSkpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDAz
 NTgsIEMwUlcpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQzBSVykNCiAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgIElmKFBNMUgpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZp
 ZWxkKEJVRjAsIDB4OTYsIEM0TE4pDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQzRMTikN
 CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVhbChQTTFILCAweDAxKSkgew0KICAg
 ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJVRjAsIDB4MDQyOCwgQzRSVykNCiAgICAgICAg
 ICAgICAgICBTdG9yZShaZXJvLCBDNFJXKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgSWYo
 UE0yTCkgew0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQlVGMCwgMHhiMCwgQzhM
 TikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBDOExOKQ0KICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgSWYoTEVxdWFsKFBNMkwsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgQ3JlYXRl
 Qml0RmllbGQoQlVGMCwgMHgwNGY4LCBDOFJXKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8s
 IEM4UlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTJIKSB7DQogICAgICAgICAg
 ICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweGNhLCBDQ0xOKQ0KICAgICAgICAgICAgICAg
 IFN0b3JlKFplcm8sIENDTE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwo
 UE0ySCwgMHgwMSkpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDA1
 YzgsIENDUlcpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQ0NSVykNCiAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgIElmKFBNM0wpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZp
 ZWxkKEJVRjAsIDB4ZTQsIEQwTE4pDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRDBMTikN
 CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVhbChQTTNMLCAweDAxKSkgew0KICAg
 ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJVRjAsIDB4MDY5OCwgRDBSVykNCiAgICAgICAg
 ICAgICAgICBTdG9yZShaZXJvLCBEMFJXKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgSWYo
 UE0zSCkgew0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQlVGMCwgMHhmZSwgRDRM
 TikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBENExOKQ0KICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgSWYoTEVxdWFsKFBNM0gsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgQ3JlYXRl
 Qml0RmllbGQoQlVGMCwgMHgwNzY4LCBENFJXKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8s
 IEQ0UlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTRMKSB7DQogICAgICAgICAg
 ICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAxMTgsIEQ4TE4pDQogICAgICAgICAgICAg
 ICAgU3RvcmUoWmVybywgRDhMTikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVh
 bChQTTRMLCAweDAxKSkgew0KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJVRjAsIDB4
 MDgzOCwgRDhSVykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBEOFJXKQ0KICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgSWYoUE00SCkgew0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk
 RmllbGQoQlVGMCwgMHgwMTMyLCBEQ0xOKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIERD
 TE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwoUE00SCwgMHgwMSkpIHsN
 CiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDA5MDgsIERDUlcpDQogICAg
 ICAgICAgICAgICAgU3RvcmUoWmVybywgRENSVykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 IElmKFBNNUwpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAsIDB4MDE0
 YywgRTBMTikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFMExOKQ0KICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgSWYoTEVxdWFsKFBNNUwsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAg
 Q3JlYXRlQml0RmllbGQoQlVGMCwgMHgwOWQ4LCBFMFJXKQ0KICAgICAgICAgICAgICAgIFN0b3Jl
 KFplcm8sIEUwUlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTVIKSB7DQogICAg
 ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAxNjYsIEU0TE4pDQogICAgICAg
 ICAgICAgICAgU3RvcmUoWmVybywgRTRMTikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElm
 KExFcXVhbChQTTVILCAweDAxKSkgew0KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJV
 RjAsIDB4MGFhOCwgRTRSVykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFNFJXKQ0KICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgSWYoUE02TCkgew0KICAgICAgICAgICAgICAgIENyZWF0
 ZURXb3JkRmllbGQoQlVGMCwgMHgwMTgwLCBFOExOKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFpl
 cm8sIEU4TE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwoUE02TCwgMHgw
 MSkpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDBiNzgsIEU4Ulcp
 DQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRThSVykNCiAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgIElmKFBNNkgpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAs
 IDB4MDE5YSwgRUNMTikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFQ0xOKQ0KICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgSWYoTEVxdWFsKFBNNkgsIDB4MDEpKSB7DQogICAgICAgICAg
 ICAgICAgQ3JlYXRlQml0RmllbGQoQlVGMCwgMHgwYzQ4LCBFQ1JXKQ0KICAgICAgICAgICAgICAg
 IFN0b3JlKFplcm8sIEVDUlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTBIKSB7
 DQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAxYjQsIEYwTE4pDQog
 ICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRjBMTikNCiAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgIElmKExFcXVhbChQTTBILCAweDAxKSkgew0KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZp
 ZWxkKEJVRjAsIDB4MGQxOCwgRjBSVykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBGMFJX
 KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAx
 YzIsIE0xTU4pDQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAsIDB4MDFjNiwgTTFN
 WCkNCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQlVGMCwgMHgwMWNlLCBNMUxOKQ0KICAg
 ICAgICAgICAgU2hpZnRMZWZ0KFRPVUQsIDB4MWIsIE0xTU4pDQogICAgICAgICAgICBBZGQoU3Vi
 dHJhY3QoTTFNWCwgTTFNTiwgKSwgMHgwMSwgTTFMTikNCiAgICAgICAgICAgIENyZWF0ZURXb3Jk
 RmllbGQoQlVGMCwgMHgwMWRjLCBUUE1OKQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChC
 VUYwLCAweDAxZTAsIFRQTVgpDQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAsIDB4
 MDFlOCwgVFBNTCkNCiAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKFRQTUYsIDB4MDIpKSkgew0K
 ICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFRQTU4pDQogICAgICAgICAgICAgICAgU3RvcmUo
 WmVybywgVFBNWCkNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBUUE1MKQ0KICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgUmV0dXJuKEJVRjApDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9k
 KF9QUlQpIHsNCiAgICAgICAgICAgIElmKEdQSUMpIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4o
 UGFja2FnZSgweDEwKSB7DQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgMHgwMDAxZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAg
 ICAgICAgMHgxMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAg
 UGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJmZmZmLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs
 DQogICAgICAgICAgICAgICAgICAgICAgICAweDEwLA0KICAgICAgICAgICAgICAgICAgICB9LA0K
 ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIDB4MDAwN2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAsDQogICAg
 ICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFiZmZmZiwNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAg
 ICAgICAgICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAg
 ICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWNmZmZmLA0K
 ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4
 MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDE2LA0KICAgICAgICAgICAgICAgICAgICB9
 LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIDB4MDAxY2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTUsDQog
 ICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkg
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFjZmZmZiwNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
 ICAgICAgICAgICAgMHgxNCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAg
 ICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWNmZmZm
 LA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDEzLA0KICAgICAgICAgICAgICAgICAg
 ICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIDB4MDAxZGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTcs
 DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgw
 NCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFkZmZmZiwNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgMHgxNCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAg
 ICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWRm
 ZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDEyLA0KICAgICAgICAgICAgICAg
 ICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAg
 ICAgICAgICAgICAgIDB4MDAxZGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzLA0K
 ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4
 MTAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2Uo
 MHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFlZmZmZiwNCiAgICAgICAgICAg
 ICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgMHgxMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAg
 ICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAw
 MWVmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDExLA0KICAgICAgICAgICAg
 ICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIDB4MDAxZmZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAw
 LA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MTIsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2th
 Z2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFmZmZmZiwNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgMHgxMywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAg
 ICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAg
 ICAgICAgICAgUmV0dXJuKFBhY2thZ2UoMHgxMCkgew0KICAgICAgICAgICAgICAgICAgICBQYWNr
 YWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMWZmZmYsDQogICAgICAg
 ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kw
 LkxQQ0IuTE5LQSwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAg
 ICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgMHgwMDAyZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs
 DQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktBLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAg
 ICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDdm
 ZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIFxfU0IuUENJMC5MUENCLkxOS0EsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0K
 ICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxYmZmZmYsDQogICAgICAgICAgICAgICAg
 ICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5L
 QiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0s
 DQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgMHgwMDFjZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAg
 ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktHLA0KICAgICAgICAgICAgICAgICAg
 ICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAg
 UGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWNmZmZmLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0Iu
 UENJMC5MUENCLkxOS0YsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAg
 ICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIDB4MDAxY2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAw
 eDAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRSwNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAg
 ICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgw
 MDFjZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAg
 ICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktELA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgw
 MCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgw
 eDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWRmZmZmLA0KICAgICAgICAgICAg
 ICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENC
 LkxOS0gsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAg
 ICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIDB4MDAxZGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRSwNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAg
 ICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFkZmZmZiwN
 CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAgICBc
 X1NCLlBDSTAuTFBDQi5MTktDLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAg
 ICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAweDAwMWRmZmZmLA0KICAgICAgICAgICAgICAgICAgICAg
 ICAgMHgwMywNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0EsDQog
 ICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAg
 ICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MDAxZWZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
 ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRywNCiAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2th
 Z2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFlZmZmZiwNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu
 TFBDQi5MTktFLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAg
 ICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAweDAwMWZmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwN
 CiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0MsDQogICAgICAgICAg
 ICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAg
 ICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxZmZm
 ZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAgICAgICAgICAgICAgICAgICAg
 ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQog
 ICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0N
 CiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoTUJJTykgew0KICAgICAgICAgICAgTmFtZShfSElE
 LCAweDAyMGNkMDQxKQ0KICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAgICAgICAgICAg
 ICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE5hbWUoUlNSQywgQnVm
 ZmVyKDB4MDFhNikgezB4NDcsIDB4MSwgMHgxMCwgMHgwLCAweDEwLCAweDAsIDB4MSwgMHgxMCwg
 MHg0NywgMHgxLCAweDI0LCAweDAsIDB4MjQsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHgy
 OCwgMHgwLCAweDI4LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4MmMsIDB4MCwgMHgyYywg
 MHgwLCAweDEsIDB4MiwgMHg0NywgMHgxLCAweDJlLCAweDAsIDB4MmUsIDB4MCwgMHgxLCAweDIs
 IDB4NDcsIDB4MSwgMHgzMCwgMHgwLCAweDMwLCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4
 MzQsIDB4MCwgMHgzNCwgMHgwLCAweDEsIDB4MiwgMHg0NywgMHgxLCAweDM4LCAweDAsIDB4Mzgs
 IDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHgzYywgMHgwLCAweDNjLCAweDAsIDB4MSwgMHgy
 LCAweDQ3LCAweDEsIDB4NTAsIDB4MCwgMHg1MCwgMHgwLCAweDEsIDB4NCwgMHg0NywgMHgxLCAw
 eDcyLCAweDAsIDB4NzIsIDB4MCwgMHgxLCAweDYsIDB4NDcsIDB4MSwgMHg4MCwgMHgwLCAweDgw
 LCAweDAsIDB4MSwgMHgxLCAweDQ3LCAweDEsIDB4OTAsIDB4MCwgMHg5MCwgMHgwLCAweDEsIDB4
 MTAsIDB4NDcsIDB4MSwgMHhhNCwgMHgwLCAweGE0LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEs
 IDB4YTgsIDB4MCwgMHhhOCwgMHgwLCAweDEsIDB4MiwgMHg0NywgMHgxLCAweGFjLCAweDAsIDB4
 YWMsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHhiMCwgMHgwLCAweGIwLCAweDAsIDB4MSwg
 MHgyLCAweDQ3LCAweDEsIDB4YjIsIDB4MCwgMHhiMiwgMHgwLCAweDEsIDB4MiwgMHg0NywgMHgx
 LCAweGI0LCAweDAsIDB4YjQsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHhiOCwgMHgwLCAw
 eGI4LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4YmMsIDB4MCwgMHhiYywgMHgwLCAweDEs
 IDB4MiwgMHg0NywgMHgxLCAweGQwLCAweDQsIDB4ZDAsIDB4NCwgMHgxLCAweDIsIDB4NDcsIDB4
 MSwgMHgwLCAweDgsIDB4MCwgMHg4LCAweDEsIDB4MTAsIDB4NDcsIDB4MSwgMHgwLCAweDEwLCAw
 eDAsIDB4MTAsIDB4MSwgMHg4MCwgMHg0NywgMHgxLCAweDgwLCAweDEwLCAweDgwLCAweDEwLCAw
 eDEsIDB4ODAsIDB4NDcsIDB4MSwgMHgwLCAweDExLCAweDAsIDB4MTEsIDB4MSwgMHgyMCwgMHg0
 NywgMHgxLCAweDgwLCAweDExLCAweDgwLCAweDExLCAweDEsIDB4NDAsIDB4NDcsIDB4MSwgMHgw
 LCAweGY4LCAweDAsIDB4ZjgsIDB4MSwgMHg4MCwgMHg0NywgMHgxLCAweDgwLCAweGY4LCAweDgw
 LCAweGY4LCAweDEsIDB4ODAsIDB4NDcsIDB4MSwgMHgwLCAweGZjLCAweDAsIDB4ZmMsIDB4MSwg
 MHg4MCwgMHg0NywgMHgxLCAweDgwLCAweGZjLCAweDgwLCAweGZjLCAweDEsIDB4ODAsIDB4NDcs
 IDB4MSwgMHhjLCAweGZkLCAweGMsIDB4ZmQsIDB4MSwgMHg2NCwgMHg0NywgMHgxLCAweDAsIDB4
 ZmUsIDB4MCwgMHhmZSwgMHgxLCAweDIsIDB4ODYsIDB4OSwgMHgwLCAweDEsIDB4MCwgMHgwLCAw
 eDAsIDB4ZjgsIDB4MCwgMHgwLCAweDAsIDB4NCwgMHg4NiwgMHg5LCAweDAsIDB4MSwgMHgwLCAw
 eDQwLCAweGQxLCAweGZlLCAweDAsIDB4NDAsIDB4MCwgMHgwLCAweDg2LCAweDksIDB4MCwgMHgx
 LCAweDAsIDB4ODAsIDB4ZDEsIDB4ZmUsIDB4MCwgMHgxMCwgMHgwLCAweDAsIDB4ODYsIDB4OSwg
 MHgwLCAweDEsIDB4MCwgMHg5MCwgMHhkMSwgMHhmZSwgMHgwLCAweDEwLCAweDAsIDB4MCwgMHg4
 NiwgMHg5LCAweDAsIDB4MSwgMHgwLCAweGMwLCAweGQxLCAweGZlLCAweDAsIDB4NDAsIDB4MCwg
 MHgwLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwgMHhkMiwgMHhmZSwgMHgwLCAweDAs
 IDB4MiwgMHgwLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4NTAsIDB4ZDQsIDB4ZmUsIDB4
 MCwgMHhiMCwgMHg0LCAweDAsIDB4ODYsIDB4OSwgMHgwLCAweDEsIDB4MCwgMHgwLCAweGMwLCAw
 eGZlLCAweDAsIDB4MTAsIDB4MCwgMHgwLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwg
 MHhlMCwgMHhmZSwgMHgwLCAweDEwLCAweDAsIDB4MCwgMHg4NiwgMHg5LCAweDAsIDB4MSwgMHgw
 LCAweDAsIDB4ZjAsIDB4ZmUsIDB4MCwgMHgwLCAweDEwLCAweDAsIDB4ODYsIDB4OSwgMHgwLCAw
 eDEsIDB4MCwgMHhmMCwgMHhjLCAweDAsIDB4MCwgMHgxMCwgMHgwLCAweDAsIDB4ODYsIDB4OSwg
 MHgwLCAweDEsIDB4MCwgMHgwLCAweGIwLCAweGZmLCAweDAsIDB4MCwgMHgxMCwgMHgwLCAweDg2
 LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwgMHhkNCwgMHhmZSwgMHgwLCAweDUwLCAweDAsIDB4
 MCwgMHg3OSwgMHgwDQogICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAg
 ICAgICAgIDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4MTAsIDB4MTAsIDB4MSwgMHgxMCkNCiAgICAg
 ICAgICAgICAweDAwMDggIElPKERlY29kZTE2LCAweDI0LCAweDI0LCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwMTAgIElPKERlY29kZTE2LCAweDI4LCAweDI4LCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwMTggIElPKERlY29kZTE2LCAweDJjLCAweDJjLCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwMjAgIElPKERlY29kZTE2LCAweDJlLCAweDJlLCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwMjggIElPKERlY29kZTE2LCAweDMwLCAweDMwLCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwMzAgIElPKERlY29kZTE2LCAweDM0LCAweDM0LCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwMzggIElPKERlY29kZTE2LCAweDM4LCAweDM4LCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwNDAgIElPKERlY29kZTE2LCAweDNjLCAweDNjLCAweDEsIDB4MikNCiAgICAg
 ICAgICAgICAweDAwNDggIElPKERlY29kZTE2LCAweDUwLCAweDUwLCAweDEsIDB4NCkNCiAgICAg
 ICAgICAgICAweDAwNTAgIElPKERlY29kZTE2LCAweDcyLCAweDcyLCAweDEsIDB4NikNCiAgICAg
 ICAgICAgICAweDAwNTggIElPKERlY29kZTE2LCAweDgwLCAweDgwLCAweDEsIDB4MSkNCiAgICAg
 ICAgICAgICAweDAwNjAgIElPKERlY29kZTE2LCAweDkwLCAweDkwLCAweDEsIDB4MTApDQogICAg
 ICAgICAgICAgMHgwMDY4ICBJTyhEZWNvZGUxNiwgMHhhNCwgMHhhNCwgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMDcwICBJTyhEZWNvZGUxNiwgMHhhOCwgMHhhOCwgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMDc4ICBJTyhEZWNvZGUxNiwgMHhhYywgMHhhYywgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMDgwICBJTyhEZWNvZGUxNiwgMHhiMCwgMHhiMCwgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMDg4ICBJTyhEZWNvZGUxNiwgMHhiMiwgMHhiMiwgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMDkwICBJTyhEZWNvZGUxNiwgMHhiNCwgMHhiNCwgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMDk4ICBJTyhEZWNvZGUxNiwgMHhiOCwgMHhiOCwgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMGEwICBJTyhEZWNvZGUxNiwgMHhiYywgMHhiYywgMHgxLCAweDIpDQogICAg
 ICAgICAgICAgMHgwMGE4ICBJTyhEZWNvZGUxNiwgMHg0ZDAsIDB4NGQwLCAweDEsIDB4MikNCiAg
 ICAgICAgICAgICAweDAwYjAgIElPKERlY29kZTE2LCAweDgwMCwgMHg4MDAsIDB4MSwgMHgxMCkN
 CiAgICAgICAgICAgICAweDAwYjggIElPKERlY29kZTE2LCAweDEwMDAsIDB4MTAwMCwgMHgxLCAw
 eDgwKQ0KICAgICAgICAgICAgIDB4MDBjMCAgSU8oRGVjb2RlMTYsIDB4MTA4MCwgMHgxMDgwLCAw
 eDEsIDB4ODApDQogICAgICAgICAgICAgMHgwMGM4ICBJTyhEZWNvZGUxNiwgMHgxMTAwLCAweDEx
 MDAsIDB4MSwgMHgyMCkNCiAgICAgICAgICAgICAweDAwZDAgIElPKERlY29kZTE2LCAweDExODAs
 IDB4MTE4MCwgMHgxLCAweDQwKQ0KICAgICAgICAgICAgIDB4MDBkOCAgSU8oRGVjb2RlMTYsIDB4
 ZjgwMCwgMHhmODAwLCAweDEsIDB4ODApDQogICAgICAgICAgICAgMHgwMGUwICBJTyhEZWNvZGUx
 NiwgMHhmODgwLCAweGY4ODAsIDB4MSwgMHg4MCkNCiAgICAgICAgICAgICAweDAwZTggIElPKERl
 Y29kZTE2LCAweGZjMDAsIDB4ZmMwMCwgMHgxLCAweDgwKQ0KICAgICAgICAgICAgIDB4MDBmMCAg
 SU8oRGVjb2RlMTYsIDB4ZmM4MCwgMHhmYzgwLCAweDEsIDB4ODApDQogICAgICAgICAgICAgMHgw
 MGY4ICBJTyhEZWNvZGUxNiwgMHhmZDBjLCAweGZkMGMsIDB4MSwgMHg2NCkNCiAgICAgICAgICAg
 ICAweDAxMDAgIElPKERlY29kZTE2LCAweGZlMDAsIDB4ZmUwMCwgMHgxLCAweDIpDQogICAgICAg
 ICAgICAgMHgwMTA4ICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhmODAwMDAwMCwgMHg0MDAw
 MDAwKQ0KICAgICAgICAgICAgIDB4MDExNCAgTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4ZmVk
 MTQwMDAsIDB4NDAwMCkNCiAgICAgICAgICAgICAweDAxMjAgIE1lbW9yeTMyRml4ZWQoUmVhZFdy
 aXRlLCAweGZlZDE4MDAwLCAweDEwMDApDQogICAgICAgICAgICAgMHgwMTJjICBNZW1vcnkzMkZp
 eGVkKFJlYWRXcml0ZSwgMHhmZWQxOTAwMCwgMHgxMDAwKQ0KICAgICAgICAgICAgIDB4MDEzOCAg
 TWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4ZmVkMWMwMDAsIDB4NDAwMCkNCiAgICAgICAgICAg
 ICAweDAxNDQgIE1lbW9yeTMyRml4ZWQoUmVhZFdyaXRlLCAweGZlZDIwMDAwLCAweDIwMDAwKQ0K
 ICAgICAgICAgICAgIDB4MDE1MCAgTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4ZmVkNDUwMDAs
 IDB4NGIwMDApDQogICAgICAgICAgICAgMHgwMTVjICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwg
 MHhmZWMwMDAwMCwgMHgxMDAwKQ0KICAgICAgICAgICAgIDB4MDE2OCAgTWVtb3J5MzJGaXhlZChS
 ZWFkV3JpdGUsIDB4ZmVlMDAwMDAsIDB4MTAwMCkNCiAgICAgICAgICAgICAweDAxNzQgIE1lbW9y
 eTMyRml4ZWQoUmVhZFdyaXRlLCAweGZlZjAwMDAwLCAweDEwMDAwMCkNCiAgICAgICAgICAgICAw
 eDAxODAgIE1lbW9yeTMyRml4ZWQoUmVhZFdyaXRlLCAweDAwMGNmMDAwLCAweDEwMDApDQogICAg
 ICAgICAgICAgMHgwMThjICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhmZmIwMDAwMCwgMHgx
 MDAwMDApDQogICAgICAgICAgICAgMHgwMTk4ICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhm
 ZWQ0MDAwMCwgMHg1MDAwKQ0KICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgIH0pDQogICAg
 ICAgICAgICBNZXRob2QoX0NSUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgIENy
 ZWF0ZURXb3JkRmllbGQoUlNSQywgMHgwMTg0LCBNQkJTKQ0KICAgICAgICAgICAgICAgIENyZWF0
 ZURXb3JkRmllbGQoUlNSQywgMHgwMTg4LCBNQkxOKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURX
 b3JkRmllbGQoUlNSQywgMHgwMTkwLCBGV0JTKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk
 RmllbGQoUlNSQywgMHgwMTk0LCBGV0xOKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll
 bGQoUlNSQywgMHgwMTljLCBUUE1CKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQo
 UlNSQywgMHgwMWEwLCBUUE1MKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFVNU1QsIE1CQlMpDQog
 ICAgICAgICAgICAgICAgU3RvcmUoVU1TWiwgTUJMTikNCiAgICAgICAgICAgICAgICBJZihGV0hN
 KSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEZXQlMpDQogICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKFplcm8sIEZXTE4pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgIElmKExFcXVhbChUUE1GLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSha
 ZXJvLCBUUE1CKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBUUE1MKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBSZXR1cm4oUlNSQykNCiAgICAgICAgICAgIH0N
 CiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoR0ZYMCkgew0KICAgICAgICAgICAgTmFtZShfQURS
 LCAweDAwMDIwMDAwKQ0KICAgICAgICAgICAgTWV0aG9kKFhMQ0QpIHsNCiAgICAgICAgICAgICAg
 ICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0aG9kKFhDUlQpIHsN
 CiAgICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 TWV0aG9kKFhUVikgew0KICAgICAgICAgICAgICAgIFJldHVybihYT3IoU09VVCwgT25lLCApKQ0K
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0aG9kKFhEVkkpIHsNCiAgICAgICAgICAgICAg
 ICBSZXR1cm4oWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAg
 ICAgICAgICAgICAgICBOYW1lKFdMQ0QsIFplcm8pDQogICAgICAgICAgICAgICAgTmFtZShXQ1JU
 LCBaZXJvKQ0KICAgICAgICAgICAgICAgIE5hbWUoV1RWLCBaZXJvKQ0KICAgICAgICAgICAgICAg
 IE5hbWUoV0RWSSwgWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChQSFRL
 KSB7DQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRFNXRikNCiAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgIE5hbWUoRjEwVCwgUGFja2FnZSgweDBhKSB7DQogICAgICAgICAgICAgICAgMHgw
 MSwNCiAgICAgICAgICAgICAgICAweDAyLA0KICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAg
 ICAgICAgICAgMHgwNCwNCiAgICAgICAgICAgICAgICAweDA1LA0KICAgICAgICAgICAgICAgIDB4
 MDEsDQogICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAgICAgICAweDAzLA0KICAgICAg
 ICAgICAgICAgIDB4MDQsDQogICAgICAgICAgICAgICAgMHgwNSwNCiAgICAgICAgICAgIH0pDQog
 ICAgICAgICAgICBNZXRob2QoQUhUSykgew0KICAgICAgICAgICAgICAgIElmKExBbmQoTEVxdWFs
 KEFuZChBRE9TLCAweDAzLCApLCBaZXJvKSwgRFNXRikpIHsNCiAgICAgICAgICAgICAgICAgICAg
 VVBERCgpDQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChEU1dGLCAweDAxKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgT3IoU2hpZnRMZWZ0KENEVkksIDB4MDIsICksIE9yKFNoaWZ0
 TGVmdChDQ1JULCAweDAxLCApLCBDTENELCApLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg
 ICAgICBPcihTaGlmdExlZnQoQURWSSwgMHgwMiwgKSwgT3IoU2hpZnRMZWZ0KEFDUlQsIDB4MDEs
 ICksIEFMQ0QsICksIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8s
 IExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4ZmYsIExvY2FsMykNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIFdoaWxlKExBbmQoTExlc3MoTG9jYWwyLCAweDBhKSwgTEVx
 dWFsKExvY2FsMywgMHhmZikpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVx
 dWFsKERlcmVmT2YoSW5kZXgoRjEwVCwgTG9jYWwyLCApKSwgTG9jYWwwKSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKENUViwgQVRWKSkgew0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwyLCBMb2NhbDMpDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQoTG9jYWwyLCAw
 eDAxLCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVt
 ZW50KExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKDB4ZmYsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExO
 b3QoTEVxdWFsKExvY2FsMywgMHhmZikpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 V2hpbGUoTEFuZChMTGVzcyhMb2NhbDMsIDB4MGEpLCBMRXF1YWwoTG9jYWwyLCAweGZmKSkpIHsN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFuZChEZXJlZk9mKElu
 ZGV4KEYxMFQsIExvY2FsMywgKSksIExvY2FsMSwgKSwgRGVyZWZPZihJbmRleChGMTBULCBMb2Nh
 bDMsICkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoRGVy
 ZWZPZihJbmRleChGMTBULCBMb2NhbDMsICkpLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50
 KExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoTG9jYWwyLCAweGZm
 KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFMQ0QpIHsNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgTG9jYWwyKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoQUNSVCkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoQURWSSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDQsIExvY2FsMikNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKDB4MDIsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgIEFuZChMb2NhbDIsIDB4MDEsIFdMQ0QpDQogICAgICAgICAgICAgICAgICAgICAg
 ICBTaGlmdFJpZ2h0KEFuZChMb2NhbDIsIDB4MDIsICksIDB4MDEsIFdDUlQpDQogICAgICAgICAg
 ICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFuZChMb2NhbDIsIDB4MDQsICksIDB4MDIsIFdEVkkp
 DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBXVFYpDQogICAgICAgICAgICAg
 ICAgICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLkdGWDAsIDB4ODApDQogICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICBJZihMRXF1YWwoRFNXRiwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
 bmQoQ0xDRCwgQUxDRCwgV0xDRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoQ0NS
 VCwgQUNSVCwgV0NSVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoQ0RWSSwgQURW
 SSwgV0RWSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoWE9yKENUViwgMHgwMSwg
 KSwgQVRWLCBXVFYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE9yKExPcihXVFYs
 IFdEVkkpLCBMT3IoV0NSVCwgV0xDRCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIElmKExBbmQoTEFuZChXTENELCBXQ1JUKSwgV1RWKSkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgV0NSVCkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExB
 bmQoV0xDRCwgV0RWSSksIFdUVikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKFplcm8sIFdEVkkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMQW5kKFdDUlQsIFdEVkkp
 LCBXVFYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJv
 LCBXRFZJKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIE5vdGlmeShcX1NCLlBDSTAuR0ZYMCwgMHg4MCkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAg
 ICAgICBNZXRob2QoVVBERCkgew0KICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5P
 U1RQKCksIDB4MDgpKSkgew0KICAgICAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLCAw
 eDAwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
 ICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5HRlgwLCAweDAwKQ0KICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICBTbGVlcCgweDAyZWUpDQogICAgICAgICAgICAgICAgU3RvcmUo
 MHhmZiwgRFZJRCkNCiAgICAgICAgICAgICAgICBTdG9yZSgweDhlLCBDTUQpDQogICAgICAgICAg
 ICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
 ZChfRE9TLCAxKSB7DQogICAgICAgICAgICAgICAgQW5kKEFyZzAsIDB4MDcsIEFET1MpDQogICAg
 ICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoX0RPRCkgew0KICAgICAgICAgICAgICAgIFJl
 dHVybihQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDEwMCwNCiAg
 ICAgICAgICAgICAgICAgICAgMHgwMDAxMDExMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAx
 MDIwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDMwMCwNCiAgICAgICAgICAgICAgICB9
 KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKENSVCkgew0KICAgICAgICAgICAg
 ICAgIE1ldGhvZChfQURSKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybigweDAxMDApDQog
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfRENTKSB7DQogICAgICAg
 ICAgICAgICAgICAgIElmKFhDUlQoKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgVVBERCgp
 DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oT3IoMHgwZCwgT3IoU2hpZnRMZWZ0KEFD
 UlQsIDB4MDQsICksIFNoaWZ0TGVmdChDQ1JULCAweDAxLCApLCApLCApKQ0KICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgUmV0dXJuKFplcm8pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9ER1MpIHsNCiAgICAgICAgICAgICAgICAgICAg
 UmV0dXJuKFdDUlQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChf
 RFNTLCAxKSB7DQogICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoTENEKSB7DQogICAgICAgICAgICAgICAg
 TWV0aG9kKF9BRFIpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDExMCkNCiAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9EQ1MpIHsNCiAgICAgICAgICAg
 ICAgICAgICAgSWYoWExDRCgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBVUEREKCkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIFJldHVybihPcigweDBkLCBPcihTaGlmdExlZnQoQUxDRCwg
 MHgwNCwgKSwgU2hpZnRMZWZ0KENMQ0QsIDB4MDEsICksICksICkpDQogICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICBSZXR1cm4oWmVybykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICBNZXRob2QoX0RHUykgew0KICAgICAgICAgICAgICAgICAgICBSZXR1
 cm4oV0xDRCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9EU1Ms
 IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgTm9vcA0KICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShUVikgew0KICAgICAgICAgICAgICAgIE1ldGhv
 ZChfQURSKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybigweDAyMDApDQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfRENTKSB7DQogICAgICAgICAgICAgICAg
 ICAgIElmKFhUVigpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBVUEREKCkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIFJldHVybihPcigweDBkLCBPcihTaGlmdExlZnQoQVRWLCAweDA0LCAp
 LCBTaGlmdExlZnQoQ1RWLCAweDAxLCApLCApLCApKQ0KICAgICAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu
 KFplcm8pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgTWV0aG9kKF9ER1MpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFdUVikN
 CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9EU1MsIDEpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgTm9vcA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgIERldmljZShEVkkpIHsNCiAgICAgICAgICAgICAgICBNZXRob2QoX0FEUikg
 ew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwMzAwKQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICBNZXRob2QoX0RDUykgew0KICAgICAgICAgICAgICAgICAgICBJZihY
 RFZJKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFVQREQoKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgUmV0dXJuKE9yKDB4MGQsIE9yKFNoaWZ0TGVmdChBRFZJLCAweDA0LCApLCBTaGlm
 dExlZnQoQ0RWSSwgMHgwMSwgKSwgKSwgKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihaZXJv
 KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgIE1ldGhvZChfREdTKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihXRFZJKQ0KICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX0RTUywgMSkgew0KICAgICAg
 ICAgICAgICAgICAgICBOb29wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgU2NvcGUoTENEKSB7DQogICAgICAgICAgICAgICAgTWV0aG9kKF9QUzApIHsNCiAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgTElEUykNCiAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICAgICAgTWV0aG9kKF9QUzMpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 MHgwMSwgTElEUykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9C
 Q0wpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChMTGVzcyhcX1NCLk9TVFAoKSwgMHg0
 MCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDBhKSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NCwNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAweDJiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgMHgwZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFk
 LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MmIsDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgMHgzOSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ3LA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIDB4NTUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 MHg2NCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1
 cm4oUGFja2FnZSgweDBhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NCwNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAweDJjLA0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCwNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAweDFlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MmMs
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzYSwNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAweDQ4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTYsDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgMHg2NCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQog
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 TWV0aG9kKF9CQ00sIDEpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExMZXNz
 KEFyZzAsIDB4MDApKSwgTE5vdChMR3JlYXRlcihBcmcwLCAweDY0KSkpKSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5GSkVYLlNCTEwoRGl2aWRlKEFyZzAsIDB4MGUs
 ICwgKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoUENJQikgew0KICAgICAgICAgICAgTmFt
 ZShfQURSLCAweDAwMWUwMDAwKQ0KICAgICAgICAgICAgTWV0aG9kKF9QUlQpIHsNCiAgICAgICAg
 ICAgICAgICBJZihHUElDKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKDB4
 MDIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIDB4MDAwM2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIDB4MTAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgMHgwMDAzZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAg
 IH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAg
 ICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDAyKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDNmZmZm
 LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwM2Zm
 ZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLA0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAg
 ICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
 ZChfSU5JKSB7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBOYW1lKF9QUlcsIFBhY2thZ2Uo
 MHgwMikgew0KICAgICAgICAgICAgICAgIDB4MGIsDQogICAgICAgICAgICAgICAgMHgwNCwNCiAg
 ICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKExQQ0IpIHsNCiAgICAgICAg
 ICAgIE5hbWUoX0FEUiwgMHgwMDFmMDAwMCkNCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbihM
 UEMwLCBQQ0lfQ29uZmlnLCAweDQwLCAweGMwKQ0KICAgICAgICAgICAgRmllbGQoTFBDMCwgQW55
 QWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjApLA0K
 ICAgICAgICAgICAgICAgIFBBUkMsCTgsDQogICAgICAgICAgICAgICAgUEJSQywJOCwNCiAgICAg
 ICAgICAgICAgICBQQ1JDLAk4LA0KICAgICAgICAgICAgICAgIFBEUkMsCTgsDQogICAgICAgICAg
 ICAgICAgT2Zmc2V0KDB4MjgpLA0KICAgICAgICAgICAgICAgIFBFUkMsCTgsDQogICAgICAgICAg
 ICAgICAgUEZSQywJOCwNCiAgICAgICAgICAgICAgICBQR1JDLAk4LA0KICAgICAgICAgICAgICAg
 IFBIUkMsCTgsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4NDApLA0KICAgICAgICAgICAgICAg
 IElPRDAsCTgsDQogICAgICAgICAgICAgICAgSU9EMSwJOCwNCiAgICAgICAgICAgICAgICBDQUVO
 LAkxDQogICAgICAgICAgICB9DQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24oU0lPLCBTeXN0
 ZW1JTywgMHgyZSwgMHgwMikNCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbihGSklPLCBTeXN0
 ZW1JTywgMHhmZDYwLCAweDE3KQ0KICAgICAgICAgICAgU2NvcGUoXCkgew0KICAgICAgICAgICAg
 ICAgIEZpZWxkKFxfU0IuUENJMC5MUENCLkZKSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp
 IHsNCiAgICAgICAgICAgICAgICAgICAgQUlEQywJOCwNCiAgICAgICAgICAgICAgICAgICAgQURU
 QywJOCwNCiAgICAgICAgICAgICAgICAgICAgQUlEQiwJOCwNCiAgICAgICAgICAgICAgICAgICAg
 QURUQiwJOCwNCiAgICAgICAgICAgICAgICAgICAgQUlEQSwJOCwNCiAgICAgICAgICAgICAgICAg
 ICAgQURUQSwJOCwNCiAgICAgICAgICAgICAgICAgICAgQUlERCwJOCwNCiAgICAgICAgICAgICAg
 ICAgICAgQURURCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MTApLA0KICAgICAg
 ICAgICAgICAgICAgICBQTUlELAk4LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgxMiks
 DQogICAgICAgICAgICAgICAgICAgIFBNRFIsCTgsDQogICAgICAgICAgICAgICAgICAgIE9mZnNl
 dCgweDE0KSwNCiAgICAgICAgICAgICAgICAgICAgUE1EVCwJOCwNCiAgICAgICAgICAgICAgICAg
 ICAgT2Zmc2V0KDB4MTYpLA0KICAgICAgICAgICAgICAgICAgICBQTUNSLAk4DQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKFBNSU8s
 IFN5c3RlbUlPLCAweDEwMDAsIDB4ODApDQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24oT0dJ
 TywgU3lzdGVtSU8sIDB4MTE4MCwgMHgzYykNCiAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAgICAg
 ICAgICAgICAgICBGaWVsZChcX1NCLlBDSTAuTFBDQi5QTUlPLCBCeXRlQWNjLCBOb0xvY2ssIFBy
 ZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDQyKSwNCiAgICAgICAgICAg
 ICAgICAgICAgLAkxLA0KICAgICAgICAgICAgICAgICAgICBHUEVDLAkxDQogICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIEZpZWxkKFxfU0IuUENJMC5MUENCLk9HSU8sIEJ5dGVBY2Ms
 IE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MmMpLA0K
 ICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgyZCksDQogICAgICAgICAgICAgICAgICAgIExQ
 T0wsCTEsDQogICAgICAgICAgICAgICAgICAgICwJNCwNCiAgICAgICAgICAgICAgICAgICAgRVhQ
 TCwJMSwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MzgpLA0KICAgICAgICAgICAgICAg
 ICAgICAsCTEsDQogICAgICAgICAgICAgICAgICAgIFBYUlMsCTEsDQogICAgICAgICAgICAgICAg
 ICAgIFBYQ0wsCTENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg
 ICBPcGVyYXRpb25SZWdpb24oT1BJTywgU3lzdGVtSU8sIDB4MTAwMCwgMHg2NykNCiAgICAgICAg
 ICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICBGaWVsZChcX1NCLlBDSTAuTFBDQi5PUElP
 LCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNl
 dCgweDEwKSwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MTEpLA0KICAgICAgICAgICAg
 ICAgICAgICBGT0NULAkxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgTWV0aG9kKF9JTkkpIHsNCiAgICAgICAgICAgICAgICBcX1NCLk9TVFAoKQ0KICAgICAg
 ICAgICAgICAgIFxfU0IuUENJMC5MUENCLkNNQlQuU1dDRigpDQogICAgICAgICAgICAgICAgQUlO
 SSgpDQogICAgICAgICAgICAgICAgSWYoUlBDUCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9y
 ZShPbmUsIFJQRU4pDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKEIyVEMsIFJQRFMpDQogICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCks
 IDB4NDApKSkgew0KICAgICAgICAgICAgICAgICAgICBPcihSR1NJLCAweDAxLCBSR1NJKQ0KICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAg
 ICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJREEsIEFEVEEsIEJ5dGVBY2MsIE5vTG9jaywgUHJl
 c2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4OSksDQogICAgICAgICAgICAg
 ICAgICAgIFJJMU0sCTEsDQogICAgICAgICAgICAgICAgICAgIFJJMk0sCTEsDQogICAgICAgICAg
 ICAgICAgICAgIFJJM00sCTEsDQogICAgICAgICAgICAgICAgICAgIFJJNE0sCTEsDQogICAgICAg
 ICAgICAgICAgICAgIFJJMSwJMSwNCiAgICAgICAgICAgICAgICAgICAgUkkyLAkxLA0KICAgICAg
 ICAgICAgICAgICAgICBSSTMsCTEsDQogICAgICAgICAgICAgICAgICAgIFJJNCwJMSwNCiAgICAg
 ICAgICAgICAgICAgICAgLAkyLA0KICAgICAgICAgICAgICAgICAgICBDVkNMLAkxLA0KICAgICAg
 ICAgICAgICAgICAgICAsCTMsDQogICAgICAgICAgICAgICAgICAgIEJMQ1QsCTIsDQogICAgICAg
 ICAgICAgICAgICAgIE9mZnNldCgweDIwKSwNCiAgICAgICAgICAgICAgICAgICAgRzVQMCwJOCwN
 CiAgICAgICAgICAgICAgICAgICAgRzVDMCwJOCwNCiAgICAgICAgICAgICAgICAgICAgRzNQMCwJ
 OCwNCiAgICAgICAgICAgICAgICAgICAgRzNDMCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zm
 c2V0KDB4NDApLA0KICAgICAgICAgICAgICAgICAgICBTU0YwLAk4LA0KICAgICAgICAgICAgICAg
 ICAgICBTU0YxLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU00wLAk4LA0KICAgICAgICAgICAg
 ICAgICAgICBTU00xLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU0kwLAk4LA0KICAgICAgICAg
 ICAgICAgICAgICBTU1RNLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU0YyLAk4LA0KICAgICAg
 ICAgICAgICAgICAgICBTU00yLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU0kxLAk4LA0KICAg
 ICAgICAgICAgICAgICAgICBPZmZzZXQoMHg1MiksDQogICAgICAgICAgICAgICAgICAgIEczUDEs
 CTgsDQogICAgICAgICAgICAgICAgICAgIEczQzEsCTgsDQogICAgICAgICAgICAgICAgICAgIEcz
 UDIsCTgsDQogICAgICAgICAgICAgICAgICAgIEczQzIsCTgsDQogICAgICAgICAgICAgICAgICAg
 IFFTV0MsCTgsDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDYwKSwNCiAgICAgICAgICAg
 ICAgICAgICAgU1NTMCwJOCwNCiAgICAgICAgICAgICAgICAgICAgU1NTMSwJOA0KICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJREIsIEFEVEIsIEJ5dGVBY2Ms
 IE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjkpLA0K
 ICAgICAgICAgICAgICAgICAgICBCUkNMLAk4LA0KICAgICAgICAgICAgICAgICAgICBMQ0RCLAk4
 LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgzMCksDQogICAgICAgICAgICAgICAgICAg
 IExDREMsCTgNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgSW5kZXhGaWVsZChB
 SURDLCBBRFRDLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAg
 ICAgIFRBU0YsCTEsDQogICAgICAgICAgICAgICAgICAgIFRCU0YsCTEsDQogICAgICAgICAgICAg
 ICAgICAgIEIxU1UsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxU0QsCTEsDQogICAgICAgICAg
 ICAgICAgICAgIEIyU1UsCTEsDQogICAgICAgICAgICAgICAgICAgIEIyU0QsCTEsDQogICAgICAg
 ICAgICAgICAgICAgIE9mZnNldCgweDIpLA0KICAgICAgICAgICAgICAgICAgICAsCTQsDQogICAg
 ICAgICAgICAgICAgICAgIFZTVEIsCTEsDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDUp
 LA0KICAgICAgICAgICAgICAgICAgICAsCTYsDQogICAgICAgICAgICAgICAgICAgIEFDUFcsCTEs
 DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDIwKSwNCiAgICAgICAgICAgICAgICAgICAg
 QkNUTCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjMpLA0KICAgICAgICAgICAg
 ICAgICAgICBUQUYsCTEsDQogICAgICAgICAgICAgICAgICAgIFRBU00sCTEsDQogICAgICAgICAg
 ICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICAgICAgVEJGLAkxLA0KICAgICAgICAgICAg
 ICAgICAgICBUQlNNLAkxLA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgyNCksDQogICAg
 ICAgICAgICAgICAgICAgIFRJTUEsCTgsDQogICAgICAgICAgICAgICAgICAgIFRJTUIsCTgsDQog
 ICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDI4KSwNCiAgICAgICAgICAgICAgICAgICAgQ0RM
 UCwJOCwNCiAgICAgICAgICAgICAgICAgICAgSERMUCwJOCwNCiAgICAgICAgICAgICAgICAgICAg
 RkRMUCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4NGUpLA0KICAgICAgICAgICAg
 ICAgICAgICBCMVVNLAkxLA0KICAgICAgICAgICAgICAgICAgICBCMURNLAkxLA0KICAgICAgICAg
 ICAgICAgICAgICAsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxVEMsCTEsDQogICAgICAgICAg
 ICAgICAgICAgIEIyVU0sCTEsDQogICAgICAgICAgICAgICAgICAgIEIyRE0sCTEsDQogICAgICAg
 ICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICAgICAgQjJUQywJMSwNCiAgICAgICAg
 ICAgICAgICAgICAgQkFQQywJNg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJ
 bmRleEZpZWxkKEFJREMsIEFEVEMsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgU1RBRSwJOA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICBJbmRleEZpZWxkKEFJREQsIEFEVEQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4ODApLA0KICAgICAgICAgICAgICAgICAgICBHSURJ
 LAk4LA0KICAgICAgICAgICAgICAgICAgICBHSURDLAk4LA0KICAgICAgICAgICAgICAgICAgICBH
 SURPLAk4LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHg5MCksDQogICAgICAgICAgICAg
 ICAgICAgIEczU0ksCTgsDQogICAgICAgICAgICAgICAgICAgIEczU0MsCTgsDQogICAgICAgICAg
 ICAgICAgICAgIEczU08sCTgsDQogICAgICAgICAgICAgICAgICAgIEczU00sCTgsDQogICAgICAg
 ICAgICAgICAgICAgIE9mZnNldCgweGEwKSwNCiAgICAgICAgICAgICAgICAgICAgV09YRiwJOCwN
 CiAgICAgICAgICAgICAgICAgICAgV09YRSwJOCwNCiAgICAgICAgICAgICAgICAgICAgV09YRCwJ
 OCwNCiAgICAgICAgICAgICAgICAgICAgV09YUywJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zm
 c2V0KDB4YjApLA0KICAgICAgICAgICAgICAgICAgICBBTVBWLAk2DQogICAgICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU2NvcGUoXCkgew0KICAgICAgICAgICAgICAg
 IEluZGV4RmllbGQoUE1JRCwgUE1EVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAg
 ICAgICAgICAgICAgICAgICBPZmZzZXQoMHhhMCksDQogICAgICAgICAgICAgICAgICAgIFVQUFIs
 CTEsDQogICAgICAgICAgICAgICAgICAgIEVSUk8sCTEsDQogICAgICAgICAgICAgICAgICAgIFBB
 U1MsCTEsDQogICAgICAgICAgICAgICAgICAgIFBTT0ssCTEsDQogICAgICAgICAgICAgICAgICAg
 IFBTTkcsCTEsDQogICAgICAgICAgICAgICAgICAgIFRPVVQsCTEsDQogICAgICAgICAgICAgICAg
 ICAgIFNJUk4sCTEsDQogICAgICAgICAgICAgICAgICAgIFNUU0MsCTEsDQogICAgICAgICAgICAg
 ICAgICAgIE9WRkwsCTEsDQogICAgICAgICAgICAgICAgICAgIExXTUQsCTEsDQogICAgICAgICAg
 ICAgICAgICAgIFRBTE0sCTEsDQogICAgICAgICAgICAgICAgICAgIEVNR0MsCTEsDQogICAgICAg
 ICAgICAgICAgICAgIE9DTlQsCTQsDQogICAgICAgICAgICAgICAgICAgIFREVEMsCTEsDQogICAg
 ICAgICAgICAgICAgICAgICwJNCwNCiAgICAgICAgICAgICAgICAgICAgQUVSUiwJMSwNCiAgICAg
 ICAgICAgICAgICAgICAgUEVSUiwJMSwNCiAgICAgICAgICAgICAgICAgICAgQUJTWSwJMSwNCiAg
 ICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4YTQpLA0KICAgICAgICAgICAgICAgICAgICBQREFU
 LAk4LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHhjMCksDQogICAgICAgICAgICAgICAg
 ICAgIE9mZnNldCgweGMxKSwNCiAgICAgICAgICAgICAgICAgICAgQjFQLAkxLA0KICAgICAgICAg
 ICAgICAgICAgICBCMlAsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxQywJMSwNCiAgICAgICAg
 ICAgICAgICAgICAgQjJDLAkxLA0KICAgICAgICAgICAgICAgICAgICBCMUVSLAkxLA0KICAgICAg
 ICAgICAgICAgICAgICBCMkVSLAkxLA0KICAgICAgICAgICAgICAgICAgICBQS1NILAkxLA0KICAg
 ICAgICAgICAgICAgICAgICBDTUIsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxQ1AsCTgsDQog
 ICAgICAgICAgICAgICAgICAgIEIyQ1AsCTgsDQogICAgICAgICAgICAgICAgICAgIEJBVkcsCTgs
 DQogICAgICAgICAgICAgICAgICAgIEIxVkgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxVkws
 CTgsDQogICAgICAgICAgICAgICAgICAgIEIyVkgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIy
 VkwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxVE0sCTgsDQogICAgICAgICAgICAgICAgICAg
 IEIyVE0sCTgsDQogICAgICAgICAgICAgICAgICAgIEIxQ0gsCTgsDQogICAgICAgICAgICAgICAg
 ICAgIEIxQ0wsCTgsDQogICAgICAgICAgICAgICAgICAgIEIyQ0gsCTgsDQogICAgICAgICAgICAg
 ICAgICAgIEIyQ0wsCTgsDQogICAgICAgICAgICAgICAgICAgIEJUTUgsCTgsDQogICAgICAgICAg
 ICAgICAgICAgIEJUTUwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxTEgsCTgsDQogICAgICAg
 ICAgICAgICAgICAgIEIxTEwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIyTEgsCTgsDQogICAg
 ICAgICAgICAgICAgICAgIEIyTEwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxSUQsCTQsDQog
 ICAgICAgICAgICAgICAgICAgIEIxTk8sCTQsDQogICAgICAgICAgICAgICAgICAgIEIySUQsCTQs
 DQogICAgICAgICAgICAgICAgICAgIEIyTk8sCTQsDQogICAgICAgICAgICAgICAgICAgIEIxRFYs
 CTgsDQogICAgICAgICAgICAgICAgICAgIEIyRFYsCTgsDQogICAgICAgICAgICAgICAgICAgIEIx
 REgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxREwsCTgsDQogICAgICAgICAgICAgICAgICAg
 IEIyREgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIyREwsCTgsDQogICAgICAgICAgICAgICAg
 ICAgIFRCU0ksCTgsDQogICAgICAgICAgICAgICAgICAgIFRCU0gsCTgsDQogICAgICAgICAgICAg
 ICAgICAgIFRCU0wsCTgsDQogICAgICAgICAgICAgICAgICAgIEJIREQsCTEsDQogICAgICAgICAg
 ICAgICAgICAgIEJPUFQsCTEsDQogICAgICAgICAgICAgICAgICAgICwJNSwNCiAgICAgICAgICAg
 ICAgICAgICAgQUJMQywJMSwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4ZTgpLA0KICAg
 ICAgICAgICAgICAgICAgICBUQkNNLAk4LA0KICAgICAgICAgICAgICAgICAgICBUQk1ELAk4LA0K
 ICAgICAgICAgICAgICAgICAgICBUQklOLAk4LA0KICAgICAgICAgICAgICAgICAgICBEQ09MLAk3
 LA0KICAgICAgICAgICAgICAgICAgICBTM0VOLAkxDQogICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgIEluZGV4RmllbGQoUE1JRCwgUE1EVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2
 ZSkgew0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHhhMiksDQogICAgICAgICAgICAgICAg
 ICAgIFRDU1QsCTgNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg
 ICBTY29wZShcKSB7DQogICAgICAgICAgICAgICAgSW5kZXhGaWVsZChBSURBLCBBRFRBLCBCeXRl
 QWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDIy
 KSwNCiAgICAgICAgICAgICAgICAgICAgLAk0LA0KICAgICAgICAgICAgICAgICAgICBTT1VULAkx
 DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEluZGV4RmllbGQoUE1JRCwgUE1E
 VCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICAgICBPZmZz
 ZXQoMHhlYyksDQogICAgICAgICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICAgICAg
 REtFViwJMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1l
 dGhvZChBSU5JKSB7DQogICAgICAgICAgICAgICAgQW5kKFNTTTEsIDB4Y2YsIFNTTTEpDQogICAg
 ICAgICAgICAgICAgU3RvcmUoWmVybywgVEJTTSkNCiAgICAgICAgICAgICAgICBTdG9yZShMV01E
 LCBQTFdNKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFRBTE0sIFBUQUwpDQogICAgICAgICAgICAg
 ICAgU3RvcmUoMHg5NSwgQ01EKQ0KICAgICAgICAgICAgICAgIE9yKFBMV00sIFNoaWZ0TGVmdChQ
 VEFMLCAweDAxLCApLCBEVklEKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQog
 ICAgICAgICAgICAgICAgSWYoTEFuZChUQUxNLCBMTm90KEFDUFcpKSkgew0KICAgICAgICAgICAg
 ICAgICAgICBTdG9yZShPbmUsIEZPQ1QpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBGT0NUKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJZihMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAw
 eDQwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoUE1EUiwgTG9jYWwwKQ0KICAgICAg
 ICAgICAgICAgICAgICBTdG9yZShQTURSLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4MDIsIFRCQ00pDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFRCTUQpDQog
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDUsIFRCSU4pDQogICAgICAgICAgICAgICAgICAg
 IFN0b3JlKDB4MDAsIFBNQ1IpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIElm
 KExPcihUQlBDLCBMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAweDQwKSkpKSB7DQogICAgICAgICAg
 ICAgICAgICAgIElmKEFTMzQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEs
 IFMzRU4pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoTEVx
 dWFsKERDTFcsIDB4N2YpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBE
 Q09MKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoRENMVywgRENPTCkNCiAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERl
 dmljZShUUE0pIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9ISUQsIDB4MDIwMWQ4MjQpDQogICAg
 ICAgICAgICAgICAgTmFtZShfQ0lELCAweDMxMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUo
 X1VJRCwgMHgwMSkNCiAgICAgICAgICAgICAgICBOYW1lKF9DUlMsIEJ1ZmZlcigweDFlKSB7MHg0
 NywgMHgxLCAweDRlLCAweDAsIDB4NGUsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHgwLCAw
 eGZkLCAweDAsIDB4ZmQsIDB4MSwgMHhjLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwg
 MHhkNCwgMHhmZSwgMHgwLCAweDUwLCAweDAsIDB4MCwgMHg3OSwgMHgwDQogICAgICAgICAgICAg
 ICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJTyhE
 ZWNvZGUxNiwgMHg0ZSwgMHg0ZSwgMHgxLCAweDIpDQogICAgICAgICAgICAgICAgIDB4MDAwOCAg
 SU8oRGVjb2RlMTYsIDB4ZmQwMCwgMHhmZDAwLCAweDEsIDB4YykNCiAgICAgICAgICAgICAgICAg
 MHgwMDEwICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhmZWQ0MDAwMCwgMHg1MDAwKQ0KICAg
 ICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBN
 ZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgICAgICBJZihUUE1GKSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICBJZihMRXF1YWwoVFBNRiwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl
 dHVybigweDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
 ICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
 UmV0dXJuKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoRElHSSkgew0KICAgICAgICAgICAgICAg
 IE5hbWUoX0hJRCwgMHhlNjAyYWExYSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0K
 ICAgICAgICAgICAgICAgICAgICBJZihMT3IoVEJQQywgTE5vdChMTGVzcyhcX1NCLk9TVFAoKSwg
 MHg0MCkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICBSZXR1cm4oMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX0lOSSkgew0KICAgICAgICAgICAgICAg
 ICAgICBJZihMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAweDQwKSkpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIFxfU0IuUENJMC5MUENCLkVOVFIoKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoMHgwMSwgVTFQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg4OCwgVTFB
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwNCwgVTFJKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuRVhJVCgpDQogICAgICAgICAgICAgICAgICAgICAg
 ICBBbmQoSU9EMCwgMHhmOCwgSU9EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKElPRDAs
 IDB4MDIsIElPRDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBDQUVOKQ0K
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 IE5hbWUoX0NSUywgQnVmZmVyKDB4MGQpIHsweDQ3LCAweDEsIDB4MjAsIDB4MiwgMHgyMCwgMHgy
 LCAweDEsIDB4OCwgMHgyMiwgMHgxMCwgMHgwLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAv
 KiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIElPKERlY29k
 ZTE2LCAweDIyMCwgMHgyMjAsIDB4MSwgMHg4KQ0KICAgICAgICAgICAgICAgICAweDAwMDggIElS
 USgpIHs0fQ0KICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShCVE5TKSB7DQogICAgICAgICAgICAgICAgTmFt
 ZShfSElELCAiRlVKMDJCRiIpDQogICAgICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgIE1ldGhvZChfSU5JKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFBNQ1IsIExv
 Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWwxKQ0KICAgICAgICAg
 ICAgICAgICAgICBXaGlsZShMQW5kKEFuZChMb2NhbDAsIE9uZSwgKSwgTExlc3MoTG9jYWwxLCAw
 eDBhKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFBNRFIsIExvY2FsMCkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwKDB4MGEpDQogICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShQTUNSLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQo
 TG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgIE5hbWUoX0NSUywgQnVmZmVyKDB4MGUpIHsweDQ3LCAweDEsIDB4NzAsIDB4ZmQs
 IDB4NzAsIDB4ZmQsIDB4MSwgMHgxMCwgMHgyMywgMHgyMCwgMHgwLCAweDEsIDB4NzksIDB4MA0K
 ICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAg
 IDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4ZmQ3MCwgMHhmZDcwLCAweDEsIDB4MTApDQogICAgICAg
 ICAgICAgICAgIDB4MDAwOCAgSVJRKEVkZ2UsIEFjdGl2ZUhpZ2gsIEV4Y2x1c2l2ZSkgezV9DQog
 ICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgRGV2aWNlKEZKRVgpIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9ISUQsICJG
 VUowMkIxIikNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAg
 ICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0
 aG9kKFJCTEwpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEJMTE0pDQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICAgICAg
 TmFtZShMQkxMLCAweDAwKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lKExMQ0QsIE9uZXMpDQog
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChHQkxMKSB7DQogICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKExCTEwsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoTENEQiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICBJZihMTm90KExFcXVhbChMTENE
 LCBMb2NhbDEpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwxLCBMTENE
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZShCQkNULCBCdWZmZXIoQkxMTSkgeyB9KQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQkxMVCwgQkJDVCkNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIFN0b3JlKEJMTE0sIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFdo
 aWxlKExvY2FsMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudChMb2Nh
 bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEdCVUYoQkJDVCwgTG9j
 YWwwKSwgTG9jYWwxKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShM
 b2NhbDAsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9j
 YWwwLCBMQkxMKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBM
 b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIElmKEJI
 S0YpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEJIS0YpDQogICAgICAg
 ICAgICAgICAgICAgICAgICBPcihMb2NhbDIsIDB4ODAwMDAwMDAsIExvY2FsMikNCiAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oTG9jYWwyKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoR0JMUykgew0KICAgICAgICAgICAg
 ICAgICAgICBTdG9yZShMQkxMLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKExD
 REIsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChMRXF1YWwoTExDRCwgTG9j
 YWwxKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMSwgTExDRCkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIE5hbWUoQkJDVCwgQnVmZmVyKEJMTE0pIHsgfSkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKEJMTFQsIEJCQ1QpDQogICAgICAgICAgICAgICAgICAg
 ICAgICBTdG9yZShCTExNLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZShM
 b2NhbDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQoTG9jYWwwKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChHQlVGKEJCQ1QsIExvY2FsMCks
 IExvY2FsMSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWww
 LCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMCwg
 TEJMTCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWww
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBJZihCSEtGKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICBPcihMb2NhbDIsIDB4ODAwMDAwMDAsIExvY2FsMikN
 CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oTG9jYWwy
 KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoU0JMTCwgMSkgew0K
 ICAgICAgICAgICAgICAgICAgICBJZihOR1RGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBT
 dG9yZShBcmcwLCBMU0JMKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFplcm8pDQog
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoTExlc3MoQXJnMCwg
 QkxMTSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUoQkJDVCwgQnVmZmVyKEJMTE0p
 IHsgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEJMTFQsIEJCQ1QpDQogICAgICAg
 ICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoQkJDVCwgQXJnMCwgQkxMMCkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKEJMTDAsIExDREIpDQogICAgICAgICAgICAgICAgICAg
 ICAgICBTdG9yZShBcmcwLCBEVklEKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg4
 MiwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRo
 b2QoR0JVRiwgMikgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoQXJnMCwg
 QXJnMSwgQkxMMCkNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEJMTDApDQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChHTU9VKSB7DQogICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKDB4MDIsIERWSUQpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4OTEsIENN
 RCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAg
 ICAgICAgU3RvcmUoRFZJRCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBJZihNSEtGKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBNSEtGKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgT3IoTG9jYWwwLCAweDgwMDAwMDAwLCBMb2NhbDApDQogICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKFNNT1UsIDEpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgSWYoTE5vdChMR3JlYXRlcihBcmcwLCBPbmUpKSkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgU3RvcmUoQXJnMCwgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
 OTEsIENNRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0
 aG9kKEdIS1MpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEFIS0YpDQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChHU0lGKSB7DQogICAgICAgICAgICAgICAg
 ICAgIElmKElNVEYpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKFJHU0ksIDB4MDgsIFJH
 U0kpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICBBbmQoUkdTSSwgMHhmZmZmZmZmNywgUkdTSSkNCiAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUkdTSSkNCiAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBOYW1lKEJURjEsIDB4OWEp
 DQogICAgICAgICAgICBOYW1lKEJURjIsIDB4OTgpDQogICAgICAgICAgICBTY29wZShcKSB7DQog
 ICAgICAgICAgICAgICAgTmFtZShCVEJMLCBaZXJvKQ0KICAgICAgICAgICAgICAgIE5hbWUoQlRT
 VCwgWmVybykNCiAgICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJREEsIEFEVEEsIEJ5dGVBY2Ms
 IE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjApLA0K
 ICAgICAgICAgICAgICAgICAgICAsCTUsDQogICAgICAgICAgICAgICAgICAgIEFCRVgsCTEsDQog
 ICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDQ0KSwNCiAgICAgICAgICAgICAgICAgICAgLAky
 LA0KICAgICAgICAgICAgICAgICAgICBXTFNXLAkxLA0KICAgICAgICAgICAgICAgICAgICBPZmZz
 ZXQoMHg1MiksDQogICAgICAgICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICAgICAg
 V0xSMiwJMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJ
 REQsIEFEVEQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgT2Zmc2V0KDB4OTIpLA0KICAgICAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAg
 ICAgICAgIFdMUkYsCTEsDQogICAgICAgICAgICAgICAgICAgIEFCT04sCTENCiAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoQ01CVCkgew0KICAgICAg
 ICAgICAgICAgIE5hbWUoX0hJRCwgIkZVSjAyRTEiKQ0KICAgICAgICAgICAgICAgIE1ldGhvZChf
 U1RBKSB7DQogICAgICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCksIDB4
 NDApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICBJZihMTm90KEJURVgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0
 dXJuKDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihCTEVOKSB7DQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MGQpDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfSU5JKSB7
 DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEJUQkwpDQogICAgICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgICAgIE1ldGhvZChJTkZPKSB7DQogICAgICAgICAgICAgICAgICAgIElm
 KExFcXVhbChfU1RBKCksIDB4MGYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShC
 VEYxLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShCVEYyLCBMb2NhbDApDQogICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDA4LCBM
 b2NhbDApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihMb2NhbDApDQogICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChTVEFUKSB7DQogICAgICAgICAgICAgICAgICAg
 IFN0b3JlKDB4MDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgSWYoQUJPTikgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDAyLCBMb2NhbDApDQogICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoV0xSRikgew0KICAgICAgICAgICAg
 ICAgICAgICAgICAgT3IoTG9jYWwwLCAweDA4LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgSWYoQUJPTikgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgT3IoTG9jYWwwLCAweDEwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgSWYoQlRCTCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgT3IoTG9j
 YWwwLCAweDgwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 TWV0aG9kKENOVEwsIDIpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoQW5kKEFyZzAsIDB4MDIs
 ICkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChfU1RBKCksIDB4MGYpKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoQW5kKEFyZzEsIDB4MDIsICkpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBBQk9OKQ0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQUJPTikNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChBbmQoQXJnMCwg
 MHgwOCwgKSwgV0xFTikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQW5k
 KEFyZzEsIDB4MDgsICksIDB4MDMsIFdMUkYpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgSWYoQW5kKEFyZzAsIDB4ODAsICkpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIFNoaWZ0UmlnaHQoQW5kKEFyZzEsIDB4ODAsICksIDB4MDcsIEJUQkwpDQogICAgICAg
 ICAgICAgICAgICAgICAgICBJZihCVEJMKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 SWYoV0xTVykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkoQ01CVCwg
 MHg4MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeShD
 TUJULCAweDgyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICBNZXRob2QoU1dDRikgew0KICAgICAgICAgICAgICAgICAgICBJZihXTFNX
 KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFdMUjIpDQogICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICBTdG9yZShaZXJvLCBXTFIyKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgIElmKEJUQkwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKFdMU1cp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkoQ01CVCwgMHg4MSkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeShDTUJULCAweDgyKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoV0xTVykgew0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIElmKEJMRU4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoT25lLCBBQk9OKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihX
 TEVOKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFdM
 UkYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShaZXJvLCBXTFJGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBBQk9O
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihXTEVOKSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFdMUkYpDQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz
 ZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBXTFJG
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQUJP
 TikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBXTFJGKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChCUFRTLCAxKSB7DQogICAgICAgICAgICAgICAg
 ICAgIElmKExPcihMRXF1YWwoQXJnMCwgMHgwMyksIExFcXVhbChBcmcwLCAweDA0KSkpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFdMUkYsIEJUU1QpDQogICAgICAgICAgICAgICAg
 ICAgICAgICBPcihTaGlmdExlZnQoV0xTVywgMHgwMSwgKSwgQlRTVCwgQlRTVCkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIE9yKFNoaWZ0TGVmdChBQk9OLCAweDAyLCApLCBCVFNULCBCVFNUKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgT3IoU2hpZnRMZWZ0KFdMUjIsIDB4MDMsICksIEJUU1Qs
 IEJUU1QpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 WmVybywgQUJPTikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKEJX
 QUssIDEpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTE9yKExFcXVhbChBcmcwLCAweDAzKSwg
 TEVxdWFsKEFyZzAsIDB4MDQpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQW5k
 KEJUU1QsIDB4MDEsICksIFdMUkYpDQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0
 KEFuZChCVFNULCAweDA0LCApLCAweDAyLCBBQk9OKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 U2hpZnRSaWdodChBbmQoQlRTVCwgMHgwOCwgKSwgMHgwMywgV0xSMikNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIElmKExOb3QoTEVxdWFsKFNoaWZ0UmlnaHQoQW5kKEJUU1QsIDB4MDIsICksIDB4
 MDEsICksIFdMU1cpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNXQ0YoKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKEVDKSB7DQogICAgICAg
 ICAgICAgICAgTmFtZShfSElELCAweDA5MGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX0NS
 UywgQnVmZmVyKDB4MTIpIHsweDQ3LCAweDEsIDB4NjIsIDB4MCwgMHg2MiwgMHgwLCAweDEsIDB4
 MSwgMHg0NywgMHgxLCAweDY2LCAweDAsIDB4NjYsIDB4MCwgMHgxLCAweDEsIDB4NzksIDB4MA0K
 ICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAg
 IDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4NjIsIDB4NjIsIDB4MSwgMHgxKQ0KICAgICAgICAgICAg
 ICAgICAweDAwMDggIElPKERlY29kZTE2LCAweDY2LCAweDY2LCAweDEsIDB4MSkNCiAgICAgICAg
 ICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgTmFtZShf
 R1BFLCAweDE3KQ0KICAgICAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgTmFtZShFQ09LLCBaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBN
 ZXRob2QoX1JFRywgMikgew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgw
 MykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIEVDT0spDQogICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgT3BlcmF0
 aW9uUmVnaW9uKFNNQiwgRW1iZWRkZWRDb250cm9sLCAweDAwLCAweGZmKQ0KICAgICAgICAgICAg
 ICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICAgICAgRmllbGQoXF9TQi5QQ0kwLkxQQ0Iu
 RUMuU01CLCBCeXRlQWNjLCBMb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgT2Zmc2V0KDB4NCksDQogICAgICAgICAgICAgICAgICAgICAgICBFQ0NNLAk4LA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgRUNEMSwJOCwNCiAgICAgICAgICAgICAgICAgICAgICAgIEVDRDIs
 CTgsDQogICAgICAgICAgICAgICAgICAgICAgICBFQ0QzLAk4LA0KICAgICAgICAgICAgICAgICAg
 ICAgICAgT2Zmc2V0KDB4ZjgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgRUNHTSwJOCwNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIEVDRzEsCTgsDQogICAgICAgICAgICAgICAgICAgICAgICBF
 Q0cyLAk4LA0KICAgICAgICAgICAgICAgICAgICAgICAgRUNHMywJOA0KICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2
 aWNlKERNQUMpIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9ISUQsIDB4MDAwMmQwNDEpDQogICAg
 ICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4
 MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE5hbWUoX0NSUywgQnVmZmVy
 KDB4MWQpIHsweDQ3LCAweDEsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgxLCAweDEwLCAweDQ3LCAw
 eDEsIDB4ODEsIDB4MCwgMHg4MSwgMHgwLCAweDEsIDB4ZiwgMHg0NywgMHgxLCAweGMwLCAweDAs
 IDB4YzAsIDB4MCwgMHgxLCAweDIwLCAweDJhLCAweDEwLCAweDIsIDB4NzksIDB4MA0KICAgICAg
 ICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAw
 MCAgSU8oRGVjb2RlMTYsIDB4MCwgMHgwLCAweDEsIDB4MTApDQogICAgICAgICAgICAgICAgIDB4
 MDAwOCAgSU8oRGVjb2RlMTYsIDB4ODEsIDB4ODEsIDB4MSwgMHhmKQ0KICAgICAgICAgICAgICAg
 ICAweDAwMTAgIElPKERlY29kZTE2LCAweGMwLCAweGMwLCAweDEsIDB4MjApDQogICAgICAgICAg
 ICAgICAgIDB4MDAxOCAgRE1BKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXIx
 NikgezR9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKFRJTUUpIHsNCiAgICAgICAgICAgICAgICBOYW1l
 KF9ISUQsIDB4MDAwMWQwNDEpDQogICAgICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgIE5hbWUoX0NSUywgQnVmZmVyKDB4MGQpIHsweDQ3LCAweDEsIDB4NDAsIDB4MCwgMHg0
 MCwgMHgwLCAweDEsIDB4NCwgMHgyMiwgMHgxLCAweDAsIDB4NzksIDB4MA0KICAgICAgICAgICAg
 ICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAwMCAgSU8o
 RGVjb2RlMTYsIDB4NDAsIDB4NDAsIDB4MSwgMHg0KQ0KICAgICAgICAgICAgICAgICAweDAwMDgg
 IElSUSgpIHswfQ0KICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShQSUMpIHsNCiAgICAgICAgICAgICAgICBO
 YW1lKF9ISUQsIDB4ZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAg
 ICAgICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgTmFtZShfQ1JTLCBCdWZmZXIoMHgxNSkgezB4NDcsIDB4MSwgMHgyMCwgMHgwLCAweDIw
 LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4YTAsIDB4MCwgMHhhMCwgMHgwLCAweDEsIDB4
 MiwgMHgyMiwgMHg0LCAweDAsIDB4NzksIDB4MA0KICAgICAgICAgICAgICAgIC8qIFJlc291cmNl
 VGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4MjAs
 IDB4MjAsIDB4MSwgMHgyKQ0KICAgICAgICAgICAgICAgICAweDAwMDggIElPKERlY29kZTE2LCAw
 eGEwLCAweGEwLCAweDEsIDB4MikNCiAgICAgICAgICAgICAgICAgMHgwMDEwICBJUlEoKSB7Mn0N
 CiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9
 DQogICAgICAgICAgICBEZXZpY2UoUlRDKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAw
 eDAwMGJkMDQxKQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAgICAgICAg
 ICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBO
 YW1lKF9DUlMsIEJ1ZmZlcigweDBkKSB7MHg0NywgMHgxLCAweDcwLCAweDAsIDB4NzAsIDB4MCwg
 MHgxLCAweDIsIDB4MjIsIDB4MCwgMHgxLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAvKiBS
 ZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIElPKERlY29kZTE2
 LCAweDcwLCAweDcwLCAweDEsIDB4MikNCiAgICAgICAgICAgICAgICAgMHgwMDA4ICBJUlEoKSB7
 OH0NCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAg
 ICB9DQogICAgICAgICAgICBEZXZpY2UoU1BLUikgew0KICAgICAgICAgICAgICAgIE5hbWUoX0hJ
 RCwgMHgwMDA4ZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAg
 ICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgTmFtZShfQ1JTLCBCdWZmZXIoMHgwYSkgezB4NDcsIDB4MSwgMHg2MSwgMHgwLCAweDYxLCAw
 eDAsIDB4MSwgMHgxLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBs
 YXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIElPKERlY29kZTE2LCAweDYxLCAweDYx
 LCAweDEsIDB4MSkNCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQog
 ICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoTUFUSCkgew0KICAgICAgICAgICAgICAg
 IE5hbWUoX0hJRCwgMHgwNDBjZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0K
 ICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgTmFtZShfQ1JTLCBCdWZmZXIoMHgwZCkgezB4NDcsIDB4MSwgMHhmMCwgMHgw
 LCAweGYwLCAweDAsIDB4MSwgMHhmLCAweDIyLCAweDAsIDB4MjAsIDB4NzksIDB4MA0KICAgICAg
 ICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAw
 MCAgSU8oRGVjb2RlMTYsIDB4ZjAsIDB4ZjAsIDB4MSwgMHhmKQ0KICAgICAgICAgICAgICAgICAw
 eDAwMDggIElSUSgpIHsxM30NCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAg
 IH0pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoS0JDKSB7DQogICAgICAgICAg
 ICAgICAgTmFtZShSMTAxLCAweDAzMDNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoUjEwNiwg
 MHgyMDAzZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0hJRCkgew0KICAgICAgICAgICAg
 ICAgICAgICBJZihTSURGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUjEwMSkN
 CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIFJldHVybihSMTA2KQ0KICAgICAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAg
 ICAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICBOYW1lKF9DUlMsIEJ1ZmZlcigweDE1KSB7MHg0NywgMHgxLCAweDYwLCAweDAsIDB4NjAs
 IDB4MCwgMHgxLCAweDEsIDB4NDcsIDB4MSwgMHg2NCwgMHgwLCAweDY0LCAweDAsIDB4MSwgMHgx
 LCAweDIyLCAweDIsIDB4MCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VU
 ZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJTyhEZWNvZGUxNiwgMHg2MCwg
 MHg2MCwgMHgxLCAweDEpDQogICAgICAgICAgICAgICAgIDB4MDAwOCAgSU8oRGVjb2RlMTYsIDB4
 NjQsIDB4NjQsIDB4MSwgMHgxKQ0KICAgICAgICAgICAgICAgICAweDAwMTAgIElSUSgpIHsxfQ0K
 ICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgIERldmljZShQUzJNKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAw
 eDEzMGZkMDQxKQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAgICAgICAg
 ICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBO
 YW1lKF9DUlMsIEJ1ZmZlcigweDA1KSB7MHgyMiwgMHgwLCAweDEwLCAweDc5LCAweDANCiAgICAg
 ICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAw
 MDAgIElSUSgpIHsxMn0NCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0p
 DQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoRldIKSB7DQogICAgICAgICAgICAg
 ICAgTmFtZShfSElELCAweDAwMDhkNDI1KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7
 DQogICAgICAgICAgICAgICAgICAgIElmKEZXSE0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 IFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTmFtZShfQ1JT
 LCBCdWZmZXIoMHgwZSkgezB4ODYsIDB4OSwgMHgwLCAweDEsIDB4MCwgMHgwLCAweGIwLCAweGZm
 LCAweDAsIDB4MCwgMHgxMCwgMHgwLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAvKiBSZXNv
 dXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIE1lbW9yeTMyRml4ZWQo
 UmVhZFdyaXRlLCAweGZmYjAwMDAwLCAweDEwMDAwMCkNCiAgICAgICAgICAgICAgICB9ICovDQog
 ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoSFBF
 VCkgew0KICAgICAgICAgICAgICAgIE5hbWUoX0hJRCwgMHgwMzAxZDA0MSkNCiAgICAgICAgICAg
 ICAgICBOYW1lKF9DSUQsIDB4MDEwY2QwNDEpDQogICAgICAgICAgICAgICAgTmFtZShCVUYwLCBC
 dWZmZXIoMHgwZSkgezB4ODYsIDB4OSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweGQwLCAweGZlLCAw
 eDAsIDB4NCwgMHgwLCAweDAsIDB4NzksIDB4MA0KICAgICAgICAgICAgICAgIC8qIFJlc291cmNl
 VGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAwMCAgTWVtb3J5MzJGaXhlZChSZWFk
 T25seSwgMHhmZWQwMDAwMCwgMHg0MDApDQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAg
 ICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbihSQ1JCLCBTeXN0ZW1N
 ZW1vcnksIDB4ZmVkMWMwMDAsIDB4NDAwMCkNCiAgICAgICAgICAgICAgICBGaWVsZChSQ1JCLCBE
 V29yZEFjYywgTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4
 MzQwNCksDQogICAgICAgICAgICAgICAgICAgIEhQQVMsCTIsDQogICAgICAgICAgICAgICAgICAg
 ICwJNSwNCiAgICAgICAgICAgICAgICAgICAgSFBBRSwJMQ0KICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgICAgICBJZihMTm90
 KExMZXNzKFxfU0IuT1NUUCgpLCAweDA4KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElm
 KEhQQUUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKEhQQUUpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4o
 MHgwMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9DUlMsIDAs
 IFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoSFBBRSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDA0LCBIUFQwKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEhQQVMsIDB4MDEpKSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgU3RvcmUoMHhmZWQwMTAwMCwgSFBUMCkNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChIUEFTLCAweDAyKSkg
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4ZmVkMDIwMDAsIEhQVDApDQog
 ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1
 YWwoSFBBUywgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweGZl
 ZDAzMDAwLCBIUFQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgICAgIFJldHVybihCVUYwKQ0KICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFxfU0IuUENJMC5MUENCKSB7DQog
 ICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKExJT0QsIFBDSV9Db25maWcsIDB4ODAsIDB4
 MGEpDQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKE1CQVIsIFN5c3RlbU1lbW9yeSwg
 MHhmZWQxNDAwMCwgMHg0MDAwKQ0KICAgICAgICAgICAgICAgIEZpZWxkKE1CQVIsIERXb3JkQWNj
 LCBMb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHhmMDgpLA0K
 ICAgICAgICAgICAgICAgICAgICAsCTQsDQogICAgICAgICAgICAgICAgICAgIEMyU0wsCTENCiAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBGaWVsZChMSU9ELCBB
 bnlBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICBDQURSLAkzLA0KICAg
 ICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICBDQkRSLAkzLA0KICAgICAgICAgICAg
 ICAgIE9mZnNldCgweDEpLA0KICAgICAgICAgICAgICAgIExQRFIsCTIsDQogICAgICAgICAgICAg
 ICAgLAkyLA0KICAgICAgICAgICAgICAgIEZERFIsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0
 KDB4MiksDQogICAgICAgICAgICAgICAgQ0FMRSwJMSwNCiAgICAgICAgICAgICAgICBDQkxFLAkx
 LA0KICAgICAgICAgICAgICAgIExQTEUsCTEsDQogICAgICAgICAgICAgICAgRkRMRSwJMSwNCiAg
 ICAgICAgICAgICAgICBPZmZzZXQoMHg4KSwNCiAgICAgICAgICAgICAgICBHRDJFLAkxLA0KICAg
 ICAgICAgICAgICAgICwJMywNCiAgICAgICAgICAgICAgICBHRDJCLAkxMg0KICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgTmFtZShUQ09NLCBQYWNrYWdlKDB4MDgpIHsNCiAgICAgICAgICAgICAg
 ICAweDAzZjgsDQogICAgICAgICAgICAgICAgMHgwMmY4LA0KICAgICAgICAgICAgICAgIDB4MDIy
 MCwNCiAgICAgICAgICAgICAgICAweDAyMjgsDQogICAgICAgICAgICAgICAgMHgwMjM4LA0KICAg
 ICAgICAgICAgICAgIDB4MDJlOCwNCiAgICAgICAgICAgICAgICAweDAzMzgsDQogICAgICAgICAg
 ICAgICAgMHgwM2U4LA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE5hbWUoVExQVCwgUGFj
 a2FnZSgweDAzKSB7DQogICAgICAgICAgICAgICAgMHgwMzc4LA0KICAgICAgICAgICAgICAgIDB4
 MDI3OCwNCiAgICAgICAgICAgICAgICAweDAzYmMsDQogICAgICAgICAgICB9KQ0KICAgICAgICAg
 ICAgTmFtZShURkRELCBQYWNrYWdlKDB4MDIpIHsNCiAgICAgICAgICAgICAgICAweDAzZjAsDQog
 ICAgICAgICAgICAgICAgMHgwMzcwLA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE1ldGhv
 ZChERU5BLCAzLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAs
 IDB4MDApKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKE1hdGNoKFRDT00sIE1FUSwgQXJn
 MSwgTVRSLCAweDAwLCAweDAwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBJZihMTm90
 KExFcXVhbChMb2NhbDAsIE9uZXMpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 TG9jYWwwLCBDQURSKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBDQUxFKQ0K
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMT3IoTEVxdWFsKEFyZzAsIDB4MDEpLCBM
 RXF1YWwoQXJnMCwgMHgwMikpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShNYXRj
 aChUQ09NLCBNRVEsIEFyZzEsIE1UUiwgMHgwMCwgMHgwMCksIExvY2FsMCkNCiAgICAgICAgICAg
 ICAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExvY2FsMCwgT25lcykpKSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBDQkRSKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIFN0b3JlKE9uZSwgQ0JMRSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAzKSkgew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKE1hdGNoKFRDT00sIE1FUSwgQXJnMSwgTVRSLCAweDAwLCAweDAw
 KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExv
 Y2FsMCwgT25lcykpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExv
 Y2FsMCwgQ0JEUikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBD
 QkxFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFyZzIsIDB4
 MDQsIEdEMkIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKE9uZSwgR0Qy
 RSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg
 ICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBJZihMT3IoTEVxdWFsKEFyZzAsIDB4MDQpLCBMRXF1YWwoQXJnMCwgMHgwNSkpKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKE1hdGNoKFRMUFQsIE1FUSwg
 QXJnMSwgTVRSLCAweDAwLCAweDAwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBJZihMTm90KExFcXVhbChMb2NhbDAsIE9uZXMpKSkgew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBMUERSKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBMUExFKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBJZihMRXF1YWwoQXJnMCwgMHgwNykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKE1hdGNoKFRGREQsIE1FUSwgQXJnMSwgTVRSLCAweDAwLCAweDAwKSwgTG9j
 YWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChMRXF1YWwo
 TG9jYWwwLCBPbmVzKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShMb2NhbDAsIEZERFIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgU3RvcmUoT25lLCBGRExFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0
 aG9kKERESVMsIDEsIFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJn
 MCwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQ0FMRSkNCiAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
 IElmKExPcihMRXF1YWwoQXJnMCwgMHgwMSksIExFcXVhbChBcmcwLCAweDAyKSkpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIENCTEUpDQogICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJ
 ZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
 ZShaZXJvLCBDQkxFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEdE
 MkUpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF
 bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMT3IoTEVxdWFsKEFyZzAsIDB4
 MDQpLCBMRXF1YWwoQXJnMCwgMHgwNSkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKFplcm8sIExQTEUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKFplcm8sIEZETEUpDQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICB9DQogICAgICAgICAgICBGaWVsZChTSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy
 dmUpIHsNCiAgICAgICAgICAgICAgICBTSUlELAk4LA0KICAgICAgICAgICAgICAgIFNJRFQsCTgN
 CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEluZGV4RmllbGQoU0lJRCwgU0lEVCwgQnl0ZUFj
 YywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICwJMywNCiAgICAgICAgICAg
 ICAgICBGRENQLAkxLA0KICAgICAgICAgICAgICAgIE9mZnNldCgweDEpLA0KICAgICAgICAgICAg
 ICAgICwJMiwNCiAgICAgICAgICAgICAgICBQUFAsCTEsDQogICAgICAgICAgICAgICAgUFBNLAkx
 LA0KICAgICAgICAgICAgICAgIE9mZnNldCgweDIpLA0KICAgICAgICAgICAgICAgICwJMywNCiAg
 ICAgICAgICAgICAgICBVMVAsCTEsDQogICAgICAgICAgICAgICAgLAkzLA0KICAgICAgICAgICAg
 ICAgIFUyUCwJMSwNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHg0KSwNCiAgICAgICAgICAgICAg
 ICBQUEVNLAkyLA0KICAgICAgICAgICAgICAgIE9mZnNldCgweGEpLA0KICAgICAgICAgICAgICAg
 IEVGVE0sCTgsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4YyksDQogICAgICAgICAgICAgICAg
 VTJNRCwJNiwNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHgyMCksDQogICAgICAgICAgICAgICAg
 RkRBLAk4LA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICBFVE9TLAkxLA0K
 ICAgICAgICAgICAgICAgIE9mZnNldCgweDIzKSwNCiAgICAgICAgICAgICAgICBQUEEsCTgsDQog
 ICAgICAgICAgICAgICAgVTFBLAk4LA0KICAgICAgICAgICAgICAgIFUyQSwJOCwNCiAgICAgICAg
 ICAgICAgICBQUEQsCTQsDQogICAgICAgICAgICAgICAgRkRELAk0LA0KICAgICAgICAgICAgICAg
 IFBQSSwJNCwNCiAgICAgICAgICAgICAgICBGREksCTQsDQogICAgICAgICAgICAgICAgVTJJLAk0
 LA0KICAgICAgICAgICAgICAgIFUxSSwJNCwNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHgyYiks
 DQogICAgICAgICAgICAgICAgSVJBLAk4LA0KICAgICAgICAgICAgICAgIElSRCwJNA0KICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgTXV0ZXgoTVRYUywgMCkNCiAgICAgICAgICAgIE1ldGhvZChF
 TlRSKSB7DQogICAgICAgICAgICAgICAgQWNxdWlyZShNVFhTLCAweGZmZmYpDQogICAgICAgICAg
 ICAgICAgU3RvcmUoMHg1NSwgU0lJRCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
 ZChFWElUKSB7DQogICAgICAgICAgICAgICAgU3RvcmUoMHhhYSwgU0lJRCkNCiAgICAgICAgICAg
 ICAgICBSZWxlYXNlKE1UWFMpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoU0VU
 UiwgNSkgew0KICAgICAgICAgICAgICAgIEVOVFIoKQ0KICAgICAgICAgICAgICAgIElmKEFyZzMp
 IHsNCiAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QoRmluZFNldFJpZ2h0Qml0KEFyZzMsIFpl
 cm8pLCBPbmUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxz
 ZSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIExvY2FsMCkNCiAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgSWYoQXJnNCkgew0KICAgICAgICAgICAgICAgICAgICBT
 dWJ0cmFjdChGaW5kU2V0UmlnaHRCaXQoQXJnNCwgWmVybyksIE9uZSwgTG9jYWwxKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoMHgwZiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJ
 ZihMRXF1YWwoQXJnMCwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChB
 cmcxLCAweDAyLCBVMUEpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMCwgVTFJKQ0K
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAg
 ICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBT
 aGlmdFJpZ2h0KEFyZzEsIDB4MDIsIFUyQSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl
 KExvY2FsMCwgVTJJKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChBcmcxLCAweDAyLCBVMkEp
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBVMkkpDQogICAgICAg
 ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChBcmcxLCAweDAyLCBVMkEpDQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQXJnMiwgMHgwMywgSVJBKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShMb2NhbDAsIFUySSkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwxLCBJUkQpDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNCkpIHsN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQXJnMSwgMHgw
 MiwgUFBBKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWww
 LCBQUEkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFyZzEsIDB4MDIsIFBQQSkNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShMb2NhbDAsIFBQSSkNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShMb2NhbDEsIFBQRCkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IElmKExFcXVhbChBcmcwLCAweDA3KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFyZzEsIDB4MDIsIEZEQSkNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBGREkpDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMSwgRkREKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICBFWElUKCkNCiAgICAgICAgICAgICAgICBJZihBcmcxKSB7DQogICAgICAgICAgICAgICAg
 ICAgIElmKENvbmRSZWZPZihERU5BLCBMb2NhbDApKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICBERU5BKEFyZzAsIEFyZzEsIEFyZzIpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgU0VUTShBcmcwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoQ29uZFJlZk9mKERESVMsIExvY2FsMCkp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIERESVMoQXJnMCkNCiAgICAgICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
 ZChHRVRSLCA1KSB7DQogICAgICAgICAgICAgICAgRU5UUigpDQogICAgICAgICAgICAgICAgU3Rv
 cmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFN0b3JlKDB4MGYsIExvY2FsMSkNCiAg
 ICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgU2hpZnRMZWZ0KFUxQSwgMHgwMiwgQXJnMSkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 VTFJLCBMb2NhbDApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMSkpIHsNCiAgICAgICAgICAg
 ICAgICAgICAgICAgIFNoaWZ0TGVmdChVMkEsIDB4MDIsIEFyZzEpDQogICAgICAgICAgICAgICAg
 ICAgICAgICBTdG9yZShVMkksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChB
 cmcwLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChVMkEs
 IDB4MDIsIEFyZzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoVTJJLCBMb2Nh
 bDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF
 bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0KFUyQSwgMHgwMiwg
 QXJnMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0KElSQSwgMHgw
 MywgQXJnMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoVTJJLCBMb2Nh
 bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKElSRCwgTG9jYWwxKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAs
 IDB4MDQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQo
 UFBBLCAweDAyLCBBcmcxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoUFBJLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoUFBBLCAweDAyLCBBcmcxKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFBQSSwgTG9jYWwwKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFBQRCwgTG9jYWwxKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDcpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChGREEsIDB4MDIsIEFyZzEpDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEZESSwgTG9jYWwwKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShGREQsIExv
 Y2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgSWYoTG9jYWwwKSB7DQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChP
 bmUsIExvY2FsMCwgQXJnMykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxz
 ZSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEFyZzMpDQogICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExvY2FsMSwgMHgwZikpKSB7DQog
 ICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChPbmUsIExvY2FsMSwgQXJnNCkNCiAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFN0
 b3JlKFplcm8sIEFyZzQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVYSVQo
 KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0aG9kKFNFVE0sIDEpIHsNCiAgICAgICAg
 ICAgICAgICBFTlRSKCkNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMCkpIHsN
 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBVMVApDQogICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJn
 MCwgMHgwMSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDYsIFUyTUQpDQog
 ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFUyUCkNCiAgICAgICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 IElmKExFcXVhbChBcmcwLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4MGUsIFUyTUQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBV
 MlApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF
 bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwZSwgVTJNRCkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBVMlApDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNCkpIHsN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChQUEYsIE9uZSkp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFBQ
 TSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKFplcm8sIFBQTSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZShaZXJvLCBQUEVNKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 T25lLCBQUFApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBQUE0pDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgUFBFTSkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFBQUCkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBF
 WElUKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChTRVRQLCAyKSB7DQogICAg
 ICAgICAgICAgICAgRU5UUigpDQogICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDAp
 KSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIFUxUCkNCiAgICAgICAgICAgICAg
 ICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVh
 bChBcmcwLCAweDAxKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgVTJQ
 KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgVTJQKQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDMpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIFN0b3JlKEFyZzEsIFUyUCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDA0KSkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgUFBQKQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDUpKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgUFBQ
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIEVYSVQoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 TWV0aG9kKEdFVFAsIDEpIHsNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBMb2NhbDApDQog
 ICAgICAgICAgICAgICAgRU5UUigpDQogICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4
 MDApKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFUxUCwgTG9jYWwwKQ0KICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYo
 TEVxdWFsKEFyZzAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShVMlAs
 IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNl
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAyKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFUyUCwgTG9jYWwwKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDMpKSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKFUyUCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDQpKSB7DQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShQUFAsIExvY2FsMCkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChB
 cmcwLCAweDA1KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
 b3JlKFBQUCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVYSVQoKQ0KICAgICAgICAgICAg
 ICAgIFJldHVybihMb2NhbDApDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoQ0hL
 TSwgMSkgew0KICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAwKSkgew0KICAgICAg
 ICAgICAgICAgICAgICBJZihTUEFGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4o
 T25lKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMSkp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChTUEJGLCAweDAzKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihPbmUpDQogICAgICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMikpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoU1BCRiwgT25lKSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAw
 eDAzKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoU1BCRiwg
 MHgwMikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihPbmUp
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDA0KSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE9yKExFcXVhbChQUEYsIE9uZSksIExFcXVh
 bChQUEYsIDB4MDIpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IFJldHVybihPbmUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1
 YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBJZihMRXF1YWwoUFBGLCAweDAzKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDA3KSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihGRENGKSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFJldHVybihaZXJv
 KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKFVBUjEpIHsNCiAgICAgICAgICAg
 ICAgICBOYW1lKF9ISUQsIDB4MDEwNWQwNDEpDQogICAgICAgICAgICAgICAgTmFtZShfVUlELCAw
 eDAxKQ0KICAgICAgICAgICAgICAgIE5hbWUoUlNSQywgQnVmZmVyKDB4MGQpIHsweDQ3LCAweDEs
 IDB4ZjgsIDB4MywgMHhmOCwgMHgzLCAweDEsIDB4OCwgMHgyMiwgMHgxMCwgMHgwLCAweDc5LCAw
 eDANCiAgICAgICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAg
 ICAgICAweDAwMDAgIElPKERlY29kZTE2LCAweDNmOCwgMHgzZjgsIDB4MSwgMHg4KQ0KICAgICAg
 ICAgICAgICAgICAweDAwMDggIElSUSgpIHs0fQ0KICAgICAgICAgICAgICAgIH0gKi8NCiAgICAg
 ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDM0KSB7
 MHgzMSwgMHg0LCAweDQ3LCAweDEsIDB4ZjgsIDB4MywgMHhmOCwgMHgzLCAweDEsIDB4OCwgMHgy
 MiwgMHgxMCwgMHgwLCAweDMwLCAweDQ3LCAweDEsIDB4ZjgsIDB4MiwgMHhmOCwgMHgyLCAweDEs
 IDB4OCwgMHgyMiwgMHg4LCAweDAsIDB4MzAsIDB4NDcsIDB4MSwgMHhlOCwgMHgzLCAweGU4LCAw
 eDMsIDB4MSwgMHg4LCAweDIyLCAweDEwLCAweDAsIDB4MzAsIDB4NDcsIDB4MSwgMHhlOCwgMHgy
 LCAweGU4LCAweDIsIDB4MSwgMHg4LCAweDIyLCAweDgsIDB4MCwgMHgzOCwgMHg3OSwgMHgwDQog
 ICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgU3RhcnREZXBlbmRlbnRGbigwLCAxKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDEg
 IFVua25vd24oMHgwLCA0KQ0KICAgICAgICAgICAgICAgICAgICAgMHgwMDA2ICBVbmtub3duKDB4
 ZjgsIDI1OSkNCiB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAgICAg
 ICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCksIDB4NDApKSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZihDSEtNKDB4
 MDApKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VUUigweDAwLCBSZWZPZihMb2Nh
 bDApLCBSZWZPZihMb2NhbDEpLCBSZWZPZihMb2NhbDIpLCBSZWZPZihMb2NhbDMpKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExvY2FsMCkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIFJldHVybigweDBkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybigweDAwKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgICAgIE1ldGhvZChfQ1JTKSB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv
 cmRGaWVsZChSU1JDLCAweDAyLCBJTzExKQ0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk
 RmllbGQoUlNSQywgMHgwNCwgSU8xMikNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp
 ZWxkKFJTUkMsIDB4MDksIElSUTEpDQogICAgICAgICAgICAgICAgICAgIEdFVFIoMHgwMCwgUmVm
 T2YoTG9jYWwwKSwgUmVmT2YoTG9jYWwxKSwgUmVmT2YoTG9jYWwyKSwgUmVmT2YoTG9jYWwzKSkN
 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBJTzExKQ0KICAgICAgICAgICAgICAg
 ICAgICBTdG9yZShMb2NhbDAsIElPMTIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2Fs
 MiwgSVJRMSkNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFJTUkMpDQogICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1JTLCAxKSB7DQogICAgICAgICAgICAgICAg
 ICAgIENyZWF0ZVdvcmRGaWVsZChBcmcwLCAweDA0LCBJTzExKQ0KICAgICAgICAgICAgICAgICAg
 ICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwOSwgSVJRMSkNCiAgICAgICAgICAgICAgICAgICAg
 U0VUUigweDAwLCBJTzExLCBaZXJvLCBJUlExLCBaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICBNZXRob2QoX0RJUykgew0KICAgICAgICAgICAgICAgICAgICBTRVRSKDB4
 MDAsIFplcm8sIFplcm8sIFplcm8sIFplcm8pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgIE1ldGhvZChfSU5JKSB7DQogICAgICAgICAgICAgICAgICAgIElmKENIS00oMHgwMCkp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNFVE0oMHgwMCkNCiAgICAgICAgICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmlj
 ZShMTktBKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAg
 ICAgICAgICAgIE5hbWUoX1VJRCwgMHgwMSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywg
 MCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQQVJDKQ0K
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2
 KSB7MHgyMywgMHhmYSwgMHhkNCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyog
 UmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWws
 IEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwgNSwgNiwgNywgMTAsIDEyLCAxNCwgMTV9DQog
 ICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg
 IE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUo
 UlRMQSwgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAg
 ICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAg
 ICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAg
 ICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAg
 IENyZWF0ZVdvcmRGaWVsZChSVExBLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBT
 dG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5k
 KFBBUkMsIDB4MGYsICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExBKQ0K
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFs
 aXplZCkgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwg
 SVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkN
 CiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoTG9jYWwwLCBQQVJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihB
 bmQoUEFSQywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkp
 DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAg
 ICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktC
 KSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAg
 ICAgIE5hbWUoX1VJRCwgMHgwMikNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2Vy
 aWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQQlJDKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgy
 MywgMHhmYSwgMHhkOCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3Vy
 Y2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2
 ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwgNSwgNiwgNywgMTEsIDEyLCAxNCwgMTV9DQogICAgICAg
 ICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhv
 ZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMQiwg
 QnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAg
 ICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAw
 eDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAg
 IH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0
 ZVdvcmRGaWVsZChSVExCLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSha
 ZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBCUkMs
 IDB4MGYsICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExCKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkg
 ew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkN
 CiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAg
 ICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoTG9jYWwwLCBQQlJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRo
 b2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUEJS
 QywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktDKSB7DQog
 ICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5h
 bWUoX1VJRCwgMHgwMykNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXpl
 ZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQQ1JDKQ0KICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhm
 YSwgMHhkNCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1w
 bGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywg
 U2hhcmVkKSB7MSwgMywgNCwgNSwgNiwgNywgMTAsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAg
 ICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JT
 LCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMQywgQnVmZmVy
 KDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAg
 ICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAg
 IElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8N
 CiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG
 aWVsZChSVExDLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJ
 UlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBDUkMsIDB4MGYs
 ICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExDKQ0KICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAg
 ICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAg
 ICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAg
 ICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9j
 YWwwLCBQQ1JDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NU
 QSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUENSQywgMHg4
 MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktEKSB7DQogICAgICAg
 ICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJ
 RCwgMHgwNCkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0K
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQRFJDKQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhk
 OCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgp
 IHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVk
 KSB7MSwgMywgNCwgNSwgNiwgNywgMTEsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAq
 Lw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBT
 ZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMRCwgQnVmZmVyKDB4MDYp
 IHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8q
 IFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShM
 ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAg
 ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChS
 VExELCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0K
 ICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBEUkMsIDB4MGYsICksIElS
 UTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExEKQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAg
 ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAg
 ICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg
 ICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQ
 RFJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwg
 U2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUERSQywgMHg4MCwgKSkg
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktFKSB7DQogICAgICAgICAgICAg
 ICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgw
 NSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAg
 ICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQRVJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhkNCwgMHgx
 OCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAg
 ICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwg
 MywgNCwgNSwgNiwgNywgMTAsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAg
 ICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxp
 emVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMRSwgQnVmZmVyKDB4MDYpIHsweDIz
 LCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291
 cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwg
 QWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAg
 ICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExFLCAw
 eDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAg
 ICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBFUkMsIDB4MGYsICksIElSUTApDQog
 ICAgICAgICAgICAgICAgICAgIFJldHVybihSVExFKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAg
 ICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAg
 ICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVj
 cmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQRVJDKQ0K
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFs
 aXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUEVSQywgMHg4MCwgKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1
 cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktGKSB7DQogICAgICAgICAgICAgICAgTmFt
 ZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgwNikNCiAg
 ICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAg
 ICAgICAgICBTdG9yZSgweDgwLCBQRlJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhkOCwgMHgxOCwgMHg3
 OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAg
 ICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwg
 NSwgNiwgNywgMTEsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAg
 ICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7
 DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMRiwgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAs
 IDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVt
 cGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZl
 TG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAg
 ICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExGLCAweDAxLCBJ
 UlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAg
 ICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBGUkMsIDB4MGYsICksIElSUTApDQogICAgICAg
 ICAgICAgICAgICAgIFJldHVybihSVExGKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBD
 cmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmlu
 ZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50
 KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQRlJDKQ0KICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkg
 ew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUEZSQywgMHg4MCwgKSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgw
 YikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgIERldmljZShMTktHKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElE
 LCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgwNykNCiAgICAgICAg
 ICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAg
 ICBTdG9yZSgweDgwLCBQR1JDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBO
 YW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhkNCwgMHgxOCwgMHg3OSwgMHgw
 DQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAg
 ICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwgNSwgNiwg
 NywgMTAsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAg
 ICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAg
 ICAgICAgICAgICAgICAgIE5hbWUoUlRMRywgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwg
 MHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUo
 KSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBT
 aGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0p
 DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExHLCAweDAxLCBJUlEwKQ0K
 ICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAg
 ICBTaGlmdExlZnQoMHgwMSwgQW5kKFBHUkMsIDB4MGYsICksIElSUTApDQogICAgICAgICAgICAg
 ICAgICAgIFJldHVybihSVExHKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBN
 ZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVX
 b3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJp
 Z2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2Fs
 MCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQR1JDKQ0KICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAg
 ICAgICAgICAgICAgICAgICBJZihBbmQoUEdSQywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgIERldmljZShMTktIKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBm
 MGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgwOCkNCiAgICAgICAgICAgICAg
 ICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9y
 ZSgweDgwLCBQSFJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9Q
 UlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmOCwgMHhkOCwgMHgxOCwgMHg3OSwgMHgwDQogICAg
 ICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgw
 MDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MywgNCwgNSwgNiwgNywgMTEsIDEy
 LCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAg
 ICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAg
 ICAgICAgIE5hbWUoUlRMSCwgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3
 OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAg
 ICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQog
 ICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAg
 ICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExILCAweDAxLCBJUlEwKQ0KICAgICAgICAg
 ICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExl
 ZnQoMHgwMSwgQW5kKFBIUkMsIDB4MGYsICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJl
 dHVybihSVExIKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NS
 UywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQo
 QXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElS
 UTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAg
 ICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQSFJDKQ0KICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAg
 ICAgICAgICBJZihBbmQoUEhSQywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg
 UmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0K
 ICAgICAgICBEZXZpY2UoUEFUQSkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWYwMDAx
 KQ0KICAgICAgICAgICAgTmFtZShQTU1OLCBCdWZmZXIoMHgyOCkgeyB9KQ0KICAgICAgICAgICAg
 TmFtZShQU01OLCBCdWZmZXIoMHgyOCkgeyB9KQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u
 KEFUSU8sIFN5c3RlbUlPLCAweDAxZjcsIDB4MDEpDQogICAgICAgICAgICBGaWVsZChBVElPLCBC
 eXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgU1RTUiwJOA0KICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKFBDSSwgUENJX0NvbmZpZywg
 MHg0MCwgMHgxOCkNCiAgICAgICAgICAgIEZpZWxkKFBDSSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVz
 ZXJ2ZSkgew0KICAgICAgICAgICAgICAgIFBUSTAsCTEsDQogICAgICAgICAgICAgICAgUElFMCwJ
 MSwNCiAgICAgICAgICAgICAgICBQUFAwLAkxLA0KICAgICAgICAgICAgICAgIFBEVDAsCTEsDQog
 ICAgICAgICAgICAgICAgUFRJMSwJMSwNCiAgICAgICAgICAgICAgICBQSUUxLAkxLA0KICAgICAg
 ICAgICAgICAgIFBQUDEsCTEsDQogICAgICAgICAgICAgICAgUERUMSwJMSwNCiAgICAgICAgICAg
 ICAgICBQUkNULAkyLA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICBQSVNQ
 LAkyLA0KICAgICAgICAgICAgICAgIFBTSVQsCTEsDQogICAgICAgICAgICAgICAgUElERSwJMSwN
 CiAgICAgICAgICAgICAgICBPZmZzZXQoMHg0KSwNCiAgICAgICAgICAgICAgICBQUkMxLAkyLA0K
 ICAgICAgICAgICAgICAgIFBJUzEsCTIsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4OCksDQog
 ICAgICAgICAgICAgICAgUFNEMCwJMSwNCiAgICAgICAgICAgICAgICBQU0QxLAkxLA0KICAgICAg
 ICAgICAgICAgIE9mZnNldCgweGEpLA0KICAgICAgICAgICAgICAgIFBDVDAsCTIsDQogICAgICAg
 ICAgICAgICAgLAkyLA0KICAgICAgICAgICAgICAgIFBDVDEsCTIsDQogICAgICAgICAgICAgICAg
 T2Zmc2V0KDB4MTQpLA0KICAgICAgICAgICAgICAgIFBDQjAsCTEsDQogICAgICAgICAgICAgICAg
 UENCMSwJMSwNCiAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUE1DQywJMSwN
 CiAgICAgICAgICAgICAgICBQU0NDLAkxLA0KICAgICAgICAgICAgICAgICwJNiwNCiAgICAgICAg
 ICAgICAgICBGUEMwLAkxLA0KICAgICAgICAgICAgICAgIEZQQzEsCTEsDQogICAgICAgICAgICAg
 ICAgT2Zmc2V0KDB4MTYpLA0KICAgICAgICAgICAgICAgIFBTTUQsCTINCiAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgIERldmljZShQUklNKSB7DQogICAgICAgICAgICAgICAgTmFtZShfQURSLCAw
 eDAwKQ0KICAgICAgICAgICAgICAgIERldmljZShNQVNUKSB7DQogICAgICAgICAgICAgICAgICAg
 IE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kKF9HVEYpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIE5hbWUoR1RGQiwgQnVmZmVyKDB4MTUpIHsweDMsIDB4MCwg
 MHgwLCAweDAsIDB4MCwgMHhhMCwgMHhlZiwgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YTAs
 IDB4ZWYsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweGEwLCAweGY1IH0pDQogICAgICAgICAg
 ICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoR1RGQiwgMHgwMSwgU1BJTykNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZChHVEZCLCAweDA4LCBTRE1BKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkKEdURkIsIDB4MTQsIFNDTUQpDQogICAg
 ICAgICAgICAgICAgICAgICAgICBJZihMTm90KFNTVVAoKSkpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBTdG9yZSgweDAwLCBTQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChQSUUwKSkgew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFNQSU8pDQogICAgICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICBJZihMT3IoUERUMCwgTE5vdChQVEkwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgU3RvcmUoMHgwOCwgU1BJTykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIElmKExMZXNzKEFkZChQSVNQLCBQUkNULCApLCAweDAzKSkgew0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwYSwgU1BJTykNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExMZXNzKEFk
 ZChQSVNQLCBQUkNULCApLCAweDA1KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIFN0b3JlKDB4MGIsIFNQSU8pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDBjLCBTUElPKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoUFNEMCkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChGUEMwLCBQTUNDLCApKSB7DQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4NDUsIFNETUEpDQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoUENCMCwgUE1DQywgKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKFBDVDAsIDB4MDIpKSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg0NCwgU0RN
 QSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKDB4NDMsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBJZihMRXF1YWwoUENUMCwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQyLCBTRE1BKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFs
 KFBDVDAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKDB4NDEsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQwLCBT
 RE1BKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIElmKExMZXNzKEFkZChQSVNQLCBQUkNULCApLCAweDA1KSkgew0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIxLCBTRE1BKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgyMiwgU0RNQSkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgICAgICBSZXR1cm4oR1RGQikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBEZXZpY2UoU0xBVikgew0KICAgICAgICAg
 ICAgICAgICAgICBOYW1lKF9BRFIsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZChf
 R1RGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lKEdURkIsIEJ1ZmZlcigweDE1KSB7
 MHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YjAsIDB4ZWYsIDB4MywgMHgwLCAweDAsIDB4MCwg
 MHgwLCAweGIwLCAweGVmLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhiMCwgMHhmNSB9KQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkKEdURkIsIDB4MDEsIFNQSU8p
 DQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoR1RGQiwgMHgwOCwgU0RN
 QSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZChHVEZCLCAweDE0LCBT
 Q01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChTU1VQKCkpKSB7DQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgU0NNRCkNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoUElFMSkpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBTUElPKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgSWYoTE9yKFBEVDEsIExOb3QoUFRJMSkpKSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDgsIFNQSU8pDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBJZihQU0lUKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBJZihMTGVzcyhBZGQoUElTMSwgUFJDMSwgKSwgMHgwMykpIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDBhLCBTUElPKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgSWYoTExlc3MoQWRkKFBJUzEsIFBSQzEsICksIDB4MDUpKSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MGIsIFNQSU8pDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZSgweDBjLCBTUElPKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm
 KExMZXNzKEFkZChQSVNQLCBQUkNULCApLCAweDAzKSkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MGEsIFNQSU8pDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF
 bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMTGVzcyhB
 ZGQoUElTUCwgUFJDVCwgKSwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgU3RvcmUoMHgwYiwgU1BJTykNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4MGMsIFNQSU8pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoUFNEMSkgew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChGUEMxLCBQU0NDLCApKSB7DQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4NDUsIFNETUEpDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoUENCMSwgUFNDQywgKSkgew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKFBDVDEsIDB4MDIp
 KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg0NCwg
 U0RNQSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIFN0b3JlKDB4NDMsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBJZihMRXF1YWwoUENUMSwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQyLCBTRE1BKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVx
 dWFsKFBDVDEsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKDB4NDEsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ug
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQw
 LCBTRE1BKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIElmKFBTSVQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgSWYoTExlc3MoQWRkKFBJUzEsIFBSQzEsICksIDB4MDUpKSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIxLCBTRE1BKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgyMiwgU0RNQSkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgSWYoTExlc3MoQWRkKFBJU1AsIFBSQ1QsICksIDB4MDUpKSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIxLCBTRE1BKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 MHgyMiwgU0RNQSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgICAgIFJldHVybihHVEZCKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfR1RNKSB7DQogICAgICAgICAg
 ICAgICAgICAgIE5hbWUoR1RNQiwgQnVmZmVyKDB4MTQpIHsgfSkNCiAgICAgICAgICAgICAgICAg
 ICAgQ3JlYXRlRFdvcmRGaWVsZChHVE1CLCAweDAwLCBQSU8wKQ0KICAgICAgICAgICAgICAgICAg
 ICBDcmVhdGVEV29yZEZpZWxkKEdUTUIsIDB4MDQsIERNQTApDQogICAgICAgICAgICAgICAgICAg
 IENyZWF0ZURXb3JkRmllbGQoR1RNQiwgMHgwOCwgUElPMSkNCiAgICAgICAgICAgICAgICAgICAg
 Q3JlYXRlRFdvcmRGaWVsZChHVE1CLCAweDBjLCBETUExKQ0KICAgICAgICAgICAgICAgICAgICBD
 cmVhdGVEV29yZEZpZWxkKEdUTUIsIDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgIE9yKEZMQUcsIE9yKFNoaWZ0TGVm
 dChQSUUxLCAweDAzLCApLCBTaGlmdExlZnQoUElFMCwgMHgwMSwgKSwgKSwgRkxBRykNCiAgICAg
 ICAgICAgICAgICAgICAgSWYoTE9yKFBEVDAsIExOb3QoUFRJMCkpKSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICBTdG9yZSgweDAzODQsIFBJTzApDQogICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBs
 eShTdWJ0cmFjdCgweDA5LCBBZGQoUFJDVCwgUElTUCwgKSwgKSwgMHgxZSwgUElPMCkNCiAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBJZihMTm90KFBTRDApKSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShQSU8wLCBETUEwKQ0KICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgT3IoRkxBRywgMHgwMSwgRkxBRykNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChG
 UEMwLCBQTUNDLCApKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgxNCwg
 RE1BMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChQQ0IwLCBQTUNDLCAp
 KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5KFN1YnRyYWN0KDB4
 MDQsIFBDVDAsICksIDB4MGYsIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBNdWx0aXBseShTdWJ0cmFjdCgweDA0LCBQQ1QwLCApLCAweDFlLCBETUEwKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBJZihMT3IoUERUMSwg
 TE5vdChQVEkxKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDM4NCwgUElP
 MSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoUFNJVCkpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBTdG9yZShQSU8wLCBQSU8xKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgTXVsdGlwbHkoU3VidHJhY3QoMHgwOSwgQWRkKFBSQzEsIFBJUzEsICksICksIDB4MWUsIFBJ
 TzEpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgSWYoTE5vdChQU0QxKSkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoUElPMSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKEZMQUcsIDB4MDQsIEZM
 QUcpDQogICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoRlBDMSwgUFNDQywgKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MTQsIERNQTEpDQogICAgICAgICAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBJZihBbmQoUENCMSwgUFNDQywgKSkgew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBNdWx0aXBseShTdWJ0cmFjdCgweDA0LCBQQ1QxLCApLCAweDBmLCBE
 TUExKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHko
 U3VidHJhY3QoMHgwNCwgUENUMSwgKSwgMHgxZSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEdUTUIpDQogICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgIE1ldGhvZChfU1RNLCAzKSB7DQogICAgICAgICAgICAgICAgICAgIENy
 ZWF0ZURXb3JkRmllbGQoQXJnMCwgMHgwMCwgUElPMCkNCiAgICAgICAgICAgICAgICAgICAgQ3Jl
 YXRlRFdvcmRGaWVsZChBcmcwLCAweDA0LCBETUEwKQ0KICAgICAgICAgICAgICAgICAgICBDcmVh
 dGVEV29yZEZpZWxkKEFyZzAsIDB4MDgsIFBJTzEpDQogICAgICAgICAgICAgICAgICAgIENyZWF0
 ZURXb3JkRmllbGQoQXJnMCwgMHgwYywgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRl
 RFdvcmRGaWVsZChBcmcwLCAweDEwLCBGTEFHKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgw
 eDAwLCBQU0lUKQ0KICAgICAgICAgICAgICAgICAgICBJZihMQW5kKE1TTUYoKSwgTEVxdWFsKFNp
 emVPZihBcmcxKSwgMHgwMjAwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZp
 ZWxkKEFyZzEsIDB4MDFiMCwgMHgwMTQwLCBNQlVGKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoTUJVRiwgUE1NTikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs
 ZChBcmcxLCAweDYyLCBXNDkwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp
 ZWxkKEFyZzEsIDB4NjYsIFc1MTApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk
 RmllbGQoQXJnMSwgMHg2YSwgVzUzMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv
 cmRGaWVsZChBcmcxLCAweDdjLCBXNjIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl
 V29yZEZpZWxkKEFyZzEsIDB4N2UsIFc2MzApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVh
 dGVXb3JkRmllbGQoQXJnMSwgMHg4MCwgVzY0MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENy
 ZWF0ZVdvcmRGaWVsZChBcmcxLCAweGIwLCBXODgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoMHgwMCwgUElTUCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFBS
 Q1QpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQRFQwKQ0KICAgICAgICAg
 ICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgUElFMCkNCiAgICAgICAgICAgICAgICAgICAgICAg
 IFN0b3JlKDB4MDAsIFBUSTApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQ
 U0QwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgUENUMCkNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFBDQjApDQogICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZSgweDAwLCBQTUNDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwg
 RlBDMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoQW5kKEZMQUcsIDB4MDIsICks
 IEFuZChXNDkwLCAweDA4MDAsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoMHgwMSwgUElFMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihQSU8wLCAweDc4KSksIExBbmQoQW5kKFc1
 MzAsIDB4MDIsICksIEFuZChXNjQwLCAweDAyLCApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBTdG9yZSgweDAyLCBQSVNQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4MDMsIFBSQ1QpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwg
 UFRJMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRl
 cihQSU8wLCAweGI0KSksIExBbmQoQW5kKFc1MzAsIDB4MDIsICksIEFuZChXNjQwLCAweDAxLCAp
 KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgUElTUCkN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFJDVCkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFRJMCkNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihQSU8w
 LCAweGYwKSksIExOb3QoTExlc3MoVzUxMCwgMHgwMjAwKSkpKSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQSVNQKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFRJMCkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoTEVxdWFs
 KERNQTAsIDB4ZmZmZmZmZmYpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExB
 bmQoQW5kKEZMQUcsIDB4MDEsICksIExBbmQoQW5kKFc1MzAsIDB4MDQsICksIEFuZChXODgwLCAw
 eDNmLCApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwg
 UFNEMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVh
 dGVyKERNQTAsIDB4MTQpKSwgQW5kKFc4ODAsIDB4MjAsICkpKSB7DQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQQ1QwKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUE1DQykNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIEZQQzApDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExOb3QoTEdyZWF0ZXIoRE1B
 MCwgMHgxZSkpLCBBbmQoVzg4MCwgMHgxMCwgKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQQ1QwKQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBNQ0MpDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENCMCkNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQo
 TE5vdChMR3JlYXRlcihETUEwLCAweDJkKSksIEFuZChXODgwLCAweDA4LCApKSkgew0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQQ1QwKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQ
 TUNDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgw
 eDAxLCBQQ0IwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERN
 QTAsIDB4M2MpKSwgQW5kKFc4ODAsIDB4MDQsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQQ1QwKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERNQTAsIDB4NWEpKSwg
 QW5kKFc4ODAsIDB4MDIsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENUMCkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERNQTAsIDB4NzgpKSwgQW5kKFc2MzAsIDB4MDQsICkp
 KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQSVNQ
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMywgUFJDVCkN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBUSTApDQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihM
 QW5kKExOb3QoTEdyZWF0ZXIoRE1BMCwgMHhiNCkpLCBBbmQoVzYzMCwgMHgwMiwgKSkpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQSVNQKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBSQ1Qp
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFRJ
 MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgICAgICAgICBJZihMQW5kKFNTTUYoKSwgTEVxdWFsKFNpemVPZihBcmcy
 KSwgMHgwMjAwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkKEFyZzIs
 IDB4MDFiMCwgMHgwMTQwLCBTQlVGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoU0JV
 RiwgUFNNTikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChBcmcyLCAw
 eDYyLCBXNDkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkKEFyZzIs
 IDB4NjYsIFc1MTEpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJn
 MiwgMHg2YSwgVzUzMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChB
 cmcyLCAweDdjLCBXNjIxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk
 KEFyZzIsIDB4N2UsIFc2MzEpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll
 bGQoQXJnMiwgMHg4MCwgVzY0MSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG
 aWVsZChBcmcyLCAweGIwLCBXODgxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgw
 MCwgUElTMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFBSQzEpDQogICAg
 ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQRFQxKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgU3RvcmUoMHgwMCwgUElFMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
 MDAsIFBUSTEpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQU0QxKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgUENUMSkNCiAgICAgICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKDB4MDAsIFBDQjEpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgw
 eDAwLCBQU0NDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgRlBDMSkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoQW5kKEZMQUcsIDB4MDgsICksIEFuZChXNDkx
 LCAweDA4MDAsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwg
 UElFMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
 IElmKExBbmQoQW5kKEZMQUcsIDB4MTAsICksIExBbmQoTE5vdChMRXF1YWwoUElPMSwgMHhmZmZm
 ZmZmZikpLCBMTm90KExFcXVhbChQSU8xLCBQSU8wKSkpKSkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIFN0b3JlKDB4MDEsIFBTSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 SWYoTEFuZChMTm90KExHcmVhdGVyKFBJTzEsIDB4NzgpKSwgTEFuZChBbmQoVzUzMSwgMHgwMiwg
 KSwgQW5kKFc2NDEsIDB4MDIsICkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZSgweDAyLCBQSVMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
 ZSgweDAzLCBQUkMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAx
 LCBQVEkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFu
 ZChMTm90KExHcmVhdGVyKFBJTzEsIDB4YjQpKSwgTEFuZChBbmQoVzUzMSwgMHgwMiwgKSwgQW5k
 KFc2NDEsIDB4MDEsICkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoMHgwMiwgUElTMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
 b3JlKDB4MDEsIFBSQzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
 ZSgweDAxLCBQVEkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKFBJTzEsIDB4ZjApKSwgTE5vdChMTGVz
 cyhXNTExLCAweDAyMDApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICBTdG9yZSgweDAxLCBQSVMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKDB4MDEsIFBUSTEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb29wDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMTm90KExFcXVhbChETUExLCAweGZmZmZmZmZm
 KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKEFuZChGTEFHLCAweDA0
 LCApLCBMQW5kKEFuZChXNTMxLCAweDA0LCApLCBBbmQoVzg4MSwgMHgzZiwgKSkpKSB7DQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBTRDEpDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihETUExLCAweDE0KSks
 IEFuZChXODgxLCAweDIwLCApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoMHgwMSwgUENUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IFN0b3JlKDB4MDEsIFBTQ0MpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
 dG9yZSgweDAxLCBGUEMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERNQTEsIDB4MWUpKSwgQW5kKFc4
 ODEsIDB4MTAsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoMHgwMiwgUENUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZSgweDAxLCBQU0NDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKDB4MDEsIFBDQjEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExOb3QoTEdyZWF0ZXIoRE1B
 MSwgMHgyZCkpLCBBbmQoVzg4MSwgMHgwOCwgKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENUMSkNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFNDQykNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENCMSkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihETUExLCAweDNjKSksIEFuZChX
 ODgxLCAweDA0LCApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgU3RvcmUoMHgwMiwgUENUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihETUExLCAweDVhKSksIEFuZChXODgxLCAweDAyLCAp
 KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IFN0b3JlKDB4MDEsIFBDVDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBOb29wDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoQW5kKEZM
 QUcsIDB4MTAsICksIExOb3QoTEVxdWFsKERNQTEsIERNQTApKSkpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBTSVQpDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExOb3QoTEdyZWF0ZXIoRE1BMSwgMHg3OCkpLCBB
 bmQoVzYzMSwgMHgwNCwgKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICBTdG9yZSgweDAyLCBQSVMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIFN0b3JlKDB4MDMsIFBSQzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgU3RvcmUoMHgwMSwgUFRJMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRl
 cihETUExLCAweGI0KSksIEFuZChXNjMxLCAweDAyLCApKSkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQSVMxKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQUkMxKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQVEkxKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgTm9vcA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQSURFKQ0KICAgICAgICAgICAgICAgIH0NCiAg
 ICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFxfU0IuUENJMC5QQVRBLlBSSU0pIHsNCiAg
 ICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4o
 MHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKE1TTUYpIHsN
 CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKE9uZSkNCiAgICAgICAgICAgICAgICB9DQogICAg
 ICAgICAgICAgICAgTWV0aG9kKFNTTUYpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFpl
 cm8pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU2NvcGUo
 XF9TQi5QQ0kwLlBBVEEuUFJJTS5NQVNUKSB7DQogICAgICAgICAgICAgICAgTWV0aG9kKF9TVEEp
 IHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgIE1ldGhvZChTU1VQKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVy
 bihPbmUpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU2Nv
 cGUoXF9TQi5QQ0kwLlBBVEEuUFJJTS5TTEFWKSB7DQogICAgICAgICAgICAgICAgTWV0aG9kKF9T
 VEEpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgICAgIE1ldGhvZChTU1VQKSB7DQogICAgICAgICAgICAgICAgICAgIFJl
 dHVybihaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0K
 ICAgICAgICBEZXZpY2UoVVNCMSkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWQwMDAw
 KQ0KICAgICAgICB9DQogICAgICAgIERldmljZShVU0IyKSB7DQogICAgICAgICAgICBOYW1lKF9B
 RFIsIDB4MDAxZDAwMDEpDQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKFVTQjMpIHsNCiAgICAg
 ICAgICAgIE5hbWUoX0FEUiwgMHgwMDFkMDAwMikNCiAgICAgICAgfQ0KICAgICAgICBEZXZpY2Uo
 VVNCNCkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWQwMDAzKQ0KICAgICAgICB9DQog
 ICAgICAgIERldmljZShVU0I3KSB7DQogICAgICAgICAgICBOYW1lKF9BRFIsIDB4MDAxZDAwMDcp
 DQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKFNCVVMpIHsNCiAgICAgICAgICAgIE5hbWUoX0FE
 UiwgMHgwMDFmMDAwMykNCiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoQVVEMCkgew0KICAgICAg
 ICAgICAgTmFtZShfQURSLCAweDAwMWUwMDAyKQ0KICAgICAgICB9DQogICAgICAgIERldmljZShN
 T0RNKSB7DQogICAgICAgICAgICBOYW1lKF9BRFIsIDB4MDAxZTAwMDMpDQogICAgICAgICAgICBO
 YW1lKF9QUlcsIFBhY2thZ2UoMHgwMikgew0KICAgICAgICAgICAgICAgIDB4MDUsDQogICAgICAg
 ICAgICAgICAgMHgwMywNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgRGV2aWNl
 KEhERUYpIHsNCiAgICAgICAgICAgIE5hbWUoX0FEUiwgMHgwMDFiMDAwMCkNCiAgICAgICAgICAg
 IE5hbWUoX1BSVywgUGFja2FnZSgweDAyKSB7DQogICAgICAgICAgICAgICAgMHgwNSwNCiAgICAg
 ICAgICAgICAgICAweDAzLA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE5hbWUoX1BTQywg
 MHgwMCkNCiAgICAgICAgICAgIE1ldGhvZChfUFMwKSB7DQogICAgICAgICAgICAgICAgU3RvcmUo
 MHgwMCwgX1BTQykNCiAgICAgICAgICAgICAgICBJZihMQW5kKEhEV0EsIExOb3QoTExlc3MoXF9T
 Qi5PU1RQKCksIDB4NDApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgSERX
 QSkNCiAgICAgICAgICAgICAgICAgICAgU2xlZXAoMHgwMWY0KQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChfUFMzKSB7DQogICAgICAgICAgICAg
 ICAgU3RvcmUoMHgwMywgX1BTQykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBE
 ZXZpY2UoUlAwMSkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWMwMDAwKQ0KICAgICAg
 ICAgICAgT3BlcmF0aW9uUmVnaW9uKFAxQ1MsIFBDSV9Db25maWcsIDB4NDAsIDB4MDEwMCkNCiAg
 ICAgICAgICAgIEZpZWxkKFAxQ1MsIEFueUFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpIHsNCiAg
 ICAgICAgICAgICAgICBPZmZzZXQoMHgxYSksDQogICAgICAgICAgICAgICAgQUJQMSwJMSwNCiAg
 ICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERDMSwJMSwNCiAgICAgICAgICAg
 ICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERTMSwJMSwNCiAgICAgICAgICAgICAgICBPZmZz
 ZXQoMHgyMCksDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjIpLA0KICAgICAgICAgICAgICAg
 IFBTUDEsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4OWMpLA0KICAgICAgICAgICAgICAg
 ICwJMzAsDQogICAgICAgICAgICAgICAgSFBDUywJMSwNCiAgICAgICAgICAgICAgICBQTUNTLAkx
 DQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoUFhTMSkgew0KICAgICAgICAgICAg
 ICAgIE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChf
 UFJUKSB7DQogICAgICAgICAgICAgICAgSWYoXEdQSUMpIHsNCiAgICAgICAgICAgICAgICAgICAg
 UmV0dXJuKFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgw
 eDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwLA0KICAgICAgICAgICAgICAgICAgICAg
 ICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
 eDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAg
 ICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTIs
 DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFj
 a2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 MHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEzLA0KICAgICAgICAgICAgICAg
 ICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdl
 KDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0Es
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 MHgwMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLA0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAg
 ICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
 MDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQywNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAg
 fSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAz
 LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0QsDQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0s
 DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 fQ0KICAgICAgICB9DQogICAgICAgIERldmljZShSUDAyKSB7DQogICAgICAgICAgICBOYW1lKF9B
 RFIsIDB4MDAxYzAwMDEpDQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24oUDJDUywgUENJX0Nv
 bmZpZywgMHg0MCwgMHgwMTAwKQ0KICAgICAgICAgICAgRmllbGQoUDJDUywgQW55QWNjLCBOb0xv
 Y2ssIFdyaXRlQXNaZXJvcykgew0KICAgICAgICAgICAgICAgIE9mZnNldCgweDFhKSwNCiAgICAg
 ICAgICAgICAgICBBQlAyLAkxLA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAg
 ICBQREMyLAkxLA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICBQRFMyLAkx
 LA0KICAgICAgICAgICAgICAgIE9mZnNldCgweDIwKSwNCiAgICAgICAgICAgICAgICBPZmZzZXQo
 MHgyMiksDQogICAgICAgICAgICAgICAgUFNQMiwJMSwNCiAgICAgICAgICAgICAgICBPZmZzZXQo
 MHg5YyksDQogICAgICAgICAgICAgICAgLAkzMCwNCiAgICAgICAgICAgICAgICBIUENTLAkxLA0K
 ICAgICAgICAgICAgICAgIFBNQ1MsCTENCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmlj
 ZShQWFMyKSB7DQogICAgICAgICAgICAgICAgTmFtZShfQURSLCAweDAwKQ0KICAgICAgICAgICAg
 fQ0KICAgICAgICAgICAgTWV0aG9kKF9QUlQpIHsNCiAgICAgICAgICAgICAgICBJZihcR1BJQykg
 ew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDA0KSB7DQogICAgICAgICAg
 ICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTEs
 DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFj
 a2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 MHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEyLA0KICAgICAgICAgICAgICAg
 ICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAweDAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgMHgxMywNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAg
 ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MTAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB9
 KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAg
 ICAgICAgICAgUmV0dXJuKFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAg
 UGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw
 LA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBh
 Y2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IFxfU0IuUENJMC5MUENCLkxOS0MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwN
 CiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBQYWNr
 YWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
 X1NCLlBDSTAuTFBDQi5MTktELA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQog
 ICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn
 ZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9T
 Qi5QQ0kwLkxQQ0IuTE5LQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKFJQMDMp
 IHsNCiAgICAgICAgICAgIE5hbWUoX0FEUiwgMHgwMDFjMDAwMikNCiAgICAgICAgICAgIE9wZXJh
 dGlvblJlZ2lvbihQM0NTLCBQQ0lfQ29uZmlnLCAweDQwLCAweDAxMDApDQogICAgICAgICAgICBG
 aWVsZChQM0NTLCBBbnlBY2MsIE5vTG9jaywgV3JpdGVBc1plcm9zKSB7DQogICAgICAgICAgICAg
 ICAgT2Zmc2V0KDB4MWEpLA0KICAgICAgICAgICAgICAgIEFCUDMsCTEsDQogICAgICAgICAgICAg
 ICAgLAkyLA0KICAgICAgICAgICAgICAgIFBEQzMsCTEsDQogICAgICAgICAgICAgICAgLAkyLA0K
 ICAgICAgICAgICAgICAgIFBEUzMsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjApLA0K
 ICAgICAgICAgICAgICAgIE9mZnNldCgweDIyKSwNCiAgICAgICAgICAgICAgICBQU1AzLAkxLA0K
 ICAgICAgICAgICAgICAgIE9mZnNldCgweDljKSwNCiAgICAgICAgICAgICAgICAsCTMwLA0KICAg
 ICAgICAgICAgICAgIEhQQ1MsCTEsDQogICAgICAgICAgICAgICAgUE1DUywJMQ0KICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgRGV2aWNlKFBYUzMpIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9B
 RFIsIDB4MDApDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoX1BSVCkgew0KICAg
 ICAgICAgICAgICAgIElmKFxHUElDKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNr
 YWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgMHgxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAg
 ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IDB4MTMsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAg
 ICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkg
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAweDAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0s
 DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDA0KSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktDLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsDQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRCwNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAg
 ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLA0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0EsDQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAg
 ICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLA0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAg
 ICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAg
 fQ0KICAgICAgICBEZXZpY2UoUlAwNCkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWMw
 MDAzKQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKFA0Q1MsIFBDSV9Db25maWcsIDB4NDAs
 IDB4MDEwMCkNCiAgICAgICAgICAgIEZpZWxkKFA0Q1MsIEFueUFjYywgTm9Mb2NrLCBXcml0ZUFz
 WmVyb3MpIHsNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHgxYSksDQogICAgICAgICAgICAgICAg
 QUJQNCwJMSwNCiAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERDNCwJMSwN
 CiAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERTNCwJMSwNCiAgICAgICAg
 ICAgICAgICBPZmZzZXQoMHgyMCksDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjIpLA0KICAg
 ICAgICAgICAgICAgIFBTUDQsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4OWMpLA0KICAg
 ICAgICAgICAgICAgICwJMzAsDQogICAgICAgICAgICAgICAgSFBDUywJMSwNCiAgICAgICAgICAg
 ICAgICBQTUNTLAkxDQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoUFhTNCkgew0K
 ICAgICAgICAgICAgICAgIE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgIE1ldGhvZChfUFJUKSB7DQogICAgICAgICAgICAgICAgSWYoXEdQSUMpIHsNCiAgICAgICAg
 ICAgICAgICAgICAgUmV0dXJuKFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEzLA0KICAgICAgICAg
 ICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkg
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAweDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0s
 DQogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIDB4MTEsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAg
 ICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhm
 ZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEyLA0KICAg
 ICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFJl
 dHVybihQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgw
 NCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ
 MC5MUENCLkxOS0QsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAg
 ICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQp
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu
 TFBDQi5MTktBLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
 ICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7
 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ
 Q0IuTE5LQiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
 ICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAweDAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENC
 LkxOS0MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAg
 ICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIFNjb3BlKFxfU0IuUENJMC5SUDAxLlBY
 UzEpIHsNCiAgICAgICAgICAgIE5hbWUoX1BSVywgUGFja2FnZSgweDAyKSB7DQogICAgICAgICAg
 ICAgICAgMHgwOSwNCiAgICAgICAgICAgICAgICAweDA0LA0KICAgICAgICAgICAgfSkNCiAgICAg
 ICAgfQ0KICAgICAgICBTY29wZShcX1NCLlBDSTAuUlAwMi5QWFMyKSB7DQogICAgICAgICAgICBN
 ZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgIElmKFBYUlMpIHsNCiAgICAgICAgICAgICAg
 ICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVs
 c2Ugew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwMCkNCiAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICB9DQogICAgICAgICAgICBOYW1lKF9QUlcsIFBhY2thZ2UoMHgwMikgew0K
 ICAgICAgICAgICAgICAgIDB4MDksDQogICAgICAgICAgICAgICAgMHgwNCwNCiAgICAgICAgICAg
 IH0pDQogICAgICAgICAgICBNZXRob2QoX1JNVikgew0KICAgICAgICAgICAgICAgIFJldHVybihP
 bmUpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoRVhJTikgew0KICAgICAgICAg
 ICAgICAgIFNsZWVwKDB4NjQpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgUFhDTCkNCiAg
 ICAgICAgICAgICAgICBTbGVlcCgweDAxKQ0KICAgICAgICAgICAgICAgIFN0b3JlKE9uZSwgUFhS
 UykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFWFBMKQ0KICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgTWV0aG9kKEVYUk0pIHsNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBQWFJT
 KQ0KICAgICAgICAgICAgICAgIFN0b3JlKE9uZSwgUFhDTCkNCiAgICAgICAgICAgICAgICBTdG9y
 ZShPbmUsIEVYUEwpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgTmFtZShM
 RURJLCBaZXJvKQ0KICAgIE5hbWUoQlROSSwgWmVybykNCiAgICBOYW1lKE5HVEksIDB4MDYpDQog
 ICAgU2NvcGUoXCkgew0KICAgICAgICBOYW1lKFdCVE4sIFplcm8pDQogICAgICAgIE5hbWUoTkdU
 TSwgWmVybykNCiAgICAgICAgTmFtZShMU0JMLCBaZXJvKQ0KICAgICAgICBOYW1lKEJOQkYsIEJ1
 ZmZlcigweDIwKSB7IH0pDQogICAgICAgIE5hbWUoQk5TUCwgWmVybykNCiAgICAgICAgTmFtZShC
 TkdQLCBaZXJvKQ0KICAgICAgICBOYW1lKEJOQ1QsIFplcm8pDQogICAgfQ0KICAgIERldmljZShG
 RVhUKSB7DQogICAgICAgIE5hbWUoX0hJRCwgIkZVSjAyRTMiKQ0KICAgICAgICBNZXRob2QoX1NU
 QSkgew0KICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9k
 KF9JTkkpIHsNCiAgICAgICAgICAgIFN0b3JlKFplcm8sIEJOU1ApDQogICAgICAgICAgICBTdG9y
 ZShaZXJvLCBCTkdQKQ0KICAgICAgICAgICAgU3RvcmUoWmVybywgQk5DVCkNCiAgICAgICAgICAg
 IFN0b3JlKFplcm8sIElSQkMpDQogICAgICAgICAgICBTdG9yZShaZXJvLCBJUkJGKQ0KICAgICAg
 ICB9DQogICAgICAgIE1ldGhvZChGVU5DLCA0LCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBT
 dG9yZSgweDgwMDAwMDAwLCBMb2NhbDApDQogICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgx
 MDAxKSkgew0KICAgICAgICAgICAgICAgIFN0b3JlKFMwMDEoQXJnMSwgQXJnMiwgQXJnMyksIExv
 Y2FsMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAg
 IElmKExFcXVhbChBcmcwLCAweDEwMDIpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFMw
 MDIoQXJnMSwgQXJnMiwgQXJnMyksIExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDEw
 MDQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShTMDA0KEFyZzEsIEFyZzIsIEFy
 ZzMpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQog
 ICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgxMDA2KSkgew0KICAg
 ICAgICAgICAgICAgIFN0b3JlKFMwMDYoQXJnMSwgQXJnMiwgQXJnMyksIExvY2FsMCkNCiAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDEwMDgpKSB7DQogICAgICAg
 ICAgICAgICAgU3RvcmUoUzAwOChBcmcxLCBBcmcyLCBBcmczKSwgTG9jYWwwKQ0KICAgICAgICAg
 ICAgfQ0KICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRo
 b2QoUzAwMSwgMykgew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAg
 ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIFplcm8pKSB7DQogICAgICAgICAgICAgICAgU3RvcmUo
 TEVESSwgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAg
 ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIE9uZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgQW5k
 KEFyZzIsIDB4MDMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChBbmQoQXJn
 MSwgTEVESSwgKSwgTG9jYWwxKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg5
 YiwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChBbmQoQXJnMiwgMHgw
 MDAzMDAwMCwgKSwgMHgwOCwgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFpl
 cm8sIFNTTUkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNl
 IHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7DQogICAgICAg
 ICAgICAgICAgICAgICAgICBJZihBbmQoQXJnMSwgTEVESSwgKSkgew0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFN0b3JlKDB4OWIsIENNRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShPbmUsIERWSUQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVy
 bywgU1NNSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcihTaGlmdExlZnQoRFZJRCwg
 MHgxMCwgKSwgT25lLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
 ZShaZXJvLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBS
 ZXR1cm4oTG9jYWwwKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChTMDAyLCAzKSB7DQogICAg
 ICAgICAgICBTdG9yZSgweDgwMDAwMDAwLCBMb2NhbDApDQogICAgICAgICAgICBJZihMRXF1YWwo
 QXJnMCwgWmVybykpIHsNCiAgICAgICAgICAgICAgICBTdG9yZShCVE5JLCBMb2NhbDApDQogICAg
 ICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwo
 QXJnMCwgT25lKSkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZShHSVJCKCksIExvY2FsMCkN
 CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
 ICAgICAgIElmKExFcXVhbChBcmcwLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoMHg5YiwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgRFZJ
 RCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZihM
 RXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihBcmcx
 KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdChBcmcxLCBMb2NhbDEpDQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZChBcmcyLCBBcmcxLCBMb2NhbDIpDQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yKEFuZChXQlROLCBMb2NhbDEsICksIExv
 Y2FsMiwgV0JUTikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg5Yiwg
 Q01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcihTaGlmdExlZnQoV0JUTiwg
 MHgwOCwgKSwgMHgwMywgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgU3RvcmUoV0JUTiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBN
 ZXRob2QoU0lSQiwgMSkgew0KICAgICAgICAgICAgSWYoTExlc3MoQk5DVCwgMHgxMCkpIHsNCiAg
 ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQk5CRiwgQk5TUCwgQk5QMSkNCiAgICAgICAg
 ICAgICAgICBTdG9yZShBcmcwLCBCTlAxKQ0KICAgICAgICAgICAgICAgIEluY3JlbWVudChCTkNU
 KQ0KICAgICAgICAgICAgICAgIEFkZChCTlNQLCAweDAyLCBCTlNQKQ0KICAgICAgICAgICAgICAg
 IElmKExOb3QoTExlc3MoQk5TUCwgMHgyMCkpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3Jl
 KFplcm8sIEJOU1ApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9
 DQogICAgICAgIE1ldGhvZChHSVJCKSB7DQogICAgICAgICAgICBJZihCTkNUKSB7DQogICAgICAg
 ICAgICAgICAgQ3JlYXRlV29yZEZpZWxkKEJOQkYsIEJOR1AsIEJOUDIpDQogICAgICAgICAgICAg
 ICAgU3RvcmUoQk5QMiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIE9yKExvY2FsMCwgMHg0MDAw
 MDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIERlY3JlbWVudChCTkNUKQ0KICAgICAgICAg
 ICAgICAgIEFkZChCTkdQLCAweDAyLCBCTkdQKQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTExl
 c3MoQk5HUCwgMHgyMCkpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEJOR1Ap
 DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQog
 ICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoUzAwNCwgMykg
 ew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgSWYo
 TEVxdWFsKEFyZzAsIFplcm8pKSB7DQogICAgICAgICAgICAgICAgU3RvcmUoTkdUSSwgTG9jYWww
 KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgSWYo
 TEVxdWFsKEFyZzAsIE9uZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMRXF1YWwo
 QXJnMSwgMHgwNCksIEFuZChOR1RJLCAweDA0LCApKSkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgQW5kKEFyZzIsIDB4MDMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExP
 cihMRXF1YWwoTG9jYWwxLCAweDAzKSwgTEVxdWFsKExvY2FsMSwgMHgwMikpKSB7DQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChOR1RGKSkgew0KICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTVkJMKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoT25lLCBOR1RGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBTQkxDKExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShMb2NhbDEsIE5HVE0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 WmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgSWYoTE5vdChMb2NhbDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
 SWYoTkdURikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBO
 R1RGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSU0JMKCkNCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU0JMQyhaZXJvKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBOR1RNKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIExvY2FsMCkNCiAgICAgICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N
 CiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFy
 ZzAsIDB4MDIpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExFcXVhbChBcmcx
 LCAweDA0KSwgQW5kKE5HVEksIDB4MDQsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoTkdUTSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoUzAwOCwgMykg
 ew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgSWYo
 TEVxdWFsKEFyZzAsIDB4MDApKSB7DQogICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExMZXNz
 KEFyZzEsIDB4MDApKSwgTE5vdChMR3JlYXRlcihBcmcxLCAweDA1KSkpKSB7DQogICAgICAgICAg
 ICAgICAgICAgIElmKExFcXVhbChBcmcxLCBaZXJvKSkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzEs
 IE9uZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMTm90KExMZXNzKFxfU0Iu
 T1NUUCgpLCAweDQwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 MHgwMiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4YTQsIENNRCkNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZShBcmcwLCBRQUcxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKEFyZzEsIFFBRzIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
 QXJnMiwgUUFHMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBEVklE
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoRFZJRCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgSWYoTEVxdWFs
 KEFyZzAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMTGVzcyhB
 cmcxLCAweDAwKSksIExOb3QoTEdyZWF0ZXIoQXJnMSwgMHgwMSkpKSkgew0KICAgICAgICAgICAg
 ICAgICAgICAgICAgU3RvcmUoMHhhNCwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
 cmUoQXJnMCwgUUFHMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIFFBRzIp
 DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcyLCBRQUczKQ0KICAgICAgICAgICAg
 ICAgICAgICAgICAgU3RvcmUoWmVybywgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0
 b3JlKFplcm8sIFNTTUkpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2Nh
 bDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAyKSkg
 ew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExMZXNzKEFyZzEsIDB4MDAp
 KSwgTE5vdChMR3JlYXRlcihBcmcxLCAweDAxKSkpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgU3RvcmUoMHhhNCwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl
 KEFyZzAsIFFBRzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgUUFH
 MikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcyLCBRQUczKQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIERWSUQpDQogICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
 ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
 ICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICBJZihMRXF1YWwoQXJnMSwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgU3RvcmUoMHhhNCwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBTdG9yZShBcmcwLCBRQUcxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
 ZShBcmcxLCBRQUcyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcy
 LCBRQUczKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBEVklE
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBTU01JKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYo
 TEVxdWFsKEFyZzAsIDB4MDQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm
 KExBbmQoTE5vdChMTGVzcyhBcmcxLCAweDAwKSksIExOb3QoTEdyZWF0ZXIoQXJnMSwgMHgwMSkp
 KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHhhNCwgQ01E
 KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMCwgUUFHMSkN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIFFBRzIpDQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcyLCBRQUczKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRFZJRCkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBSZXR1cm4oTG9jYWwwKQ0K
 ICAgICAgICB9DQogICAgfQ0KICAgIFNjb3BlKFxfU0IuRkVYVCkgew0KICAgICAgICBNZXRob2Qo
 U0JMQywgMSkgew0KICAgICAgICAgICAgSWYoTE5vdChBcmcwKSkgew0KICAgICAgICAgICAgICAg
 IFN0b3JlKFplcm8sIEJMQ1QpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAg
 ICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoT25lLCBCTENUKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBF
 bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7DQogICAg
 ICAgICAgICAgICAgICAgICAgICBOYW1lKEJCQ1QsIEJ1ZmZlcihCTExNKSB7IH0pDQogICAgICAg
 ICAgICAgICAgICAgICAgICBTdG9yZShCTExULCBCQkNUKQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgQ3JlYXRlQnl0ZUZpZWxkKEJCQ1QsIFplcm8sIEJMTDApDQogICAgICAgICAgICAgICAgICAg
 ICAgICBTdG9yZShCTEwwLCBMQ0RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgw
 MTAwMDAwMCwgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKERWSUQsIEJMTDAsIERW
 SUQpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgyLCBDTUQpDQogICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZShaZXJvLCBTU01JKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 U3RvcmUoWmVybywgQkxDVCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoU1ZCTCkgew0KICAg
 ICAgICAgICAgQW5kKFxfU0IuUENJMC5MUENCLkZKRVguR0JMTCgpLCAweDdmZmZmZmZmLCBMU0JM
 KQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChSU0JMKSB7DQogICAgICAgICAgICBcX1NCLlBD
 STAuTFBDQi5GSkVYLlNCTEwoTFNCTCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoUzAwNiwg
 Mykgew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAg
 SWYoRUNPSykgew0KICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCBaZXJvKSkgew0KICAg
 ICAgICAgICAgICAgICAgICBTdG9yZShFQ0NJLCBMb2NhbDApDQogICAgICAgICAgICAgICAgfQ0K
 ICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJn
 MCwgMHgxMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKEFyZzEpIHsNCiAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBBbmQoQXJnMSwgMHhmZiwgRUNHMSkNCiAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZSgweDIzLCBFQ0dNKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgIFN0b3JlKFplcm8sIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGls
 ZShMQW5kKEVDR00sIExMZXNzKExvY2FsMSwgMHg2NCkpKSB7DQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIFNsZWVwKDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IEluY3JlbWVudChMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoTG9jYWwxLCAweDY0KSkpIHsNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMSwgTG9jYWwwKQ0K
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IoU2hpZnRMZWZ0KEVD
 RzIsIDB4MDgsICksIEVDRzMsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
 DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl
 IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweGZkNzAsIExvY2FsMCkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcw
 LCAweDExKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZChBcmcxLCAweGZmLCBF
 Q0cxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQW5kKEFyZzIsIDB4
 ZmYwMCwgKSwgMHgwOCwgRUNHMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoQXJn
 MiwgMHhmZiwgRUNHMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIyLCBF
 Q0dNKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIExvY2FsMSkNCiAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZShMQW5kKEVDR00sIExMZXNzKExvY2FsMSwg
 MHg2NCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwKDB4MDEpDQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudChMb2NhbDEpDQogICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExO
 b3QoTExlc3MoTG9jYWwxLCAweDY0KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoMHg4MDAwMDAwMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
 ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAw
 eDEyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShHSU5ULCBMb2Nh
 bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEdJTlQpDQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwg
 MHgyMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQo
 QW5kKEFyZzEsIDB4ZmYwMDAwMDAsICksIDB4MTgsIEVDRDMpDQogICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFuZChBcmcxLCAweDAwZmYwMDAwLCApLCAweDEw
 LCBFQ0QyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChB
 bmQoQXJnMSwgMHhmZjAwLCApLCAweDA4LCBFQ0QxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgQW5kKEFyZzEsIDB4ZmYsIEVDQ00pDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBTdG9yZShaZXJvLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICBXaGlsZShMQW5kKEVDQ00sIExMZXNzKExvY2FsMSwgMHg2NCkpKSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAoMHgwMSkNCiAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQoTG9jYWwxKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgSWYoTE5vdChMTGVzcyhMb2NhbDEsIDB4NjQpKSkgew0KICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4ODAwMDAwMDEsIExvY2FsMCkN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgIE9yKE9yKFNoaWZ0TGVmdChFQ0QzLCAweDEwLCApLCBTaGlmdExlZnQoRUNEMiwg
 MHgwOCwgKSwgKSwgRUNEMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
 UmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgIH0NCiAgICBEZXZpY2UoTElEKSB7DQogICAg
 ICAgIE5hbWUoX0hJRCwgMHgwZDBjZDA0MSkNCiAgICAgICAgTWV0aG9kKF9MSUQpIHsNCiAgICAg
 ICAgICAgIElmKENWQ0wpIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oWmVybykNCiAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgIFJldHVybihPbmUpDQog
 ICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgTmFtZShfUFJXLCBQYWNrYWdlKDB4MDIp
 IHsNCiAgICAgICAgICAgIDB4MTgsDQogICAgICAgICAgICAweDA0LA0KICAgICAgICB9KQ0KICAg
 ICAgICBNZXRob2QoX1BTVywgMSkgew0KICAgICAgICAgICAgTm9vcA0KICAgICAgICB9DQogICAg
 fQ0KICAgIERldmljZShQV1JCKSB7DQogICAgICAgIE5hbWUoX0hJRCwgMHgwYzBjZDA0MSkNCiAg
 ICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICB9
 DQogICAgfQ0KICAgIERldmljZShBQykgew0KICAgICAgICBOYW1lKF9ISUQsICJBQ1BJMDAwMyIp
 DQogICAgICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgIE5hbWUoQUNQUywgT25lcykNCiAgICAg
 ICAgfQ0KICAgICAgICBNZXRob2QoX0lOSSkgew0KICAgICAgICAgICAgU3RvcmUoQUNQVywgQUNQ
 UykNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgUmV0dXJu
 KDB4MGYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9QU1IpIHsNCiAgICAgICAgICAgIF9J
 TkkoKQ0KICAgICAgICAgICAgSWYoQUNQVykgew0KICAgICAgICAgICAgICAgIFJldHVybihPbmUp
 DQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBSZXR1
 cm4oWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBOYW1lKF9QQ0wsIFBh
 Y2thZ2UoMHgwMSkgew0KICAgICAgICAgICAgXF9TQiwNCiAgICAgICAgfSkNCiAgICAgICAgTWV0
 aG9kKEFDSEspIHsNCiAgICAgICAgICAgIFN0b3JlKEFDUFcsIExvY2FsMCkNCiAgICAgICAgICAg
 IElmKExOb3QoTEVxdWFsKExvY2FsMCwgQUNQUykpKSB7DQogICAgICAgICAgICAgICAgU2xlZXAo
 MHgyOCkNCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5BQywgMHg4MCkNCiAgICAgICAgICAg
 ICAgICBTdG9yZShaZXJvLCBEVklEKQ0KICAgICAgICAgICAgICAgIFN0b3JlKDB4OGQsIENNRCkN
 CiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBTU01JKQ0KICAgICAgICAgICAgICAgIE5vdGlm
 eShcX1BSLkNQVTAsIDB4ODApDQogICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBBQ1BTKQ0K
 ICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIERldmljZShDTUIxKSB7DQogICAg
 ICAgIE5hbWUoX0hJRCwgMHgwYTBjZDA0MSkNCiAgICAgICAgTmFtZShfVUlELCBPbmUpDQogICAg
 ICAgIE5hbWUoX1BDTCwgUGFja2FnZSgweDAxKSB7DQogICAgICAgICAgICBcX1NCLA0KICAgICAg
 ICB9KQ0KICAgICAgICBTY29wZShcKSB7DQogICAgICAgICAgICBOYW1lKEIxUFMsIE9uZXMpDQog
 ICAgICAgICAgICBOYW1lKEIxUlMsIE9uZXMpDQogICAgICAgICAgICBOYW1lKEIxQ1MsIE9uZXMp
 DQogICAgICAgICAgICBOYW1lKEIxTFMsIE9uZXMpDQogICAgICAgICAgICBOYW1lKEJJRjEsIFBh
 Y2thZ2UoMHgwZCkgew0KICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgMHgw
 MCwNCiAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAg
 ICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgIDB4
 MDAsDQogICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAweDAxLA0KICAgICAg
 ICAgICAgICAgICIiLA0KICAgICAgICAgICAgICAgICIxIiwNCiAgICAgICAgICAgICAgICAiTElP
 TiIsDQogICAgICAgICAgICAgICAgIkZ1aml0c3UiLA0KICAgICAgICAgICAgfSkNCiAgICAgICAg
 ICAgIE5hbWUoQlNUMSwgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICB9KQ0KICAgICAgICB9
 DQogICAgICAgIE1ldGhvZChNS1dELCAyKSB7DQogICAgICAgICAgICBJZihBbmQoQXJnMSwgMHg4
 MCwgKSkgew0KICAgICAgICAgICAgICAgIE9yKDB4ZmZmZjAwMDAsIEFyZzAsIExvY2FsMCkNCiAg
 ICAgICAgICAgICAgICBPcihMb2NhbDAsIFNoaWZ0TGVmdChBcmcxLCAweDA4LCApLCBMb2NhbDAp
 DQogICAgICAgICAgICAgICAgU3VidHJhY3QoWmVybywgTG9jYWwwLCBMb2NhbDApDQogICAgICAg
 ICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBTdG9yZShBcmcwLCBM
 b2NhbDApDQogICAgICAgICAgICAgICAgT3IoTG9jYWwwLCBTaGlmdExlZnQoQXJnMSwgMHgwOCwg
 KSwgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAg
 ICAgICAgfQ0KICAgICAgICBNZXRob2QoX0lOSSkgew0KICAgICAgICAgICAgU3RvcmUoQjFQLCBC
 MVBTKQ0KICAgICAgICAgICAgU3RvcmUoQjFDUCwgQjFSUykNCiAgICAgICAgICAgIFN0b3JlKEIx
 QywgQjFDUykNCiAgICAgICAgICAgIFN0b3JlKE1LV0QoQjFMTCwgQjFMSCksIEIxTFMpDQogICAg
 ICAgIH0NCiAgICAgICAgTWV0aG9kKF9CSUYpIHsNCiAgICAgICAgICAgIE5hbWUoQlVGRiwgQnVm
 ZmVyKDB4MGMpIHsgfSkNCiAgICAgICAgICAgIFN0b3JlKEIxTk8sIExvY2FsNSkNCiAgICAgICAg
 ICAgIENyZWF0ZUJ5dGVGaWVsZChCSURULCBCMUlELCBCMUlYKQ0KICAgICAgICAgICAgU3RvcmUo
 TUtXRChCMURMLCBCMURIKSwgSW5kZXgoQklGMSwgMHgwMSwgKSkNCiAgICAgICAgICAgIFN0b3Jl
 KE1LV0QoQjFMTCwgQjFMSCksIEluZGV4KEJJRjEsIDB4MDIsICkpDQogICAgICAgICAgICBTdG9y
 ZShNdWx0aXBseShBZGQoQW5kKEIxRFYsIDB4ZWYsICksIDB4MDIsICksIDB4MGUxMCwgKSwgSW5k
 ZXgoQklGMSwgMHgwNCwgKSkNCiAgICAgICAgICAgIElmKExPcihUQlBDLCBMTm90KExMZXNzKFxf
 U0IuT1NUUCgpLCAweDQwKSkpKSB7DQogICAgICAgICAgICAgICAgRGl2aWRlKE11bHRpcGx5KEFk
 ZChNdWx0aXBseSgweDBjLCAweDBhLCApLCAweDA0LCApLCBEZXJlZk9mKEluZGV4KEJJRjEsIDB4
 MDEsICkpLCApLCAweDAzZTgsIExvY2FsMCwgSW5kZXgoQklGMSwgMHgwNSwgKSkNCiAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgIElmKExPcihUQlBDLCBMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAw
 eDQwKSkpKSB7DQogICAgICAgICAgICAgICAgSWYoTE5vdChMTGVzcyhcX1NCLk9TVFAoKSwgMHg0
 MCkpKSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChCSUZMLCAweGZmKSkgew0KICAg
 ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAg
 ICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoQklGTCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBTdG9y
 ZSgweDAxLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIERpdmlk
 ZShNdWx0aXBseShBZGQoTXVsdGlwbHkoTG9jYWwxLCAweDBhLCApLCAweDA0LCApLCBEZXJlZk9m
 KEluZGV4KEJJRjEsIDB4MDEsICkpLCApLCAweDAzZTgsIExvY2FsMCwgSW5kZXgoQklGMSwgMHgw
 NiwgKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExvY2FsNSkgew0KICAgICAgICAg
 ICAgICAgIFN0b3JlKERlcmVmT2YoSW5kZXgoQk1TVCwgQjFJWCwgKSksIEJVRkYpDQogICAgICAg
 ICAgICAgICAgU3RvcmUoMHgwNywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFN0b3JlKExvY2Fs
 NSwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgIFdoaWxlKExBbmQoTG9jYWwyLCBMTm90KExMZXNz
 KExvY2FsMCwgMHgwMikpKSkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZShTdWJ0cmFjdChE
 ZXJlZk9mKEluZGV4KEJVRkYsIExvY2FsMCwgKSksIDB4MzAsICksIExvY2FsMSkNCiAgICAgICAg
 ICAgICAgICAgICAgRGl2aWRlKEFkZChMb2NhbDEsIExvY2FsMiwgKSwgMHgwYSwgTG9jYWwxLCBM
 b2NhbDIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKEFkZChMb2NhbDEsIDB4MzAsICksIElu
 ZGV4KEJVRkYsIExvY2FsMCwgKSkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2Fs
 MCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgU3RvcmUoQlVGRiwgSW5kZXgo
 QklGMSwgMHgwOSwgKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAg
 ICAgICAgICAgIFN0b3JlKERlcmVmT2YoSW5kZXgoQk1OVCwgQjFJWCwgKSksIEluZGV4KEJJRjEs
 IDB4MDksICkpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBSZXR1cm4oQklGMSkNCiAgICAg
 ICAgfQ0KICAgICAgICBNZXRob2QoX0JTVCkgew0KICAgICAgICAgICAgX0lOSSgpDQogICAgICAg
 ICAgICBTdG9yZShaZXJvLCBMb2NhbDApDQogICAgICAgICAgICBJZihCMVApIHsNCiAgICAgICAg
 ICAgICAgICBJZihCMUMpIHsNCiAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDAyLCBM
 b2NhbDApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAg
 ICAgICAgICAgICAgICBJZihMTm90KEFDUFMpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBP
 cihMb2NhbDAsIE9uZSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTEdyZWF0ZXIoQjFDUCwgT25lKSkpIHsN
 CiAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDA0LCBMb2NhbDApDQogICAgICAgICAg
 ICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU3RvcmUoTUtXRChCMUNMLCBCMUNI
 KSwgTG9jYWwxKQ0KICAgICAgICAgICAgRGl2aWRlKE11bHRpcGx5KEIxQ1AsIE1LV0QoQjFMTCwg
 QjFMSCksICksIDB4MDNlOCwgTG9jYWw0LCBMb2NhbDIpDQogICAgICAgICAgICBJZihMb2NhbDQp
 IHsNCiAgICAgICAgICAgICAgICBJbmNyZW1lbnQoTG9jYWwyKQ0KICAgICAgICAgICAgfQ0KICAg
 ICAgICAgICAgTXVsdGlwbHkoTG9jYWwyLCAweDBhLCBMb2NhbDIpDQogICAgICAgICAgICBTdG9y
 ZShNS1dEKEIxVkwsIEIxVkgpLCBMb2NhbDMpDQogICAgICAgICAgICBTdG9yZShMb2NhbDAsIElu
 ZGV4KEJTVDEsIFplcm8sICkpDQogICAgICAgICAgICBTdG9yZShMb2NhbDEsIEluZGV4KEJTVDEs
 IE9uZSwgKSkNCiAgICAgICAgICAgIFN0b3JlKExvY2FsMiwgSW5kZXgoQlNUMSwgMHgwMiwgKSkN
 CiAgICAgICAgICAgIFN0b3JlKExvY2FsMywgSW5kZXgoQlNUMSwgMHgwMywgKSkNCiAgICAgICAg
 ICAgIFJldHVybihCU1QxKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAg
 ICAgICAgICBJZihCMVApIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oMHgxZikNCiAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhv
 ZChCQ0hLKSB7DQogICAgICAgICAgICBJZihMTm90KExFcXVhbChCMVAsIEIxUFMpKSkgew0KICAg
 ICAgICAgICAgICAgIE5vdGlmeShcX1NCLkNNQjEsIDB4ODEpDQogICAgICAgICAgICAgICAgU3Rv
 cmUoQjFQLCBCMVBTKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgSWYoQjFQUykgew0KICAg
 ICAgICAgICAgICAgIFN0b3JlKE1LV0QoQjFMTCwgQjFMSCksIExvY2FsMCkNCiAgICAgICAgICAg
 ICAgICBJZihMTm90KExFcXVhbChMb2NhbDAsIEIxTFMpKSkgew0KICAgICAgICAgICAgICAgICAg
 ICBOb3RpZnkoXF9TQi5DTUIxLCAweDgxKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 ICAgICBJZihMT3IoTE5vdChMRXF1YWwoQjFDLCBCMUNTKSksIExOb3QoTEVxdWFsKEIxQ1AsIEIx
 UlMpKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5KFxfU0IuQ01CMSwgMHg4MCkNCiAg
 ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBCMUxTKQ0KICAg
 ICAgICAgICAgICAgIFN0b3JlKEIxQywgQjFDUykNCiAgICAgICAgICAgICAgICBTdG9yZShCMUNQ
 LCBCMVJTKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIERldmljZShTTFBC
 KSB7DQogICAgICAgIE5hbWUoX0hJRCwgMHgwZTBjZDA0MSkNCiAgICAgICAgTWV0aG9kKF9TVEEp
 IHsNCiAgICAgICAgICAgIElmKEZTQ00pIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oMHgwZikN
 CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgIFJldHVy
 bigweDAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KU2NvcGUoX1RaKSB7
 DQogICAgVGhlcm1hbFpvbmUoVFowMCkgew0KICAgICAgICBNZXRob2QoX0NSVCwgMCwgU2VyaWFs
 aXplZCkgew0KICAgICAgICAgICAgUmV0dXJuKEFkZCgweDBhYWMsIE11bHRpcGx5KENSVFQsIDB4
 MGEsICksICkpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9UTVAsIDAsIFNlcmlhbGl6ZWQp
 IHsNCiAgICAgICAgICAgIElmKERUU0UpIHsNCiAgICAgICAgICAgICAgICBTdG9yZSgweDljLCBD
 TUQpDQogICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgRFZJRCkNCiAgICAgICAgICAgICAgICBT
 dG9yZShaZXJvLCBTU01JKQ0KICAgICAgICAgICAgICAgIFJldHVybihBZGQoMHgwYWFjLCBNdWx0
 aXBseShEVFMxLCAweDBhLCApLCApKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7
 DQogICAgICAgICAgICAgICAgUmV0dXJuKDB4MGJiOCkNCiAgICAgICAgICAgIH0NCiAgICAgICAg
 fQ0KICAgICAgICBNZXRob2QoX1BTTCwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgSWYo
 TVBFTikgew0KICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKDB4MDIpIHsNCiAgICAgICAg
 ICAgICAgICAgICAgXF9QUi5DUFUwLA0KICAgICAgICAgICAgICAgICAgICBcX1BSLkNQVTEsDQog
 ICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAg
 ICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKDB4MDEpIHsNCiAgICAgICAgICAgICAgICAgICAg
 XF9QUi5DUFUwLA0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgIH0N
 CiAgICAgICAgTWV0aG9kKF9QU1YsIDAsIFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgIFJldHVy
 bihBZGQoMHgwYWFjLCBNdWx0aXBseShQU1ZULCAweDBhLCApLCApKQ0KICAgICAgICB9DQogICAg
 ICAgIE1ldGhvZChfVEMxLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBSZXR1cm4oVEMx
 VikNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoX1RDMiwgMCwgU2VyaWFsaXplZCkgew0KICAg
 ICAgICAgICAgUmV0dXJuKFRDMlYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9UU1AsIDAs
 IFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgIFJldHVybihUU1BWKQ0KICAgICAgICB9DQogICAg
 fQ0KICAgIFRoZXJtYWxab25lKFRaMDEpIHsNCiAgICAgICAgTWV0aG9kKF9DUlQsIDAsIFNlcmlh
 bGl6ZWQpIHsNCiAgICAgICAgICAgIFJldHVybihBZGQoMHgwYWFjLCBNdWx0aXBseShDUlRULCAw
 eDBhLCApLCApKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChfVE1QLCAwLCBTZXJpYWxpemVk
 KSB7DQogICAgICAgICAgICBJZihEVFNFKSB7DQogICAgICAgICAgICAgICAgU3RvcmUoMHg5Yywg
 Q01EKQ0KICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIERWSUQpDQogICAgICAgICAgICAgICAg
 U3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAgICBSZXR1cm4oQWRkKDB4MGFhYywgTXVs
 dGlwbHkoRFRTMiwgMHgwYSwgKSwgKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ug
 ew0KICAgICAgICAgICAgICAgIFJldHVybigweDBiYjgpDQogICAgICAgICAgICB9DQogICAgICAg
 IH0NCiAgICAgICAgTWV0aG9kKF9QU0wsIDAsIFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgIElm
 KE1QRU4pIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDAyKSB7DQogICAgICAg
 ICAgICAgICAgICAgIFxfUFIuQ1BVMCwNCiAgICAgICAgICAgICAgICAgICAgXF9QUi5DUFUxLA0K
 ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAg
 ICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDAxKSB7DQogICAgICAgICAgICAgICAgICAg
 IFxfUFIuQ1BVMCwNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9
 DQogICAgICAgIE1ldGhvZChfUFNWLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBSZXR1
 cm4oQWRkKDB4MGFhYywgTXVsdGlwbHkoUFNWVCwgMHgwYSwgKSwgKSkNCiAgICAgICAgfQ0KICAg
 ICAgICBNZXRob2QoX1RDMSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgUmV0dXJuKFRD
 MVYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9UQzIsIDAsIFNlcmlhbGl6ZWQpIHsNCiAg
 ICAgICAgICAgIFJldHVybihUQzJWKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChfVFNQLCAw
 LCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBSZXR1cm4oVFNQVikNCiAgICAgICAgfQ0KICAg
 IH0NCn0NClNjb3BlKFwpIHsNCiAgICBNZXRob2QoVFpTTSwgMSkgew0KICAgICAgICBTdG9yZSgw
 eDljLCBDTUQpDQogICAgICAgIFN0b3JlKEFyZzAsIERWSUQpDQogICAgICAgIFN0b3JlKFplcm8s
 IFNTTUkpDQogICAgfQ0KfQ0KU2NvcGUoXF9HUEUpIHsNCiAgICBNZXRob2QoX0wwMikgew0KICAg
 ICAgICBTdG9yZSgweDAwLCBHUEVDKQ0KICAgICAgICBOb3RpZnkoXF9UWi5UWjAwLCAweDgwKQ0K
 ICAgICAgICBOb3RpZnkoXF9UWi5UWjAxLCAweDgwKQ0KICAgIH0NCiAgICBNZXRob2QoX0wwNSkg
 ew0KICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLkhERUYsIDB4MDIpDQogICAgfQ0KICAgIE1ldGhv
 ZChfTDA4KSB7DQogICAgfQ0KICAgIE1ldGhvZChfTDA5KSB7DQogICAgICAgIElmKFxfU0IuUENJ
 MC5SUDAxLlBTUDEpIHsNCiAgICAgICAgICAgIFN0b3JlKDB4MDEsIFxfU0IuUENJMC5SUDAxLlBT
 UDEpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBcX1NCLlBDSTAuUlAwMS5QTUNTKQ0KICAgICAg
 ICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDAxLCAweDAyKQ0KICAgICAgICB9DQogICAgICAgIElm
 KFxfU0IuUENJMC5SUDAyLlBTUDIpIHsNCiAgICAgICAgICAgIFN0b3JlKDB4MDEsIFxfU0IuUENJ
 MC5SUDAyLlBTUDIpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBcX1NCLlBDSTAuUlAwMi5QTUNT
 KQ0KICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDAyLCAweDAyKQ0KICAgICAgICB9DQog
 ICAgICAgIElmKFxfU0IuUENJMC5SUDAzLlBTUDMpIHsNCiAgICAgICAgICAgIFN0b3JlKDB4MDEs
 IFxfU0IuUENJMC5SUDAzLlBTUDMpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBcX1NCLlBDSTAu
 UlAwMy5QTUNTKQ0KICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDAzLCAweDAyKQ0KICAg
 ICAgICB9DQogICAgICAgIElmKFxfU0IuUENJMC5SUDA0LlBTUDQpIHsNCiAgICAgICAgICAgIFN0
 b3JlKDB4MDEsIFxfU0IuUENJMC5SUDA0LlBTUDQpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBc
 X1NCLlBDSTAuUlAwNC5QTUNTKQ0KICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDA0LCAw
 eDAyKQ0KICAgICAgICB9DQogICAgfQ0KICAgIE1ldGhvZChfTDBCKSB7DQogICAgICAgIE5vdGlm
 eShcX1NCLlBDSTAuUENJQiwgMHgwMikNCiAgICB9DQogICAgTWV0aG9kKF9MMTgpIHsNCiAgICAg
 ICAgU2xlZXAoMHhmYSkNCiAgICAgICAgSWYoTE5vdChMSURTKSkgew0KICAgICAgICAgICAgU3Rv
 cmUoMHg5NywgQ01EKQ0KICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgfQ0K
 ICAgICAgICBOb3QoTFBPTCwgTFBPTCkNCiAgICAgICAgTm90aWZ5KFxfU0IuTElELCAweDgwKQ0K
 ICAgIH0NCiAgICBNZXRob2QoX0wxOSkgew0KICAgICAgICBTdG9yZShTU0YwLCBMb2NhbDApDQog
 ICAgICAgIFN0b3JlKExvY2FsMCwgU1NGMCkNCiAgICAgICAgQW5kKExvY2FsMCwgTm90KFNTTTAs
 ICksIExvY2FsMCkNCiAgICAgICAgU3RvcmUoU1NGMSwgTG9jYWwxKQ0KICAgICAgICBTdG9yZShM
 b2NhbDEsIFNTRjEpDQogICAgICAgIEFuZChMb2NhbDEsIE5vdChTU00xLCApLCBMb2NhbDEpDQog
 ICAgICAgIFN0b3JlKFNTRjIsIExvY2FsMikNCiAgICAgICAgU3RvcmUoTG9jYWwyLCBTU0YyKQ0K
 ICAgICAgICBBbmQoTG9jYWwyLCBOb3QoU1NNMiwgKSwgTG9jYWwyKQ0KICAgICAgICBJZihBbmQo
 TG9jYWwyLCAweDEwLCApKSB7DQogICAgICAgICAgICBcX1NCLkFDLkFDSEsoKQ0KICAgICAgICAg
 ICAgXF9TQi5DTUIxLkJDSEsoKQ0KICAgICAgICAgICAgSWYoTE9yKExOb3QoTEVxdWFsKExXTUQs
 IFBMV00pKSwgTE5vdChMRXF1YWwoVEFMTSwgUFRBTCkpKSkgew0KICAgICAgICAgICAgICAgIFN0
 b3JlKExXTUQsIFBMV00pDQogICAgICAgICAgICAgICAgU3RvcmUoVEFMTSwgUFRBTCkNCiAgICAg
 ICAgICAgICAgICBTdG9yZSgweDk1LCBDTUQpDQogICAgICAgICAgICAgICAgT3IoUExXTSwgU2hp
 ZnRMZWZ0KFBUQUwsIDB4MDEsICksIERWSUQpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywg
 U1NNSSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExBbmQoVEFMTSwgTE5vdChBQ1BX
 KSkpIHsNCiAgICAgICAgICAgICAgICBTdG9yZShPbmUsIEZPQ1QpDQogICAgICAgICAgICB9DQog
 ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBGT0NUKQ0KICAg
 ICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIElmKEFuZChMb2NhbDAsIDB4MDEsICkpIHsN
 CiAgICAgICAgICAgIFxfU0IuUENJMC5HRlgwLlBIVEsoKQ0KICAgICAgICAgICAgU3RvcmUoMHg4
 MCwgQ01EKQ0KICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgIFxfU0Iu
 UENJMC5HRlgwLkFIVEsoKQ0KICAgICAgICAgICAgSWYoQlNXRikgew0KICAgICAgICAgICAgICAg
 IElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCksIDB4NDApKSkgew0KICAgICAgICAgICAgICAgICAg
 ICBcX1NCLlBDSTAuR0ZYMC5MQ0QuQkxORg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
 IH0NCiAgICAgICAgICAgIElmKEFIS0YpIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5Q
 Q0kwLkxQQ0IuRkpFWCwgMHg4MCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKElSQkYp
 IHsNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwoSVJCQywgMHhmZDAwKSkgew0KICAgICAgICAg
 ICAgICAgICAgICBTdG9yZShPbmUsIEdJTlQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
 ICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBcX1NCLkZFWFQuU0lSQihJUkJDKQ0K
 ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5GRVhULCAweDgw
 KQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIElSQkYpDQogICAgICAgICAgICB9DQogICAg
 ICAgIH0NCiAgICAgICAgSWYoQW5kKExvY2FsMSwgMHgzMCwgKSkgew0KICAgICAgICAgICAgXF9T
 Qi5QQ0kwLkxQQ0IuQ01CVC5TV0NGKCkNCiAgICAgICAgfQ0KICAgICAgICBJZihBbmQoTG9jYWwy
 LCAweDA4LCApKSB7DQogICAgICAgICAgICBTdG9yZShCMlNVLCBMb2NhbDYpDQogICAgICAgICAg
 ICBTdG9yZShCMlNELCBMb2NhbDcpDQogICAgICAgICAgICBTdG9yZShaZXJvLCBTVEFFKQ0KICAg
 ICAgICAgICAgSWYoTE9yKExvY2FsNiwgTG9jYWw3KSkgew0KICAgICAgICAgICAgICAgIFNsZWVw
 KDB4MDNlOCkNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBCMlNVKQ0KICAgICAgICAgICAg
 ICAgIFN0b3JlKFplcm8sIEIyU0QpDQogICAgICAgICAgICAgICAgU3RvcmUoWE9yKERLRVYsIE9u
 ZSwgKSwgREtFVikNCiAgICAgICAgICAgICAgICBJZihSUEVOKSB7DQogICAgICAgICAgICAgICAg
 ICAgIElmKExOb3QoTEVxdWFsKEIyVEMsIFJQRFMpKSkgew0KICAgICAgICAgICAgICAgICAgICAg
 ICAgU3RvcmUoQjJUQywgUlBEUykNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKFJQRFMpIHsN
 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5SRVBMLCBaZXJvKQ0KICAg
 ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAoMHgwZmEwKQ0KICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgIE5vdGlmeShcX1NCLlJFUEwsIE9uZSkNCiAgICAgICAgICAgICAgICAgICAg
 ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
 ICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBNZXRob2QoX0wxRCkgew0KICAgICAgICBJZihF
 WFBMKSB7DQogICAgICAgICAgICBcX1NCLlBDSTAuUlAwMi5QWFMyLkVYSU4oKQ0KICAgICAgICB9
 DQogICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgXF9TQi5QQ0kwLlJQMDIuUFhTMi5FWFJNKCkN
 CiAgICAgICAgfQ0KICAgICAgICBTbGVlcCgweDY0KQ0KICAgICAgICBOb3RpZnkoXF9TQi5QQ0kw
 LlJQMDIsIFplcm8pDQogICAgfQ0KfQ0KTmFtZShfUzAsIFBhY2thZ2UoMHgwNCkgew0KICAgIDB4
 MDAsDQogICAgMHgwMCwNCiAgICAweDAwLA0KICAgIDB4MDAsDQp9KQ0KTmFtZShfUzMsIFBhY2th
 Z2UoMHgwNCkgew0KICAgIDB4MDUsDQogICAgMHgwNSwNCiAgICAweDAwLA0KICAgIDB4MDAsDQp9
 KQ0KTmFtZShfUzQsIFBhY2thZ2UoMHgwNCkgew0KICAgIDB4MDYsDQogICAgMHgwNiwNCiAgICAw
 eDAwLA0KICAgIDB4MDAsDQp9KQ0KTmFtZShfUzUsIFBhY2thZ2UoMHgwNCkgew0KICAgIDB4MDcs
 DQogICAgMHgwNywNCiAgICAweDAwLA0KICAgIDB4MDAsDQp9KQ0KTWV0aG9kKF9QVFMsIDEpIHsN
 CiAgICBBZGQoMHhkZCwgQXJnMCwgUE84MCkNCiAgICBJZihMQW5kKExOb3QoTExlc3MoQXJnMCwg
 T25lKSksIExOb3QoTEdyZWF0ZXIoQXJnMCwgMHgwNCkpKSkgew0KICAgICAgICBJZihSUEVOKSB7
 DQogICAgICAgICAgICBTdG9yZShSUERTLCBEQzFTKQ0KICAgICAgICB9DQogICAgICAgIElmKFxf
 U0IuUENJMC5SUDAyLlBYUzIuX1NUQSgpKSB7DQogICAgICAgICAgICBTdG9yZShaZXJvLCBFWElT
 KQ0KICAgICAgICB9DQogICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgU3RvcmUoMHhmZiwgRVhJ
 UykNCiAgICAgICAgfQ0KICAgIH0NCiAgICBcX1NCLlBDSTAuTFBDQi5DTUJULkJQVFMoQXJnMCkN
 CiAgICBTdG9yZShaZXJvLCBXQVBCKQ0KICAgIFN0b3JlKE9uZSwgSERXQSkNCiAgICBBZGQoMHhl
 MCwgQXJnMCwgUE84MCkNCn0NCk1ldGhvZChfV0FLLCAxKSB7DQogICAgQWRkKDB4ZWUsIEFyZzAs
 IFBPODApDQogICAgXF9TQi5QQ0kwLkxQQ0IuQUlOSSgpDQogICAgXF9TQi5QQ0kwLlBDSUIuX0lO
 SSgpDQogICAgXF9TQi5GRVhULl9JTkkoKQ0KICAgIElmKExFcXVhbChBcmcwLCAweDAzKSkgew0K
 ICAgICAgICBTdG9yZSgweGEzLCBDTUQpDQogICAgICAgIFN0b3JlKDB4MDAsIElORikNCiAgICAg
 ICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICB9DQogICAgSWYoTEVxdWFsKEFyZzAsIDB4MDMpKSB7
 DQogICAgICAgIFN0b3JlKDB4OWIsIENNRCkNCiAgICAgICAgU3RvcmUoMHgwNCwgRFZJRCkNCiAg
 ICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICB9DQogICAgSWYoV0FQQikgew0KICAgICAgICBO
 b3RpZnkoXF9TQi5QV1JCLCAweDAyKQ0KICAgIH0NCiAgICBJZihMRXF1YWwoQXJnMCwgMHgwNCkp
 IHsNCiAgICAgICAgXF9TQi5GRVhULkZVTkMoMHgxMDAyLCAweDAzLCBPbmVzLCBXQlROKQ0KICAg
 IH0NCiAgICBcX1NCLlBDSTAuTFBDQi5DTUJULkJXQUsoQXJnMCkNCiAgICBJZihMQW5kKExOb3Qo
 TExlc3MoQXJnMCwgT25lKSksIExOb3QoTEdyZWF0ZXIoQXJnMCwgMHgwNCkpKSkgew0KICAgICAg
 ICBJZihSUEVOKSB7DQogICAgICAgICAgICBJZihMTm90KExFcXVhbChCMlRDLCBEQzFTKSkpIHsN
 CiAgICAgICAgICAgICAgICBTdG9yZShCMlRDLCBSUERTKQ0KICAgICAgICAgICAgICAgIElmKFJQ
 RFMpIHsNCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5KFxfU0IuUkVQTCwgWmVybykNCiAgICAg
 ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
 IE5vdGlmeShcX1NCLlJFUEwsIE9uZSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9
 DQogICAgICAgIH0NCiAgICAgICAgSWYoXF9TQi5QQ0kwLlJQMDIuUFhTMi5fU1RBKCkpIHsNCiAg
 ICAgICAgICAgIElmKEVYSVMpIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLlJQ
 MDIsIFplcm8pDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgRWxzZSB7DQogICAg
 ICAgICAgICBJZihMTm90KEVYSVMpKSB7DQogICAgICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJ
 MC5SUDAyLCBaZXJvKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIElmKE5HVE0p
 IHsNCiAgICAgICAgICAgIFxfU0IuRkVYVC5GVU5DKDB4MTAwNCwgMHgwMSwgMHgwNCwgMHgwMCkN
 CiAgICAgICAgfQ0KICAgICAgICBJZihcX1NCLlBDSTAuTFBDQi5ESUdJLl9TVEEoKSkgew0KICAg
 ICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuRElHSS5fSU5JKCkNCiAgICAgICAgfQ0KICAgICAgICBc
 X1NCLlBDSTAuTFBDQi5CVE5TLl9JTkkoKQ0KICAgIH0NCiAgICBBZGQoMHhmMCwgQXJnMCwgUE84
 MCkNCiAgICBSZXR1cm4oWmVybykNCn0NCg0KfQ0KLyoNCk1DRkc6IExlbmd0aD02MCwgUmV2aXNp
 b249MSwgQ2hlY2tzdW09MzksDQoJT0VNSUQ9RlVKLCBPRU0gVGFibGUgSUQ9RkpOQjFDNSwgT0VN
 IFJldmlzaW9uPTB4MTEzMDAwMCwNCglDcmVhdG9yIElEPUZVSiwgQ3JlYXRvciBSZXZpc2lvbj0w
 eDEwMA0KICovDQovKg0KU1NEVDogTGVuZ3RoPTEyNDQsIFJldmlzaW9uPTEsIENoZWNrc3VtPTEx
 LA0KCU9FTUlEPUZVSiwgT0VNIFRhYmxlIElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAw
 MDAsDQoJQ3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNTA2MjQNCiAqLw0K
 LyoNClNTRFQ6IExlbmd0aD0zNTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTUwLA0KCU9FTUlEPUZV
 SiwgT0VNIFRhYmxlIElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAwMDAsDQoJQ3JlYXRv
 ciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNTA2MjQNCiAqLw0KLyoNClNTRFQ6IExl
 bmd0aD00NjQsIFJldmlzaW9uPTEsIENoZWNrc3VtPTg3LA0KCU9FTUlEPUZVSiwgT0VNIFRhYmxl
 IElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAwMDAsDQoJQ3JlYXRvciBJRD1JTlRMLCBD
 cmVhdG9yIFJldmlzaW9uPTB4MjAwNTA2MjQNCiAqLw0KLyoNCkFQSUM6IExlbmd0aD05MCwgUmV2
 aXNpb249MSwgQ2hlY2tzdW09NTIsDQoJT0VNSUQ9RlVKLCBPRU0gVGFibGUgSUQ9RkpOQjFDNSwg
 T0VNIFJldmlzaW9uPTB4MTEzMDAwMCwNCglDcmVhdG9yIElEPSBMVFAsIENyZWF0b3IgUmV2aXNp
 b249MHgwDQogKi8NCi8qDQpIUEVUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTIx
 NSwNCglPRU1JRD1GVUosIE9FTSBUYWJsZSBJRD1GSk5CMUM1LCBPRU0gUmV2aXNpb249MHgxMTMw
 MDAwLA0KCUNyZWF0b3IgSUQ9RlVKLCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwDQogKi8NCi8qDQpC
 T09UOiBMZW5ndGg9NDAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTIyNCwNCglPRU1JRD1GVUosIE9F
 TSBUYWJsZSBJRD1GSk5CMUM1LCBPRU0gUmV2aXNpb249MHgxMTMwMDAwLA0KCUNyZWF0b3IgSUQ9
 RlVKLCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwDQogKi8NCi8qDQpTTElDOiBMZW5ndGg9Mzc0LCBS
 ZXZpc2lvbj0xLCBDaGVja3N1bT00MywNCglPRU1JRD1GVUosIE9FTSBUYWJsZSBJRD1QQywgT0VN
 IFJldmlzaW9uPTB4MTEzMDAwMCwNCglDcmVhdG9yIElEPUZVSiwgQ3JlYXRvciBSZXZpc2lvbj0w
 eDEwMA0KICovDQo=

 ----Next_Part(Mon_May_26_00_20_56_2008_239)----

State-Changed-From-To: feedback->open
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Sun, 25 May 2008 15:42:54 +0000
State-Changed-Why:
Feedback provided.


State-Changed-From-To: open->feedback
State-Changed-By: jmcneill@NetBSD.org
State-Changed-When: Tue, 25 Aug 2009 10:40:40 +0000
State-Changed-Why:
A similar bug was fixed in late June, is this still an issue for you?

Other PR: http://gnats.netbsd.org/38729


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, jmcneill@NetBSD.org
Cc: joerg@NetBSD.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Tue, 25 Aug 2009 23:37:57 +0900 (JST)

 ----Next_Part(Tue_Aug_25_23_37_57_2009_049)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit

 Hi

 With the latest kernel, pci2 is not enabled.
 PR38720 does not fix my problem.

 I attach dmesg of GENERIC.
 After ACPICA 20090730 is imported, folloing warning is displayed.

 ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)


 Can I help to fix this problem?
 I will send any information.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

 ----Next_Part(Tue_Aug_25_23_37_57_2009_049)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline; filename="090825-generic-dmesg.txt"

 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008, 2009
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 5.99.15 (GENERIC) #2: Tue Aug 25 23:07:47 JST 2009
 	root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC
 total memory = 1013 MB
 avail memory = 985 MB
 timecounter: Timecounters tick every 10.000 msec
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 FUJITSU FMVLP70WN ( )
 mainbus0 (root)
 cpu0 at mainbus0 apid 0: Intel 686-class, 1197MHz, id 0x6ec
 ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Intel ACPICA 20090730
 acpi0: X/RSDT: OemId <FUJ   ,PC      ,01130000>, AslId <FUJ ,00000100>
 acpi0: SCI interrupting at int 9
 acpi0: fixed-feature power button present
 timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
 ACPI-Safe 24-bit timer
 DIGI (FUJ02E6) at acpi0 not configured
 BTNS (FUJ02BF) at acpi0 not configured
 FJEX (FUJ02B1) at acpi0 not configured
 acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
 attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
 pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
 midi0 at pcppi1: PC speaker
 sysbeep0 at pcppi1
 npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
 npx1: reported by CPUID; using exception 16
 pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
 pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 FEXT (FUJ02E3) at acpi0 not configured
 acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
 ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
 acpibat0: battery info: Fujitsu, LION, CP240502 1
 acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
 acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
 apm0 at acpi0: Power Management spec V1.2
 attimer1: attached to pcppi1
 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: vendor 0x8086 product 0x27a0 (rev. 0x03)
 agp0 at pchb0: detected 7932k stolen memory
 agp0: aperture at 0xe0000000, size 0x10000000
 vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 drm at vga1 not configured
 vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
 azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
 azalia0: interrupting at ioapic0 pin 17
 azalia0: host: 0x8086/0x27d8 (rev. 2), HDA rev. 1.0
 ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
 ppb0: disabling notification events
 pci1 at ppb0 bus 2
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
 , Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
 msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
 ukphy0 at msk0 phy 0: OUI 0x000ac2, model 0x000b, rev. 1
 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
 ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
 ppb1: disabling notification events
 pci2 at ppb1 bus 5
 pci2: no spaces enabled!
 uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
 uhci0: interrupting at ioapic0 pin 23
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
 uhci1: interrupting at ioapic0 pin 20
 usb1 at uhci1: USB revision 1.0
 uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
 uhci2: interrupting at ioapic0 pin 18
 usb2 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
 uhci3: interrupting at ioapic0 pin 16
 usb3 at uhci3: USB revision 1.0
 ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
 ehci0: interrupting at ioapic0 pin 23
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
 usb4 at ehci0: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
 pci3 at ppb2 bus 8
 pci3: i/o space, memory space enabled
 cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
 sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
 sdhc0: interrupting at ioapic0 pin 17
 sdmmc0 at sdhc0
 cbb0: cacheline 0x0 lattimer 0x40
 cbb0: bhlc 0x824000
 cbb0: interrupting at ioapic0 pin 16
 cardslot0 at cbb0
 cardbus0 at cardslot0: bus 9
 pcmcia0 at cardslot0
 ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
 timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
 ichlpcib0: 24-bit timer
 ichlpcib0: TCO (watchdog) timer configured.
 piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
 piixide0: bus-master DMA support present
 piixide0: primary channel configured to compatibility mode
 piixide0: primary channel interrupting at ioapic0 pin 14
 atabus0 at piixide0 channel 0
 piixide0: secondary channel configured to compatibility mode
 piixide0: secondary channel ignored (disabled)
 ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
 ichsmb0: interrupting at ioapic0 pin 19
 iic0 at ichsmb0: I2C bus
 isa0 at ichlpcib0
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 timecounter: Timecounter "TSC" frequency 1197083790 Hz quality 3000
 acpiacad0: AC adapter online.
 azalia0: codec[0]: Sigmatel STAC9228X (rev. 2.1), HDA rev. 1.0
 azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0), HDA rev. 1.0
 azalia0: codec[1]: No support for modem function groups
 azalia0: codec[1] has no audio function groups
 audio0 at azalia0: full duplex, independent
 uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 ugen0 at uhub2 port 1
 ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.21, addr 2
 wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 Kernelized RAIDframe activated
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio1 at pad0: half duplex
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 ubt0 at uhub2 port 2
 ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
 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)

 ----Next_Part(Tue_Aug_25_23_37_57_2009_049)----


From: "Jared D. McNeill" <jmcneill@invisible.ca>
To: "'Ryo ONODERA'" <ryo_on@yk.rim.or.jp>,
	<gnats-bugs@NetBSD.org>,
	<jmcneill@NetBSD.org>
Cc: <joerg@NetBSD.org>,
	<netbsd-bugs@netbsd.org>,
	<gnats-admin@netbsd.org>
Subject: RE: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.)
Date: Tue, 25 Aug 2009 10:39:27 -0400

 Does it work if you add the following to your kernel config:

   options PCI_BUS_FIXUP
   options PCI_ADDR_FIXUP

 Thanks,
 Jared

From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, jmcneill@invisible.ca
Cc: joerg@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Wed, 26 Aug 2009 00:15:20 +0900 (JST)

 ----Next_Part(Wed_Aug_26_00_15_20_2009_446)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit

 Adding PCI_BUS_FIXUP and PCI_ADDR_FIXUP options does not improve pci2 problem.

 dmesg is attached.

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3

 ----Next_Part(Wed_Aug_26_00_15_20_2009_446)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline; filename="090825-generic1-dmesg.txt"

 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008, 2009
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 5.99.15 (GENERIC1) #0: Tue Aug 25 23:56:31 JST 2009
 	root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC1
 total memory = 1013 MB
 avail memory = 985 MB
 timecounter: Timecounters tick every 10.000 msec
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 FUJITSU FMVLP70WN ( )
 mainbus0 (root)
 pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005800
 pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005808
 pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005810
 pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x0000580c
 pci_addr_fixup: 003:03:0 0x1180 0x0476 new address 0x3f700000
 cpu0 at mainbus0 apid 0: Intel 686-class, 1197MHz, id 0x6ec
 ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Intel ACPICA 20090730
 acpi0: X/RSDT: OemId <FUJ   ,PC      ,01130000>, AslId <FUJ ,00000100>
 acpi0: SCI interrupting at int 9
 acpi0: fixed-feature power button present
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 ACPI-Fast 24-bit timer
 DIGI (FUJ02E6) at acpi0 not configured
 BTNS (FUJ02BF) at acpi0 not configured
 FJEX (FUJ02B1) at acpi0 not configured
 acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
 attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
 pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
 midi0 at pcppi1: PC speaker
 sysbeep0 at pcppi1
 npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
 npx1: reported by CPUID; using exception 16
 pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
 pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 FEXT (FUJ02E3) at acpi0 not configured
 acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
 ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
 acpibat0: battery info: Fujitsu, LION, CP240502 1
 acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
 acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
 apm0 at acpi0: Power Management spec V1.2
 attimer1: attached to pcppi1
 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: vendor 0x8086 product 0x27a0 (rev. 0x03)
 agp0 at pchb0: detected 7932k stolen memory
 agp0: aperture at 0xe0000000, size 0x10000000
 vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 drm at vga1 not configured
 vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
 azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
 azalia0: interrupting at ioapic0 pin 17
 azalia0: host: 0x8086/0x27d8 (rev. 2), HDA rev. 1.0
 ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
 ppb0: disabling notification events
 pci1 at ppb0 bus 1
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
 , Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
 msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
 ukphy0 at msk0 phy 0: OUI 0x000ac2, model 0x000b, rev. 1
 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
 ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
 ppb1: disabling notification events
 pci2 at ppb1 bus 2
 pci2: no spaces enabled!
 uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
 uhci0: interrupting at ioapic0 pin 23
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
 uhci1: interrupting at ioapic0 pin 20
 usb1 at uhci1: USB revision 1.0
 uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
 uhci2: interrupting at ioapic0 pin 18
 usb2 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
 uhci3: interrupting at ioapic0 pin 16
 usb3 at uhci3: USB revision 1.0
 ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
 ehci0: interrupting at ioapic0 pin 23
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
 usb4 at ehci0: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
 pci3 at ppb2 bus 3
 pci3: i/o space, memory space enabled
 cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
 sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
 sdhc0: interrupting at ioapic0 pin 17
 sdmmc0 at sdhc0
 cbb0: bad Vcc request. sock_ctrl 0xffffff88, sock_status 0xffffffff
 cbb0: disabling socket
 new status 0xffffffff
 cbb0: cacheline 0x0 lattimer 0x40
 cbb0: bhlc 0x824000
 cbb0: interrupting at ioapic0 pin 16
 cardslot0 at cbb0
 cardbus0 at cardslot0: bus 4
 pcmcia0 at cardslot0
 ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
 timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
 ichlpcib0: 24-bit timer
 ichlpcib0: TCO (watchdog) timer configured.
 piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
 piixide0: bus-master DMA support present
 piixide0: primary channel configured to compatibility mode
 piixide0: primary channel interrupting at ioapic0 pin 14
 atabus0 at piixide0 channel 0
 piixide0: secondary channel configured to compatibility mode
 piixide0: secondary channel ignored (disabled)
 ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
 ichsmb0: interrupting at ioapic0 pin 19
 iic0 at ichsmb0: I2C bus
 isa0 at ichlpcib0
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 timecounter: Timecounter "TSC" frequency 1197067410 Hz quality 3000
 acpiacad0: AC adapter online.
 azalia0: codec[0]: Sigmatel STAC9228X (rev. 2.1), HDA rev. 1.0
 azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0), HDA rev. 1.0
 azalia0: codec[1]: No support for modem function groups
 azalia0: codec[1] has no audio function groups
 audio0 at azalia0: full duplex, independent
 uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 ugen0 at uhub2 port 1
 ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.21, addr 2
 wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 Kernelized RAIDframe activated
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio1 at pad0: half duplex
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 ubt0 at uhub2 port 2
 ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
 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)

 ----Next_Part(Wed_Aug_26_00_15_20_2009_446)----


State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 27 Aug 2009 04:04:46 +0000
State-Changed-Why:
feedback received, problem still exists.


State-Changed-From-To: open->feedback
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Wed, 11 Nov 2009 14:26:39 +0000
State-Changed-Why:
Can you also try the patch from
http://mail-index.netbsd.org/current-users/2009/11/09/msg011119.html
please?


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, joerg@NetBSD.org
Cc: netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Thu, 12 Nov 2009 05:55:08 +0900 (JST)

 ----Next_Part(Thu_Nov_12_05_55_08_2009_057)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit

 I try your netbsd-current-i386.bz2 kernel with ACPI patch,
 pci2 is still disabled.
 Nothing changed.

 I attach dmesg of netbsd-current-i386.bz2 (netbsd-current-i386-dmesg.txt).


 ----Next_Part(Thu_Nov_12_05_55_08_2009_057)--
 Content-Type: Text/Plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline; filename="netbsd-current-i386-dmesg.txt"

 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008, 2009
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 5.99.22 (GENERIC) #0: Tue Nov 10 00:08:30 CET 2009
 	joerg@britannica.bec.de:/home/joerg/data/NetBSD/clean2/src/sys/arch/i386/compile/GENERIC
 total memory = 1013 MB
 avail memory = 985 MB
 timecounter: Timecounters tick every 10.000 msec
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 FUJITSU FMVLP70WN ( )
 mainbus0 (root)
 cpu0 at mainbus0 apid 0: Intel 686-class, 1197MHz, id 0x6ec
 ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Intel ACPICA 20090730
 acpi0: X/RSDT: OemId <FUJ   ,PC      ,01130000>, AslId <FUJ ,00000100>
 acpi0: SCI interrupting at int 9
 acpi0: fixed-feature power button present
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 ACPI-Fast 24-bit timer
 DIGI (FUJ02E6) at acpi0 not configured
 BTNS (FUJ02BF) at acpi0 not configured
 FJEX (FUJ02B1) at acpi0 not configured
 acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
 attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
 pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
 midi0 at pcppi1: PC speaker
 sysbeep0 at pcppi1
 npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
 npx1: reported by CPUID; using exception 16
 pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
 pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 FEXT (FUJ02E3) at acpi0 not configured
 acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
 ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
 acpibat0: battery info: Fujitsu, LION, CP240502 1
 acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
 acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
 apm0 at acpi0: Power Management spec V1.2
 attimer1: attached to pcppi1
 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: vendor 0x8086 product 0x27a0 (rev. 0x03)
 agp0 at pchb0: detected 7932k stolen memory
 agp0: aperture at 0xe0000000, size 0x10000000
 vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 drm at vga1 not configured
 vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
 hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
 hdaudio0: interrupting at ioapic0 pin 17
 hdafg0 at hdaudio0 vendor 0x8384 product 0x7616 nid 0x01 (firmware configuration)
 hdafg0: ADC0:07, Analog Mic In: Fixed Function (Unknown, 13)
 hdafg0: ADC1:08, Analog Mic In: Jack (Black, 0C)
 hdafg0: DAC2:02, Analog HP Out: Jack (Black, 0A)
 hdafg0: 2ch/2ch 44100Hz-192000Hz 16/16 20/32 24/32
 audio0 at hdafg0: full duplex, playback, capture, independent
 hdvsmfg at hdaudio0 vendor 0x11C1 product 0x1040 nid 0x01 not configured
 ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
 ppb0: disabling notification events
 pci1 at ppb0 bus 2
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
 , Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
 msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
 ukphy0 at msk0 phy 0: OUI 0x000ac2, model 0x000b, rev. 1
 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
 ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
 ppb1: disabling notification events
 pci2 at ppb1 bus 5
 pci2: no spaces enabled!
 uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
 uhci0: interrupting at ioapic0 pin 23
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
 uhci1: interrupting at ioapic0 pin 20
 usb1 at uhci1: USB revision 1.0
 uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
 uhci2: interrupting at ioapic0 pin 18
 usb2 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
 uhci3: interrupting at ioapic0 pin 16
 usb3 at uhci3: USB revision 1.0
 ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
 ehci0: interrupting at ioapic0 pin 23
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
 usb4 at ehci0: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
 pci3 at ppb2 bus 8
 pci3: i/o space, memory space enabled
 cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
 sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
 sdhc0: interrupting at ioapic0 pin 17
 sdmmc0 at sdhc0
 cbb0: cacheline 0x0 lattimer 0x40
 cbb0: bhlc 0x824000
 cbb0: interrupting at ioapic0 pin 16
 cardslot0 at cbb0
 cardbus0 at cardslot0: bus 9
 pcmcia0 at cardslot0
 ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
 timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
 ichlpcib0: 24-bit timer
 ichlpcib0: TCO (watchdog) timer configured.
 gpiobus at ichlpcib0 not configured
 piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
 piixide0: bus-master DMA support present
 piixide0: primary channel configured to compatibility mode
 piixide0: primary channel interrupting at ioapic0 pin 14
 atabus0 at piixide0 channel 0
 piixide0: secondary channel configured to compatibility mode
 piixide0: secondary channel ignored (disabled)
 ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
 ichsmb0: interrupting at ioapic0 pin 19
 iic0 at ichsmb0: I2C bus
 isa0 at ichlpcib0
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 timecounter: Timecounter "TSC" frequency 1197130950 Hz quality 3000
 acpiacad0: AC adapter online.
 uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 ugen0 at uhub2 port 1
 ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.21, addr 2
 wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 Kernelized RAIDframe activated
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio1 at pad0: half duplex, playback, capture
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 ubt0 at uhub2 port 2
 ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
 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)

 ----Next_Part(Thu_Nov_12_05_55_08_2009_057)----


State-Changed-From-To: feedback->open
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Wed, 11 Nov 2009 21:10:57 +0000
State-Changed-Why:
Feedback provided, init order is not the culprit.


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, joerg@NetBSD.org, netbsd-bugs@netbsd.org,
 gnats-admin@netbsd.org
Cc: 
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Mon, 22 Feb 2010 16:00:18 +0900 (JST)

 Hi,

 I apply following patch and check the value of "pba->pba_flags"
 in src/sys/dev/pci/pci.c.

 --- pci.c.orig	2010-02-21 09:59:56.000000000 +0900
 +++ pci.c	2010-02-21 12:11:29.000000000 +0900
 @@ -155,6 +155,7 @@
  	mrm_enabled = (pba->pba_flags & PCI_FLAGS_MRM_OKAY);
  	mwi_enabled = (pba->pba_flags & PCI_FLAGS_MWI_OKAY);

 +	aprint_verbose("pba->pba_flags is %d\n", pba->pba_flags);
  	if (io_enabled == 0 && mem_enabled == 0) {
  		aprint_error_dev(self, "no spaces enabled!\n");
  		goto fail;

 Then booting with ACPI support, I get these lines in dmesg.

 pci0 at mainbus0 bus 0: configuration mode 1
 pba->pba_flags is 31
 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok

 pci1 at ppb0 bus 2
 pba->pba_flags is 23
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok

 pci2 at ppb1 bus 5
 pba->pba_flags is 20
 pci2: no spaces enabled!

 pci3 at ppb2 bus 8
 pba->pba_flags is 3
 pci3: i/o space, memory space enabled


 Next, booting without ACPI support, I get these lines in dmesg.

 pci0 at mainbus0 bus 0: configuration mode 1
 pba->pba_flags is 31
 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok

 pci1 at ppb0 bus 2
 pba->pba_flags is 23
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok

 pci2 at ppb1 bus 5
 pba->pba_flags is 23
 pci2: i/o space, memory space enabled, rd/line, wr/inv ok

 pci3 at ppb2 bus 8
 pba->pba_flags is 3
 pci3: i/o space, memory space enabled


 I think that the value of pba->pba_flags should be 23 in ACPI-enabled mode.

 But, I do not know I should do next.
 Would you like to help me?

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
 LOOX P70WN.)
Date: Sun, 05 Jun 2011 17:44:48 +0900 (JST)

 With recent kernel 5.99.52, pci2 is detected, but wpi0, child of pci2
 is not working properly.
 I will submit wpi0 problem as another PR.

 dmesg is here.

 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008, 2009, 2010, 2011
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 5.99.52 (LEAFGIRL4) #5: Sat Jun  4 17:03:08 JST 2011
 	root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/LEAFGIRL4
 total memory = 1013 MB
 avail memory = 984 MB
 timecounter: Timecounters tick every 10.000 msec
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 FUJITSU FMVLP70WN ( )
 mainbus0 (root)
 cpu0 at mainbus0 apid 0: Intel(R) Core(TM) Solo CPU     U1400  @ 1.20GHz, id 0x6ec
 ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Intel ACPICA 20110211
 acpi0: X/RSDT: OemId <FUJ   ,PC      ,01130000>, AslId <FUJ ,00000100>
 acpi0: SCI interrupting at int 9
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
 MCFG (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
 MBIO (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
 acpivga0 at acpi0 (GFX0): ACPI Display Adapter
 acpiout0 at acpivga0 (CRT, 0x0100): ACPI Display Output Device
 acpiout1 at acpivga0 (LCD, 0x0110): ACPI Display Output Device
 acpiout1: brightness levels: 0 15 29 43 57 71 85 100
 acpiout2 at acpivga0 (TV, 0x0200): ACPI Display Output Device
 acpiout3 at acpivga0 (DVI, 0x0300): ACPI Display Output Device
 acpivga0: connected output devices:
 acpivga0:   0x0100 (acpiout0): Ext. Monitor, head 0, bios detect
 acpivga0:   0x0110 (acpiout1): LCD Panel, head 0, bios detect
 acpivga0:   0x0200 (acpiout2): TV, head 0, bios detect
 acpivga0:   0x0300 (acpiout3): Unknown Output Device, head 0, bios detect
 com3 at acpi0 (DIGI, FUJ02E6): io 0x220-0x227 irq 4
 com3: ns16550a, working fifo
 BTNS (FUJ02BF) at acpi0 not configured
 fujbp0 at acpi0 (FJEX, FUJ02B1): Fujitsu Brightness & Pointer
 attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
 pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
 midi0 at pcppi1: PC speaker
 sysbeep0 at pcppi1
 npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
 npx1: reported by CPUID; using exception 16
 pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
 pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff
 timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
 fujhk0 at acpi0 (FEXT, FUJ02E3): Fujitsu Hotkeys
 acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery
 acpibat0: Fujitsu LION rechargeable battery
 acpibat0: model number CP240502, serial number 1
 acpibat0: granularity: low->warn 0.001 Ah, warn->full 0.001 Ah
 acpitz0 at acpi0 (TZ00): cpu0
 acpitz0: levels: critical 100.0 C, passive 95.0 C, passive cooling
 acpitz1 at acpi0 (TZ01): cpu0
 acpitz1: levels: critical 100.0 C, passive 95.0 C, passive cooling
 apm0 at acpi0: Power Management spec V1.2
 acpi0: [MADT] LAPIC          : CPU ID 0, LAPIC ID 0, FLAGS 0x01
 acpi0: [MADT] I/O APIC       : ID 1, GSI 0, ADDR 0xFEC00000
 acpi0: [MADT] LAPIC NMI      : CPU ID 0, LINT 1, FLAGS 0x05
 acpi0: [MADT] INTR OVERRIDE  : BUS 0, IRQ 0, GSI 2, FLAGS 0x05
 acpi0: [MADT] INTR OVERRIDE  : BUS 0, IRQ 9, GSI 9, FLAGS 0x0D
 acpi0: [FADT] FACS           : 0x000000003F669FC0
 acpi0: [FADT] DSDT           : 0x000000003F6626D8
 acpi0: [FADT] INT_MODEL      : 0x0000000000000000
 acpi0: [FADT] PM_PROFILE     : 0x0000000000000000
 acpi0: [FADT] SCI_INT        : 0x0000000000000009
 acpi0: [FADT] SMI_CMD        : 0x00000000000000B2
 acpi0: [FADT] ACPI_ENABLE    : 0x00000000000000F0
 acpi0: [FADT] ACPI_DISABLE   : 0x00000000000000F1
 acpi0: [FADT] S4BIOS_REQ     : 0x0000000000000000
 acpi0: [FADT] PSTATE_CNT     : 0x0000000000000080
 acpi0: [FADT] PM1a_EVT_BLK   : 0x0000000000001000
 acpi0: [FADT] PM1b_EVT_BLK   : 0x0000000000000000
 acpi0: [FADT] PM1a_CNT_BLK   : 0x0000000000001004
 acpi0: [FADT] PM1b_CNT_BLK   : 0x0000000000000000
 acpi0: [FADT] PM2_CNT_BLK    : 0x0000000000001020
 acpi0: [FADT] PM_TMR_BLK     : 0x0000000000001008
 acpi0: [FADT] GPE0_BLK       : 0x0000000000001028
 acpi0: [FADT] GPE1_BLK       : 0x0000000000000000
 acpi0: [FADT] PM1_EVT_LEN    : 0x0000000000000004
 acpi0: [FADT] PM1_CNT_LEN    : 0x0000000000000002
 acpi0: [FADT] PM2_CNT_LEN    : 0x0000000000000001
 acpi0: [FADT] PM_TMR_LEN     : 0x0000000000000004
 acpi0: [FADT] GPE0_BLK_LEN   : 0x0000000000000008
 acpi0: [FADT] GPE1_BLK_LEN   : 0x0000000000000000
 acpi0: [FADT] GPE1_BASE      : 0x0000000000000000
 acpi0: [FADT] CST_CNT        : 0x0000000000000000
 acpi0: [FADT] P_LVL2_LAT     : 0x0000000000000001
 acpi0: [FADT] P_LVL3_LAT     : 0x0000000000000064
 acpi0: [FADT] FLUSH_SIZE     : 0x0000000000000000
 acpi0: [FADT] FLUSH_STRIDE   : 0x0000000000000000
 acpi0: [FADT] DUTY_OFFSET    : 0x0000000000000000
 acpi0: [FADT] DUTY_WIDTH     : 0x0000000000000000
 acpi0: [FADT] DAY_ALRM       : 0x000000000000000D
 acpi0: [FADT] MON_ALRM       : 0x0000000000000000
 acpi0: [FADT] CENTURY        : 0x0000000000000032
 acpi0: [FADT] IAPC_BOOT_ARCH : 0x0000000000000003
 acpi0: [FADT] RESET_VALUE    : 0x0000000000000000
 acpi0: [FADT] WBINVD         : 0x0000000000000001
 acpi0: [FADT] WBINVD_FLUSH   : 0x0000000000000000
 acpi0: [FADT] PROC_C1        : 0x0000000000000004
 acpi0: [FADT] P_LVL2_UP      : 0x0000000000000000
 acpi0: [FADT] PWR_BUTTON     : 0x0000000000000000
 acpi0: [FADT] SLP_BUTTON     : 0x0000000000000020
 acpi0: [FADT] FIX_RTC        : 0x0000000000000000
 acpi0: [FADT] RTC_S4         : 0x0000000000000080
 acpi0: [FADT] TMR_VAL_EXT    : 0x0000000000000000
 acpi0: [FADT] DCK_CAP        : 0x0000000000000000
 acpi0: [FADT] RESET_REG_SUP  : 0x0000000000000000
 acpi0: [FADT] SEALED_CASE    : 0x0000000000000000
 acpi0: [FADT] HEADLESS       : 0x0000000000000000
 acpi0: [FADT] CPU_SW_SLP     : 0x0000000000000000
 acpi0: [FADT] PCI_EXP_WAK    : 0x0000000000000000
 acpi0: [FADT] PLATFORM_CLK   : 0x0000000000008000
 acpi0: [FADT] S4_RTC_STS     : 0x0000000000000000
 acpi0: [FADT] REMOTE_POWER   : 0x0000000000000000
 acpi0: [FADT] APIC_CLUSTER   : 0x0000000000000000
 acpi0: [FADT] APIC_PHYSICAL  : 0x0000000000000000
 acpi0: [\   ] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [CPU0] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [CPU1] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [_SB ] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [MCFG] HID PNP0C02    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [PCI0] HID PNP0A08    UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [MBIO] HID PNP0C02    UID -    STA 0x0000000F ADR -
 acpi0: [GFX0] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000020000
 acpi0: [CRT ] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000100
 acpi0: [LCD ] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000110
 acpi0: [TV  ] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000200
 acpi0: [DVI ] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000300
 acpi0: [PCIB] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001E0000
 acpi0: [LPCB] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001F0000
 acpi0: [TPM ] HID IFX0102    UID 1    STA 0x00000000 ADR -
 acpi0: [DIGI] HID FUJ02E6    UID -    STA 0x0000000F ADR -
 acpi0: [BTNS] HID FUJ02BF    UID -    STA 0x0000000F ADR -
 acpi0: [FJEX] HID FUJ02B1    UID -    STA 0x0000000F ADR -
 acpi0: [CMBT] HID FUJ02E1    UID -    STA 0x00000000 ADR -
 acpi0: [EC  ] HID PNP0C09    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [DMAC] HID PNP0200    UID -    STA 0x0000000F ADR -
 acpi0: [TIME] HID PNP0100    UID -    STA 0x0000000F ADR -
 acpi0: [PIC ] HID PNP0000    UID -    STA 0x0000000F ADR -
 acpi0: [RTC ] HID PNP0B00    UID -    STA 0x0000000F ADR -
 acpi0: [SPKR] HID PNP0800    UID -    STA 0x0000000F ADR -
 acpi0: [MATH] HID PNP0C04    UID -    STA 0x0000000F ADR -
 acpi0: [KBC ] HID PNP0320    UID -    STA 0x0000000F ADR -
 acpi0: [PS2M] HID PNP0F13    UID -    STA 0x0000000F ADR -
 acpi0: [FWH ] HID INT0800    UID -    STA 0x00000000 ADR -
 acpi0: [HPET] HID PNP0103    UID -    STA 0x0000000F ADR -
 acpi0: [UAR1] HID PNP0501    UID 1    STA 0x00000000 ADR -
 acpi0: [LNKA] HID PNP0C0F    UID 1    STA 0x0000000B ADR -
 acpi0: [LNKB] HID PNP0C0F    UID 2    STA 0x0000000B ADR -
 acpi0: [LNKC] HID PNP0C0F    UID 3    STA 0x0000000B ADR -
 acpi0: [LNKD] HID PNP0C0F    UID 4    STA 0x0000000B ADR -
 acpi0: [LNKE] HID PNP0C0F    UID 5    STA 0x0000000B ADR -
 acpi0: [LNKF] HID PNP0C0F    UID 6    STA 0x00000009 ADR -
 acpi0: [LNKG] HID PNP0C0F    UID 7    STA 0x0000000B ADR -
 acpi0: [LNKH] HID PNP0C0F    UID 8    STA 0x0000000B ADR -
 acpi0: [PATA] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001F0001
 acpi0: [PRIM] HID -          UID -    STA 0x0000000F ADR 0x0000000000000000
 acpi0: [MAST] HID -          UID -    STA 0x0000000F ADR 0x0000000000000000
 acpi0: [SLAV] HID -          UID -    STA 0x00000000 ADR 0x0000000000000001
 acpi0: [USB1] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0000
 acpi0: [USB2] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0001
 acpi0: [USB3] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0002
 acpi0: [USB4] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0003
 acpi0: [USB7] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0007
 acpi0: [SBUS] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001F0003
 acpi0: [AUD0] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001E0002
 acpi0: [MODM] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001E0003
 acpi0: [HDEF] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001B0000
 acpi0: [RP01] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0000
 acpi0: [PXS1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [RP02] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0001
 acpi0: [PXS2] HID -          UID -    STA 0x00000000 ADR 0x0000000000000000
 acpi0: [RP03] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0002
 acpi0: [PXS3] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [RP04] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0003
 acpi0: [PXS4] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [FEXT] HID FUJ02E3    UID -    STA 0x0000000F ADR -
 acpi0: [LID ] HID PNP0C0D    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [PWRB] HID PNP0C0C    UID -    STA 0x0000000F ADR -
 acpi0: [AC  ] HID ACPI0003   UID -    STA 0x0000000F ADR -
 acpi0: [CMB1] HID PNP0C0A    UID 1    STA 0x0000001F ADR -
 acpi0: [SLPB] HID PNP0C0E    UID -    STA 0x00000000 ADR -
 acpi0: [_TZ ] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [TZ00] HID -          UID -    STA          - ADR -
 acpi0: [TZ01] HID -          UID -    STA          - ADR -

 \     [06] []
     CPU0  [12] []
     CPU1  [12] []
     _SB   [06] []
         MCFG  [06] []
         PCI0  [06] [] (PCI) @ 0x00:0x00:0x00:0x00 [R] [B] -> 0x00:0x00
             MBIO  [06] []
             GFX0  [06] [] <acpivga0> (PCI) @ 0x00:0x00:0x02:0x00
                 CRT   [06] [] <acpiout0>
                 LCD   [06] [] <acpiout1>
                 TV    [06] [] <acpiout2>
                 DVI   [06] [] <acpiout3>
             PCIB  [06] [] (PCI) @ 0x00:0x00:0x1E:0x00 [B] -> 0x00:0x08
             LPCB  [06] [] (PCI) @ 0x00:0x00:0x1F:0x00
                 TPM   [06] []
                 DIGI  [06] [] <com3>
                 BTNS  [06] []
                 FJEX  [06] [] <fujbp0>
                 CMBT  [06] []
                 EC    [06] [] <acpiec0>
                 DMAC  [06] []
                 TIME  [06] [] <attimer1>
                 PIC   [06] []
                 RTC   [06] []
                 SPKR  [06] [] <pcppi1>
                 MATH  [06] [] <npx1>
                 KBC   [06] [] <pckbc1>
                 PS2M  [06] [] <pckbc2>
                 FWH   [06] []
                 HPET  [06] [] <hpet0>
                 UAR1  [06] []
                 LNKA  [06] []
                 LNKB  [06] []
                 LNKC  [06] []
                 LNKD  [06] []
                 LNKE  [06] []
                 LNKF  [06] []
                 LNKG  [06] []
                 LNKH  [06] []
             PATA  [06] [] (PCI) @ 0x00:0x00:0x1F:0x01
                 PRIM  [06] []
                     MAST  [06] []
                     SLAV  [06] []
             USB1  [06] [] (PCI) @ 0x00:0x00:0x1D:0x00
             USB2  [06] [] (PCI) @ 0x00:0x00:0x1D:0x01
             USB3  [06] [] (PCI) @ 0x00:0x00:0x1D:0x02
             USB4  [06] [] (PCI) @ 0x00:0x00:0x1D:0x03
             USB7  [06] [] (PCI) @ 0x00:0x00:0x1D:0x07
             SBUS  [06] [] (PCI) @ 0x00:0x00:0x1F:0x03
             AUD0  [06] [] (PCI) @ 0x00:0x00:0x1E:0x02
             MODM  [06] [] (PCI) @ 0x00:0x00:0x1E:0x03
             HDEF  [06] [] (PCI) @ 0x00:0x00:0x1B:0x00
             RP01  [06] [] (PCI) @ 0x00:0x00:0x1C:0x00 [B] -> 0x00:0x02
                 PXS1  [06] [] (PCI) @ 0x00:0x02:0x00:0x00
             RP02  [06] [] (PCI) @ 0x00:0x00:0x1C:0x01
                 PXS2  [06] []
             RP03  [06] [] (PCI) @ 0x00:0x00:0x1C:0x02 [B] -> 0x00:0x05
                 PXS3  [06] [] (PCI) @ 0x00:0x05:0x00:0x00
             RP04  [06] [] (PCI) @ 0x00:0x00:0x1C:0x03
                 PXS4  [06] []
         FEXT  [06] [] <fujhk0>
         LID   [06] [] <acpilid0>
         PWRB  [06] [] <acpibut0>
         AC    [06] [] <acpiacad0>
         CMB1  [06] [] <acpibat0>
         SLPB  [06] []
     _TZ   [06] []
         TZ00  [13] [] <acpitz0>
         TZ01  [13] [] <acpitz1>
 attimer1: attached to pcppi1
 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: vendor 0x8086 product 0x27a0 (rev. 0x03)
 agp0 at pchb0: detected 7932k stolen memory
 agp0: aperture at 0xe0000000, size 0x10000000
 vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
 wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 i915drm0 at vga1: Intel i945GM
 i915drm0: AGP at 0xe0000000 256MB
 i915drm0: Initialized i915 1.6.0 20080730
 vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
 hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
 hdaudio0: interrupting at ioapic0 pin 17
 hdafg0 at hdaudio0: Sigmatel STAC9228X
 hdafg0: DAC00 2ch: Speaker [Built-In]
 hdafg0: ADC01 2ch: Mic In [Built-In]
 hdafg0: ADC02 2ch: Mic In [Jack]
 hdafg0: DAC03 2ch: HP Out [Jack]
 hdafg0: 2ch/2ch 44100Hz 48000Hz 88200Hz 96000Hz 192000Hz 16/16 20/32 24/32
 audio0 at hdafg0: full duplex, playback, capture, independent
 hdvsmfg at hdaudio0 not configured
 ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
 ppb0: PCI Express 1.0 <Root Port of PCI-E Root Complex>
 pci1 at ppb0 bus 2
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 mskc0 at pci1 dev 0 function 0, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
 msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
 makphy0 at msk0 phy 0: Marvell 88E1149 Gigabit PHY, rev. 1
 makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
 ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
 ppb1: PCI Express 1.0 <Root Port of PCI-E Root Complex>
 pci2 at ppb1 bus 5
 pci2: i/o space, memory space enabled, rd/line, wr/inv ok
 wpi0 at pci2 dev 0 function 0: vendor 0x8086 product 0x4222 (rev. 0x02)
 wpi0: interrupting at ioapic0 pin 18
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: M^?M^?M^?M^?wpi0: could not lock memory
 , address ff:ff:ff:ff:ff:ff
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
 uhci0: interrupting at ioapic0 pin 23
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
 uhci1: interrupting at ioapic0 pin 20
 usb1 at uhci1: USB revision 1.0
 uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
 uhci2: interrupting at ioapic0 pin 18
 usb2 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
 uhci3: interrupting at ioapic0 pin 16
 usb3 at uhci3: USB revision 1.0
 ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
 ehci0: interrupting at ioapic0 pin 23
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
 usb4 at ehci0: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
 pci3 at ppb2 bus 8
 pci3: i/o space, memory space enabled
 cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
 sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
 sdhc0: interrupting at ioapic0 pin 17
 sdmmc0 at sdhc0
 cbb0: cacheline 0x0 lattimer 0x40
 cbb0: bhlc 0x824000
 cbb0: interrupting at ioapic0 pin 16
 cardslot0 at cbb0
 cardbus0 at cardslot0: bus 9
 pcmcia0 at cardslot0
 ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
 timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
 ichlpcib0: 24-bit timer
 ichlpcib0: TCO (watchdog) timer configured.
 gpiobus at ichlpcib0 not configured
 piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
 piixide0: bus-master DMA support present
 piixide0: primary channel configured to compatibility mode
 piixide0: primary channel interrupting at ioapic0 pin 14
 atabus0 at piixide0 channel 0
 piixide0: secondary channel configured to compatibility mode
 piixide0: secondary channel ignored (disabled)
 ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
 ichsmb0: interrupting at ioapic0 pin 19
 iic0 at ichsmb0: I2C bus
 isa0 at ichlpcib0
 acpicpu0 at cpu0: ACPI CPU
 acpicpu0: C1: FFH, lat   1 us, pow  1000 mW
 acpicpu0: C2: I/O, lat   1 us, pow   500 mW, bus master check
 acpicpu0: C3: I/O, lat  17 us, pow   100 mW, bus master check
 acpicpu0: P0: FFH, lat  10 us, pow 31000 mW, 1200 MHz
 acpicpu0: P1: FFH, lat  10 us, pow 13000 mW,  800 MHz
 coretemp0 at cpu0: thermal sensor, 1 C resolution
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 timecounter: Timecounter "TSC" frequency 1197098640 Hz quality 3000
 acpiacad0: AC adapter online.
 uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub2: 2 ports with 2 removable, self powered
 uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub4: 8 ports with 8 removable, self powered
 wd0 at atabus0 drive 0
 wd0: <TOSHIBA MK6006GAH>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
 wd0: 32-bit data port
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 Kernelized RAIDframe activated
 ugen0 at uhub2 port 1
 ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 ubt0 at uhub2 port 2
 ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
 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)
 tap0: Ethernet address f2:0b:a4:1e:b5:07
 i915drm0: interrupting at ioapic0 pin 16
 silicon:/Public: inaccurate wcc data (ctime) detected, disabling wcc (ctime 1307193098.000000000 1307193098.471659077, mtime 1307193098.501659005 1307193098.471659077)
 wpi0: could not lock memory
 wpi0: could not lock memory
 wpi0: could not lock memory

 --
 Ryo ONODERA // ryo_on@yk.rim.or.jp
 PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


State-Changed-From-To: open->closed
State-Changed-By: chs@NetBSD.org
State-Changed-When: Wed, 10 Oct 2012 15:26:17 +0000
State-Changed-Why:
ryo reports that the specific problem of this PR (the PCI bus not being detected)
is fixed now.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.