diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/esd/canbt/Makefile | 31 | ||||
-rw-r--r-- | board/esd/canbt/canbt.c | 164 | ||||
-rw-r--r-- | board/esd/canbt/canbt.h | 28 | ||||
-rw-r--r-- | board/esd/canbt/flash.c | 68 | ||||
-rw-r--r-- | board/esd/canbt/fpgadata.c | 807 | ||||
-rw-r--r-- | board/samsung/common/multi_i2c.c | 14 | ||||
-rw-r--r-- | board/samsung/goni/goni.c | 6 | ||||
-rw-r--r-- | board/samsung/trats/trats.c | 17 | ||||
-rw-r--r-- | board/samsung/universal_c210/universal.c | 4 |
9 files changed, 27 insertions, 1112 deletions
diff --git a/board/esd/canbt/Makefile b/board/esd/canbt/Makefile deleted file mode 100644 index e5caf23..0000000 --- a/board/esd/canbt/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -include $(TOPDIR)/config.mk -ifneq ($(OBJTREE),$(SRCTREE)) -$(shell mkdir -p $(obj)../common) -endif - -LIB = $(obj)lib$(BOARD).o - -COBJS = $(BOARD).o flash.o ../common/misc.o - -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) -OBJS := $(addprefix $(obj),$(COBJS)) -SOBJS := $(addprefix $(obj),$(SOBJS)) - -$(LIB): $(OBJS) $(SOBJS) - $(call cmd_link_o_target, $(OBJS)) - -######################################################################### - -# defines $(obj).depend target -include $(SRCTREE)/rules.mk - -sinclude $(obj).depend - -######################################################################### diff --git a/board/esd/canbt/canbt.c b/board/esd/canbt/canbt.c deleted file mode 100644 index 5884975..0000000 --- a/board/esd/canbt/canbt.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * (C) Copyright 2001 - * Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include "canbt.h" -#include <asm/processor.h> -#include <asm/io.h> -#include <command.h> - -DECLARE_GLOBAL_DATA_PTR; - -/* ------------------------------------------------------------------------- */ - -#if 0 -#define FPGA_DEBUG -#endif - -/* fpga configuration data */ -const unsigned char fpgadata[] = { -#include "fpgadata.c" -}; - -/* - * include common fpga code (for esd boards) - */ -#include "../common/fpga.c" - - -int board_early_init_f (void) -{ - unsigned long CPC0_CR0Reg; - int index, len, i; - int status; - - /* - * Setup GPIO pins - */ - CPC0_CR0Reg = mfdcr (CPC0_CR0) & 0xf0001fff; - CPC0_CR0Reg |= 0x0070f000; - mtdcr (CPC0_CR0, CPC0_CR0Reg); - -#ifdef FPGA_DEBUG - /* set up serial port with default baudrate */ - (void) get_clocks (); - gd->baudrate = CONFIG_BAUDRATE; - serial_init (); - console_init_f (); -#endif - - /* - * Boot onboard FPGA - */ - status = fpga_boot ((unsigned char *) fpgadata, sizeof (fpgadata)); - if (status != 0) { - /* booting FPGA failed */ -#ifndef FPGA_DEBUG - /* set up serial port with default baudrate */ - (void) get_clocks (); - gd->baudrate = CONFIG_BAUDRATE; - serial_init (); - console_init_f (); -#endif - printf ("\nFPGA: Booting failed "); - switch (status) { - case ERROR_FPGA_PRG_INIT_LOW: - printf ("(Timeout: INIT not low after asserting PROGRAM*)\n "); - break; - case ERROR_FPGA_PRG_INIT_HIGH: - printf ("(Timeout: INIT not high after deasserting PROGRAM*)\n "); - break; - case ERROR_FPGA_PRG_DONE: - printf ("(Timeout: DONE not high after programming FPGA)\n "); - break; - } - - /* display infos on fpgaimage */ - index = 15; - for (i = 0; i < 4; i++) { - len = fpgadata[index]; - printf ("FPGA: %s\n", &(fpgadata[index + 1])); - index += len + 3; - } - putc ('\n'); - /* delayed reboot */ - for (i = 20; i > 0; i--) { - printf ("Rebooting in %2d seconds \r", i); - for (index = 0; index < 1000; index++) - udelay (1000); - } - putc ('\n'); - do_reset (NULL, 0, 0, NULL); - } - - /* - * Setup port pins for normal operation - */ - out_be32 ((void *)GPIO0_ODR, 0x00000000); /* no open drain pins */ - out_be32 ((void *)GPIO0_TCR, 0x07038100); /* setup for output */ - out_be32 ((void *)GPIO0_OR, 0x07030100); /* set output pins to high (default) */ - - /* - * IRQ 0-15 405GP internally generated; active high; level sensitive - * IRQ 16 405GP internally generated; active low; level sensitive - * IRQ 17-24 RESERVED - * IRQ 25 (EXT IRQ 0) CAN0; active low; level sensitive - * IRQ 26 (EXT IRQ 1) CAN1; active low; level sensitive - * IRQ 27 (EXT IRQ 2) PCI SLOT 0; active low; level sensitive - * IRQ 28 (EXT IRQ 3) PCI SLOT 1; active low; level sensitive - * IRQ 29 (EXT IRQ 4) PCI SLOT 2; active low; level sensitive - * IRQ 30 (EXT IRQ 5) PCI SLOT 3; active low; level sensitive - * IRQ 31 (EXT IRQ 6) COMPACT FLASH; active high; level sensitive - */ - mtdcr (UIC0SR, 0xFFFFFFFF); /* clear all ints */ - mtdcr (UIC0ER, 0x00000000); /* disable all ints */ - mtdcr (UIC0CR, 0x00000000); /* set all to be non-critical */ - mtdcr (UIC0PR, 0xFFFFFF81); /* set int polarities */ - mtdcr (UIC0TR, 0x10000000); /* set int trigger levels */ - mtdcr (UIC0VCR, 0x00000001); /* set vect base=0,INT0 highest priority */ - mtdcr (UIC0SR, 0xFFFFFFFF); /* clear all ints */ - - return 0; -} - - -/* ------------------------------------------------------------------------- */ - -/* - * Check Board Identity: - */ - -int checkboard (void) -{ - int index; - int len; - char str[64]; - int i = getenv_f("serial#", str, sizeof (str)); - - puts ("Board: "); - - if (!i || strncmp (str, "CANBT", 5)) { - puts ("### No HW ID - assuming CANBT\n"); - return (0); - } - - puts (str); - - puts ("\nFPGA: "); - - /* display infos on fpgaimage */ - index = 15; - for (i = 0; i < 4; i++) { - len = fpgadata[index]; - printf ("%s ", &(fpgadata[index + 1])); - index += len + 3; - } - - putc ('\n'); - - return 0; -} diff --git a/board/esd/canbt/canbt.h b/board/esd/canbt/canbt.h deleted file mode 100644 index 75e7950..0000000 --- a/board/esd/canbt/canbt.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * (C) Copyright 2000 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -/**************************************************************************** - * FLASH Memory Map as used by TQ Monitor: - * - * Start Address Length - * +-----------------------+ 0x4000_0000 Start of Flash ----------------- - * | MON8xx code | 0x4000_0100 Reset Vector - * +-----------------------+ 0x400?_???? - * | (unused) | - * +-----------------------+ 0x4001_FF00 - * | Ethernet Addresses | 0x78 - * +-----------------------+ 0x4001_FF78 - * | (Reserved for MON8xx) | 0x44 - * +-----------------------+ 0x4001_FFBC - * | Lock Address | 0x04 - * +-----------------------+ 0x4001_FFC0 ^ - * | Hardware Information | 0x40 | MON8xx - * +=======================+ 0x4002_0000 (sector border) ----------------- - * | Autostart Header | | Applications - * | ... | v - * - *****************************************************************************/ diff --git a/board/esd/canbt/flash.c b/board/esd/canbt/flash.c deleted file mode 100644 index 34bdc05..0000000 --- a/board/esd/canbt/flash.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * (C) Copyright 2001 - * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <common.h> -#include <asm/ppc4xx.h> -#include <asm/processor.h> - -/* - * include common flash code (for esd boards) - */ -#include "../common/flash.c" - -/*----------------------------------------------------------------------- - * Functions - */ -static ulong flash_get_size (vu_long *addr, flash_info_t *info); -static void flash_get_offsets (ulong base, flash_info_t *info); - -/*----------------------------------------------------------------------- - */ - -unsigned long flash_init (void) -{ - unsigned long size_b0; - int i; - uint pbcr; - unsigned long base_b0; - - /* Init: no FLASHes known */ - for (i=0; i<CONFIG_SYS_MAX_FLASH_BANKS; ++i) { - flash_info[i].flash_id = FLASH_UNKNOWN; - } - - /* Static FLASH Bank configuration here - FIXME XXX */ - - size_b0 = flash_get_size((vu_long *)FLASH_BASE0_PRELIM, &flash_info[0]); - - if (flash_info[0].flash_id == FLASH_UNKNOWN) { - printf ("## Unknown FLASH on Bank 0 - Size = 0x%08lx = %ld MB\n", - size_b0, size_b0<<20); - } - - /* Setup offsets */ - flash_get_offsets (-size_b0, &flash_info[0]); - - /* Re-do sizing to get full correct info */ - mtdcr(EBC0_CFGADDR, PB0CR); - pbcr = mfdcr(EBC0_CFGDATA); - mtdcr(EBC0_CFGADDR, PB0CR); - base_b0 = -size_b0; - pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17); - mtdcr(EBC0_CFGDATA, pbcr); - /* printf("PB1CR = %x\n", pbcr); */ - - /* Monitor protection ON by default */ - (void)flash_protect(FLAG_PROTECT_SET, - -monitor_flash_len, - 0xffffffff, - &flash_info[0]); - - flash_info[0].size = size_b0; - - return (size_b0); -} diff --git a/board/esd/canbt/fpgadata.c b/board/esd/canbt/fpgadata.c deleted file mode 100644 index af401cd..0000000 --- a/board/esd/canbt/fpgadata.c +++ /dev/null @@ -1,807 +0,0 @@ -0x00, 0x09, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, -0x0f, 0xf0, 0x00, 0x00, 0x01, 0x61, 0x00, 0x0c, -0x69, 0x6f, 0x5f, 0x63, 0x68, 0x69, 0x70, 0x2e, -0x6e, 0x63, 0x64, 0x00, 0x62, 0x00, 0x0b, 0x73, -0x30, 0x35, 0x78, 0x6c, 0x76, 0x71, 0x31, 0x30, -0x30, 0x00, 0x63, 0x00, 0x0b, 0x32, 0x30, 0x30, -0x31, 0x2f, 0x31, 0x31, 0x2f, 0x32, 0x33, 0x00, -0x64, 0x00, 0x09, 0x31, 0x33, 0x3a, 0x33, 0x34, -0x3a, 0x34, 0x33, 0x00, 0x65, 0xe2, 0x01, 0x00, -0x00, 0x18, 0xe6, 0xff, 0x30, 0xe8, 0x01, 0x01, -0x01, 0x01, 0xe7, 0xe6, 0x04, 0x01, 0x0d, 0x04, -0x07, 0x03, 0x05, 0x03, 0x05, 0x03, 0xe5, 0xe5, -0x05, 0x09, 0x04, 0x06, 0x01, 0x07, 0x09, 0x01, -0x07, 0x0b, 0x0f, 0x07, 0x03, 0x05, 0x03, 0x05, -0x03, 0x11, 0x03, 0x0f, 0x09, 0x03, 0x05, 0x10, -0xe5, 0xe6, 0x1a, 0x0a, 0x13, 0x29, 0x19, 0x05, -0x09, 0x04, 0x04, 0x09, 0x09, 0x09, 0x0b, 0x04, -0x04, 0x09, 0x09, 0x09, 0x0e, 0xe5, 0x01, 0x14, -0x09, 0x09, 0x09, 0x03, 0x05, 0x0b, 0x03, 0x05, -0x09, 0x09, 0x09, 0x09, 0x01, 0xe6, 0x7b, 0x01, -0x01, 0x02, 0x75, 0xe8, 0x3e, 0x3b, 0x02, 0x34, -0x0a, 0x09, 0x07, 0x09, 0x01, 0x11, 0x0a, 0xe5, -0xe6, 0x5c, 0x1e, 0xe6, 0xe5, 0x0a, 0xe5, 0x50, -0x1d, 0x0d, 0x31, 0x09, 0x14, 0x13, 0x07, 0x01, -0x01, 0x2a, 0x08, 0x0b, 0x1e, 0x1c, 0x01, 0xe5, -0x0f, 0x09, 0x09, 0xe5, 0x07, 0x09, 0xe6, 0x08, -0x05, 0x03, 0x01, 0x07, 0x09, 0x09, 0x0d, 0xe8, -0x0f, 0x09, 0xe5, 0x07, 0x09, 0x04, 0x05, 0x0a, -0x01, 0x07, 0x01, 0x07, 0x09, 0x09, 0x0d, 0xe5, -0xe6, 0x0c, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, -0xe5, 0x03, 0x03, 0xe5, 0x06, 0xe5, 0xe6, 0x03, -0x03, 0xe5, 0x04, 0x02, 0xe5, 0x01, 0x05, 0xe5, -0x07, 0xe5, 0x01, 0x07, 0x05, 0xe7, 0x0f, 0x09, -0x09, 0x09, 0x10, 0x04, 0x05, 0x03, 0x03, 0x05, -0x09, 0x09, 0x08, 0x08, 0x04, 0x01, 0x06, 0xe5, -0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, -0x02, 0xe5, 0x04, 0xe5, 0x07, 0xe5, 0x07, 0xe5, -0x07, 0xe5, 0x02, 0x04, 0xe5, 0x07, 0x02, 0x03, -0x02, 0xe5, 0x0e, 0x09, 0x09, 0x09, 0x15, 0x09, -0x09, 0x09, 0x09, 0x0e, 0xe6, 0xe5, 0x0c, 0x09, -0x09, 0x09, 0x09, 0x04, 0x04, 0x01, 0x09, 0x06, -0x02, 0x09, 0x09, 0x11, 0xe7, 0x0c, 0x02, 0x06, -0x02, 0x04, 0x01, 0x02, 0x01, 0x01, 0x02, 0x02, -0x06, 0x02, 0x03, 0x02, 0x01, 0x02, 0x06, 0x02, -0x01, 0x04, 0x02, 0x06, 0x02, 0x03, 0x02, 0x02, -0x11, 0x03, 0x17, 0x03, 0x05, 0x12, 0x15, 0x02, -0x23, 0x08, 0x16, 0x06, 0x0c, 0x05, 0x15, 0x07, -0x01, 0x0a, 0x02, 0x0f, 0x01, 0x07, 0x02, 0xe5, -0xe5, 0x08, 0x07, 0x02, 0x07, 0x02, 0x10, 0x03, -0x11, 0x03, 0x2b, 0x05, 0xe6, 0x2b, 0x0a, 0x06, -0x01, 0x01, 0x11, 0x0b, 0x0e, 0xe5, 0x08, 0xe6, -0xe5, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x0b, 0x09, -0x09, 0x01, 0x07, 0x09, 0x0e, 0x01, 0xe5, 0x0f, -0x0d, 0x22, 0xe5, 0xe5, 0x27, 0x0e, 0xe6, 0x47, -0x11, 0x17, 0x02, 0x04, 0x01, 0x01, 0x0d, 0x0d, -0x1f, 0x04, 0x01, 0x24, 0x10, 0x03, 0x01, 0x2a, -0x12, 0x0c, 0x06, 0xe5, 0x0a, 0x09, 0x11, 0xe5, -0x01, 0x1c, 0x09, 0x17, 0x0b, 0x09, 0x09, 0x04, -0x19, 0xe5, 0x0c, 0x01, 0x0d, 0x22, 0x0a, 0x01, -0x0d, 0xe5, 0x04, 0x18, 0x01, 0xe5, 0x01, 0x05, -0x04, 0x01, 0x02, 0xe5, 0x14, 0x10, 0x0b, 0x02, -0x01, 0x02, 0x02, 0xe5, 0x19, 0x0d, 0xe5, 0xe5, -0x0e, 0x09, 0x09, 0x02, 0x06, 0x09, 0x02, 0x03, -0x04, 0x03, 0x05, 0x09, 0x15, 0x0c, 0x02, 0xe5, -0x01, 0x0b, 0x04, 0x04, 0x09, 0x09, 0x02, 0x06, -0x09, 0xe5, 0x01, 0x06, 0x05, 0x03, 0x06, 0x1e, -0x02, 0x1c, 0x1d, 0x08, 0xe5, 0x05, 0x02, 0x06, -0x02, 0x03, 0xe5, 0x1b, 0x03, 0x17, 0xe5, 0x08, -0x02, 0x09, 0xe5, 0x09, 0x0f, 0xe5, 0x08, 0x07, -0x09, 0x06, 0x0b, 0x02, 0x17, 0xe5, 0x09, 0x01, -0x1f, 0x05, 0xe5, 0x02, 0x05, 0x03, 0x1f, 0xe5, -0xe6, 0x0e, 0x09, 0x03, 0x05, 0x03, 0x05, 0x09, -0x11, 0x01, 0x01, 0x04, 0x0c, 0x01, 0x0a, 0x0e, -0x01, 0xe5, 0x0c, 0xe6, 0x06, 0xe6, 0x06, 0xe6, -0x06, 0xe6, 0x02, 0x03, 0xe6, 0x03, 0x03, 0x02, -0x09, 0x06, 0xe5, 0xe5, 0x25, 0x14, 0x1a, 0x12, -0x05, 0x04, 0x02, 0x13, 0x16, 0xe7, 0xe5, 0x11, -0xe5, 0x11, 0xe5, 0x06, 0xe5, 0x14, 0xe5, 0x11, -0xe5, 0x03, 0xe5, 0x08, 0xe5, 0x06, 0x01, 0x02, -0x02, 0x02, 0x01, 0x2c, 0xe5, 0x08, 0x01, 0x1d, -0xe5, 0xe6, 0x01, 0x02, 0x01, 0x04, 0x09, 0x01, -0x02, 0xe6, 0x03, 0x04, 0xe5, 0x02, 0x01, 0x02, -0xe5, 0x02, 0x01, 0x07, 0x01, 0x07, 0x01, 0x07, -0x01, 0x02, 0xe5, 0x04, 0x01, 0x07, 0x05, 0xe5, -0x01, 0x01, 0x02, 0xe5, 0x07, 0xe5, 0x01, 0x01, -0xe5, 0x09, 0xe5, 0xe5, 0xe7, 0x01, 0x0e, 0x08, -0x03, 0xe5, 0x04, 0x02, 0x06, 0x02, 0xe5, 0x04, -0x0d, 0xe5, 0x07, 0xe5, 0x08, 0xe5, 0x07, 0x05, -0x07, 0x02, 0x01, 0x01, 0xe8, 0xe5, 0x10, 0x01, -0x05, 0x0c, 0x10, 0xe5, 0x01, 0x06, 0xe5, 0x08, -0x08, 0xe6, 0x01, 0x02, 0x05, 0xe5, 0x04, 0xe5, -0x01, 0x06, 0xe5, 0x01, 0xe5, 0x01, 0x10, 0x02, -0x05, 0xe5, 0x01, 0x06, 0x02, 0x06, 0x02, 0x05, -0x03, 0x07, 0xe5, 0x01, 0x05, 0xe5, 0x01, 0x05, -0x04, 0x03, 0x03, 0xe5, 0x04, 0x08, 0xe6, 0xe5, -0xe6, 0x01, 0x0b, 0x05, 0x03, 0x09, 0x09, 0x09, -0x06, 0x04, 0x05, 0x01, 0x01, 0x09, 0x05, 0x0a, -0x01, 0x01, 0x02, 0x08, 0x02, 0xe5, 0xe6, 0x01, -0x11, 0xe5, 0x31, 0x14, 0x10, 0x0a, 0x02, 0xe8, -0x0c, 0x03, 0xe6, 0x02, 0x03, 0x05, 0x03, 0x05, -0x03, 0x02, 0x02, 0x03, 0x02, 0x04, 0x03, 0x01, -0x03, 0x03, 0x05, 0x0d, 0xe5, 0x06, 0x0b, 0x01, -0x01, 0x11, 0x0c, 0x01, 0x04, 0x02, 0x01, 0x04, -0x02, 0x09, 0x0b, 0x01, 0x07, 0x01, 0x07, 0x09, -0x13, 0xe6, 0xe6, 0x0a, 0x02, 0x06, 0x02, 0x03, -0x02, 0x02, 0x04, 0xe6, 0x01, 0x05, 0xe5, 0x01, -0x03, 0x07, 0x03, 0x02, 0x02, 0x05, 0xe5, 0x01, -0x03, 0x02, 0x02, 0x03, 0xe5, 0xe5, 0x01, 0x06, -0x04, 0x01, 0x01, 0xe5, 0xe5, 0x01, 0x08, 0xe5, -0x07, 0xe5, 0x07, 0xe5, 0x08, 0x08, 0xe5, 0x08, -0x0a, 0xe5, 0x05, 0x09, 0x02, 0x09, 0x05, 0xe5, -0x01, 0x07, 0xe5, 0xe6, 0x08, 0x05, 0x03, 0x05, -0x03, 0x05, 0x05, 0x03, 0x03, 0x05, 0x03, 0x07, -0x03, 0x05, 0x09, 0x03, 0x0a, 0x08, 0x0d, 0xe5, -0x5e, 0x06, 0x07, 0x0b, 0xe8, 0x10, 0x01, 0x07, -0x09, 0x01, 0x07, 0x01, 0x07, 0x0b, 0x09, 0x09, -0x08, 0x03, 0x06, 0x0c, 0xe8, 0x09, 0x54, 0x01, -0x0d, 0x02, 0x07, 0x01, 0x01, 0x15, 0xe5, 0x05, -0xe7, 0x05, 0xe7, 0x07, 0xe5, 0x06, 0xe6, 0x08, -0xe6, 0x05, 0xe7, 0x06, 0xe7, 0xe5, 0x02, 0xe7, -0x05, 0xe7, 0x0a, 0x10, 0xe5, 0x07, 0x09, 0x33, -0x06, 0x0b, 0x0f, 0xe7, 0x19, 0x05, 0x03, 0x02, -0x02, 0x13, 0x0b, 0x09, 0x03, 0x05, 0x06, 0x02, -0xe5, 0x07, 0x08, 0x02, 0xe5, 0x1b, 0xe6, 0x07, -0xe5, 0x11, 0xe5, 0x01, 0x07, 0xe5, 0x06, 0xe6, -0x07, 0xe5, 0xe5, 0xe5, 0x03, 0xe5, 0x02, 0x03, -0xe6, 0x0a, 0xe5, 0x02, 0x0e, 0x09, 0xe5, 0xe6, -0x04, 0xe8, 0x04, 0x09, 0xe5, 0xe6, 0x06, 0xe5, -0xe6, 0x04, 0xe5, 0xe6, 0x04, 0xe5, 0xe7, 0xe6, -0x01, 0x01, 0xe6, 0x03, 0xe8, 0x06, 0x01, 0x01, -0x0e, 0x01, 0x03, 0x03, 0x01, 0x07, 0x01, 0x07, -0x01, 0xe5, 0x05, 0x01, 0x09, 0x01, 0x07, 0x01, -0x07, 0x01, 0x01, 0x08, 0x08, 0x01, 0x0a, 0xe9, -0x10, 0x01, 0x01, 0x05, 0x01, 0xe5, 0x05, 0x01, -0xe6, 0x04, 0x01, 0xe6, 0x04, 0x01, 0x01, 0x02, -0x03, 0xe5, 0xe5, 0xe5, 0x03, 0xe5, 0xe5, 0x06, -0x01, 0x02, 0x04, 0x01, 0x07, 0x01, 0xe5, 0x08, -0x01, 0xe6, 0x0e, 0xe5, 0x02, 0x0e, 0xe5, 0x07, -0xe5, 0x07, 0xe5, 0xe5, 0x0d, 0x09, 0xe5, 0x06, -0x04, 0xe5, 0x05, 0x01, 0xe5, 0x0c, 0xe6, 0xe6, -0x1e, 0x07, 0x15, 0x07, 0x09, 0xe5, 0x0d, 0xe5, -0xe5, 0xe5, 0x01, 0x01, 0x09, 0x04, 0xe6, 0xe6, -0x04, 0x02, 0x04, 0x01, 0x02, 0x09, 0x04, 0x01, -0x02, 0x04, 0x01, 0x07, 0x01, 0x04, 0x02, 0x08, -0x0b, 0x06, 0x0e, 0x10, 0xe5, 0xe6, 0x0b, 0x01, -0x07, 0x01, 0x03, 0xe5, 0x01, 0x01, 0x07, 0x01, -0x07, 0x01, 0x02, 0x05, 0x09, 0x17, 0x04, 0x03, -0x03, 0x09, 0xe7, 0xe5, 0x0d, 0x01, 0x07, 0x01, -0x07, 0x01, 0x04, 0x02, 0x01, 0x07, 0x01, 0x04, -0x01, 0x0a, 0x07, 0x06, 0x01, 0x02, 0x0a, 0x13, -0xe6, 0x0d, 0x03, 0x05, 0x09, 0x03, 0x05, 0x09, -0x03, 0x03, 0x03, 0x02, 0x05, 0xe5, 0x02, 0x04, -0xe5, 0x07, 0xe5, 0x01, 0x03, 0x02, 0x0d, 0x01, -0x02, 0x0d, 0x02, 0x02, 0x03, 0x09, 0x02, 0x06, -0x04, 0x04, 0x02, 0xe5, 0x04, 0x01, 0x05, 0x03, -0x01, 0xe5, 0x05, 0x01, 0x07, 0x01, 0x08, 0x0c, -0x06, 0x06, 0x02, 0x05, 0xe6, 0x06, 0xe6, 0x06, -0xe5, 0x07, 0xe5, 0x07, 0xe5, 0xe5, 0x03, 0xe5, -0x01, 0xe5, 0xe5, 0xe5, 0x06, 0x09, 0x01, 0xe5, -0x17, 0x03, 0x01, 0xe6, 0x09, 0x02, 0xe5, 0x07, -0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, -0x01, 0xe6, 0x07, 0x11, 0xe5, 0xe5, 0x09, 0x02, -0x0e, 0x0b, 0x04, 0x01, 0x03, 0x03, 0x09, 0x01, -0x07, 0x04, 0x04, 0x02, 0xe5, 0xe6, 0x03, 0x07, -0x18, 0xe5, 0x13, 0xe5, 0xe6, 0x0c, 0xe5, 0x03, -0x03, 0xe5, 0x07, 0xe5, 0x02, 0x04, 0xe5, 0x07, -0xe5, 0x0a, 0x03, 0xe5, 0x01, 0x01, 0x07, 0x01, -0xe5, 0x03, 0xe5, 0x09, 0x01, 0x0a, 0x02, 0x03, -0xe5, 0x0c, 0xe6, 0x06, 0xe6, 0x01, 0x04, 0xe6, -0x06, 0xe7, 0xe5, 0x03, 0xe6, 0x01, 0x05, 0x02, -0x09, 0x05, 0x03, 0x07, 0x01, 0x02, 0x06, 0x0a, -0x03, 0xe5, 0xe6, 0xe5, 0x06, 0x1c, 0x1a, 0xe5, -0x02, 0x05, 0x0a, 0x12, 0x02, 0x0c, 0xe5, 0x01, -0x01, 0x1b, 0xe5, 0x04, 0x03, 0x01, 0x06, 0xe5, -0x10, 0xe5, 0x01, 0xe5, 0x03, 0xe5, 0x12, 0xe5, -0x06, 0xe5, 0x07, 0x01, 0x03, 0xe9, 0xe5, 0x17, -0xe5, 0x08, 0xe5, 0x06, 0xe5, 0x08, 0xe5, 0x09, -0xe5, 0x17, 0x03, 0x01, 0x0e, 0x01, 0x01, 0x02, -0x02, 0x01, 0x04, 0xe5, 0x02, 0x04, 0xe5, 0x02, -0x09, 0x09, 0x09, 0x04, 0xe5, 0x04, 0x01, 0xe5, -0x05, 0x01, 0xe5, 0x05, 0x01, 0x08, 0xe5, 0x01, -0xe5, 0x05, 0xe5, 0x07, 0xe5, 0x01, 0x01, 0xe5, -0x01, 0x1b, 0x09, 0xe5, 0x07, 0x14, 0xe5, 0x05, -0x01, 0xe5, 0x04, 0x02, 0xe5, 0x01, 0x06, 0x0d, -0x02, 0x01, 0xe5, 0x02, 0xe5, 0xe5, 0x06, 0x01, -0x05, 0xe5, 0x01, 0x05, 0x02, 0x10, 0xe5, 0xe6, -0x04, 0x01, 0x01, 0x06, 0x01, 0x02, 0x0f, 0xe5, -0x01, 0xe5, 0x02, 0xe5, 0x01, 0x08, 0x01, 0x06, -0xe5, 0xe7, 0x01, 0x06, 0x02, 0x05, 0x01, 0x01, -0x05, 0x03, 0x07, 0x01, 0x05, 0x01, 0x01, 0x05, -0x0d, 0x01, 0x0f, 0x04, 0x04, 0x08, 0x01, 0x02, -0x04, 0xe6, 0x01, 0xe6, 0x01, 0x0b, 0x09, 0x06, -0x02, 0x09, 0x09, 0x0b, 0x05, 0x03, 0x09, 0x0a, -0x02, 0x06, 0x08, 0x02, 0x02, 0xe6, 0xe5, 0x12, -0xe5, 0x11, 0xe5, 0x1d, 0xe6, 0x14, 0x04, 0xe6, -0x01, 0x0f, 0x03, 0xe6, 0x07, 0x05, 0x03, 0x02, -0x02, 0x03, 0x05, 0x03, 0xe5, 0x03, 0x03, 0x02, -0x02, 0x03, 0x02, 0x04, 0x03, 0xe5, 0x03, 0x03, -0x05, 0x03, 0x08, 0xe5, 0x01, 0x12, 0xe5, 0xe5, -0xe5, 0x07, 0x01, 0x07, 0xe5, 0x07, 0x01, 0x04, -0x16, 0x08, 0x02, 0xe5, 0x04, 0x02, 0x01, 0x07, -0x01, 0x07, 0xe5, 0x07, 0x09, 0xe5, 0x01, 0xe5, -0x09, 0xe5, 0x01, 0x06, 0x02, 0x03, 0x02, 0x02, -0x06, 0x02, 0x06, 0x02, 0x03, 0x07, 0x06, 0x02, -0x03, 0x05, 0x03, 0xe5, 0xe5, 0x01, 0x04, 0x01, -0x02, 0x05, 0xe5, 0x05, 0x01, 0xe5, 0xe5, 0x0a, -0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0x09, 0xe5, -0x08, 0x0a, 0xe5, 0x08, 0x09, 0x05, 0x03, 0x06, -0x02, 0x07, 0xe8, 0x08, 0x05, 0x03, 0x05, 0x03, -0x05, 0x09, 0x03, 0x05, 0x05, 0x05, 0x03, 0x05, -0x03, 0x05, 0x04, 0x09, 0x0a, 0x08, 0xe5, 0xe6, -0x5b, 0x07, 0x17, 0xe6, 0x01, 0x0e, 0x09, 0x09, -0x01, 0x07, 0x09, 0x0b, 0x01, 0x07, 0x01, 0x07, -0x05, 0x03, 0x04, 0xe5, 0x01, 0x0e, 0xe5, 0xe6, -0x1c, 0x1c, 0xe5, 0x1e, 0x04, 0x09, 0x0e, 0x01, -0xe6, 0x08, 0x0b, 0xe5, 0x05, 0x01, 0xe5, 0x05, -0x01, 0xe5, 0x07, 0xe5, 0x05, 0x01, 0xe5, 0x07, -0xe7, 0x05, 0xe7, 0x05, 0x01, 0xe6, 0x04, 0x01, -0xe6, 0x04, 0xe7, 0x06, 0x02, 0xe5, 0xe5, 0x0d, -0xe5, 0x07, 0x29, 0x09, 0x09, 0x08, 0x09, 0x0e, -0x03, 0x20, 0x09, 0x13, 0x05, 0x05, 0x03, 0x05, -0x09, 0x09, 0xe5, 0x07, 0x09, 0xe6, 0x19, 0x02, -0x01, 0x07, 0x01, 0x11, 0x01, 0x02, 0x06, 0xe6, -0x06, 0xe6, 0x03, 0x02, 0x01, 0x07, 0x01, 0x03, -0x03, 0xe6, 0x07, 0xe5, 0xe6, 0x11, 0x09, 0xe8, -0x04, 0x01, 0xe6, 0x04, 0x09, 0xe8, 0x06, 0xe5, -0xe6, 0x04, 0xe5, 0xe6, 0x04, 0xe8, 0x04, 0xe9, -0x04, 0x01, 0xe5, 0x06, 0x03, 0xe5, 0x0b, 0xe5, -0xe5, 0x05, 0xe5, 0xe5, 0x05, 0xe5, 0xe5, 0x05, -0xe5, 0xe5, 0x05, 0xe5, 0xe5, 0x07, 0xe5, 0xe5, -0x05, 0xe5, 0xe6, 0x04, 0x02, 0x06, 0x02, 0x01, -0x14, 0xe9, 0x05, 0x0a, 0x01, 0xe5, 0x05, 0x01, -0xe5, 0x05, 0x01, 0xe6, 0x04, 0x01, 0x01, 0x05, -0x01, 0xe6, 0x01, 0x04, 0x01, 0x01, 0x05, 0x01, -0xe6, 0x01, 0x02, 0x01, 0x01, 0x05, 0x01, 0x01, -0x05, 0x01, 0x02, 0x07, 0xe8, 0x02, 0x05, 0x04, -0x07, 0x01, 0xe5, 0x07, 0x03, 0x02, 0x02, 0x09, -0x04, 0x01, 0x04, 0x04, 0xe5, 0x02, 0xe6, 0x02, -0x02, 0x02, 0x03, 0x02, 0xe5, 0x01, 0x1a, 0xe5, -0x1a, 0x02, 0x06, 0x0a, 0x02, 0x16, 0x08, 0xe5, -0x06, 0x04, 0x02, 0x02, 0x0d, 0xe5, 0xe5, 0x01, -0xe6, 0x12, 0x04, 0x1b, 0x04, 0x05, 0x0a, 0x02, -0x02, 0x07, 0x0b, 0x15, 0xe5, 0x01, 0xe5, 0x0b, -0xe6, 0x03, 0x02, 0xe6, 0x03, 0x02, 0xe6, 0x03, -0x02, 0xe7, 0x05, 0xe6, 0x02, 0x08, 0x09, 0x06, -0xe6, 0x01, 0x02, 0x03, 0x09, 0xe5, 0x01, 0x09, -0x04, 0x09, 0x03, 0x09, 0x09, 0x09, 0x09, 0x03, -0x03, 0x01, 0xe5, 0x07, 0x0b, 0x19, 0x0c, 0xe7, -0x08, 0x08, 0x06, 0xe6, 0x0c, 0x01, 0xe6, 0x04, -0x0a, 0xe5, 0x05, 0xe5, 0x03, 0x02, 0x0a, 0x03, -0x05, 0x03, 0x05, 0x09, 0x04, 0x10, 0x13, 0x06, -0x02, 0x09, 0x02, 0x03, 0x04, 0x04, 0x04, 0x09, -0x0f, 0x12, 0x02, 0x01, 0x04, 0x15, 0x02, 0x08, -0x02, 0x04, 0x0e, 0x08, 0x05, 0x28, 0x04, 0x01, -0x03, 0x19, 0x20, 0xe6, 0x08, 0x06, 0x10, 0x19, -0x01, 0x06, 0x01, 0x1d, 0x15, 0x02, 0x0a, 0x08, -0x06, 0x01, 0xe6, 0x06, 0x07, 0x0b, 0x02, 0xe7, -0xe5, 0x05, 0x09, 0x01, 0x11, 0x04, 0xe5, 0x02, -0x04, 0xe5, 0x04, 0x01, 0x08, 0x07, 0x08, 0xe5, -0x05, 0x16, 0x01, 0x02, 0x19, 0x10, 0x01, 0x0a, -0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x09, 0x01, 0x01, -0x19, 0x0e, 0x07, 0x04, 0xe5, 0x1a, 0x28, 0x02, -0x01, 0x26, 0xe5, 0x04, 0x11, 0x02, 0xe5, 0x01, -0xe5, 0xe5, 0x08, 0x02, 0xe5, 0x07, 0xe5, 0x13, -0x01, 0xe5, 0xe9, 0xe5, 0x1b, 0xe5, 0x12, 0xe5, -0x03, 0x01, 0x02, 0x03, 0x01, 0xe5, 0x01, 0xe6, -0x03, 0x01, 0xe5, 0x0c, 0x11, 0x01, 0x01, 0xe5, -0xe5, 0xe5, 0x01, 0x01, 0x12, 0x01, 0x09, 0x02, -0x01, 0xe5, 0xe5, 0xe7, 0x01, 0xe5, 0x03, 0x08, -0x06, 0x01, 0xe5, 0x01, 0x01, 0x04, 0x03, 0x16, -0x01, 0x02, 0x01, 0xe5, 0xe6, 0x01, 0x02, 0x11, -0xe5, 0xe5, 0xe5, 0x06, 0x06, 0xe5, 0xe5, 0xe5, -0x02, 0xe5, 0x05, 0x07, 0x0b, 0x07, 0x19, 0xe5, -0x05, 0x02, 0xe6, 0xe6, 0xe5, 0x01, 0x03, 0x02, -0x16, 0x09, 0x01, 0x01, 0x02, 0x02, 0x09, 0x09, -0x01, 0x01, 0xe5, 0x03, 0x23, 0xe5, 0x01, 0xe5, -0x01, 0x06, 0x02, 0x0e, 0x05, 0x03, 0x0c, 0x01, -0x02, 0x01, 0x07, 0x03, 0x05, 0x01, 0x01, 0x05, -0x03, 0x1d, 0xe5, 0x02, 0x01, 0x02, 0x14, 0x01, -0x09, 0x07, 0x04, 0x01, 0x0e, 0x04, 0x04, 0x03, -0xe5, 0xe5, 0xe6, 0x03, 0x19, 0x02, 0x02, 0x03, -0x17, 0x01, 0x07, 0x09, 0x04, 0x01, 0xe5, 0x0c, -0x09, 0x01, 0x04, 0x01, 0xe5, 0x25, 0x01, 0xe5, -0x03, 0x03, 0x26, 0xe5, 0xe5, 0x05, 0x0c, 0x08, -0x0a, 0xe5, 0x1b, 0x02, 0xe6, 0x09, 0x01, 0x22, -0x02, 0x01, 0x13, 0x01, 0x04, 0x02, 0xe5, 0x11, -0xe5, 0x12, 0xe5, 0xe6, 0x07, 0x05, 0x09, 0x09, -0x09, 0x03, 0x05, 0x0b, 0x03, 0x05, 0x09, 0x09, -0x09, 0x06, 0x06, 0x03, 0xe5, 0x29, 0x05, 0x03, -0x05, 0x0f, 0x05, 0x20, 0x0b, 0xe5, 0x27, 0x09, -0x14, 0x07, 0x2b, 0xe7, 0x15, 0x02, 0x16, 0x10, -0x01, 0x04, 0x02, 0x09, 0x01, 0x07, 0x01, 0x18, -0x03, 0x19, 0xe5, 0x0c, 0x02, 0x01, 0x01, 0x01, -0x06, 0xe5, 0x03, 0x02, 0x01, 0xe5, 0x07, 0xe6, -0x04, 0x01, 0xe5, 0x04, 0xe5, 0xe6, 0x16, 0x03, -0xe5, 0x17, 0x22, 0x0b, 0x02, 0x2e, 0xe5, 0x01, -0x15, 0xe5, 0x01, 0x03, 0xe5, 0xe5, 0x05, 0x02, -0xe5, 0xe5, 0x04, 0xe5, 0x07, 0x0a, 0xe7, 0xe5, -0x04, 0xe5, 0x06, 0xe6, 0x07, 0xe5, 0x07, 0xe5, -0x06, 0x03, 0x04, 0x14, 0x03, 0x23, 0x01, 0x04, -0x0c, 0x01, 0xe6, 0x04, 0x01, 0x1b, 0xe5, 0x18, -0x06, 0x09, 0xe5, 0xe5, 0x0f, 0x02, 0x01, 0x06, -0x09, 0xe5, 0xe5, 0x05, 0xe5, 0xe5, 0x18, 0x02, -0x19, 0x04, 0xe6, 0x05, 0x01, 0xe5, 0x09, 0x0a, -0x09, 0x09, 0x07, 0x01, 0x1b, 0x01, 0x01, 0x19, -0x04, 0x08, 0xe5, 0x01, 0x04, 0x09, 0x01, 0x07, -0x0b, 0x01, 0x05, 0x21, 0x01, 0x01, 0xe5, 0x0f, -0x19, 0xe5, 0xe5, 0x11, 0x01, 0xe6, 0x04, 0x01, -0xe5, 0xe5, 0x03, 0xe5, 0xe5, 0xe5, 0x1d, 0x01, -0xe7, 0x05, 0x0a, 0x01, 0x02, 0x04, 0x01, 0x07, -0x01, 0xe5, 0x02, 0x01, 0xe5, 0xe6, 0xe5, 0x03, -0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0xe5, 0x01, -0x03, 0x01, 0x07, 0x01, 0x01, 0x05, 0x01, 0x07, -0x01, 0x0b, 0x01, 0xe5, 0x08, 0x20, 0x09, 0x02, -0xe6, 0xe6, 0x05, 0x03, 0x0e, 0x0a, 0xe5, 0x01, -0x16, 0xe7, 0x1d, 0x08, 0x07, 0x04, 0x01, 0x03, -0x02, 0x05, 0x02, 0x06, 0x05, 0x0b, 0x07, 0x07, -0x08, 0xe5, 0x01, 0xe5, 0x11, 0x16, 0x0f, 0xe5, -0x03, 0xe5, 0xe5, 0x01, 0x04, 0x03, 0x04, 0x05, -0x06, 0x19, 0xe6, 0xe7, 0x05, 0xe5, 0x05, 0x09, -0x03, 0x09, 0x04, 0x02, 0x01, 0x02, 0x01, 0x10, -0x02, 0x01, 0x04, 0x01, 0x03, 0x20, 0x02, 0xe6, -0x10, 0x18, 0xe5, 0x03, 0x04, 0x01, 0x05, 0x01, -0x09, 0x04, 0x14, 0x16, 0xe5, 0x01, 0xe5, 0x12, -0x0b, 0x04, 0x07, 0x0e, 0x02, 0xe5, 0x02, 0x06, -0x05, 0x26, 0xe6, 0xe7, 0x12, 0xe5, 0x04, 0x0f, -0x03, 0x0b, 0x04, 0x0e, 0x0f, 0x03, 0x18, 0x01, -0xe5, 0x1a, 0xe5, 0x10, 0x05, 0x0a, 0x11, 0x14, -0x14, 0xe5, 0xe5, 0x16, 0xe6, 0x02, 0x02, 0xe7, -0x02, 0x03, 0xe6, 0x06, 0xe6, 0xe6, 0x03, 0xe5, -0x08, 0xe7, 0xe5, 0x29, 0x03, 0x02, 0x10, 0x06, -0x03, 0x05, 0x03, 0x01, 0x02, 0x0a, 0x03, 0x02, -0x07, 0xe5, 0x04, 0x0a, 0x20, 0x01, 0x01, 0xe5, -0x14, 0x17, 0x02, 0xe5, 0x19, 0x01, 0xe5, 0xe5, -0xe5, 0x02, 0x03, 0x06, 0x0d, 0x07, 0xe6, 0x01, -0x2e, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0x0b, -0xe5, 0x09, 0x01, 0x1f, 0x01, 0xe6, 0x12, 0x0c, -0x0e, 0x17, 0x05, 0x0d, 0x09, 0x14, 0x02, 0xe5, -0xe5, 0x01, 0x0b, 0xe5, 0xe6, 0x05, 0x02, 0xe5, -0x10, 0xe5, 0x01, 0x0e, 0xe8, 0x05, 0xe5, 0xe6, -0xe5, 0x01, 0xe5, 0x1d, 0x02, 0x01, 0xe5, 0x01, -0x0e, 0x01, 0xe5, 0x04, 0x03, 0x01, 0x0c, 0x03, -0xe5, 0x01, 0x0b, 0xe5, 0x01, 0x01, 0xe5, 0x05, -0xe5, 0x03, 0x03, 0x1b, 0x01, 0x01, 0xe5, 0xe5, -0xe5, 0x03, 0x15, 0x12, 0x07, 0x0b, 0x01, 0x04, -0xe5, 0x03, 0x06, 0x1a, 0x01, 0x02, 0x01, 0xe5, -0xe6, 0xe7, 0xe5, 0x16, 0x10, 0x01, 0x07, 0x05, -0xe5, 0x03, 0x01, 0x04, 0xe5, 0xe5, 0x01, 0x06, -0x1a, 0xe5, 0x04, 0x02, 0x01, 0x01, 0xe5, 0xe5, -0x18, 0x09, 0x04, 0x04, 0x04, 0x04, 0x08, 0x0c, -0x04, 0x23, 0xe6, 0xe7, 0xe5, 0x01, 0x25, 0x04, -0x04, 0x03, 0x07, 0x03, 0x01, 0x02, 0x04, 0x04, -0xe5, 0x02, 0x1d, 0xe5, 0xe6, 0x01, 0x02, 0x18, -0x02, 0x06, 0x02, 0x02, 0x01, 0x04, 0x02, 0x06, -0x01, 0x02, 0x01, 0x03, 0xe5, 0x08, 0xe7, 0x20, -0x06, 0xe5, 0x1a, 0x01, 0xe5, 0x05, 0xe7, 0xe5, -0x03, 0x01, 0xe7, 0x02, 0xe7, 0x03, 0x01, 0x04, -0x02, 0x03, 0xe5, 0xe5, 0x01, 0x25, 0x01, 0xe5, -0x04, 0x14, 0x01, 0xe5, 0xe6, 0x02, 0x01, 0x09, -0x07, 0x01, 0x0c, 0x01, 0xe5, 0x02, 0x01, 0x02, -0x25, 0x01, 0x02, 0x01, 0x18, 0xe5, 0x07, 0xe5, -0x11, 0xe5, 0x13, 0xe5, 0x01, 0x27, 0x02, 0xe6, -0x0d, 0x09, 0xe6, 0x06, 0xe6, 0x06, 0x09, 0xe5, -0x04, 0x04, 0x09, 0xe5, 0x01, 0x05, 0x02, 0x01, -0x01, 0x02, 0x09, 0x0d, 0xe9, 0x01, 0x19, 0x09, -0x09, 0x09, 0xe5, 0x01, 0x11, 0x2a, 0x02, 0x39, -0x01, 0x13, 0x2b, 0x02, 0x17, 0x01, 0xe7, 0x06, -0x01, 0x09, 0x06, 0xe7, 0x02, 0x02, 0x01, 0x04, -0x05, 0xe6, 0xe5, 0xe6, 0xe5, 0x08, 0x18, 0xe8, -0x16, 0x01, 0xe6, 0x08, 0x09, 0x04, 0x02, 0xe6, -0x01, 0x04, 0x01, 0xe5, 0x04, 0x02, 0xe6, 0x04, -0x01, 0xe5, 0x05, 0x02, 0x17, 0xe8, 0x15, 0x04, -0x0c, 0x0e, 0x09, 0x01, 0x04, 0x04, 0x01, 0x05, -0x01, 0x06, 0x02, 0x18, 0xe6, 0xe5, 0x14, 0xe5, -0x05, 0xe6, 0x06, 0xe6, 0x08, 0xe5, 0x01, 0xe5, -0x02, 0xe5, 0x02, 0x01, 0x04, 0xe5, 0x02, 0x04, -0xe5, 0xe5, 0xe5, 0x03, 0xe5, 0xe5, 0x06, 0xe5, -0x07, 0xe5, 0x0a, 0x17, 0x01, 0xe5, 0x03, 0x09, -0x01, 0x01, 0x09, 0xe5, 0x07, 0x01, 0xe6, 0x06, -0xe5, 0x11, 0x18, 0xe5, 0x01, 0x17, 0x01, 0x03, -0x02, 0x06, 0x02, 0xe5, 0xe5, 0x08, 0x06, 0x02, -0x01, 0x06, 0x02, 0xe5, 0x04, 0x09, 0xe5, 0x19, -0xe8, 0x19, 0x03, 0xe5, 0x07, 0xe5, 0xe5, 0xe5, -0x08, 0xe5, 0x02, 0x03, 0x02, 0x04, 0x04, 0x04, -0x09, 0x04, 0x17, 0xe9, 0x1b, 0xe5, 0x07, 0xe5, -0x02, 0x01, 0x02, 0x06, 0x02, 0x06, 0x02, 0x03, -0x04, 0x02, 0x07, 0x03, 0x02, 0x1a, 0xe9, 0x09, -0x09, 0x09, 0x08, 0x05, 0xe5, 0x07, 0x0c, 0x05, -0x02, 0x06, 0x24, 0x03, 0x0b, 0x05, 0x01, 0x06, -0xe5, 0xe5, 0x06, 0xe6, 0xe5, 0x04, 0x01, 0xe5, -0x05, 0x01, 0x04, 0x04, 0xe7, 0x01, 0x03, 0x01, -0xe6, 0x04, 0x01, 0x07, 0x01, 0xe5, 0xe5, 0x03, -0x01, 0x0a, 0xe8, 0x0e, 0xe5, 0x09, 0x07, 0xe5, -0x05, 0x08, 0xe5, 0xe5, 0x02, 0x08, 0xe6, 0xe5, -0xe6, 0xe6, 0x01, 0x04, 0xe5, 0x0c, 0x0a, 0x06, -0x02, 0x01, 0xe7, 0x13, 0x07, 0xe5, 0x01, 0x01, -0x06, 0x0c, 0xe5, 0x03, 0x03, 0x03, 0x05, 0x12, -0x1a, 0x01, 0x02, 0x0d, 0x01, 0x03, 0x09, 0x02, -0x04, 0x01, 0xe5, 0xe5, 0x08, 0x09, 0xe5, 0x05, -0x03, 0x01, 0x07, 0x01, 0x0d, 0x0f, 0xe5, 0x03, -0x03, 0x03, 0xe5, 0x18, 0x0e, 0x12, 0xe7, 0x06, -0x01, 0x09, 0x03, 0x19, 0x05, 0x02, 0xe5, 0x06, -0x09, 0x09, 0xe5, 0x07, 0x02, 0x01, 0x05, 0x01, -0x0b, 0x01, 0x07, 0x03, 0x01, 0x03, 0x01, 0x0f, -0x10, 0x02, 0xe5, 0xe8, 0x08, 0x01, 0x06, 0x12, -0x06, 0x09, 0x03, 0xe5, 0x01, 0x03, 0x03, 0x03, -0xe6, 0x08, 0x06, 0x10, 0x01, 0x07, 0xe5, 0xe8, -0xe5, 0x0c, 0x0f, 0x0b, 0x02, 0xe5, 0x04, 0x04, -0x03, 0xe5, 0x02, 0x03, 0x02, 0x02, 0x01, 0x04, -0x06, 0x0b, 0x10, 0x01, 0xe5, 0xe5, 0x11, 0x01, -0x06, 0x14, 0x08, 0x02, 0x01, 0xe5, 0x03, 0xe5, -0xe5, 0x01, 0x02, 0x04, 0x02, 0x02, 0x01, 0x1f, -0x03, 0xe5, 0x0a, 0x09, 0x09, 0xe7, 0x02, 0x0d, -0xe6, 0x06, 0xe6, 0x03, 0x05, 0x04, 0x27, 0xe7, -0xe5, 0xe5, 0x06, 0x1a, 0x03, 0x0e, 0x07, 0x01, -0x0a, 0x23, 0x0b, 0xe7, 0xe6, 0x11, 0x02, 0x0a, -0xe5, 0xe5, 0x01, 0x02, 0x01, 0x07, 0x03, 0xe5, -0x05, 0x0d, 0x02, 0x02, 0x05, 0x1b, 0x02, 0x01, -0x03, 0x0f, 0x09, 0xe5, 0x06, 0x05, 0xe5, 0xe7, -0x01, 0x01, 0xe6, 0xe5, 0x04, 0xe7, 0x05, 0x02, -0xe5, 0x06, 0xe5, 0x04, 0x1d, 0x02, 0x17, 0x0d, -0x06, 0x02, 0x06, 0x16, 0x09, 0x24, 0x01, 0x01, -0x11, 0xe5, 0x08, 0x01, 0x0d, 0xe5, 0x04, 0x02, -0xe5, 0x0b, 0x08, 0x05, 0x02, 0xe6, 0x06, 0xe5, -0x13, 0x01, 0xe6, 0xe5, 0x01, 0x01, 0x0e, 0xe5, -0x08, 0xe5, 0xe6, 0x03, 0xe5, 0x0f, 0x15, 0x06, -0xe6, 0x09, 0x11, 0x01, 0x01, 0x02, 0xe6, 0x03, -0x15, 0x08, 0xe5, 0x09, 0x05, 0x06, 0x01, 0x04, -0x11, 0x01, 0x02, 0x15, 0x01, 0x02, 0x01, 0xe5, -0xe6, 0x01, 0x02, 0x17, 0x06, 0x03, 0x01, 0xe5, -0x12, 0x1a, 0x18, 0xe5, 0x04, 0x03, 0xe5, 0xe6, -0xe5, 0x18, 0x06, 0x02, 0x03, 0xe5, 0x08, 0x01, -0x05, 0x03, 0x04, 0x01, 0x01, 0x06, 0x02, 0xe5, -0xe6, 0x02, 0x01, 0x1a, 0xe5, 0xe5, 0xe5, 0x01, -0x1e, 0x03, 0x02, 0xe6, 0x01, 0x01, 0x01, 0x02, -0xe5, 0xe5, 0xe5, 0x06, 0x04, 0x04, 0x08, 0xe5, -0xe6, 0x01, 0x02, 0x15, 0x02, 0xe5, 0x03, 0xe5, -0x01, 0x18, 0x07, 0x04, 0x01, 0x0a, 0x01, 0x09, -0x01, 0x02, 0x01, 0x01, 0x08, 0x01, 0x01, 0x0c, -0x12, 0x02, 0xe8, 0x1b, 0xe6, 0x01, 0x03, 0xe5, -0xe5, 0x0b, 0x01, 0x09, 0x04, 0x01, 0x01, 0xe5, -0x08, 0x01, 0xe5, 0x22, 0x01, 0xe5, 0x07, 0x10, -0x01, 0xe5, 0x01, 0x03, 0x01, 0x02, 0x07, 0x02, -0x06, 0xe5, 0x08, 0xe5, 0x01, 0x06, 0xe5, 0x07, -0x09, 0x02, 0x10, 0x04, 0x0a, 0x01, 0x0d, 0xe5, -0x01, 0x05, 0xe5, 0x15, 0x0b, 0xe5, 0x04, 0x02, -0xe5, 0x07, 0xe6, 0x1a, 0x01, 0xe8, 0x06, 0x05, -0x09, 0xe6, 0xe5, 0x04, 0xe5, 0x02, 0x01, 0x02, -0x02, 0x06, 0x02, 0xe5, 0x01, 0x04, 0x09, 0x09, -0xe5, 0x02, 0x01, 0x02, 0x09, 0x0d, 0x01, 0x02, -0x02, 0x19, 0x03, 0x04, 0xe5, 0x02, 0x09, 0x08, -0xe5, 0x06, 0x09, 0x03, 0x09, 0x1f, 0x1f, 0x05, -0x03, 0x09, 0x09, 0x13, 0x09, 0x1e, 0x01, 0x01, -0x17, 0x01, 0xe5, 0xe5, 0x05, 0xe7, 0x02, 0x02, -0x07, 0x01, 0x04, 0x09, 0x01, 0x01, 0xe5, 0x03, -0x04, 0x02, 0x08, 0x07, 0x01, 0x0e, 0xe5, 0xe6, -0x15, 0xe5, 0xe7, 0x01, 0x02, 0x02, 0xe5, 0x01, -0x02, 0x01, 0xe5, 0x05, 0x01, 0xe5, 0x09, 0x01, -0x05, 0x02, 0xe5, 0xe5, 0x01, 0xe5, 0xe6, 0x05, -0x02, 0x06, 0x01, 0xe5, 0x0c, 0x01, 0x01, 0x08, -0x0b, 0x02, 0x0b, 0xe5, 0x05, 0x01, 0x09, 0x04, -0x06, 0x07, 0x09, 0x09, 0x09, 0x01, 0x10, 0x01, -0x15, 0xe6, 0x04, 0xe8, 0x04, 0xe8, 0xe5, 0x04, -0xe6, 0xe5, 0x03, 0xe5, 0x0a, 0x01, 0x07, 0x01, -0x01, 0x05, 0x03, 0x05, 0xe6, 0xe5, 0x04, 0xe5, -0x06, 0xe5, 0x01, 0x1a, 0x08, 0x09, 0xe5, 0x05, -0x01, 0xe5, 0x09, 0x07, 0x01, 0x07, 0x0b, 0x1b, -0xe5, 0x19, 0x02, 0x02, 0xe5, 0x05, 0x01, 0xe5, -0xe5, 0x06, 0x01, 0xe5, 0x02, 0x01, 0x0b, 0xe5, -0xe5, 0x05, 0xe5, 0xe5, 0x05, 0xe5, 0x19, 0x01, -0x01, 0xe5, 0x15, 0x06, 0xe5, 0x02, 0x03, 0x01, -0x01, 0x01, 0xe5, 0x07, 0x08, 0x02, 0x07, 0x09, -0x09, 0x1b, 0xe7, 0x16, 0x04, 0xe5, 0xe7, 0x03, -0x01, 0xe7, 0xe6, 0x05, 0x01, 0xe5, 0x02, 0x09, -0x01, 0x02, 0x04, 0x04, 0x0b, 0x1a, 0x01, 0xe5, -0x34, 0x01, 0x03, 0x04, 0x01, 0xe6, 0x01, 0xe5, -0x03, 0xe5, 0x02, 0x01, 0x23, 0x01, 0x01, 0xe5, -0x10, 0x01, 0x07, 0x01, 0xe5, 0x05, 0x01, 0x06, -0xe5, 0xe6, 0x05, 0x01, 0x04, 0xe5, 0x02, 0x01, -0x07, 0x01, 0x02, 0xe5, 0x02, 0x01, 0xe5, 0xe5, -0x03, 0x01, 0xe6, 0x04, 0x01, 0x0a, 0x03, 0x16, -0x02, 0xe5, 0x07, 0x06, 0x02, 0xe5, 0x04, 0x02, -0xe5, 0x02, 0x08, 0x01, 0x03, 0x01, 0xe5, 0x08, -0x02, 0x05, 0xe5, 0x01, 0x0a, 0x09, 0x01, 0x01, -0xe5, 0x15, 0x01, 0x05, 0x0c, 0x09, 0xe5, 0xe5, -0x01, 0x03, 0x06, 0x02, 0xe5, 0xe5, 0x02, 0xe5, -0x01, 0x03, 0x01, 0x03, 0x08, 0x09, 0x06, 0xe5, -0xe7, 0x04, 0x1d, 0x01, 0x07, 0x0a, 0xe5, 0x03, -0xe5, 0x05, 0x03, 0x05, 0xe5, 0x01, 0x0c, 0x18, -0xe9, 0x17, 0x05, 0x0a, 0x05, 0x09, 0x06, 0x06, -0x04, 0x07, 0xe6, 0xe5, 0x0e, 0x0b, 0x05, 0xe5, -0xe5, 0x15, 0xe5, 0x07, 0x0e, 0x01, 0x01, 0x0b, -0x04, 0xe5, 0x02, 0x01, 0x05, 0xe6, 0xe5, 0x15, -0x09, 0x02, 0x03, 0xe7, 0x17, 0x12, 0x0d, 0x03, -0x0a, 0x09, 0x01, 0xe5, 0x02, 0x01, 0x1b, 0x01, -0xe5, 0xe5, 0x11, 0x0d, 0x0a, 0xe6, 0x05, 0xe5, -0x02, 0x05, 0xe5, 0x09, 0x01, 0x03, 0x06, 0x04, -0x1b, 0x01, 0xe5, 0xe5, 0x1a, 0x0a, 0x0b, 0x01, -0xe5, 0x05, 0x02, 0xe5, 0x04, 0xe6, 0x08, 0x09, -0x14, 0x08, 0xe5, 0x01, 0x06, 0x11, 0x0c, 0x01, -0x11, 0x04, 0xe5, 0x09, 0x05, 0x08, 0x1f, 0xe5, -0xe7, 0x0a, 0x06, 0x03, 0x02, 0x06, 0x1e, 0x09, -0x07, 0x0c, 0x04, 0x09, 0x0d, 0x02, 0xe5, 0x01, -0x06, 0x09, 0x05, 0x03, 0x04, 0x06, 0x02, 0x10, -0x06, 0x08, 0x03, 0x02, 0x01, 0x01, 0x07, 0x12, -0x04, 0x04, 0x03, 0x18, 0x0d, 0x02, 0x0d, 0x04, -0x05, 0x02, 0x03, 0x03, 0x05, 0x03, 0x05, 0x11, -0x09, 0xe5, 0xe5, 0x1e, 0x05, 0x03, 0x01, 0x17, -0x06, 0x09, 0x05, 0x02, 0xe5, 0x12, 0x07, 0x01, -0x03, 0x06, 0x23, 0x06, 0x04, 0x0b, 0x10, 0x01, -0x08, 0x11, 0x02, 0x02, 0xe5, 0xe6, 0x07, 0x07, -0x14, 0x08, 0x06, 0x18, 0x09, 0x09, 0x09, 0x0e, -0x02, 0xe6, 0x0a, 0x09, 0x09, 0x02, 0xe5, 0x1d, -0xe5, 0x01, 0x01, 0x04, 0xe5, 0x24, 0xe6, 0xe9, -0x01, 0x01, 0x08, 0x09, 0xe6, 0x06, 0xe6, 0xe5, -0x1e, 0x02, 0x01, 0xe5, 0x2a, 0x01, 0x01, 0xe5, -0xe5, 0x03, 0x08, 0x06, 0x01, 0x0a, 0x2c, 0xe5, -0x26, 0x02, 0xe5, 0xe6, 0x01, 0x0a, 0x06, 0xe5, -0x02, 0x04, 0x02, 0x01, 0x27, 0x06, 0xe5, 0x02, -0x1c, 0x02, 0x01, 0xe6, 0xe6, 0x0c, 0x09, 0x01, -0x02, 0x02, 0x01, 0x01, 0x03, 0x02, 0xe5, 0xe5, -0x06, 0x01, 0x15, 0x01, 0xe5, 0xe5, 0xe5, 0x05, -0x02, 0x19, 0xe6, 0xe7, 0x01, 0x0a, 0x03, 0x05, -0x01, 0x02, 0x01, 0x01, 0xe5, 0xe5, 0xe5, 0x03, -0xe5, 0xe5, 0xe5, 0x04, 0x01, 0x01, 0x16, 0x08, -0x02, 0x01, 0x15, 0x02, 0x01, 0xe5, 0x02, 0xe5, -0x03, 0xe5, 0x05, 0x0e, 0x04, 0x01, 0x03, 0xe6, -0xe5, 0xe5, 0x06, 0x01, 0x15, 0x02, 0x0b, 0x1a, -0x02, 0xe5, 0xe6, 0x05, 0x06, 0x0b, 0x07, 0x05, -0xe5, 0x01, 0x01, 0x07, 0x01, 0x18, 0xe6, 0x07, -0xe6, 0x18, 0x01, 0xe6, 0xe6, 0x12, 0x08, 0x0a, -0x02, 0x25, 0x14, 0xe5, 0x0c, 0x02, 0x03, 0x02, -0x0a, 0x09, 0x01, 0x11, 0xe5, 0x31, 0x09, 0xe5, -0x12, 0x02, 0xe5, 0x09, 0x03, 0x05, 0xe5, 0x01, -0x06, 0x02, 0x02, 0x06, 0x09, 0x0b, 0x09, 0x04, -0x01, 0x02, 0x03, 0x05, 0x09, 0x0d, 0xe9, 0x01, -0x12, 0x09, 0xe5, 0x2e, 0x03, 0x26, 0xe5, 0xe5, -0x1e, 0x31, 0x2b, 0xe5, 0xe5, 0x0a, 0x01, 0x09, -0x04, 0x02, 0x06, 0x1f, 0x07, 0x01, 0x0e, 0x1a, -0x01, 0x0d, 0x01, 0xe5, 0x04, 0xe5, 0x01, 0xe5, -0x07, 0x05, 0x03, 0x19, 0x06, 0x07, 0xe5, 0x04, -0x02, 0xe5, 0x17, 0x02, 0x0c, 0x0c, 0x06, 0x3e, -0x1a, 0x01, 0x01, 0x13, 0xe5, 0xe6, 0x04, 0xe6, -0x06, 0xe6, 0x06, 0xe6, 0x08, 0xe5, 0x09, 0xe5, -0x07, 0xe5, 0x07, 0xe6, 0x06, 0xe5, 0x07, 0xe5, -0x06, 0x01, 0xe6, 0x13, 0x05, 0x04, 0x04, 0xe5, -0x02, 0x01, 0x02, 0x03, 0xe5, 0x18, 0x0a, 0xe5, -0x04, 0x1a, 0xe5, 0xe6, 0x15, 0x07, 0x01, 0x09, -0xe5, 0x07, 0x18, 0x11, 0x1b, 0xe5, 0xe5, 0x12, -0x01, 0xe5, 0x02, 0x02, 0x01, 0x07, 0xe6, 0xe5, -0x01, 0x02, 0x01, 0x0c, 0x0c, 0x13, 0x18, 0x01, -0xe6, 0x12, 0x06, 0x01, 0xe6, 0x04, 0x03, 0x02, -0x02, 0x02, 0x1b, 0x02, 0x07, 0x08, 0x18, 0xe5, -0x01, 0x0d, 0xe5, 0xe5, 0x05, 0x01, 0xe5, 0x02, -0x02, 0x03, 0x0a, 0x02, 0x17, 0x02, 0x03, 0x05, -0x0e, 0x11, 0x02, 0x01, 0x0a, 0x06, 0x01, 0xe5, -0x01, 0x03, 0x01, 0x04, 0x02, 0x01, 0x07, 0x01, -0x01, 0x05, 0x01, 0x02, 0x01, 0x04, 0x01, 0x01, -0x05, 0x01, 0x07, 0x01, 0x02, 0x04, 0xe6, 0x06, -0x01, 0x0b, 0x02, 0x09, 0x04, 0x0a, 0x09, 0xe5, -0x01, 0x05, 0xe5, 0x13, 0xe5, 0x01, 0x03, 0xe5, -0x01, 0x05, 0x05, 0x1e, 0x01, 0x01, 0xe5, 0xe5, -0x01, 0x0b, 0x04, 0x05, 0x04, 0x01, 0x05, 0x03, -0x12, 0xe5, 0xe5, 0x0b, 0x01, 0x06, 0x01, 0x1d, -0x02, 0x01, 0x0b, 0x0d, 0x11, 0x0e, 0x04, 0x09, -0x30, 0x03, 0xe5, 0x03, 0x02, 0x04, 0x01, 0x02, -0x01, 0xe5, 0xe7, 0x04, 0x01, 0x01, 0x07, 0x01, -0x0a, 0x0b, 0x08, 0x09, 0xe5, 0x05, 0x01, 0xe5, -0x11, 0x05, 0x02, 0x02, 0x02, 0x09, 0x03, 0x04, -0x0a, 0x0a, 0x02, 0x01, 0x07, 0x03, 0x11, 0x01, -0x01, 0x05, 0x05, 0x0d, 0x06, 0x02, 0xe5, 0xe5, -0xe6, 0x0b, 0x08, 0x06, 0xe8, 0xe5, 0x03, 0xe5, -0xe5, 0xe5, 0x10, 0x04, 0x04, 0x01, 0x0a, 0xe5, -0x01, 0x04, 0xe6, 0x16, 0x02, 0x01, 0x05, 0x0a, -0x06, 0x02, 0x02, 0x04, 0x01, 0x15, 0x04, 0x05, -0x04, 0x0a, 0x01, 0x21, 0x03, 0xe5, 0x05, 0x12, -0x04, 0x07, 0x07, 0x10, 0x12, 0x27, 0xe8, 0x02, -0x08, 0x0f, 0x16, 0x08, 0x02, 0x0a, 0x05, 0x03, -0x07, 0x1c, 0xe6, 0xe6, 0xe5, 0x11, 0x1a, 0x01, -0x02, 0x08, 0x01, 0x06, 0x1c, 0x16, 0xe5, 0xe6, -0x08, 0xe5, 0x07, 0x0c, 0x02, 0xe5, 0x07, 0x09, -0x10, 0x08, 0x05, 0xe5, 0x03, 0x01, 0x01, 0x17, -0x01, 0xe7, 0x18, 0x08, 0xe5, 0x02, 0x05, 0x08, -0xe5, 0x07, 0x16, 0x05, 0xe5, 0x01, 0x01, 0x18, -0xe6, 0x18, 0x08, 0x08, 0xe5, 0x09, 0x17, 0x01, -0x03, 0xe5, 0x08, 0x16, 0x03, 0x02, 0x03, 0x09, -0x09, 0x13, 0x04, 0x20, 0xe5, 0x01, 0x02, 0x06, -0x17, 0xe5, 0x01, 0x01, 0xe6, 0x0b, 0x0b, 0x02, -0x0b, 0x01, 0xe7, 0x22, 0xe5, 0x02, 0x09, 0x14, -0x01, 0x01, 0x03, 0xe5, 0x0c, 0x05, 0xe5, 0x0e, -0x02, 0xe5, 0x04, 0x22, 0xe5, 0x03, 0x07, 0x0f, -0xe5, 0x03, 0x01, 0x04, 0x01, 0xe5, 0xe5, 0x01, -0x07, 0x19, 0xe5, 0x01, 0x01, 0xe5, 0x22, 0x04, -0x04, 0xe5, 0xe5, 0x0e, 0xe5, 0x05, 0x02, 0x01, -0x01, 0xe5, 0x0b, 0x12, 0xe5, 0x02, 0x05, 0x01, -0x02, 0xe5, 0x01, 0x1e, 0x01, 0x02, 0x1f, 0xeb, -0xe5, 0x09, 0x03, 0x09, 0x01, 0x01, 0xe6, 0x08, -0x01, 0x04, 0x01, 0x20, 0x02, 0x06, 0x01, 0x01, -0x01, 0x02, 0x0e, 0x05, 0xe6, 0x0b, 0x13, 0x09, -0x01, 0x27, 0x01, 0x04, 0x04, 0x15, 0x04, 0xe7, -0x0b, 0x13, 0x06, 0x01, 0xe5, 0xe5, 0xe5, 0x2b, -0xe5, 0x02, 0x1a, 0xe6, 0x1c, 0x02, 0x05, 0xe5, -0x07, 0xe5, 0x01, 0x06, 0x1c, 0x02, 0x01, 0xe5, -0x05, 0x02, 0x0b, 0x04, 0xe5, 0x02, 0x0a, 0x13, -0x06, 0x02, 0x01, 0x05, 0x01, 0x0b, 0x1d, 0x1d, -0x01, 0xe7, 0x09, 0x03, 0x02, 0x06, 0x02, 0x02, -0x03, 0x03, 0x05, 0xe5, 0xe5, 0xe7, 0x01, 0x0b, -0x09, 0x04, 0x01, 0x02, 0x02, 0x01, 0xe6, 0x01, -0x02, 0x06, 0x0d, 0x01, 0xe7, 0x15, 0x09, 0x05, -0x03, 0x09, 0x1f, 0x09, 0x1b, 0xe8, 0x14, 0x09, -0x08, 0x08, 0x20, 0x08, 0x1e, 0xe5, 0x01, 0x16, -0xe5, 0xe5, 0x06, 0x01, 0x06, 0xe5, 0x07, 0x20, -0x01, 0xe6, 0x04, 0x01, 0x19, 0x01, 0xe5, 0x01, -0x14, 0x01, 0xe5, 0x05, 0x01, 0x01, 0x01, 0x06, -0xe5, 0x07, 0x1c, 0x08, 0xe5, 0x01, 0x17, 0xe6, -0xe6, 0x15, 0x01, 0x04, 0x40, 0x01, 0x18, 0xe8, -0x14, 0xe5, 0x01, 0x05, 0xe5, 0x07, 0xe5, 0x07, -0xe5, 0x07, 0xe5, 0x09, 0xe5, 0x07, 0xe6, 0x01, -0x04, 0xe6, 0xe5, 0x04, 0xe5, 0x07, 0xe5, 0x06, -0x02, 0xe5, 0x16, 0x01, 0x07, 0x01, 0x57, 0xe7, -0x03, 0x12, 0x01, 0x07, 0x01, 0x13, 0x1f, 0x07, -0x1c, 0xe6, 0x16, 0x01, 0x26, 0x14, 0x01, 0x07, -0x1c, 0x01, 0x04, 0x12, 0x01, 0x07, 0x04, 0x09, -0x26, 0x07, 0x15, 0x01, 0x04, 0xe6, 0x0c, 0x01, -0xe5, 0x09, 0x05, 0xe5, 0xe5, 0x13, 0x1b, 0x06, -0x02, 0x10, 0x04, 0x03, 0xe6, 0xe6, 0x02, 0xe5, -0x06, 0x01, 0x02, 0x01, 0xe5, 0x05, 0x01, 0x04, -0x02, 0xe6, 0x06, 0x01, 0x01, 0x05, 0x01, 0x04, -0x04, 0x01, 0x02, 0x04, 0x01, 0x04, 0x02, 0x01, -0x01, 0x02, 0x02, 0x01, 0x07, 0x01, 0x01, 0x04, -0x05, 0xe6, 0x02, 0x12, 0x0e, 0x07, 0x03, 0x0c, -0x08, 0x0c, 0x06, 0x1e, 0x01, 0xe7, 0x1d, 0x08, -0x01, 0x0e, 0x24, 0x13, 0x06, 0xe5, 0xe5, 0xe5, -0x14, 0x09, 0xe5, 0x07, 0xe5, 0x01, 0x01, 0x0a, -0x02, 0x01, 0x05, 0x34, 0xe9, 0xe5, 0x01, 0x02, -0x0e, 0x01, 0x07, 0x01, 0xe5, 0x05, 0xe7, 0x01, -0xe5, 0x01, 0x0f, 0x0f, 0x09, 0x15, 0x07, 0xe5, -0x16, 0x01, 0x0a, 0x03, 0x03, 0x06, 0x03, 0x02, -0x04, 0x13, 0x03, 0x09, 0x03, 0x10, 0x02, 0x01, -0xe5, 0xe6, 0x18, 0x06, 0x0b, 0xe6, 0x07, 0x06, -0x06, 0x07, 0x0e, 0x1b, 0xe9, 0x0f, 0x05, 0x04, -0x08, 0x06, 0xe5, 0x04, 0x05, 0x02, 0x03, 0x14, -0x04, 0x03, 0x1b, 0x01, 0x02, 0x11, 0x0a, 0xe5, -0x07, 0x06, 0x11, 0xe5, 0x39, 0x02, 0x0d, 0xe5, -0x0b, 0x03, 0x0c, 0x10, 0x01, 0x39, 0x01, 0xe5, -0xe5, 0x0c, 0x02, 0x05, 0x04, 0x10, 0x05, 0xe5, -0x0a, 0x3a, 0xe5, 0xe6, 0x01, 0x16, 0x0d, 0x02, -0x06, 0x05, 0xe5, 0x06, 0xe5, 0xe5, 0x0e, 0x25, -0xe5, 0x01, 0xe5, 0x1b, 0x09, 0xe5, 0x04, 0x08, -0xe5, 0x07, 0x02, 0x19, 0x11, 0x0b, 0x02, 0x17, -0x15, 0x06, 0x02, 0x0a, 0x3a, 0xe7, 0x11, 0xe5, -0x04, 0x0f, 0x4b, 0xe5, 0x02, 0xe6, 0x01, 0x01, -0x0e, 0xe5, 0x05, 0x0f, 0xe6, 0x11, 0x34, 0x01, -0x01, 0x03, 0xe5, 0x03, 0x05, 0x01, 0xe5, 0xe5, -0x03, 0xe5, 0xe5, 0xe6, 0x0f, 0x01, 0x04, 0x01, -0xe5, 0x01, 0x03, 0xe5, 0x02, 0x04, 0x28, 0xe5, -0x03, 0x01, 0x03, 0x02, 0x02, 0x07, 0x02, 0x01, -0x04, 0xe5, 0xe5, 0xe6, 0x0c, 0xe5, 0xe5, 0xe5, -0x03, 0xe5, 0x02, 0x04, 0x32, 0xe5, 0x05, 0x02, -0x01, 0x01, 0x0b, 0x01, 0x01, 0x02, 0x04, 0x21, -0xe5, 0x01, 0xe5, 0xe5, 0x05, 0x02, 0x2d, 0xe7, -0xe6, 0x01, 0x0a, 0x01, 0x02, 0x04, 0x13, 0x01, -0x01, 0x01, 0x02, 0x05, 0x02, 0xe5, 0x05, 0x2e, -0x02, 0x03, 0x01, 0xe6, 0x17, 0x11, 0x01, 0x07, -0x07, 0x03, 0x35, 0x02, 0xe8, 0x11, 0x06, 0x11, -0x01, 0x09, 0x03, 0xe5, 0x3d, 0x01, 0xe5, 0x11, -0x09, 0x14, 0x02, 0x05, 0x3e, 0xe7, 0xe5, 0x1a, -0xe5, 0x1e, 0x3d, 0xe5, 0x01, 0xe5, 0x0a, 0x02, -0x09, 0x09, 0x09, 0x06, 0x02, 0x03, 0x02, 0x04, -0x09, 0x09, 0x09, 0x09, 0x0d, 0xe9, 0x01, 0x08, -0xe5, 0x04, 0x09, 0x14, 0x02, 0x05, 0x02, 0xe5, -0x3a, 0xe5, 0xe6, 0x0a, 0x26, 0x08, 0x40, 0xe6, -0x0c, 0x04, 0x04, 0x01, 0x02, 0x15, 0x0b, 0x04, -0x36, 0xe8, 0x0e, 0x01, 0x02, 0x02, 0x01, 0xe6, -0xe5, 0x0f, 0x0a, 0x09, 0xe5, 0x35, 0xe8, 0x08, -0x02, 0x09, 0x01, 0x10, 0x07, 0x08, 0x07, 0x2e, -0x08, 0xe7, 0x0e, 0x05, 0xe6, 0xe5, 0x04, 0xe5, -0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x09, 0xe5, -0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, -0x09, 0xe5, 0x0c, 0x09, 0x01, 0x14, 0x14, 0x36, -0x02, 0xe5, 0x0e, 0x07, 0x16, 0x4d, 0x01, 0xe5, -0x0b, 0x09, 0x01, 0x11, 0x0b, 0x01, 0x06, 0x02, -0x36, 0xe5, 0xe6, 0x02, 0x0b, 0x02, 0x04, 0x04, -0x0e, 0x02, 0x11, 0x39, 0xe5, 0x01, 0x2b, 0x15, -0x01, 0xe5, 0x20, 0x12, 0xe5, 0xe7, 0x10, 0x01, -0x02, 0x03, 0xe5, 0xe5, 0x06, 0x01, 0x02, 0x04, -0x01, 0x07, 0x01, 0x05, 0x03, 0x01, 0x07, 0x01, -0x07, 0x01, 0x07, 0x01, 0x07, 0x01, 0x0b, 0xe5, -0xe5, 0x18, 0x12, 0x02, 0x09, 0x21, 0x01, 0x1c, -0xe6, 0xe6, 0x13, 0x1c, 0x0b, 0x01, 0x13, 0x24, -0xe5, 0x01, 0xe5, 0x18, 0x14, 0x10, 0x3b, 0x02, -0x17, 0x01, 0x0e, 0x02, 0x01, 0x07, 0xe5, 0x09, -0x01, 0x16, 0x1a, 0x05, 0x02, 0x17, 0x01, 0x13, -0x0d, 0x03, 0x04, 0x03, 0x10, 0x1c, 0x02, 0x02, -0xe6, 0x19, 0x09, 0x06, 0x05, 0x0f, 0x37, 0x01, -0xe7, 0x25, 0x04, 0x01, 0x11, 0x08, 0x10, 0x1f, -0x02, 0x01, 0x26, 0x08, 0x0f, 0x06, 0x33, 0x01, -0x01, 0x0a, 0x10, 0x0f, 0x13, 0x07, 0x31, 0x02, -0xe6, 0x11, 0x16, 0x01, 0x03, 0x0f, 0x3b, 0x02, -0x14, 0x01, 0x16, 0xe5, 0x0c, 0x28, 0x13, 0x04, -0xe5, 0x2b, 0x0a, 0x36, 0x0a, 0x01, 0x01, 0x2b, -0xe5, 0x0d, 0x3e, 0xe8, 0xe5, 0x75, 0xe5, 0x03, -0x02, 0x01, 0x28, 0x47, 0x01, 0x02, 0xe6, 0xe5, -0x03, 0x23, 0x01, 0x4a, 0x04, 0xe5, 0x01, 0x02, -0x74, 0x02, 0xe6, 0xe6, 0x04, 0x05, 0x21, 0x01, -0x01, 0x01, 0x45, 0x01, 0xe6, 0x01, 0x08, 0x25, -0x02, 0x3f, 0x02, 0x05, 0xe6, 0x72, 0x04, 0xe5, -0xe5, 0xe5, 0x01, 0x2c, 0x4a, 0x03, 0xe6, 0x2d, -0x43, 0x06, 0x01, 0xe5, 0x7a, 0xe8, 0x0d, 0x09, -0x09, 0x09, 0x09, 0x0b, 0x09, 0x09, 0x09, 0x09, -0x0d, 0x03, 0xe5, 0x01, 0x27, 0x4c, 0x06, 0x29, -0x52, 0x01, 0x2d, 0xe5, 0x48, 0x03, 0x01, 0x16, -0x03, 0x14, 0x4a, 0xe6, 0xe5, 0x2c, 0x03, 0x4a, -0xe6, 0x03, 0x10, 0xe5, 0x07, 0xe5, 0x07, 0xe5, -0x07, 0xe5, 0x07, 0xe5, 0x09, 0xe5, 0x07, 0xe5, -0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x06, 0x02, -0xe5, 0x16, 0x01, 0x13, 0x4c, 0x03, 0x17, 0x01, -0x63, 0xe6, 0x15, 0x01, 0x13, 0x12, 0x39, 0x03, -0x03, 0x13, 0x01, 0x16, 0x49, 0xe5, 0xe6, 0x2a, -0x01, 0xe5, 0x49, 0x02, 0xe6, 0x10, 0x01, 0x01, -0x05, 0x01, 0x02, 0x03, 0xe5, 0xe5, 0x02, 0x03, -0x01, 0x01, 0x05, 0x01, 0x01, 0x02, 0x03, 0xe5, -0xe5, 0x06, 0x01, 0x07, 0x01, 0x07, 0x01, 0x07, -0x01, 0x0a, 0xe5, 0x01, 0x5b, 0x22, 0xe5, 0x09, -0x34, 0x07, 0x09, 0x0b, 0x1a, 0x02, 0x01, 0x3f, -0x3a, 0xe6, 0xe5, 0x16, 0x10, 0x17, 0x07, 0x2b, -0x08, 0xe5, 0x19, 0x16, 0x09, 0x03, 0x3b, 0xe7, -0x23, 0x1a, 0x04, 0xe5, 0x33, 0x01, 0xe6, 0x1b, -0x22, 0x0a, 0x0d, 0x23, 0x01, 0x3f, 0x3c, 0xe6, -0x20, 0xe6, 0x15, 0x04, 0x2a, 0x09, 0x06, 0xe5, -0xe5, 0x23, 0x1a, 0xe5, 0x28, 0x0f, 0x02, 0xe5, -0x38, 0x41, 0xe5, 0xe6, 0xe5, 0x24, 0x04, 0x1a, -0x30, 0x01, 0xe5, 0xe5, 0x2c, 0x4c, 0xe5, 0x01, -0xe6, 0x75, 0xe8, 0xe5, 0x01, 0x01, 0x70, 0x01, -0x03, 0xe5, 0xe5, 0x03, 0x70, 0x04, 0xe5, 0x01, -0x02, 0x74, 0x02, 0x01, 0xe6, 0x01, 0x78, 0x02, -0x74, 0x02, 0x02, 0xe8, 0x13, 0x5f, 0x04, 0x03, -0xe5, 0x13, 0xe5, 0x63, 0x01, 0xe6, 0x08, 0x02, -0x08, 0x64, 0xe5, 0x01, 0x0a, 0xe5, 0x6e, 0xe5, -0xe6, 0x0d, 0x09, 0x09, 0x09, 0x09, 0x0b, 0x09, -0x09, 0x09, 0x09, 0x0d, 0xe9, 0x01, 0x74, 0x06, -0x7a, 0x03, 0x01, 0x2b, 0x4d, 0xe5, 0xe5, 0x23, -0x08, 0xe5, 0x47, 0x02, 0xe8, 0x2c, 0x4b, 0xe5, -0x01, 0xe5, 0x12, 0x01, 0x07, 0xe6, 0x07, 0xe5, -0x02, 0x03, 0x01, 0x09, 0xe5, 0x09, 0xe5, 0x07, -0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x06, -0x01, 0xe6, 0x0f, 0xe5, 0x02, 0x09, 0x01, 0x01, -0xe5, 0x03, 0x03, 0x03, 0x01, 0x38, 0x0b, 0x01, -0x01, 0x01, 0x13, 0x02, 0x09, 0xe5, 0xe6, 0x02, -0x01, 0x02, 0x06, 0x37, 0x0d, 0x01, 0x01, 0x15, -0x07, 0xe6, 0xe5, 0xe5, 0x04, 0x03, 0x05, 0x47, -0xe5, 0xe5, 0x0f, 0x02, 0xe5, 0x07, 0xe5, 0x01, -0x01, 0xe5, 0x01, 0xe5, 0x03, 0x03, 0xe5, 0x38, -0x0e, 0x01, 0xe5, 0x2e, 0x33, 0x15, 0xe5, 0xe5, -0xe5, 0x10, 0x01, 0x07, 0x01, 0x07, 0x01, 0xe5, -0xe5, 0x03, 0x01, 0xe5, 0xe5, 0x02, 0xe5, 0xe6, -0x07, 0x01, 0xe5, 0x05, 0x01, 0xe6, 0x04, 0xe7, -0x05, 0x01, 0x07, 0x01, 0x0b, 0xe7, 0x3d, 0x15, -0x21, 0x03, 0x03, 0xe5, 0x3e, 0x38, 0xe5, 0xe5, -0xe5, 0x12, 0x02, 0x09, 0x1e, 0x07, 0x32, 0x03, -0xe5, 0x19, 0x05, 0x01, 0x0a, 0x09, 0x06, 0x3a, -0xe5, 0x01, 0x23, 0x03, 0x17, 0x3a, 0x03, 0xe5, -0x1f, 0x1d, 0x16, 0xe5, 0x24, 0xe5, 0x1e, 0x09, -0x12, 0x02, 0x15, 0x01, 0x23, 0xe7, 0x3e, 0x23, -0x17, 0x01, 0xe5, 0x3e, 0x3c, 0xe6, 0x24, 0x19, -0x3d, 0xe6, 0x1b, 0xe5, 0x04, 0x02, 0xe5, 0x08, -0x38, 0x12, 0x33, 0x36, 0xe6, 0x0b, 0x01, 0xe5, -0xe5, 0x6a, 0x10, 0xe6, 0x02, 0x0b, 0xe5, 0xe5, -0x05, 0xe5, 0x07, 0xe5, 0x07, 0xe6, 0x06, 0xe5, -0x07, 0xe7, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, -0x07, 0xe5, 0x0b, 0x03, 0xe5, 0x0f, 0x09, 0x09, -0x09, 0x09, 0x04, 0x04, 0x01, 0x09, 0x09, 0x09, -0x01, 0x07, 0x0d, 0xe5, 0xe6, 0x0e, 0x09, 0x03, -0x05, 0x09, 0x09, 0x04, 0x06, 0x04, 0x04, 0x04, -0x04, 0x04, 0x04, 0x09, 0x0e, 0x03, 0x26, 0x57, -0x0f, 0x09, 0x09, 0x09, 0x09, 0x0b, 0x01, 0x07, -0x09, 0x09, 0x02, 0x06, 0x0e, 0xe5, 0xe6, 0x0c, -0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, -0xe5, 0x09, 0xe5, 0x07, 0xe5, 0x07, 0xe5, 0x07, -0xe5, 0x07, 0xe5, 0x0e, 0x03, 0x03, 0x09, 0x09, -0x09, 0x09, 0x09, 0x0b, 0x09, 0x09, 0x09, 0x09, -0x12, 0xe6, 0x0d, 0xe5, 0xe5, 0x05, 0xe5, 0xe5, -0x05, 0xe5, 0xe5, 0x05, 0xe5, 0xe5, 0x05, 0xe5, -0xe5, 0x07, 0xe5, 0xe5, 0x05, 0xe5, 0xe5, 0x05, -0xe5, 0xe5, 0x05, 0xe5, 0xe5, 0x05, 0xe5, 0xe5, -0x0b, 0x03, 0x0e, 0x09, 0x09, 0x09, 0x09, 0x03, -0x07, 0x09, 0x09, 0x09, 0x09, 0x0f, 0x02, 0xe5, -0x79, 0xe5, 0x01, 0x0e, 0x09, 0x09, 0x09, 0x09, -0x08, 0x02, 0x09, 0x09, 0x09, 0x09, 0x11, 0xe6, -0x3e, 0x3b, 0x02, 0x10, 0x09, 0x09, 0x09, 0x09, -0x0b, 0x09, 0x09, 0x09, 0x09, 0x10, 0xe5, 0x7d, -0x3f, 0x3a, 0xe5, 0x01, 0x3f, 0x36, 0x04, 0x02, -0x7a, 0x01, 0x01, 0x13, 0x3d, 0x28, 0x01, 0x01, -0x3f, 0x33, 0x0a, 0x3f, 0x34, 0x08, 0xe5, 0x79, -0x01, 0x01, 0x14, 0x09, 0x09, 0x09, 0x09, 0x0b, -0x09, 0x09, 0x09, 0x09, 0x09, 0xe5, 0x01, 0x0f, -0x09, 0x09, 0x09, 0x09, 0x07, 0x03, 0x09, 0x09, -0x09, 0x08, 0xe5, 0x0d, 0x03, 0x3a, 0x04, 0x3a, -0x02, 0xe5, 0x0c, 0x09, 0x03, 0x05, 0x09, 0x09, -0x03, 0x07, 0x09, 0x09, 0x07, 0x01, 0x1b, 0x01, -0xe5, 0x0a, 0x02, 0x07, 0x05, 0x03, 0x01, 0x03, -0x03, 0x01, 0x03, 0x03, 0x09, 0x06, 0xe5, 0x02, -0x04, 0x04, 0x04, 0x02, 0x06, 0xe5, 0x02, 0x02, -0x06, 0x02, 0xe5, 0x02, 0x03, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, -0xff, diff --git a/board/samsung/common/multi_i2c.c b/board/samsung/common/multi_i2c.c index 4fce987..084858d 100644 --- a/board/samsung/common/multi_i2c.c +++ b/board/samsung/common/multi_i2c.c @@ -11,13 +11,12 @@ /* Handle multiple I2C buses instances */ int get_multi_scl_pin(void) { - unsigned int bus = I2C_GET_BUS(); + unsigned int bus = i2c_get_bus_num(); switch (bus) { - case I2C_0: /* I2C_0 definition - compatibility layer */ - case I2C_5: + case I2C_0: return CONFIG_SOFT_I2C_I2C5_SCL; - case I2C_9: + case I2C_1: return CONFIG_SOFT_I2C_I2C9_SCL; default: printf("I2C_%d not supported!\n", bus); @@ -28,13 +27,12 @@ int get_multi_scl_pin(void) int get_multi_sda_pin(void) { - unsigned int bus = I2C_GET_BUS(); + unsigned int bus = i2c_get_bus_num(); switch (bus) { - case I2C_0: /* I2C_0 definition - compatibility layer */ - case I2C_5: + case I2C_0: return CONFIG_SOFT_I2C_I2C5_SDA; - case I2C_9: + case I2C_1: return CONFIG_SOFT_I2C_I2C9_SDA; default: printf("I2C_%d not supported!\n", bus); diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index c05801d..5b3d6ef 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -32,7 +32,11 @@ int power_init_board(void) { int ret; - ret = pmic_init(I2C_5); + /* + * For PMIC the I2C bus is named as I2C5, but it is connected + * to logical I2C adapter 0 + */ + ret = pmic_init(I2C_0); if (ret) return ret; diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c index c8698f3..7f61d17 100644 --- a/board/samsung/trats/trats.c +++ b/board/samsung/trats/trats.c @@ -61,10 +61,10 @@ void i2c_init_board(void) struct exynos4_gpio_part2 *gpio2 = (struct exynos4_gpio_part2 *)samsung_get_base_gpio_part2(); - /* I2C_5 -> PMIC */ + /* I2C_5 -> PMIC -> Adapter 0 */ s5p_gpio_direction_output(&gpio1->b, 7, 1); s5p_gpio_direction_output(&gpio1->b, 6, 1); - /* I2C_9 -> FG */ + /* I2C_9 -> FG -> Adapter 1 */ s5p_gpio_direction_output(&gpio2->y4, 0, 1); s5p_gpio_direction_output(&gpio2->y4, 1, 1); } @@ -282,10 +282,17 @@ int power_init_board(void) struct power_battery *pb; struct pmic *p_fg, *p_chrg, *p_muic, *p_bat; - ret = pmic_init(I2C_5); + /* + * For PMIC/MUIC the I2C bus is named as I2C5, but it is connected + * to logical I2C adapter 0 + * + * The FUEL_GAUGE is marked as I2C9 on the schematic, but connected + * to logical I2C adapter 1 + */ + ret = pmic_init(I2C_0); ret |= pmic_init_max8997(); - ret |= power_fg_init(I2C_9); - ret |= power_muic_init(I2C_5); + ret |= power_fg_init(I2C_1); + ret |= power_muic_init(I2C_0); ret |= power_bat_init(0); if (ret) return ret; diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 2e1dba6..54d0e1e 100644 --- a/board/samsung/universal_c210/universal.c +++ b/board/samsung/universal_c210/universal.c @@ -45,6 +45,10 @@ int power_init_board(void) { int ret; + /* + * For PMIC the I2C bus is named as I2C5, but it is connected + * to logical I2C adapter 0 + */ ret = pmic_init(I2C_5); if (ret) return ret; |